private final object InlineTyper
extends ReTyper

A typer for inlined code. Its purpose is: 1. Implement constant folding over inlined code 2. Selectively expand ifs with constant conditions 3. Inline arguments that are inlineable 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)

Constructors

Members

var retainedClosures : Set [ Symbol ]
def retainedClosures_= ( x$1: Set [ Symbol ] ) : Unit
override def typedApply ( tree: Apply , pt: Type ) ( implicit ctx: Context ) : Tree
override def typedIdent ( tree: Ident , pt: Type ) ( implicit ctx: Context ) : Tree

Attribute an identifier consisting of a simple name or wildcard

Attribute an identifier consisting of a simple name or wildcard

override def typedIf ( tree: If , pt: Type ) ( implicit ctx: Context ) : Tree
override def typedSelect ( tree: Select , pt: Type ) ( implicit ctx: Context ) : Tree