aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/transform/TreeTransform.scala
diff options
context:
space:
mode:
authorDmitry Petrashko <dark@d-d.me>2014-12-15 10:50:56 +0100
committerDmitry Petrashko <dark@d-d.me>2014-12-15 10:50:56 +0100
commitd65be09e86302bdf690a6da7a22d7338e869de43 (patch)
tree16adc57766d962cffacc27dccd8df6b5b1fd6364 /src/dotty/tools/dotc/transform/TreeTransform.scala
parentd0848873788d118a9ba73c33e474a7fd104a939d (diff)
parentb7c196e38d6cc9bb9c2331a6d7507b258b30ce29 (diff)
downloaddotty-d65be09e86302bdf690a6da7a22d7338e869de43.tar.gz
dotty-d65be09e86302bdf690a6da7a22d7338e869de43.tar.bz2
dotty-d65be09e86302bdf690a6da7a22d7338e869de43.zip
Merge pull request #286 from dotty-staging/change/defaultphase
Change/defaultphase
Diffstat (limited to 'src/dotty/tools/dotc/transform/TreeTransform.scala')
-rw-r--r--src/dotty/tools/dotc/transform/TreeTransform.scala6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/dotty/tools/dotc/transform/TreeTransform.scala b/src/dotty/tools/dotc/transform/TreeTransform.scala
index 4dba26870..814d7bf31 100644
--- a/src/dotty/tools/dotc/transform/TreeTransform.scala
+++ b/src/dotty/tools/dotc/transform/TreeTransform.scala
@@ -59,7 +59,7 @@ object TreeTransforms {
def phase: MiniPhase
- def treeTransformPhase: Phase = phase
+ def treeTransformPhase: Phase = phase.next
/** id of this treeTransform in group */
var idx: Int = _
@@ -177,6 +177,8 @@ object TreeTransforms {
trait AnnotationTransformer extends MiniPhaseTransform with InfoTransformer {
val annotationTransformer = mkTreeTransformer
+ override final def treeTransformPhase = this
+ // need to run at own phase because otherwise we get ahead of ourselves in transforming denotations
override def transform(ref: SingleDenotation)(implicit ctx: Context): SingleDenotation = {
val info1 = transformInfo(ref.info, ref.symbol)
@@ -1236,7 +1238,7 @@ object TreeTransforms {
final private[TreeTransforms] def goStats(trees: List[Tree], cur: Int)(implicit ctx: Context, info: TransformerInfo): List[Tree] = {
if (cur < info.transformers.length) {
val trans = info.transformers(cur)
- val stats = trans.transformStats(trees)
+ val stats = trans.transformStats(trees)(ctx.withPhase(trans.treeTransformPhase), info)
goStats(stats, info.nx.nxTransStats(cur + 1))
} else trees
}