mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* parse.y (do_block): do_block event dispatches 2 args. [ruby-dev:26964]
* ext/ripper/lib/ripper/core.rb: updated. * ext/ripper/tools/list-parser-event-ids.rb: check arity mismatch. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
1e63c302db
commit
04165c20fe
3 changed files with 20 additions and 10 deletions
|
|
@ -17,17 +17,23 @@ def main
|
|||
end
|
||||
|
||||
def extract_ids(f)
|
||||
results = []
|
||||
ids = {}
|
||||
f.each do |line|
|
||||
next if /\A\#\s*define\s+s?dispatch/ === line
|
||||
next if /ripper_dispatch/ === line
|
||||
next if /\A\#\s*define\s+s?dispatch/ =~ line
|
||||
next if /ripper_dispatch/ =~ line
|
||||
if a = line.scan(/dispatch(\d)\((\w+)/)
|
||||
a.each do |arity, event|
|
||||
results.push [event, arity.to_i]
|
||||
if ids[event]
|
||||
unless ids[event] == arity.to_i
|
||||
$stderr.puts "arity mismatch: #{event} (#{ids[event]} vs #{arity})"
|
||||
exit 1
|
||||
end
|
||||
end
|
||||
ids[event] = arity.to_i
|
||||
end
|
||||
end
|
||||
end
|
||||
results.uniq.sort
|
||||
ids.to_a.sort
|
||||
end
|
||||
|
||||
main
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue