diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-19 05:18:18 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-01-19 05:18:18 +0000 |
commit | 00d0bef7140ae35c915206345bfe75ee5baf1203 (patch) | |
tree | f61902c6d6c40a577eb76a376466dbdc566553da | |
parent | 12c0cc0172591b8c6aeb4d8ce4dd1d65792645aa (diff) |
there is no such thing like 0 in enum defined_type
introduce new enum for it.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | compile.c | 2 | ||||
-rw-r--r-- | iseq.h | 1 | ||||
-rw-r--r-- | vm_insnhelper.c | 4 |
3 files changed, 4 insertions, 3 deletions
@@ -4113,7 +4113,7 @@ static int defined_expr0(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const NODE *const node, LABEL **lfinish, VALUE needstr) { - enum defined_type expr_type = 0; + enum defined_type expr_type = DEFINED_NOT_DEFINED; enum node_type type; switch (type = nd_type(node)) { @@ -276,6 +276,7 @@ struct iseq_compile_data_storage { /* defined? */ enum defined_type { + DEFINED_NOT_DEFINED, DEFINED_NIL = 1, DEFINED_IVAR, DEFINED_LVAR, diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 1327050b2d..8b9bdeb98e 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -2809,7 +2809,7 @@ check_respond_to_missing(VALUE obj, VALUE v) return DEFINED_METHOD; } else { - return 0; + return DEFINED_NOT_DEFINED; } } @@ -2817,7 +2817,7 @@ static VALUE vm_defined(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, rb_num_t op_type, VALUE obj, VALUE needstr, VALUE v) { VALUE klass; - enum defined_type expr_type = 0; + enum defined_type expr_type = DEFINED_NOT_DEFINED; enum defined_type type = (enum defined_type)op_type; switch (type) { |