When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
Method to access field
, in a specialized class should be rewired to the
actual field.
Method to access field
, in a specialized class should be rewired to the
actual field.
The symbol with this information needs a body that forwards
to method
.
The symbol with this information needs a body that forwards
to method
.
E.g. apply
forwards to apply$mcII$sp
in Function1$mcII$sp
.
This class should be extended by various classes containing information about different types of methods that are created during specialization.
This class should be extended by various classes containing information about different types of methods that are created during specialization.
The tree transformer that adds the trees for the specialized classes inside the current package.
The tree transformer that adds the trees for the specialized classes inside the current package.
PartialSpec is a binding from type parameters to their representation (Boxed/Miniboxed) INVARIANT: Regardless of whether the PartialSpec refers to the stem or a variant class, the parent's type parameters are used.
PartialSpec is a binding from type parameters to their representation (Boxed/Miniboxed) INVARIANT: Regardless of whether the PartialSpec refers to the stem or a variant class, the parent's type parameters are used.
In the specialized class the function which will have the implementation will be the specialized one and the generic one will forward to it.
In the specialized class the function which will have the implementation will be the specialized one and the generic one will forward to it.
E.g. apply$mcII$sp
uses as implementation the body of apply
which
forwards to it. So, method
will be apply
.
Marker trait for tags
Marker trait for tags
When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
When the newly introduced symbol is abstract and does not have an implementation at all.
This class should only appear in the tree during the minibox
phase
and should be cleaned up afterwards, during the minibox-cleanup
phase.
This class should only appear in the tree during the minibox
phase
and should be cleaned up afterwards, during the minibox-cleanup
phase.
While running the MiniboxInfoTransform
we record information about how
the newly created methods should be implemented when reached by the
MiniboxTreeTransformation
.
While running the MiniboxInfoTransform
we record information about how
the newly created methods should be implemented when reached by the
MiniboxTreeTransformation
.
Record which members of the stem are deferred pre-miniboxing
Record which members of the stem are deferred pre-miniboxing
...
...
Specialize name for the two list of types.
Specialize name for the two list of types.
Type transformation.
Type transformation. It is applied to all symbols, compiled or loaded. If it is a 'no-specialization' run, it is applied only to loaded symbols.
The name of the field carrying the type tag of corresponding to a type
parameter tparam
The name of the field carrying the type tag of corresponding to a type
parameter tparam
Injecticator component
def t -> def t_L, def t_J