[ruby/racc] Get rid of anonymous eval calls

Things declared in anonymous eval are always annoying to locate.
(profilers, etc)

https://github.com/ruby/racc/commit/f304205256
This commit is contained in:
Jean Boussier 2023-01-11 11:17:43 +01:00 коммит произвёл Hiroshi SHIBATA
Родитель 11e15b4d48
Коммит bcdc058e50
3 изменённых файлов: 8 добавлений и 8 удалений

Просмотреть файл

@ -260,11 +260,11 @@ module Racc
# def next_token
# @q.shift
# end
class_eval %{
class_eval <<~RUBY, __FILE__, __LINE__ + 1
def do_parse
#{Racc_Main_Parsing_Routine}(_racc_setup(), false)
end
}
RUBY
# The method to fetch next token.
# If you use #do_parse method, you must implement #next_token.
@ -322,11 +322,11 @@ module Racc
#
# RECEIVER#METHOD_ID is a method to get next token.
# It must 'yield' the token, which format is [TOKEN-SYMBOL, VALUE].
class_eval %{
class_eval <<~RUBY, __FILE__, __LINE__ + 1
def yyparse(recv, mid)
#{Racc_YY_Parse_Method}(recv, mid, _racc_setup(), false)
end
}
RUBY
def _racc_yyparse_rb(recv, mid, arg, c_debug)
action_table, action_check, action_default, action_pointer,

Просмотреть файл

@ -636,14 +636,14 @@ restrict return short signed sizeof static struct switch typedef union
def self.feature(name)
attr_writer "#{name}_enabled"
class_eval <<-EOS
class_eval <<~RUBY, __FILE__, __LINE__ + 1
def enable_#{name}
@#{name}_enabled = true
end
def #{name}_enabled?
@#{name}_enabled
end
EOS
RUBY
end
private_class_method :feature

Просмотреть файл

@ -96,14 +96,14 @@ restrict return short signed sizeof static struct switch typedef union
def self.feature(name)
attr_writer "#{name}_enabled"
class_eval <<-EOS
class_eval <<~RUBY, __FILE__, __LINE__ + 1
def enable_#{name}
@#{name}_enabled = true
end
def #{name}_enabled?
@#{name}_enabled
end
EOS
RUBY
end
private_class_method :feature