Skip to content

Commit db989f9

Browse files
committed
Make Literalize run at new default phase thisTransform.next
1 parent 670f602 commit db989f9

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

src/dotty/tools/dotc/transform/InterceptedMethods.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,12 @@ import StdNames._
4040
* using the most precise overload available
4141
* - `x.getClass` for getClass in primitives becomes `x.getClass` with getClass in class Object.
4242
*/
43-
class InterceptedMethods extends MiniPhaseTransform {
43+
class InterceptedMethods extends MiniPhaseTransform { thisTransform =>
4444

4545
import tpd._
4646

4747
override def phaseName: String = "intercepted"
48+
override def treeTransformPhase = thisTransform.next
4849

4950
private var getClassMethods: Set[Symbol] = _
5051
private var poundPoundMethods: Set[Symbol] = _

src/dotty/tools/dotc/transform/Literalize.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,11 @@ import ast.Trees._
1515
* The constant types are eliminated by erasure, so we need to keep
1616
* the info about constantness in the trees.
1717
*/
18-
class Literalize extends MiniPhaseTransform {
18+
class Literalize extends MiniPhaseTransform { thisTransform =>
1919
import ast.tpd._
2020

2121
override def phaseName: String = "literalize"
22+
override def treeTransformPhase = thisTransform.next
2223

2324
/** Note: Demanding idempotency instead of purity is strictly speaking too loose.
2425
* Example

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,11 @@ import Contexts._, Types._, Decorators._, Denotations._, Symbols._, SymDenotatio
1212
*
1313
* For now, only self references are treated.
1414
*/
15-
class Splitter extends MiniPhaseTransform {
15+
class Splitter extends MiniPhaseTransform { thisTransform =>
1616
import ast.tpd._
1717

1818
override def phaseName: String = "splitter"
19+
override def treeTransformPhase = thisTransform.next
1920

2021
/** Replace self referencing idents with ThisTypes. */
2122
override def transformIdent(tree: Ident)(implicit ctx: Context, info: TransformerInfo) = tree.tpe match {

src/dotty/tools/dotc/transform/TailRec.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,14 @@ import dotty.tools.dotc.transform.TreeTransforms.{TransformerInfo, MiniPhaseTran
6262
* self recursive functions, that's why it's renamed to tailrec
6363
* </p>
6464
*/
65-
class TailRec extends MiniPhaseTransform with DenotTransformer with FullParameterization {
65+
class TailRec extends MiniPhaseTransform with DenotTransformer with FullParameterization { thisTransform =>
6666

6767
import dotty.tools.dotc.ast.tpd._
6868

6969
override def transform(ref: SingleDenotation)(implicit ctx: Context): SingleDenotation = ref
7070

7171
override def phaseName: String = "tailrec"
72+
override def treeTransformPhase = thisTransform // TODO Make sure tailrec runs at next phase.
7273

7374
final val labelPrefix = "tailLabel"
7475
final val labelFlags = Flags.Synthetic | Flags.Label

0 commit comments

Comments
 (0)