Inliner

class Inliner(val call: Tree)(using x$2: Context)

Produces an inlined version of call via its inlined method.

Value parameters:
call

the original call to an inlineable method

rhsToInline

the body of the inlineable method that replaces the call.

Companion:
object
class Object
trait Matchable
class Any

Type members

Classlikes

class InlineTyper(initialErrorCount: Int, nestingLevel: Int) extends ReTyper

A typer for inlined bodies. Beyond standard typing, an inline typer performs the following functions:

A typer for inlined bodies. Beyond standard typing, an inline typer performs the following functions:

  1. Implement constant folding over inlined code
  2. Selectively expand ifs with constant conditions
  3. Inline arguments that are by-name closures
  4. Make sure inlined code is type-correct.
  5. Make sure that the tree's typing is idempotent (so that future -Ycheck passes succeed)

Value members

Concrete methods

def inlined(rhsToInline: Tree): (List[MemberDef], Tree)

The Inlined node representing the inlined call

The Inlined node representing the inlined call

Concrete fields

val call: Tree