summaryrefslogtreecommitdiff
path: root/ext/ripper/tools/generate.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-04-28 09:33:00 +0900
committerYuichiro Kaneko <spiketeika@gmail.com>2024-04-29 08:38:23 +0900
commita6308ca9589638c2efb791ac6858fdda8cb06c44 (patch)
tree7b3bd5359cc87417d55dbf4d4f954d42d92b40f7 /ext/ripper/tools/generate.rb
parentf9cf923af2c54345b1d6756e3268b509655754a3 (diff)
ripper: Move DSL line pattern
Diffstat (limited to 'ext/ripper/tools/generate.rb')
-rw-r--r--ext/ripper/tools/generate.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/ext/ripper/tools/generate.rb b/ext/ripper/tools/generate.rb
index 27aa53bce0..92ced37f04 100644
--- a/ext/ripper/tools/generate.rb
+++ b/ext/ripper/tools/generate.rb
@@ -167,15 +167,13 @@ require_relative "dsl"
def read_ids1_with_locations(path)
h = {}
File.open(path) {|f|
- f.each.with_index(1) do |line, i|
+ f.each do |line|
next if /\A\#\s*define\s+dispatch/ =~ line
next if /ripper_dispatch/ =~ line
line.scan(/\bdispatch(\d)\((\w+)/) do |arity, event|
(h[event] ||= []).push [f.lineno, arity.to_i]
end
- if line =~ %r</\*% *ripper(?:\[(.*?)\])?: *(.*?) *%\*/>
- gen = DSL.new($2, ($1 || "").split(","), i)
- gen.generate
+ if gen = DSL.line?(line, f.lineno)
gen.events.each do |event, arity|
(h[event] ||= []).push [f.lineno, arity.to_i]
end