зеркало из https://github.com/github/ruby.git
[ruby/psych] Get rid of anonymous eval calls
Things declared in anonymous eval are always annoying to locate. https://github.com/ruby/psych/commit/38871ad4e5
This commit is contained in:
Родитель
e85ef212de
Коммит
3161fd4372
|
@ -35,7 +35,7 @@ module Psych
|
|||
|
||||
constants.each do |const|
|
||||
konst = const_get const
|
||||
class_eval <<~RUBY
|
||||
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
||||
def #{const.to_s.downcase}
|
||||
load #{konst.inspect}
|
||||
end
|
||||
|
|
|
@ -41,7 +41,7 @@ module Psych
|
|||
Sequence
|
||||
Mapping
|
||||
}.each do |node|
|
||||
class_eval %{
|
||||
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
||||
def start_#{node.downcase}(anchor, tag, implicit, style)
|
||||
n = Nodes::#{node}.new(anchor, tag, implicit, style)
|
||||
set_start_location(n)
|
||||
|
@ -54,7 +54,7 @@ module Psych
|
|||
set_end_location(n)
|
||||
n
|
||||
end
|
||||
}
|
||||
RUBY
|
||||
end
|
||||
|
||||
###
|
||||
|
|
|
@ -13,13 +13,13 @@ module Psych
|
|||
|
||||
(Handler.instance_methods(true) -
|
||||
Object.instance_methods).each do |m|
|
||||
class_eval %{
|
||||
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
||||
def #{m} *args
|
||||
@strings += args.flatten.find_all { |a|
|
||||
String === a
|
||||
}
|
||||
end
|
||||
}
|
||||
RUBY
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -16,13 +16,13 @@ module Psych
|
|||
|
||||
(Handler.instance_methods(true) -
|
||||
Object.instance_methods).each do |m|
|
||||
class_eval %{
|
||||
class_eval <<~RUBY, __FILE__, __LINE__ + 1
|
||||
def #{m} *args
|
||||
super
|
||||
@marks << @parser.mark if @parser
|
||||
@calls << [:#{m}, args]
|
||||
end
|
||||
}
|
||||
RUBY
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче