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

Class VariableCapture::CaptureInput::Expr

An expression with a value. That is, we expect these expressions to be represented in the data flow graph.

Import path

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

Direct supertypes

Indirect supertypes

Known direct subtypes

    Predicates

    hasCfgNode

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

    Inherited predicates

    asExpr

    Gets the expression this control flow node uniquely represents, if any.

    from NodeImpl
    asStmt

    Gets the statement this control flow node uniquely represents, if any.

    from NodeImpl
    dominates

    Holds if this node dominates that node.

    from ControlFlowNode
    getANormalSuccessor

    Gets a normal successor of this node, if any. This includes direct successors and conditional successors.

    from ControlFlowNode
    getAPredecessor

    Gets an immediate predecessor of this node, if this is not an EntryNode.

    from ControlFlowNode
    getASuccessor

    Gets an immediate successor of this node, if this is not an ExitNode.

    from ControlFlowNode
    getASuccessor

    Gets an immediate successor of a given type, if any.

    from ControlFlowNode
    getAnExceptionSuccessor

    Gets an exception successor of this node, if any.

    from ControlFlowNode
    getAstNode

    Gets the AST node with which this control flow node is associated. Note that several control flow nodes are usually associated with the same AST node, but each control flow node is associated with a unique AST node.

    from NodeImpl
    getBasicBlock

    Gets the basic block containing this control flow node.

    from ControlFlowNode
    getEnclosingCallable

    Gets the enclosing callable of this control flow node.

    from NodeImpl
    getIdTag

    INTERNAL: Do not use.

    from NodeImpl
    getLocation

    Gets the source location for this node.

    from NodeImpl
    injects

    Holds if this is the unique control flow node that represents the given AST node.

    from NodeImpl
    isAdditional

    Holds if this is an additional control flow node with the given tag for the given AST node.

    from NodeImpl
    isAfter

    Holds if this is a node representing the point in the control flow after the normal termination of n. For simple leaf nodes, this is merged with the “before” node and is hence equal to it. For nodes in conditional contexts, this may be one of two possible “after” nodes representing the different possible values of n.

    from NodeImpl
    isAfterFalse

    Holds if this is the node representing the evaluation of n to the value false.

    from NodeImpl
    isAfterTrue

    Holds if this is the node representing the evaluation of n to the value true.

    from NodeImpl
    isAfterValue

    Holds if this is the node representing the normal termination of n with the value t.

    from NodeImpl
    isBefore

    Holds if this is the node representing the point in the control flow before the execution of n.

    from NodeImpl
    isIn

    Holds if this is the node representing the given AST node when n has an in-order or post-order execution.

    from NodeImpl
    postDominates

    Holds if this node post-dominates that node.

    from ControlFlowNode
    strictlyDominates

    Holds if this node strictly dominates that node.

    from ControlFlowNode
    strictlyPostDominates

    Holds if this node strictly post-dominates that node.

    from ControlFlowNode
    toString

    Gets a textual representation of this node.

    from NodeImpl