Dotty Documentation

0.5.0-bin-SNAPSHOT

class LinkScala2Impls
extends MiniPhase with IdentityDenotTransformer

Rewrite calls

super[M].f(args)

where M is a Scala 2.11 trait implemented by the current class to

M$class.f(this, args)

provided the implementation class M$class defines a corresponding function f. If M is a Scala 2.12 or newer trait, rewrite to

M.f(this, args)

where f is a static member of M.

[-] Constructors

LinkScala2Impls ( )

[-] Members

[+] private val Scala2xTrait : FlagConjunction
[+] private def augmentScala_2_12_Trait ( mixin: ClassSymbol ) ( implicit ctx: Context ) : Unit

Copy definitions from implementation class to trait itself

[+] override def changesMembers : Boolean

Can this transform create or delete non-private members?

[+] private def implMethod ( meth: Symbol ) ( implicit ctx: Context ) : Symbol

The 2.12 implementation method of a super call or implementation class target

[+] 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 prepareForTemplate ( impl: Template ) ( implicit ctx: Context ) : Context
[+] override def runsAfterGroupsOf : Set [ Class [ Nothing <: Phase ] ]

List of names of phases that should have finished their processing of all compilation units before this phase starts

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