Skip to content

Commit b47d610

Browse files
committed
Run all phases in third group at group end
1 parent bf70d25 commit b47d610

File tree

7 files changed

+21
-0
lines changed

7 files changed

+21
-0
lines changed

compiler/src/dotty/tools/dotc/transform/CrossCastAnd.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ class CrossCastAnd extends MiniPhaseTransform { thisTransform =>
1919

2020
override def phaseName: String = "crossCast"
2121

22+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
23+
groupEndPhase
24+
2225
override def transformSelect(tree: tpd.Select)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
2326

2427
lazy val qtype = tree.qualifier.tpe.widen

compiler/src/dotty/tools/dotc/transform/ExplicitOuter.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ class ExplicitOuter extends MiniPhaseTransform with InfoTransformer { thisTransf
4242

4343
override def phaseName: String = "explicitOuter"
4444

45+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
46+
groupEndPhase
47+
4548
/** List of names of phases that should have finished their processing of all compilation units
4649
* before this phase starts
4750
*/

compiler/src/dotty/tools/dotc/transform/ExplicitSelf.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@ class ExplicitSelf extends MiniPhaseTransform { thisTransform =>
2828

2929
override def phaseName = "explicitSelf"
3030

31+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
32+
groupEndPhase
33+
3134
override def transformIdent(tree: Ident)(implicit ctx: Context, info: TransformerInfo) = tree.tpe match {
3235
case tp: ThisType =>
3336
ctx.debuglog(s"owner = ${ctx.owner}, context = ${ctx}")

compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ class PatternMatcher extends MiniPhaseTransform {
2727
override def runsAfter = Set(classOf[ElimRepeated])
2828
override def runsAfterGroupsOf = Set(classOf[TailRec]) // tailrec is not capable of reversing the patmat tranformation made for tree
2929

30+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
31+
groupEndPhase
32+
3033
override def transformMatch(tree: Match)(implicit ctx: Context, info: TransformerInfo): Tree = {
3134
val translated = new Translator(tree.tpe, this).translateMatch(tree)
3235

compiler/src/dotty/tools/dotc/transform/ShortcutImplicits.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ class ShortcutImplicits extends MiniPhase with IdentityDenotTransformer { thisTr
6464
class Transform extends TreeTransform {
6565
def phase = thisTransform
6666

67+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
68+
groupEndPhase
69+
6770
override def prepareForUnit(tree: Tree)(implicit ctx: Context) = new Transform
6871

6972
/** A map to cache mapping local methods to their direct counterparts.

compiler/src/dotty/tools/dotc/transform/Splitter.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ class Splitter extends MiniPhaseTransform { thisTransform =>
1313

1414
override def phaseName: String = "splitter"
1515

16+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
17+
groupEndPhase
18+
1619
/** Distribute arguments among splitted branches */
1720
def distribute(tree: GenericApply[Type], rebuild: (Tree, List[Tree]) => Context => Tree)(implicit ctx: Context) = {
1821
def recur(fn: Tree): Tree = fn match {

compiler/src/dotty/tools/dotc/transform/TryCatchPatterns.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ class TryCatchPatterns extends MiniPhaseTransform {
4545

4646
def phaseName: String = "tryCatchPatterns"
4747

48+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
49+
groupEndPhase
50+
4851
override def runsAfter = Set(classOf[ElimRepeated])
4952

5053
override def checkPostCondition(tree: Tree)(implicit ctx: Context): Unit = tree match {

0 commit comments

Comments
 (0)