Skip to content

Commit 079134e

Browse files
committed
Run all phases in last group at group end
1 parent 56e60e1 commit 079134e

File tree

9 files changed

+29
-2
lines changed

9 files changed

+29
-2
lines changed

compiler/src/dotty/tools/backend/jvm/CollectSuperCalls.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ class CollectSuperCalls extends MiniPhaseTransform {
2222

2323
def phaseName: String = "collectSuperCalls"
2424

25+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
26+
groupEndPhase
27+
2528
override def transformSelect(tree: Select)(implicit ctx: Context, info: TransformerInfo): Tree = {
2629
tree.qualifier match {
2730
case sup: Super =>

compiler/src/dotty/tools/backend/jvm/LabelDefs.scala

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ class LabelDefs extends MiniPhaseTransform {
8888
val beingAppended = new mutable.HashSet[Symbol]()
8989
var labelLevel = 0
9090

91+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
92+
groupEndPhase
93+
9194
override def transformDefDef(tree: tpd.DefDef)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
9295
if (tree.symbol is Flags.Label) tree
9396
else {

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ import dotty.tools.dotc.config.JavaPlatform
2424

2525
class CollectEntryPoints extends MiniPhaseTransform {
2626

27+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
28+
groupEndPhase
29+
2730
/** perform context-dependant initialization */
2831
override def prepareForUnit(tree: tpd.Tree)(implicit ctx: Context) = {
2932
entryPoints = collection.immutable.TreeSet.empty[Symbol](new SymbolOrdering())

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ class DropInlined extends MiniPhaseTransform {
1010
import ast.tpd._
1111
override def phaseName = "dropInlined"
1212

13+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
14+
groupEndPhase
15+
1316
override def transformInlined(tree: Inlined)(implicit ctx: Context, info: TransformerInfo): Tree =
1417
Inliner.dropInlined(tree)
1518
}

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import dotty.tools.dotc.core.Phases.Phase
2525
/** Make private term members that are accessed from another class
2626
* non-private by resetting the Private flag and expanding their name.
2727
*
28-
* Make private accessor in value class not-private. Ihis is necessary to unbox
28+
* Make private accessor in value class not-private. This is necessary to unbox
2929
* the value class when accessing it from separate compilation units
3030
*
3131
* Also, make non-private any private parameter forwarders that forward to an inherited
@@ -41,6 +41,9 @@ class ExpandPrivate extends MiniPhaseTransform with IdentityDenotTransformer { t
4141

4242
override def phaseName: String = "expandPrivate"
4343

44+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
45+
groupEndPhase
46+
4447
// This phase moves methods around (in infotransform) so it may need to make other methods public
4548
override def runsAfter: Set[Class[_ <: Phase]] = Set(classOf[MoveStatics])
4649

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@ class MoveStatics extends MiniPhaseTransform with SymTransformer { thisTransform
2121
import tpd._
2222
override def phaseName = "moveStatic"
2323

24+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
25+
groupEndPhase
26+
2427
def transformSym(sym: SymDenotation)(implicit ctx: Context): SymDenotation = {
2528
if (sym.hasAnnotation(defn.ScalaStaticAnnot) && sym.owner.is(Flags.Module) && sym.owner.companionClass.exists) {
2629
sym.owner.asClass.delete(sym.symbol)

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import dotty.tools.dotc.core.Names._
99
import dotty.tools.dotc.core.Phases
1010
import dotty.tools.dotc.core.SymDenotations.SymDenotation
1111
import dotty.tools.dotc.core.Symbols._
12-
import dotty.tools.dotc.transform.TreeTransforms.MiniPhaseTransform
12+
import dotty.tools.dotc.transform.TreeTransforms.{MiniPhaseTransform, TransformerInfo}
1313

1414
/** Renames lifted classes to local numbering scheme */
1515
class RenameLifted extends MiniPhaseTransform with SymTransformer { thisTransformer =>
@@ -18,6 +18,9 @@ class RenameLifted extends MiniPhaseTransform with SymTransformer { thisTransfor
1818

1919
override def runsAfterGroupsOf: Set[Class[_ <: Phases.Phase]] = Set(classOf[RestoreScopes])
2020

21+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
22+
groupEndPhase
23+
2124
def transformSym(ref: SymDenotation)(implicit ctx: Context): SymDenotation =
2225
if (needsRefresh(ref.symbol)) ref.copySymDenotation(name = refreshedName(ref.symbol))
2326
else ref

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ class SelectStatic extends MiniPhaseTransform with IdentityDenotTransformer { th
2020

2121
override def phaseName: String = "selectStatic"
2222

23+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
24+
groupEndPhase
25+
2326
override def transformSelect(tree: tpd.Select)(implicit ctx: Context, info: TransformerInfo): tpd.Tree = {
2427
val sym = tree.symbol
2528
def isStaticMember =

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ class TransformWildcards extends MiniPhaseTransform with IdentityDenotTransforme
1616

1717
override def phaseName = "transformWildcards"
1818

19+
override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
20+
groupEndPhase
21+
1922
override def checkPostCondition(tree: Tree)(implicit ctx: Context): Unit = {
2023
tree match {
2124
case vDef: ValDef => assert(!tpd.isWildcardArg(vDef.rhs))

0 commit comments

Comments
 (0)