Dotty Documentation

0.1.1-bin-SNAPSHOT

class TailRec
extends MiniPhaseTransform with DenotTransformer with FullParameterization

A Tail Rec Transformer

[-] Constructors

TailRec ( )

[-] Members

[+] class TailRecElimination
[+] final val labelFlags : FlagSet
[+] private val methodsWithInnerAnnots : HashSet [ Symbol ]

Symbols of methods that have @tailrec annotatios inside

[+] private def mkLabel ( method: Symbol , abstractOverClass: Boolean ) ( implicit ctx: Context ) : TermSymbol
[+] 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
[+] protected override def rewiredTarget ( target: Symbol , derived: Symbol ) ( implicit ctx: Context ) : Symbol

If references to original target from fully parameterized method derived should be rewired to some fully parameterized method, that method symbol, otherwise NoSymbol.

[+] override def transform ( ref: SingleDenotation ) ( implicit ctx: Context ) : SingleDenotation

The transformation method

[+] override def transformDefDef ( tree: DefDef ) ( implicit ctx: Context , info: TransformerInfo ) : Tree
[+] override def transformTyped ( tree: Typed ) ( implicit ctx: Context , info: TransformerInfo ) : Tree
[+] override def transformUnit ( tree: Tree ) ( implicit ctx: Context , info: TransformerInfo ) : Tree
[+] override def treeTransformPhase : Phase