From d887a2fc45b9ccd27cb4c029c30f709f748a910c Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 19 Nov 2007 07:10:09 +0000 Subject: * parse.y (parser_yylex): should clear parser->tokp as well. [ruby-dev:32250] * parse.y: remove NEED_ASSOC that break test_parser_events. * parse.y (parser_yylex): should not decrement line numbers at the end of file. * file.c (rb_find_file_ext): search .rb files first through in the loadpath. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@13966 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ripper/dummyparser.rb | 70 ++++++++++++++++++++++++++++++++++----- test/ripper/test_files.rb | 2 +- test/ripper/test_parser_events.rb | 2 +- 3 files changed, 64 insertions(+), 10 deletions(-) (limited to 'test') diff --git a/test/ripper/dummyparser.rb b/test/ripper/dummyparser.rb index 31fcafb15..483ac0d01 100644 --- a/test/ripper/dummyparser.rb +++ b/test/ripper/dummyparser.rb @@ -30,7 +30,7 @@ class NodeList end def prepend(items) - @list[0,0] = items + @list.unshift items end def to_s @@ -98,32 +98,44 @@ class DummyParser < Ripper args end - def on_arglist_new + def on_args_new NodeList.new end - def on_arglist_add(list, arg) + def on_args_add(list, arg) list.push(arg) end - def on_arglist_add_block(list, blk) - list.push('&' + blk.to_s) + def on_args_add_block(list, blk) + if blk + list.push('&' + blk.to_s) + else + list + end end - def on_arglist_add_star(list, arg) + def on_args_add_star(list, arg) list.push('*' + arg.to_s) end - def on_arglist_prepend(list, args) + def on_args_prepend(list, args) list.prepend args list end def on_method_add_arg(m, arg) + if arg == nil + arg = on_args_new + end m.children.push arg m end + def on_method_add_block(m, b) + on_args_add_block(m.children, b) + m + end + def on_assoc_new(a, b) Node.new('assoc', a, b) end @@ -390,7 +402,7 @@ class DummyParser < Ripper Node.new('sclass', a, b) end - def on_space(a) + def on_sp(a) Node.new('space', a) end @@ -514,4 +526,46 @@ class DummyParser < Ripper Node.new('zsuper') end + def on_backref(a) + a + end + def on_comma(a) + a + end + def on_gvar(a) + a + end + def on_ident(a) + a + end + def on_int(a) + a + end + def on_kw(a) + a + end + def on_lbrace(a) + a + end + def on_rbrace(a) + a + end + def on_lbracket(a) + a + end + def on_rbracket(a) + a + end + def on_lparen(a) + a + end + def on_rparen(a) + a + end + def on_op(a) + a + end + def on_semicolon(a) + a + end end diff --git a/test/ripper/test_files.rb b/test/ripper/test_files.rb index e5ccaf4b0..c2d7a50a3 100644 --- a/test/ripper/test_files.rb +++ b/test/ripper/test_files.rb @@ -22,4 +22,4 @@ end rescue LoadError end - \ No newline at end of file + diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index a5d6a62f6..fa640a37e 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -495,4 +495,4 @@ class TestRipper_ParserEvents < Test::Unit::TestCase end rescue LoadError -end \ No newline at end of file +end -- cgit