- Companion:
- class
Type members
Classlikes
Value members
Concrete methods
For a retained inline method, another method that keeps track of the body that is kept at runtime. For instance, an inline method
For a retained inline method, another method that keeps track of the body that is kept at runtime. For instance, an inline method
inline override def f(x: T) = b
is complemented by the body retainer method
private def f$retainedBody(x: T) = f(x)
where the call f(x)
is inline-expanded. This body is then transferred
back to f
at erasure, using method addRetainedInlineBodies.
The body to inline for method sym
, or EmptyTree
if none exists.
The body to inline for method sym
, or EmptyTree
if none exists.
Replace Inlined
node by a block that contains its bindings and expansion
Replace Inlined
node by a block that contains its bindings and expansion
sym
is an inline method with a known body to inline.
sym
is an inline method with a known body to inline.
Try to inline a call to an inline method. Fail with error if the maximal inline depth is exceeded.
Try to inline a call to an inline method. Fail with error if the maximal inline depth is exceeded.
- Value parameters:
- pt
The expected type of the call.
- tree
The call to inline
- Returns:
An
Inlined
node that refers to the original call and the inlined bindings and body that replace it.
Leave only a call trace consisting of
Leave only a call trace consisting of
- a reference to the top-level class from which the call was inlined,
- the call's position in the call field of an Inlined node. The trace has enough info to completely reconstruct positions. Note: For macros it returns a Select and for other inline methods it returns an Ident (this distinction is only temporary to be able to run YCheckPositions)
Try to inline a pattern with an inline unapply method. Fail with error if the maximal inline depth is exceeded.
Try to inline a pattern with an inline unapply method. Fail with error if the maximal inline depth is exceeded.
- Value parameters:
- unapp
The tree of the pattern to inline
- Returns:
An
Unapply
with afun
containing the inlined call to the unapply