case class SubstOnlyTreeMaker
extends TreeMaker

In scalac for such block x match { case d => }

d inside was to be substitued by x.

In dotty, SubstOnlyTreeMakers instead generate normal ValDef, and does not create a new substitution.

This was done for several reasons: 1) it is a lot easyer to Y-check, as d type could be used in . 2) it would simplify debugging of the generated code as this works also for nested patterns, and previously they used unreadable names 3) It showed better(~30%), performance, Rebuilding tree and propagating types was taking substantial time.

Constructors

SubstOnlyTreeMaker ( prevBinder: Symbol , nextBinder: Symbol )

Members

val introducedRebindings : Rebindings
val nextBinder : Symbol
val pos : Position
val prevBinder : Symbol
def _1 : T1
def _2 : T2
def chainBefore ( next: Tree ) ( casegen: Casegen ) : Tree
def copy ( prevBinder: Symbol , nextBinder: Symbol ) : SubstOnlyTreeMaker
def copy$default$1 : Symbol
def copy$default$2 : Symbol