Datatype SSA::Ssa::SsaImpl::TDefinition

A data type representing SSA definitions.

We distinguish six kinds of SSA definitions:

  1. Explicit definitions wrapping an AssignableDefinition node in the CFG.
  2. 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.
  3. Implicit indirect definitions of variables through calls (fields, properties, or captured variables).
  4. Implicit indirect definitions of variables through qualifier definitions (fields or properties).
  5. Implicit definitions of variables prior to all reads, for variables that are not amenable to SSA analysis (UntrackedVar).
  6. Phi nodes.

SSA definitions are only introduced where necessary. That is, dead assignments have no associated SSA definitions.

Known direct subtypes

Branch types

Injectors