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

Class SsaImplicitUpdate

An SSA variable that represents any sort of implicit update. This can be a Call that might reach a non-local update of the field, an explicit or implicit update of the qualifier of the field, or the implicit update that occurs just prior to a FieldRead of an untracked field.

Import path

import semmle.code.java.dataflow.SSA

Direct supertypes

Indirect supertypes

Known direct subtypes

Predicates

assignsUnknownValue

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

getANonLocalUpdate

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

toString

Gets a textual representation of this SSA variable.

Inherited predicates

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
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

Charpred