Dotty Documentation


class AugmentScala2Traits

This phase augments Scala2 traits with additional members needed for mixin composition.

These symbols would have been added between Unpickling and Mixin in the Scala2 pipeline.

Specifically, we: - Mark all lazy val fields as @volatile to get the proper Scala 2 semantics. - Add trait setters for vals defined in traits. - Expand the names of all private getters and setters as well as super accessors in the trait and make not-private.

[-] Constructors

AugmentScala2Traits ( )

[-] Members

[+] private def augmentScala2Trait ( mixin: ClassSymbol ) ( implicit ctx: Context ) : Unit
[+] override def changesMembers : Boolean

Can this transform create or delete non-private 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 transformTemplate ( impl: Template ) ( implicit ctx: Context ) : Template