scala.scalanative.nir
Type members
Classlikes
- Companion:
- object
A definition in NIR.
A definition in NIR.
Programs in NIR are represented as a sequence of definitions denoting types, methods and fields. Definitions fall into two categories:
- Top-level definitions: these represent classes, modules, traits, or global variables and constants.
- Member definitions: these represent fields or methods.
Classes and modules inherit from a single parent with the exception of
java.lang.Object
, which sits at the top of the hierarchy. They may
additionally implement traits.
Definitions may also carry attributes providing further information about their semantics (e.g., whether a method may be inlined). Attributes are also used to mark special-purpose definitions, such as stubs, proxies and FFIs.
- Companion:
- object
The identifier of a type or method (aka a symbol).
The identifier of a type or method (aka a symbol).
- Companion:
- object
A class to build sequences of NIR instructions.
A class to build sequences of NIR instructions.
An atomic memory ordering constraints.
An atomic memory ordering constraints.
Atomic instructions take ordering parameters specifying with which other instructions they synchronize.
- See also:
- Companion:
- object
The identifier of a lexical scope.
The identifier of a lexical scope.
- Companion:
- object
Types
A map from SSA identifier to its name in program sources.
A map from SSA identifier to its name in program sources.
Local variables get lowered to an static assignment that is assigned to a unique identifier in the context of its definition. Instances of this type are used to maintain the correspondance between an SSA ID and its corresponding name in program sources.