From ef44c0ad2fc9c91e90b69a1cfa88f923ac169256 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 28 Nov 2015 06:56:23 +0000 Subject: ripper/lexer.rb: dispatch alias * ext/ripper/lib/ripper/lexer.rb: alias same methods instead of eval for each events. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52776 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/ripper/lib/ripper/lexer.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'ext/ripper') diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb index c0a64d1ee5..586d0807a1 100644 --- a/ext/ripper/lib/ripper/lexer.rb +++ b/ext/ripper/lib/ripper/lexer.rb @@ -60,12 +60,12 @@ class Ripper private + def _push_token(tok) + @buf.push [[lineno(), column()], __callee__, tok] + end + SCANNER_EVENTS.each do |event| - module_eval(<<-End, __FILE__+'/module_eval', __LINE__ + 1) - def on_#{event}(tok) - @buf.push [[lineno(), column()], :on_#{event}, tok] - end - End + alias_method "on_#{event}", :_push_token end end -- cgit v1.2.3