A data type representing SSA definitions.
We distinguish six kinds of SSA definitions:
- Explicit definitions wrapping an
AssignableDefinitionnode in the CFG.
- Implicit initializations of variables at the entry point of a callable (captured variables and relevant fields or properties), represented by the callable entry point in the CFG.
- Implicit indirect definitions of variables through calls (fields, properties, or captured variables).
- Implicit indirect definitions of variables through qualifier definitions (fields or properties).
- Implicit definitions of variables prior to all reads, for variables that
are not amenable to SSA analysis (
- Phi nodes.
SSA definitions are only introduced where necessary. That is, dead assignments have no associated SSA definitions.