diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-12-30 01:22:11 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-12-31 15:11:38 +0900 |
commit | 0fbf4d0374e2cef84761985b043c2255e03f2ff2 (patch) | |
tree | cca0c9cc8ba10777a48400221fa67692e52df5e8 /tool/mk_builtin_loader.rb | |
parent | 62450e0acf844510808f18d219aaf7da936b5b58 (diff) | |
download | ruby-0fbf4d0374e2cef84761985b043c2255e03f2ff2.tar.gz |
Access to reserved word parameter like as `__builtin.arg!(:if)`
Diffstat (limited to 'tool/mk_builtin_loader.rb')
-rw-r--r-- | tool/mk_builtin_loader.rb | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/tool/mk_builtin_loader.rb b/tool/mk_builtin_loader.rb index 17f0d99a50..4b8e1ed1d1 100644 --- a/tool/mk_builtin_loader.rb +++ b/tool/mk_builtin_loader.rb @@ -156,6 +156,12 @@ def collect_builtin base, tree, name, bs, inlines, locals = nil func_name = nil # required inlines[inlines.size] = [lineno, text, nil, nil] argc -= 1 + when 'arg' + argc == 1 or raise "unexpected argument number #{argc}" + (arg = args.first)[0] == :symbol_literal or raise "symbol literal expected #{args}" + (arg = arg[1])[0] == :symbol or raise "symbol expected #{arg}" + (var = arg[1] and var = var[1]) or raise "argument name expected #{arg}" + func_name = nil end end |