From 560a6c6ffa187f764cb5d81a7d27cb7a84a13c02 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 18 Oct 2011 14:05:51 +0000 Subject: * ext/ripper/eventids2.c (ripper_init_eventids2): separate initializations of IDs and objects. * ext/ripper/tools/generate.rb (generate_eventids1): ditto. * parse.y (Init_ripper, InitVM_ripper): fix inversed roles. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/ripper/eventids2.c | 4 +--- ext/ripper/tools/generate.rb | 11 +++++++---- 2 files changed, 8 insertions(+), 7 deletions(-) (limited to 'ext') diff --git a/ext/ripper/eventids2.c b/ext/ripper/eventids2.c index 8b0d9c3757..dfe6c08619 100644 --- a/ext/ripper/eventids2.c +++ b/ext/ripper/eventids2.c @@ -59,7 +59,7 @@ static ID ripper_id_CHAR; #include "eventids2table.c" static void -ripper_init_eventids2(VALUE self) +ripper_init_eventids2(void) { ripper_id_backref = rb_intern_const("on_backref"); ripper_id_backtick = rb_intern_const("on_backtick"); @@ -108,8 +108,6 @@ ripper_init_eventids2(VALUE self) ripper_id_heredoc_end = rb_intern_const("on_heredoc_end"); ripper_id___end__ = rb_intern_const("on___end__"); ripper_id_CHAR = rb_intern_const("on_CHAR"); - - ripper_init_eventids2_table(self); } static const struct token_assoc { diff --git a/ext/ripper/tools/generate.rb b/ext/ripper/tools/generate.rb index 22c3ac0eb7..333b64afae 100755 --- a/ext/ripper/tools/generate.rb +++ b/ext/ripper/tools/generate.rb @@ -74,15 +74,18 @@ def generate_eventids1(ids) end buf << %Q[\n] buf << %Q[static void\n] - buf << %Q[ripper_init_eventids1(VALUE self)\n] + buf << %Q[ripper_init_eventids1(void)\n] buf << %Q[{\n] - buf << %Q[ VALUE h;\n] - buf << %Q[ ID id;\n] ids.each do |id, arity| buf << %Q[ ripper_id_#{id} = rb_intern_const("on_#{id}");\n] end + buf << %Q[}\n] buf << %Q[\n] - buf << %Q[ h = rb_hash_new();\n] + buf << %Q[static void\n] + buf << %Q[ripper_init_eventids1_table(VALUE self)\n] + buf << %Q[{\n] + buf << %Q[ VALUE h = rb_hash_new();\n] + buf << %Q[ ID id;\n] buf << %Q[ rb_define_const(self, "PARSER_EVENT_TABLE", h);\n] ids.each do |id, arity| buf << %Q[ id = rb_intern_const("#{id}");\n] -- cgit v1.2.3