We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 7fef1a8 + 9d06c75 commit 9af99f1Copy full SHA for 9af99f1
javascript/ql/src/semmle/javascript/dataflow/DataFlow.qll
@@ -1079,8 +1079,19 @@ module DataFlow {
1079
1080
override DataFlow::Node getCalleeNode() { result = DataFlow::valueNode(astNode.getCallee()) }
1081
1082
+ /**
1083
+ * Whether i is an index that occurs after a spread argument.
1084
+ */
1085
+ pragma[nomagic]
1086
+ private predicate isIndexAfterSpread(int i) {
1087
+ astNode.isSpreadArgument(i)
1088
+ or
1089
+ exists(astNode.getArgument(i)) and
1090
+ isIndexAfterSpread(i - 1)
1091
+ }
1092
+
1093
override DataFlow::Node getArgument(int i) {
- not astNode.isSpreadArgument([0 .. i]) and
1094
+ not isIndexAfterSpread(i) and
1095
result = DataFlow::valueNode(astNode.getArgument(i))
1096
}
1097
0 commit comments