From 3e874eae07195440e6f8137f2f01084a6d3482a8 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 13 Feb 2007 23:44:26 +0000 Subject: [PATCH] * 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 --- ChangeLog | 5 +++++ parse.y | 25 ------------------------- 2 files changed, 5 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index fe5b89ea1d..b2851fbb52 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,11 @@ Wed Feb 14 03:14:42 2007 Yukihiro Matsumoto * lib/uri/generic.rb (URI::Generic::set_password): password can be cleared by nil. [ruby-core:10290] +Wed Feb 14 03:10:33 2007 Yukihiro Matsumoto + + * parse.y (struct local_vars): no need to warn out-of-scope + variables; remove dnames member from struct. + Wed Feb 14 03:04:10 2007 Yukihiro Matsumoto * parse.y: RVarmap no longer used as yytype; removed. diff --git a/parse.y b/parse.y index 464078286f..8445b9096a 100644 --- a/parse.y +++ b/parse.y @@ -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; idnames); 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 */ -