Dotty Documentation


class VCElideAllocations

This phase elides unnecessary value class allocations

For a value class V defined as: class V(val underlying: U) extends AnyVal we avoid unnecessary allocations: new V(u1) == new V(u2) => u1 == u2 provided V does not redefine equals (new V(u)).underlying() => u

[-] Constructors

VCElideAllocations ( )

[-] Members

[+] override def phaseName : String

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

$ ./bin/dotc -Xprint:<phaseNameHere> sourceFile.scala
[+] override def runsAfter : Set [ String ]

List of names of phases that should precede this phase

[+] override def transformApply ( tree: Apply ) ( implicit ctx: Context ) : Tree