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

Class ExitBasicBlock

An exit basic block, that is, a basic block whose last node is the exit node of a callable.

Import path

import semmle.code.csharp.controlflow.BasicBlocks

Direct supertypes

Indirect supertypes

Known direct subtypes

    Inherited predicates

    dominates

    Holds if this basic block dominates basic block bb.

    from BasicBlock
    getAFalseSuccessor

    Gets an immediate false successor, if any.

    from BasicBlock
    getANode

    Gets a control flow node in this basic block.

    from BasicBlock
    getAPredecessor

    Gets an immediate predecessor of this basic block, if any.

    from BasicBlock
    getAPredecessorByType

    Gets an immediate predecessor of this basic block of a given type, if any.

    from BasicBlock
    getASuccessor

    Gets an immediate successor of this basic block, if any.

    from BasicBlock
    getASuccessorByType

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

    from BasicBlock
    getATrueSuccessor

    Gets an immediate true successor, if any.

    from BasicBlock
    getCallable

    Gets the callable that this basic block belongs to.

    from BasicBlock
    getFirstNode

    Gets the first control flow node in this basic block.

    from BasicBlock
    getImmediateDominator

    Gets the basic block that immediately dominates this basic block, if any.

    from BasicBlock
    getLastNode

    Gets the last control flow node in this basic block.

    from BasicBlock
    getLocation

    Gets the location of this basic block.

    from BasicBlock
    getNode

    Gets the control flow node at a specific (zero-indexed) position in this basic block.

    from BasicBlock
    immediatelyDominates

    Holds if this basic block immediately dominates basic block bb.

    from BasicBlock
    inDominanceFrontier

    Holds if df is in the dominance frontier of this basic block. That is, this basic block dominates a predecessor of df, but does not dominate df itself.

    from BasicBlock
    inLoop

    Holds if this basic block is in a loop in the control flow graph. This includes loops created by goto statements. This predicate may not hold even if this basic block is syntactically inside a while loop if the necessary back edges are unreachable.

    from BasicBlock
    length

    Gets the length of this basic block.

    from BasicBlock
    postDominates

    Holds if this basic block post-dominates basic block bb.

    from BasicBlock
    strictlyDominates

    Holds if this basic block strictly dominates basic block bb.

    from BasicBlock
    strictlyPostDominates

    Holds if this basic block strictly post-dominates basic block bb.

    from BasicBlock
    toString

    Gets a textual representation of this basic block.

    from BasicBlock

    Charpred