Module BaseSSA
Provides classes and predicates for SSA representation (Static Single Assignment form) restricted to local variables.
An SSA variable consists of the pair of a BaseSsaSourceVariable and a
ControlFlowNode at which it is defined. Each SSA variable is defined
either by a phi node, an implicit initial value (for parameters),
or an explicit update.
This is a restricted version of SSA.qll that only handles LocalScopeVariables
in order to not depend on virtual dispatch.
Import path
import semmle.code.java.dataflow.internal.BaseSSAClasses
| BaseSsaImplicitInit | An SSA variable that is defined by its initial value in the callable. This includes initial values of parameters, fields, and closure variables. |
| BaseSsaPhiNode | An SSA phi node. |
| BaseSsaSourceVariable | A local variable in the context of a |
| BaseSsaUpdate | An SSA variable that is defined by a |
| BaseSsaVariable | An SSA variable. |