Dotty Documentation

0.15.0-bin-SNAPSHOT

abstract class MiniPhase
extends Phase

The base class of tree transforms. For each kind of tree K, there are two methods which can be overridden:

prepareForK: return a new Context which gets passed to the node and its children transformK // transform node of type K

There are also prepare/transform hooks for

  • Stats: to prepare/transform a statement sequence in a block, template, or package def,
  • Unit : to prepare/transform a whole compilation unit
  • Other: to prepape/transform a tree that does not have a specific prepare/transform method pair.

[-] Constructors

MiniPhase ( )

[-] Members

[+] val cpy : TypedTreeCopier
[+] var idxInGroup : Int
[+] var superPhase : MegaPhase
[+] def idxInGroup_= ( x$1: Int ) : Unit
[+] def prepareForAlternative ( tree: Alternative ) ( implicit ctx: Context ) : Context
[+] def prepareForApply ( tree: Apply ) ( implicit ctx: Context ) : Context
[+] def prepareForAssign ( tree: Assign ) ( implicit ctx: Context ) : Context
[+] def prepareForBind ( tree: Bind ) ( implicit ctx: Context ) : Context
[+] def prepareForBlock ( tree: Block ) ( implicit ctx: Context ) : Context
[+] def prepareForCaseDef ( tree: CaseDef ) ( implicit ctx: Context ) : Context
[+] def prepareForClosure ( tree: Closure ) ( implicit ctx: Context ) : Context
[+] def prepareForDefDef ( tree: DefDef ) ( implicit ctx: Context ) : Context
[+] def prepareForIdent ( tree: Ident ) ( implicit ctx: Context ) : Context
[+] def prepareForIf ( tree: If ) ( implicit ctx: Context ) : Context
[+] def prepareForInlined ( tree: Inlined ) ( implicit ctx: Context ) : Context
[+] def prepareForLabeled ( tree: Labeled ) ( implicit ctx: Context ) : Context
[+] def prepareForLiteral ( tree: Literal ) ( implicit ctx: Context ) : Context
[+] def prepareForMatch ( tree: Match ) ( implicit ctx: Context ) : Context
[+] def prepareForNew ( tree: New ) ( implicit ctx: Context ) : Context
[+] def prepareForOther ( tree: Tree ) ( implicit ctx: Context ) : Context
[+] def prepareForPackageDef ( tree: PackageDef ) ( implicit ctx: Context ) : Context
[+] def prepareForReturn ( tree: Return ) ( implicit ctx: Context ) : Context
[+] def prepareForSelect ( tree: Select ) ( implicit ctx: Context ) : Context
[+] def prepareForSeqLiteral ( tree: SeqLiteral ) ( implicit ctx: Context ) : Context
[+] def prepareForStats ( trees: List [ Tree ] ) ( implicit ctx: Context ) : Context
[+] def prepareForSuper ( tree: Super ) ( implicit ctx: Context ) : Context
[+] def prepareForTemplate ( tree: Template ) ( implicit ctx: Context ) : Context
[+] def prepareForThis ( tree: This ) ( implicit ctx: Context ) : Context
[+] def prepareForTry ( tree: Try ) ( implicit ctx: Context ) : Context
[+] def prepareForTypeApply ( tree: TypeApply ) ( implicit ctx: Context ) : Context
[+] def prepareForTypeDef ( tree: TypeDef ) ( implicit ctx: Context ) : Context
[+] def prepareForTypeTree ( tree: TypeTree ) ( implicit ctx: Context ) : Context
[+] def prepareForTyped ( tree: Typed ) ( implicit ctx: Context ) : Context
[+] def prepareForUnApply ( tree: UnApply ) ( implicit ctx: Context ) : Context
[+] def prepareForUnit ( tree: Tree ) ( implicit ctx: Context ) : Context
[+] def prepareForValDef ( tree: ValDef ) ( implicit ctx: Context ) : Context
[+] def prepareForWhileDo ( tree: WhileDo ) ( implicit ctx: Context ) : Context
[+] override final def relaxedTyping : Boolean

