diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-23 00:55:29 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-23 00:55:29 +0000 |
commit | 2a723132e92b14fd6be25d13c791c719685850f5 (patch) | |
tree | 48a91720b0dd6e76fcef1ef31d6af4144e0e9242 /iseq.c | |
parent | e3f46b1dc5f919a5ddd2893b8ca268c523e4e5d9 (diff) |
iseq.c: local variable names
* iseq.c (rb_insn_operand_intern): simplified the condition for
local variable names, assume TS_LINDEX and TS_NUM combinations
are only for local variables.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61421 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r-- | iseq.c | 10 |
1 files changed, 2 insertions, 8 deletions
@@ -1433,14 +1433,8 @@ rb_insn_operand_intern(const rb_iseq_t *iseq, case TS_LINDEX:{ int level; - if (insn == BIN(getlocal) || insn == BIN(setlocal) || - insn == BIN(getblockparam) || insn == BIN(setblockparam)) { - if (pnop) { - ret = local_var_name(iseq, *pnop, op); - } - else { - ret = rb_sprintf("%"PRIuVALUE, op); - } + if (types[op_no+1] == TS_NUM && pnop) { + ret = local_var_name(iseq, *pnop, op); } else if ((level = rb_insn_unified_local_var_level(insn)) >= 0) { ret = local_var_name(iseq, (VALUE)level, op); |