CodeQL library for Java/Kotlin
codeql/java-all 4.0.1-dev (changelog, source)
Search

Class SsaUncertainImplicitUpdate

An SSA variable that represents an uncertain implicit update of the value. This is a Call that might reach a non-local update of the field or one of its qualifiers.

Import path

import semmle.code.java.dataflow.SSA

Direct supertypes

Indirect supertypes

Predicates

getPriorDef

Gets the immediately preceding definition. Since this update is uncertain the value from the preceding definition might still be valid.

Inherited predicates

assignsUnknownValue

Holds if this ssa variable might change the value to something unknown.

from SsaImplicitUpdate
getAFirstUse

Gets an access of the SSA source variable underlying this SSA variable that can be reached from this SSA variable without passing through any other uses, but potentially through phi nodes and uncertain implicit updates.

from SsaVariable
getANonLocalUpdate

Gets a reachable FieldWrite that might represent this ssa update, if any.

from SsaImplicitUpdate
getAPhiInputOrPriorDef

Gets an SSA variable whose value can flow to this one in one step. This includes inputs to phi nodes, the prior definition of uncertain updates, and the captured ssa variable for a closure variable.

from SsaVariable
getAUse

Gets an access of this SSA variable.

from SsaVariable
getAnUltimateDefinition

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

from SsaVariable
getBasicBlock

Gets the BasicBlock in which this SSA variable is defined.

from SsaVariable
getCfgNode

Gets the ControlFlowNode at which this SSA variable is defined.

from SsaVariable
getLocation

Gets the source location for this element.

from SsaVariable
getSourceVariable

Gets the SSA source variable underlying this SSA variable.

from SsaVariable
isLiveAtEndOfBlock

Holds if this SSA variable is live at the end of b.

from SsaVariable
toString

Gets a textual representation of this SSA variable.

from SsaImplicitUpdate