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

Class Ssa::PhiNode

DEPRECATED: Use SsaPhiDefinition instead.

An SSA phi node, that is, a pseudo definition for a variable at a point in the flow graph where otherwise two or more definitions for the variable would be visible.

Import path

import csharp

Direct supertypes

Indirect supertypes

Predicates

getAnInput

Gets an input of this phi node. Example:

hasInputFromBlock

Holds if inp is an input to this phi node along the edge originating in bb.

Inherited predicates

definesAt

Holds if this SSA definition defines v at index i in basic block bb. Phi nodes are considered to be at index -1, while normal variable writes are at the index of the control flow node they wrap.

from Definition
getAFirstRead

DEPRECATED: Use ssaGetAFirstUse instead.

from Definition
getAFirstReadAtNode

DEPRECATED: Use ssaGetAFirstUse instead.

from Definition
getARead

Gets a read of the source variable underlying this SSA definition that can be reached from this SSA definition without passing through any other SSA definitions. Example:

from Definition
getAReadAtNode

DEPRECATED: Use getARead() instead.

from Definition
getAnUltimateDefinition

Gets a definition that ultimately defines this SSA definition and is not itself a phi node. Example:

from Definition
getBasicBlock

Gets the basic block to which this SSA definition belongs.

from Definition
getControlFlowNode

Gets the control flow node of this SSA definition.

from Definition
getElement

Gets the syntax element associated with this SSA definition, if any. This is either an expression, for example x = 0, a parameter, or a callable. Phi nodes have no associated syntax element.

from Definition
getEnclosingCallable

DEPRECATED: Use getSourceVariable().getEnclosingCallable() instead.

from Definition
getLocation

Gets the location of this SSA definition.

from Definition
getSourceVariable

Gets the source variable underlying this SSA definition.

from Definition
isLiveAtEndOfBlock

Holds if this SSA definition is live at the end of basic block bb. That is, this definition reaches the end of basic block bb, at which point it is still live, without crossing another SSA definition of the same source variable.

from Definition
isLiveOutRefParameterDefinition

DEPRECATED.

from Definition
toString

Gets a textual representation of this SSA definition.

from PhiNode