CodeQL library for Swift
codeql/swift-all 4.1.0 (changelog, source)
Search

Class MakeWithSplitting::BasicBlocks::JoinBasicBlock

A basic block with more than one predecessor.

Import path

import codeql.controlflow.Cfg

Direct supertypes

Indirect supertypes

Predicates

getJoinBlockPredecessor

Gets the ith predecessor of this join block, with respect to some arbitrary order.

Inherited predicates

dominates

Holds if this basic block dominates basic block bb.

from BasicBlockImpl
edgeDominates

Holds if the edge with successor type s out of this basic block is a dominating edge for dominated.

from BasicBlockImpl
getANode

Gets a control flow node in this basic block.

from BasicBlockImpl
getAPredecessor

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

from BasicBlockImpl
getAPredecessor

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

from BasicBlockImpl
getASuccessor

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

from BasicBlockImpl
getASuccessor

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

from BasicBlockImpl
getFirstNode

Gets the first control flow node in this basic block.

from BasicBlockImpl
getImmediateDominator

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

from BasicBlockImpl
getLastNode

Gets the last control flow node in this basic block.

from BasicBlockImpl
getLocation

Gets the location of this basic block.

from BasicBlockImpl
getNode

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

from BasicBlockImpl
getScope

Gets the CFG scope of this basic block.

from BasicBlockImpl
immediatelyDominates

Holds if this basic block immediately dominates basic block bb.

from BasicBlockImpl
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. I.e., it is equivaluent to: this.dominates(df.getAPredecessor()) and not this.strictlyDominates(df)

from BasicBlockImpl
inLoop

Holds if this basic block is in a loop in the control flow graph.

from BasicBlockImpl
length

Gets the length of this basic block.

from BasicBlockImpl
postDominates

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

from BasicBlockImpl
strictlyDominates

Holds if this basic block strictly dominates basic block bb.

from BasicBlockImpl
strictlyPostDominates

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

from BasicBlockImpl
toString

Gets a textual representation of this basic block.

from BasicBlockImpl

Charpred