@@ -497,6 +497,7 @@ private module Cached {
497497 FlowSummaryImplSpecific:: ParsePositions:: isParsedKeywordParameterPosition ( _, name )
498498 } or
499499 THashSplatArgumentPosition ( ) or
500+ TSplatAllArgumentPosition ( ) or
500501 TAnyArgumentPosition ( ) or
501502 TAnyKeywordArgumentPosition ( )
502503
@@ -518,6 +519,7 @@ private module Cached {
518519 FlowSummaryImplSpecific:: ParsePositions:: isParsedKeywordArgumentPosition ( _, name )
519520 } or
520521 THashSplatParameterPosition ( ) or
522+ TSplatAllParameterPosition ( ) or
521523 TAnyParameterPosition ( ) or
522524 TAnyKeywordParameterPosition ( )
523525}
@@ -1149,6 +1151,8 @@ class ParameterPosition extends TParameterPosition {
11491151 /** Holds if this position represents a hash-splat parameter. */
11501152 predicate isHashSplat ( ) { this = THashSplatParameterPosition ( ) }
11511153
1154+ predicate isSplatAll ( ) { this = TSplatAllParameterPosition ( ) }
1155+
11521156 /**
11531157 * Holds if this position represents any parameter, except `self` parameters. This
11541158 * includes both positional, named, and block parameters.
@@ -1172,6 +1176,8 @@ class ParameterPosition extends TParameterPosition {
11721176 or
11731177 this .isHashSplat ( ) and result = "**"
11741178 or
1179+ this .isSplatAll ( ) and result = "*"
1180+ or
11751181 this .isAny ( ) and result = "any"
11761182 or
11771183 this .isAnyNamed ( ) and result = "any-named"
@@ -1207,6 +1213,8 @@ class ArgumentPosition extends TArgumentPosition {
12071213 */
12081214 predicate isHashSplat ( ) { this = THashSplatArgumentPosition ( ) }
12091215
1216+ predicate isSplatAll ( ) { this = TSplatAllArgumentPosition ( ) }
1217+
12101218 /** Gets a textual representation of this position. */
12111219 string toString ( ) {
12121220 this .isSelf ( ) and result = "self"
@@ -1222,6 +1230,8 @@ class ArgumentPosition extends TArgumentPosition {
12221230 this .isAnyNamed ( ) and result = "any-named"
12231231 or
12241232 this .isHashSplat ( ) and result = "**"
1233+ or
1234+ this .isSplatAll ( ) and result = "*"
12251235 }
12261236}
12271237
@@ -1248,6 +1258,8 @@ predicate parameterMatch(ParameterPosition ppos, ArgumentPosition apos) {
12481258 or
12491259 ppos .isHashSplat ( ) and apos .isHashSplat ( )
12501260 or
1261+ ppos .isSplatAll ( ) and apos .isSplatAll ( )
1262+ or
12511263 ppos .isAny ( ) and argumentPositionIsNotSelf ( apos )
12521264 or
12531265 apos .isAny ( ) and parameterPositionIsNotSelf ( ppos )
0 commit comments