CodeQL library for C#
codeql/csharp-all 0.10.0 (changelog, source)
Search

Class VariableCapture::CaptureInput::ClosureExpr

An expression constructing a closure that may capture one or more variables. This can for example be a lambda or a constructor call of a locally defined object.

Import path

import semmle.code.csharp.dataflow.internal.DataFlowPrivate

Direct supertypes

Indirect supertypes

Fields

Predicates

hasAliasedAccess

Holds if f is an expression that may hold the value of the closure and may occur in a position where the value escapes or where the closure may be invoked.

hasBody

Holds if body is the callable body of this closure. A lambda expression only has one body, but in general a locally defined object may have multiple such methods and constructors.

Inherited predicates

dominates

Holds if this node dominates that node.

from Node
getAFalseSuccessor

Gets an immediate false successor, if any.

from Node
getAPredecessor

Gets an immediate predecessor node of a given flow type, if any.

from NodeImpl
getAPredecessor

Gets an immediate predecessor, if any.

from Node
getAPredecessorByType

Gets an immediate predecessor node of a given flow type, if any.

from Node
getASuccessor

Gets a successor node of a given type, if any.

from NodeImpl
getASuccessor

Gets an immediate successor, if any.

from Node
getASuccessorByType

Gets a successor node of a given type, if any.

from Node
getATrueSuccessor

Gets an immediate true successor, if any.

from Node
getAstNode

Gets the control flow element that this node corresponds to, if any.

from Node
getBasicBlock

Gets the basic block that this control flow node belongs to.

from Node
getElement

DEPRECATED: Use getAstNode instead.

from Node
getEnclosingCallable

Gets the enclosing callable of this control flow node.

from Node
getLocation

Gets the location of this control flow node.

from NodeImpl
getScope

Gets the scope of this node.

from NodeImpl
hasCfgNode

Holds if the ith node of basic block bb evaluates this expression.

from Expr
isBranch

Holds if this node has more than one successor.

from NodeImpl
isCondition

Holds if this control flow node has conditional successors.

from NodeImpl
isJoin

Holds if this node has more than one predecessor.

from NodeImpl
postDominates

Holds if this node post-dominates that node.

from Node
strictlyDominates

Holds if this node strictly dominates that node.

from Node
strictlyPostDominates

Holds if this node strictly post-dominates that node.

from Node
toString

Gets a textual representation of this control flow node.

from NodeImpl

Charpred