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
pos
: Position
def
_1
: T1
def
_2
: T2