Class SSA::SsaVariable

A single static assignment variable. An SSA variable is a variable which is only assigned once (statically). SSA variables can be defined as normal variables or by a phi node which can occur at joins in the flow graph. Definitions without uses do not have a SSA variable.

Direct supertypes

Indirect supertypes

Predicates

getAPhiInput

Gets an argument of the phi function defining this variable. This predicate uses the raw SSA form produced by the extractor. In general, you should use getAPrunedPhiInput() instead.

getAPrunedPhiInput

Gets an argument of the phi function defining this variable, pruned of unlikely edges.

getAUse

Gets a use of this variable

getAnUltimateDefinition

Gets a variable that ultimately defines this variable and is not itself defined by another variable

getDefinition

Gets the definition (which may be a deletion) of this SSA variable

getFallbackGlobal

Gets the global variable that is accessed if this local is undefined. Only applies to local variables in class scopes.

getId

Gets the id (name) of this variable

getLocation
getPredecessorBlockForPhiArgument

Gets the edge(s) (result->this.getDefinition()) on which the SSA variable ‘input’ defines this SSA variable. For each incoming edge X->B, where B is the basic block containing this phi-node, only one of the input SSA variables for this phi-node is live. This predicate returns the predecessor block such that the variable ‘input’ is the live variable on the edge result->B.

getVariable

Gets the source variable

isSelf
maybeUndefined

Whether this variable may be undefined

reachableWithoutDefinition

Whether it is possible to reach a use of this variable without passing a definition

toString

Charpred