Inlines
Support for querying inlineable methods and for inlining calls to such methods
Attributes
- Graph
-
- Supertypes
- Self type
-
Inlines.type
Members list
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.
Attributes
The body to inline for method sym, or EmptyTree if none exists.
The body to inline for method sym, or EmptyTree if none exists.
Attributes
Replace Inlined node by a block that contains its bindings and expansion
Replace Inlined node by a block that contains its bindings and expansion
Attributes
sym is an inline method with a known body to inline.
sym is an inline method with a known body to inline.
Attributes
Are we in an inline method body?
Are we in an inline method body?
Attributes
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
Attributes
- Returns
-
An
Inlinednode 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)
Attributes
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
- fun
-
The function of an Unapply node
Attributes
- Returns
-
An
Unapplywith afuncontaining the inlined call to the unapply
Can a call to method meth be inlined?
Can a call to method meth be inlined?
Attributes
Should call be inlined in this context?
Should call be inlined in this context?