diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-17 08:40:52 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-02-17 08:40:52 +0000 |
commit | ccf99b9ce600ceb1f0360db7af4164a916f03882 (patch) | |
tree | 3603c905bbb81de90e8de49e1b476c96137a7370 /intern.h | |
parent | d0a3c64fb4af21a911f2b7553bbddb45dd9e4484 (diff) |
* eval.c (ev_const_get): simplified using rb_const_get_fallback().
* eval.c (ev_const_defined): adopt to ev_const_get() using
rb_const_defined_fallback().
* variable.c (rb_const_get_fallback): new function to implement
constant search.
* variable.c (rb_const_defined_fallback): new function to
implement constant definition check.
* variable.c (rb_const_get_0): adopt to new behavior. constants
are looked up in the order of: current class, super classes (but
Object), lexically external classes/modules, and Object.
* variable.c (rb_const_defined_0): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
-rw-r--r-- | intern.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -557,9 +557,11 @@ VALUE rb_mod_remove_const(VALUE, VALUE); int rb_const_defined(VALUE, ID); int rb_const_defined_at(VALUE, ID); int rb_const_defined_from(VALUE, ID); +int rb_const_defined_fallback(VALUE, ID, struct RNode *); VALUE rb_const_get(VALUE, ID); VALUE rb_const_get_at(VALUE, ID); VALUE rb_const_get_from(VALUE, ID); +VALUE rb_const_get_fallback(VALUE, ID, struct RNode *); void rb_const_set(VALUE, ID, VALUE); VALUE rb_mod_constants(VALUE); VALUE rb_mod_const_missing(VALUE,VALUE); |