From 349df54905ea095a30fef283bce0bda010bf162d Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 6 May 2021 10:53:27 +0100 Subject: [PATCH] Ignore lambda data flow for now --- .../semmle/go/dataflow/internal/DataFlowPrivate.qll | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/ql/src/semmle/go/dataflow/internal/DataFlowPrivate.qll b/ql/src/semmle/go/dataflow/internal/DataFlowPrivate.qll index db6f3651a4e..091be85e344 100644 --- a/ql/src/semmle/go/dataflow/internal/DataFlowPrivate.qll +++ b/ql/src/semmle/go/dataflow/internal/DataFlowPrivate.qll @@ -265,3 +265,14 @@ Node getArgument(CallNode c, int i) { /** Holds if `n` should be hidden from path explanations. */ predicate nodeIsHidden(Node n) { none() } + +class LambdaCallKind = Unit; + +/** Holds if `creation` is an expression that creates a lambda of kind `kind` for `c`. */ +predicate lambdaCreation(Node creation, LambdaCallKind kind, DataFlowCallable c) { none() } + +/** Holds if `call` is a lambda call of kind `kind` where `receiver` is the lambda expression. */ +predicate lambdaCall(DataFlowCall call, LambdaCallKind kind, Node receiver) { none() } + +/** Extra data-flow steps needed for lambda flow analysis. */ +predicate additionalLambdaFlowStep(Node nodeFrom, Node nodeTo, boolean preservesValue) { none() }