Import path
import semmle.code.java.dataflow.internal.BaseSSA
Predicates
| firstUse | Holds if the value defined at def can reach use without passing through any other uses, but possibly through phi nodes.
|
| getDestVar | Gets the destination variable of an update of a tracked variable.
|
| hasEntryDef | Holds if v has an implicit definition at the entry, b, of the callable.
|
| phiNode | Holds if a phi node for v is needed at the beginning of basic block b.
|
| variableUpdate | Holds if n updates the local variable v.
|
Modules
| SsaDefReaches | The construction of SSA form ensures that each use of a variable is dominated by its definition. A definition of an SSA variable therefore reaches a ControlFlowNode if it is the closest SSA variable definition that dominates the node. If two definitions dominate a node then one must dominate the other, so therefore the definition of closest is given by the dominator tree. Thus, reaching definitions can be calculated in terms of dominance.
|
| SsaPublic | |