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

Class Ssa::PhiNode

A phi node.

Import path

import semmle.code.cil.Ssa

Direct supertypes

Indirect supertypes

Predicates

getAnInput

Gets an input to this phi node.

getLocation

Gets the location of this SSA definition.

hasLastInputRef

Holds if if def is an input to this phi node, and a reference to def at index i in basic block bb can reach this phi node without going through other references.

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 Make<SsaImpl::SsaInput>
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 Make<SsaImpl::SsaInput>
getAFirstRead

Gets a first read of this SSA definition.

from Definition
getARead

Gets a read of this SSA definition.

from Definition
getAnUltimateDefinition

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

from Definition
getBasicBlock

Gets the basic block to which this SSA definition belongs.

from Make<SsaImpl::SsaInput>
getBasicBlock

Gets the basic block to which this SSA definition belongs.

from Make<SsaImpl::SsaInput>
getSourceVariable

Gets the source variable underlying this SSA definition.

from Make<SsaImpl::SsaInput>
getSourceVariable

Gets the source variable underlying this SSA definition.

from Make<SsaImpl::SsaInput>
getVariableUpdate

Gets the underlying variable update, if any.

from Definition
hasAdjacentReads

Holds if first and second are adjacent reads of this SSA definition.

from Definition
toString

Gets a textual representation of this SSA definition.

from Make<SsaImpl::SsaInput>