Module signature SsaSig
Provides classes and predicates for the SSA representation of variables.
Class hierarchy:
SsaDefinition
|- SsaWriteDefinition
| |- SsaExplicitWrite
| | \- SsaParameterInit
| |- SsaImplicitWrite
| | \- SsaImplicitEntryDefinition
| \- SsaUncertainWrite (overlaps SsaImplicitWrite and potentially SsaExplicitWrite)
\- SsaPhiDefinition
Import path
import codeql.ssa.SsaTypes
| SourceVariable | A variable that can be SSA converted. |
| SsaDefinition | A static single assignment (SSA) definition. |
| SsaExplicitWrite | An SSA definition that corresponds to an explicit variable update or declaration. |
| SsaImplicitEntryDefinition | An SSA definition representing the implicit initialization of a variable at the beginning of a callable. This includes fields and captured variables, but excludes parameters as they have explicit declarations. |
| SsaImplicitWrite | An SSA definition that does not correspond to an explicit variable update or declaration. |
| SsaParameterInit | An SSA definition representing the initialization of a parameter at the beginning of a callable. |
| SsaPhiDefinition | An SSA phi definition, that is, a pseudo definition for a variable at a point in the flow graph where otherwise two or more definitions for the variable would be visible. |
| SsaUncertainWrite | An SSA definition that represents an uncertain variable update. |
| SsaWriteDefinition | A write definition. This includes every definition that is not a phi definition. |