Dotty Documentation

0.12.0-bin-SNAPSHOT

object Inliner
extends Object

[-] Constructors

[-] Members

[+] def bodyToInline ( sym: SymDenotation ) ( implicit ctx: Context ) : Tree

The body to inline for method sym.

[+] def dropInlined ( inlined: Inlined ) ( implicit ctx: Context ) : Tree

Replace Inlined node by a block that contains its bindings and expansion

[+] def hasBodyToInline ( sym: SymDenotation ) ( implicit ctx: Context ) : Boolean

sym is an inline method with a known body to inline (note: definitions coming from Scala2x class files might be @forceInline, but still lack that body).

[+] def inlineCall ( tree: Tree , pt: Type ) ( implicit ctx: Context ) : Tree

Try to inline a call to an inline method. Fail with error if the maximal inline depth is exceeded.

[+] def inlineCallTrace ( callSym: Symbol , pos: Position ) ( implicit ctx: Context ) : Tree

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.

[+] def isInlineable ( meth: Symbol ) ( implicit ctx: Context ) : Boolean

Should call to method meth be inlined in this context?

[+] def isInlineable ( tree: Tree ) ( implicit ctx: Context ) : Boolean

Should call be inlined in this context?