simplify the callsArray predicate

This commit is contained in:
Erik Krogh Kristensen
2019-10-29 12:13:01 +01:00
parent 563f32193c
commit 2d01e7c5ed

View File

@@ -13,13 +13,11 @@ import javascript
import Expressions.ExprHasNoEffect
DataFlow::SourceNode callsArray(DataFlow::TypeBackTracker t, DataFlow::MethodCallNode call) {
isIgnoredPureArrayCall(call) and
(
t.start() and
result = call.getReceiver().getALocalSource()
or
exists(DataFlow::TypeBackTracker t2 | result = callsArray(t2, call).backtrack(t2, t))
)
isIgnoredPureArrayCall(call) and
t.start() and
result = call.getReceiver().getALocalSource()
or
exists(DataFlow::TypeBackTracker t2 | result = callsArray(t2, call).backtrack(t2, t))
}
DataFlow::SourceNode callsArray(DataFlow::MethodCallNode call) {