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.
Can this transform create or delete non-private members?
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