diff options
author | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-17 06:48:03 +0000 |
---|---|---|
committer | ktsj <ktsj@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-17 06:48:03 +0000 |
commit | 9738f96fcfe50b2a605e350bdd40bd7a85665f54 (patch) | |
tree | a8495fa0a315ef4015f01db4d158b74987d18277 /ext | |
parent | b077654a2c89485c086e77c337d30a11ff3781c3 (diff) |
Introduce pattern matching [EXPERIMENTAL]
[ruby-core:87945] [Feature #14912]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67586 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/objspace/objspace.c | 4 | ||||
-rw-r--r-- | ext/ripper/tools/dsl.rb | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index 7cef5d42a3..950168868e 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -377,7 +377,9 @@ count_nodes(int argc, VALUE *argv, VALUE os) COUNT_NODE(NODE_UNLESS); COUNT_NODE(NODE_CASE); COUNT_NODE(NODE_CASE2); + COUNT_NODE(NODE_CASE3); COUNT_NODE(NODE_WHEN); + COUNT_NODE(NODE_IN); COUNT_NODE(NODE_WHILE); COUNT_NODE(NODE_UNTIL); COUNT_NODE(NODE_ITER); @@ -472,6 +474,8 @@ count_nodes(int argc, VALUE *argv, VALUE os) COUNT_NODE(NODE_ATTRASGN); COUNT_NODE(NODE_LAMBDA); COUNT_NODE(NODE_METHREF); + COUNT_NODE(NODE_ARYPTN); + COUNT_NODE(NODE_HSHPTN); #undef COUNT_NODE case NODE_LAST: break; } diff --git a/ext/ripper/tools/dsl.rb b/ext/ripper/tools/dsl.rb index aafaa6f407..34b435e7c3 100644 --- a/ext/ripper/tools/dsl.rb +++ b/ext/ripper/tools/dsl.rb @@ -72,7 +72,7 @@ class DSL def method_missing(event, *args) if event.to_s =~ /!\z/ add_event(event, args) - elsif args.empty? and /\Aid[A-Z]/ =~ event.to_s + elsif args.empty? and /\Aid[A-Z_]/ =~ event.to_s event else "#{ event }(#{ args.join(", ") })" |