diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-13 23:44:26 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-13 23:44:26 +0000 |
commit | 3e874eae07195440e6f8137f2f01084a6d3482a8 (patch) | |
tree | 75c3fe454b7b9582a83d08402f37b1319acd2907 /parse.y | |
parent | 66a26a236701f88a0f9c9e71e2336043b2f976d6 (diff) | |
download | ruby-3e874eae07195440e6f8137f2f01084a6d3482a8.tar.gz |
* parse.y (struct local_vars): no need to warn out-of-scope
variables; remove dnames member from struct.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r-- | parse.y | 25 |
1 files changed, 0 insertions, 25 deletions
@@ -117,7 +117,6 @@ struct vtable { struct local_vars { struct vtable *tbl; - struct vtable *dnames; struct vtable *dvars; struct local_vars *prev; int nofree; @@ -7240,7 +7239,6 @@ gettable_gen(struct parser_params *parser, ID id) if (dyna_in_block() && dvar_defined(id)) return NEW_DVAR(id); if (local_id(id)) return NEW_LVAR(id); /* method call without arguments */ - dyna_check(id); return NEW_VCALL(id); } else if (is_global_id(id)) { @@ -8031,7 +8029,6 @@ local_push_gen(struct parser_params *parser, int inherit_dvars) local = ALLOC(struct local_vars); local->prev = lvtbl; local->tbl = 0; - local->dnames = 0; local->nofree = 0; local->dvars = inherit_dvars ? DVARS_INHERIT : DVARS_TOPSCOPE; lvtbl = local; @@ -8042,7 +8039,6 @@ local_pop_gen(struct parser_params *parser) { struct local_vars *local = lvtbl->prev; vtable_free(lvtbl->tbl); - vtable_free(lvtbl->dnames); vtable_free(lvtbl->dvars); xfree(lvtbl); lvtbl = local; @@ -8152,26 +8148,6 @@ dyna_var_gen(struct parser_params *parser, ID id) lvtbl->dvars = vtable_alloc(lvtbl->dvars); } vtable_add(lvtbl->dvars, id); - if (!vtable_included(lvtbl->dnames, id)) { - if (!lvtbl->dnames) { - lvtbl->dnames = vtable_alloc(0); - } - vtable_add(lvtbl->dnames, id); - } -} - -static void -dyna_check_gen(struct parser_params *parser, ID id) -{ - int i; - - if (in_defined) return; /* no check needed */ - for (i=0; i<vtable_size(lvtbl->dnames); i++) { - if (lvtbl->dnames->tbl[i] == id) { - rb_warnS("out-of-scope variable - %s", rb_id2name(id)); - return; - } - } } static void @@ -9385,4 +9361,3 @@ Init_ripper(void) rb_intern("&&"); } #endif /* RIPPER */ - |