If set, allow missing or superfluous arguments in applications and type applications.

[+] def relaxedTypingInGroup : Boolean

If set, use relaxed typing for all phases in group

[+] override def run ( implicit ctx: Context ) : Unit
[+] def runsAfterGroupsOf : Set [ String ]

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

[+] protected def singletonGroup : MegaPhase
[+] def superPhase_= ( x$1: MegaPhase ) : Unit
[+] def transformAllDeep ( tree: Tree ) ( implicit ctx: Context ) : Tree

Transform tree using all transforms of current group (including this one)

[+] def transformAlternative ( tree: Alternative ) ( implicit ctx: Context ) : Tree
[+] def transformApply ( tree: Apply ) ( implicit ctx: Context ) : Tree
[+] def transformAssign ( tree: Assign ) ( implicit ctx: Context ) : Tree
[+] def transformBind ( tree: Bind ) ( implicit ctx: Context ) : Tree
[+] def transformBlock ( tree: Block ) ( implicit ctx: Context ) : Tree
[+] def transformCaseDef ( tree: CaseDef ) ( implicit ctx: Context ) : Tree
[+] def transformClosure ( tree: Closure ) ( implicit ctx: Context ) : Tree
[+] def transformDefDef ( tree: DefDef ) ( implicit ctx: Context ) : Tree
[+] def transformFollowing ( tree: Tree ) ( implicit ctx: Context ) : Tree

Transform single node using all transforms following the current one in this group

[+] def transformFollowingDeep ( tree: Tree ) ( implicit ctx: Context ) : Tree

Transform tree using all transforms following the current one in this group

[+] def transformIdent ( tree: Ident ) ( implicit ctx: Context ) : Tree
[+] def transformIf ( tree: If ) ( implicit ctx: Context ) : Tree
[+] def transformInlined ( tree: Inlined ) ( implicit ctx: Context ) : Tree
[+] def transformLabeled ( tree: Labeled ) ( implicit ctx: Context ) : Tree
[+] def transformLiteral ( tree: Literal ) ( implicit ctx: Context ) : Tree
[+] def transformMatch ( tree: Match ) ( implicit ctx: Context ) : Tree
[+] def transformNew ( tree: New ) ( implicit ctx: Context ) : Tree
[+] def transformOther ( tree: Tree ) ( implicit ctx: Context ) : Tree
[+] def transformPackageDef ( tree: PackageDef ) ( implicit ctx: Context ) : Tree
[+] def transformReturn ( tree: Return ) ( implicit ctx: Context ) : Tree
[+] def transformSelect ( tree: Select ) ( implicit ctx: Context ) : Tree
[+] def transformSeqLiteral ( tree: SeqLiteral ) ( implicit ctx: Context ) : Tree
[+] def transformStats ( trees: List [ Tree ] ) ( implicit ctx: Context ) : List [ Tree ]
[+] def transformSuper ( tree: Super ) ( implicit ctx: Context ) : Tree
[+] def transformTemplate ( tree: Template ) ( implicit ctx: Context ) : Tree
[+] def transformThis ( tree: This ) ( implicit ctx: Context ) : Tree
[+] def transformTry ( tree: Try ) ( implicit ctx: Context ) : Tree
[+] def transformTypeApply ( tree: TypeApply ) ( implicit ctx: Context ) : Tree
[+] def transformTypeDef ( tree: TypeDef ) ( implicit ctx: Context ) : Tree
[+] def transformTypeTree ( tree: TypeTree ) ( implicit ctx: Context ) : Tree
[+] def transformTyped ( tree: Typed ) ( implicit ctx: Context ) : Tree
[+] def transformUnApply ( tree: UnApply ) ( implicit ctx: Context ) : Tree
[+] def transformUnit ( tree: Tree ) ( implicit ctx: Context ) : Tree
[+] def transformValDef ( tree: ValDef ) ( implicit ctx: Context ) : Tree
[+] def transformWhileDo ( tree: WhileDo ) ( implicit ctx: Context ) : Tree