@@ -55,6 +55,8 @@ object TreeTransforms {
55
55
56
56
def phase : MiniPhase
57
57
58
+ def treeTransformPhase : Phase = phase
59
+
58
60
/** id of this treeTransform in group */
59
61
var idx : Int = _
60
62
@@ -461,7 +463,7 @@ object TreeTransforms {
461
463
var allDone = i < l
462
464
while (i < l) {
463
465
val oldTransform = result(i)
464
- val newTransform = mutator(oldTransform, tree, ctx.withPhase(oldTransform.phase ))
466
+ val newTransform = mutator(oldTransform, tree, ctx.withPhase(oldTransform.treeTransformPhase ))
465
467
allDone = allDone && (newTransform eq NoTransform )
466
468
if (! (oldTransform eq newTransform)) {
467
469
if (! transformersCopied) result = result.clone()
@@ -526,7 +528,7 @@ object TreeTransforms {
526
528
final private [TreeTransforms ] def goIdent (tree : Ident , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
527
529
if (cur < info.transformers.length) {
528
530
val trans = info.transformers(cur)
529
- trans.transformIdent(tree)(ctx.withPhase(trans.phase ), info) match {
531
+ trans.transformIdent(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
530
532
case t : Ident => goIdent(t, info.nx.nxTransIdent(cur + 1 ))
531
533
case t => transformSingle(t, cur + 1 )
532
534
}
@@ -537,7 +539,7 @@ object TreeTransforms {
537
539
final private [TreeTransforms ] def goSelect (tree : Select , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
538
540
if (cur < info.transformers.length) {
539
541
val trans = info.transformers(cur)
540
- trans.transformSelect(tree)(ctx.withPhase(trans.phase ), info) match {
542
+ trans.transformSelect(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
541
543
case t : Select => goSelect(t, info.nx.nxTransSelect(cur + 1 ))
542
544
case t => transformSingle(t, cur + 1 )
543
545
}
@@ -548,7 +550,7 @@ object TreeTransforms {
548
550
final private [TreeTransforms ] def goThis (tree : This , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
549
551
if (cur < info.transformers.length) {
550
552
val trans = info.transformers(cur)
551
- trans.transformThis(tree)(ctx.withPhase(trans.phase ), info) match {
553
+ trans.transformThis(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
552
554
case t : This => goThis(t, info.nx.nxTransThis(cur + 1 ))
553
555
case t => transformSingle(t, cur + 1 )
554
556
}
@@ -559,7 +561,7 @@ object TreeTransforms {
559
561
final private [TreeTransforms ] def goSuper (tree : Super , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
560
562
if (cur < info.transformers.length) {
561
563
val trans = info.transformers(cur)
562
- trans.transformSuper(tree)(ctx.withPhase(trans.phase ), info) match {
564
+ trans.transformSuper(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
563
565
case t : Super => goSuper(t, info.nx.nxTransSuper(cur + 1 ))
564
566
case t => transformSingle(t, cur + 1 )
565
567
}
@@ -570,7 +572,7 @@ object TreeTransforms {
570
572
final private [TreeTransforms ] def goApply (tree : Apply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
571
573
if (cur < info.transformers.length) {
572
574
val trans = info.transformers(cur)
573
- trans.transformApply(tree)(ctx.withPhase(trans.phase ), info) match {
575
+ trans.transformApply(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
574
576
case t : Apply => goApply(t, info.nx.nxTransApply(cur + 1 ))
575
577
case t => transformSingle(t, cur + 1 )
576
578
}
@@ -581,7 +583,7 @@ object TreeTransforms {
581
583
final private [TreeTransforms ] def goTypeApply (tree : TypeApply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
582
584
if (cur < info.transformers.length) {
583
585
val trans = info.transformers(cur)
584
- trans.transformTypeApply(tree)(ctx.withPhase(trans.phase ), info) match {
586
+ trans.transformTypeApply(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
585
587
case t : TypeApply => goTypeApply(t, info.nx.nxTransTypeApply(cur + 1 ))
586
588
case t => transformSingle(t, cur + 1 )
587
589
}
@@ -592,7 +594,7 @@ object TreeTransforms {
592
594
final private [TreeTransforms ] def goNew (tree : New , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
593
595
if (cur < info.transformers.length) {
594
596
val trans = info.transformers(cur)
595
- trans.transformNew(tree)(ctx.withPhase(trans.phase ), info) match {
597
+ trans.transformNew(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
596
598
case t : New => goNew(t, info.nx.nxTransNew(cur + 1 ))
597
599
case t => transformSingle(t, cur + 1 )
598
600
}
@@ -603,7 +605,7 @@ object TreeTransforms {
603
605
final private [TreeTransforms ] def goPair (tree : Pair , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
604
606
if (cur < info.transformers.length) {
605
607
val trans = info.transformers(cur)
606
- trans.transformPair(tree)(ctx.withPhase(trans.phase ), info) match {
608
+ trans.transformPair(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
607
609
case t : Pair => goPair(t, info.nx.nxTransPair(cur + 1 ))
608
610
case t => transformSingle(t, cur + 1 )
609
611
}
@@ -614,7 +616,7 @@ object TreeTransforms {
614
616
final private [TreeTransforms ] def goTyped (tree : Typed , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
615
617
if (cur < info.transformers.length) {
616
618
val trans = info.transformers(cur)
617
- trans.transformTyped(tree)(ctx.withPhase(trans.phase ), info) match {
619
+ trans.transformTyped(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
618
620
case t : Typed => goTyped(t, info.nx.nxTransTyped(cur + 1 ))
619
621
case t => transformSingle(t, cur + 1 )
620
622
}
@@ -625,7 +627,7 @@ object TreeTransforms {
625
627
final private [TreeTransforms ] def goAssign (tree : Assign , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
626
628
if (cur < info.transformers.length) {
627
629
val trans = info.transformers(cur)
628
- trans.transformAssign(tree)(ctx.withPhase(trans.phase ), info) match {
630
+ trans.transformAssign(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
629
631
case t : Assign => goAssign(t, info.nx.nxTransAssign(cur + 1 ))
630
632
case t => transformSingle(t, cur + 1 )
631
633
}
@@ -636,7 +638,7 @@ object TreeTransforms {
636
638
final private [TreeTransforms ] def goLiteral (tree : Literal , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
637
639
if (cur < info.transformers.length) {
638
640
val trans = info.transformers(cur)
639
- trans.transformLiteral(tree)(ctx.withPhase(trans.phase ), info) match {
641
+ trans.transformLiteral(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
640
642
case t : Literal => goLiteral(t, info.nx.nxTransLiteral(cur + 1 ))
641
643
case t => transformSingle(t, cur + 1 )
642
644
}
@@ -647,7 +649,7 @@ object TreeTransforms {
647
649
final private [TreeTransforms ] def goBlock (tree : Block , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
648
650
if (cur < info.transformers.length) {
649
651
val trans = info.transformers(cur)
650
- trans.transformBlock(tree)(ctx.withPhase(trans.phase ), info) match {
652
+ trans.transformBlock(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
651
653
case t : Block => goBlock(t, info.nx.nxTransBlock(cur + 1 ))
652
654
case t => transformSingle(t, cur + 1 )
653
655
}
@@ -658,7 +660,7 @@ object TreeTransforms {
658
660
final private [TreeTransforms ] def goIf (tree : If , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
659
661
if (cur < info.transformers.length) {
660
662
val trans = info.transformers(cur)
661
- trans.transformIf(tree)(ctx.withPhase(trans.phase ), info) match {
663
+ trans.transformIf(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
662
664
case t : If => goIf(t, info.nx.nxTransIf(cur + 1 ))
663
665
case t => transformSingle(t, cur + 1 )
664
666
}
@@ -669,7 +671,7 @@ object TreeTransforms {
669
671
final private [TreeTransforms ] def goClosure (tree : Closure , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
670
672
if (cur < info.transformers.length) {
671
673
val trans = info.transformers(cur)
672
- trans.transformClosure(tree)(ctx.withPhase(trans.phase ), info) match {
674
+ trans.transformClosure(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
673
675
case t : Closure => goClosure(t, info.nx.nxTransClosure(cur + 1 ))
674
676
case t => transformSingle(t, cur + 1 )
675
677
}
@@ -680,7 +682,7 @@ object TreeTransforms {
680
682
final private [TreeTransforms ] def goMatch (tree : Match , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
681
683
if (cur < info.transformers.length) {
682
684
val trans = info.transformers(cur)
683
- trans.transformMatch(tree)(ctx.withPhase(trans.phase ), info) match {
685
+ trans.transformMatch(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
684
686
case t : Match => goMatch(t, info.nx.nxTransMatch(cur + 1 ))
685
687
case t => transformSingle(t, cur + 1 )
686
688
}
@@ -691,7 +693,7 @@ object TreeTransforms {
691
693
final private [TreeTransforms ] def goCaseDef (tree : CaseDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
692
694
if (cur < info.transformers.length) {
693
695
val trans = info.transformers(cur)
694
- trans.transformCaseDef(tree)(ctx.withPhase(trans.phase ), info) match {
696
+ trans.transformCaseDef(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
695
697
case t : CaseDef => goCaseDef(t, info.nx.nxTransCaseDef(cur + 1 ))
696
698
case t => transformSingle(t, cur + 1 )
697
699
}
@@ -702,7 +704,7 @@ object TreeTransforms {
702
704
final private [TreeTransforms ] def goReturn (tree : Return , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
703
705
if (cur < info.transformers.length) {
704
706
val trans = info.transformers(cur)
705
- trans.transformReturn(tree)(ctx.withPhase(trans.phase ), info) match {
707
+ trans.transformReturn(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
706
708
case t : Return => goReturn(t, info.nx.nxTransReturn(cur + 1 ))
707
709
case t => transformSingle(t, cur + 1 )
708
710
}
@@ -713,7 +715,7 @@ object TreeTransforms {
713
715
final private [TreeTransforms ] def goTry (tree : Try , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
714
716
if (cur < info.transformers.length) {
715
717
val trans = info.transformers(cur)
716
- trans.transformTry(tree)(ctx.withPhase(trans.phase ), info) match {
718
+ trans.transformTry(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
717
719
case t : Try => goTry(t, info.nx.nxTransTry(cur + 1 ))
718
720
case t => transformSingle(t, cur + 1 )
719
721
}
@@ -724,7 +726,7 @@ object TreeTransforms {
724
726
final private [TreeTransforms ] def goThrow (tree : Throw , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
725
727
if (cur < info.transformers.length) {
726
728
val trans = info.transformers(cur)
727
- trans.transformThrow(tree)(ctx.withPhase(trans.phase ), info) match {
729
+ trans.transformThrow(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
728
730
case t : Throw => goThrow(t, info.nx.nxTransThrow(cur + 1 ))
729
731
case t => transformSingle(t, cur + 1 )
730
732
}
@@ -735,7 +737,7 @@ object TreeTransforms {
735
737
final private [TreeTransforms ] def goSeqLiteral (tree : SeqLiteral , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
736
738
if (cur < info.transformers.length) {
737
739
val trans = info.transformers(cur)
738
- trans.transformSeqLiteral(tree)(ctx.withPhase(trans.phase ), info) match {
740
+ trans.transformSeqLiteral(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
739
741
case t : SeqLiteral => goSeqLiteral(t, info.nx.nxTransSeqLiteral(cur + 1 ))
740
742
case t => transformSingle(t, cur + 1 )
741
743
}
@@ -746,7 +748,7 @@ object TreeTransforms {
746
748
final private [TreeTransforms ] def goTypeTree (tree : TypeTree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
747
749
if (cur < info.transformers.length) {
748
750
val trans = info.transformers(cur)
749
- trans.transformTypeTree(tree)(ctx.withPhase(trans.phase ), info) match {
751
+ trans.transformTypeTree(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
750
752
case t : TypeTree => goTypeTree(t, info.nx.nxTransTypeTree(cur + 1 ))
751
753
case t => transformSingle(t, cur + 1 )
752
754
}
@@ -757,7 +759,7 @@ object TreeTransforms {
757
759
final private [TreeTransforms ] def goSelectFromTypeTree (tree : SelectFromTypeTree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
758
760
if (cur < info.transformers.length) {
759
761
val trans = info.transformers(cur)
760
- trans.transformSelectFromTypeTree(tree)(ctx.withPhase(trans.phase ), info) match {
762
+ trans.transformSelectFromTypeTree(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
761
763
case t : SelectFromTypeTree => goSelectFromTypeTree(t, info.nx.nxTransSelectFromTypeTree(cur + 1 ))
762
764
case t => transformSingle(t, cur + 1 )
763
765
}
@@ -768,7 +770,7 @@ object TreeTransforms {
768
770
final private [TreeTransforms ] def goBind (tree : Bind , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
769
771
if (cur < info.transformers.length) {
770
772
val trans = info.transformers(cur)
771
- trans.transformBind(tree)(ctx.withPhase(trans.phase ), info) match {
773
+ trans.transformBind(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
772
774
case t : Bind => goBind(t, info.nx.nxTransBind(cur + 1 ))
773
775
case t => transformSingle(t, cur + 1 )
774
776
}
@@ -779,7 +781,7 @@ object TreeTransforms {
779
781
final private [TreeTransforms ] def goAlternative (tree : Alternative , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
780
782
if (cur < info.transformers.length) {
781
783
val trans = info.transformers(cur)
782
- trans.transformAlternative(tree)(ctx.withPhase(trans.phase ), info) match {
784
+ trans.transformAlternative(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
783
785
case t : Alternative => goAlternative(t, info.nx.nxTransAlternative(cur + 1 ))
784
786
case t => transformSingle(t, cur + 1 )
785
787
}
@@ -790,7 +792,7 @@ object TreeTransforms {
790
792
final private [TreeTransforms ] def goValDef (tree : ValDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
791
793
if (cur < info.transformers.length) {
792
794
val trans = info.transformers(cur)
793
- trans.transformValDef(tree)(ctx.withPhase(trans.phase ), info) match {
795
+ trans.transformValDef(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
794
796
case t : ValDef => goValDef(t, info.nx.nxTransValDef(cur + 1 ))
795
797
case t => transformSingle(t, cur + 1 )
796
798
}
@@ -801,7 +803,7 @@ object TreeTransforms {
801
803
final private [TreeTransforms ] def goDefDef (tree : DefDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
802
804
if (cur < info.transformers.length) {
803
805
val trans = info.transformers(cur)
804
- trans.transformDefDef(tree)(ctx.withPhase(trans.phase ), info) match {
806
+ trans.transformDefDef(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
805
807
case t : DefDef => goDefDef(t, info.nx.nxTransDefDef(cur + 1 ))
806
808
case t => transformSingle(t, cur + 1 )
807
809
}
@@ -812,7 +814,7 @@ object TreeTransforms {
812
814
final private [TreeTransforms ] def goUnApply (tree : UnApply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
813
815
if (cur < info.transformers.length) {
814
816
val trans = info.transformers(cur)
815
- trans.transformUnApply(tree)(ctx.withPhase(trans.phase ), info) match {
817
+ trans.transformUnApply(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
816
818
case t : UnApply => goUnApply(t, info.nx.nxTransUnApply(cur + 1 ))
817
819
case t => transformSingle(t, cur + 1 )
818
820
}
@@ -823,7 +825,7 @@ object TreeTransforms {
823
825
final private [TreeTransforms ] def goTypeDef (tree : TypeDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
824
826
if (cur < info.transformers.length) {
825
827
val trans = info.transformers(cur)
826
- trans.transformTypeDef(tree)(ctx.withPhase(trans.phase ), info) match {
828
+ trans.transformTypeDef(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
827
829
case t : TypeDef => goTypeDef(t, info.nx.nxTransTypeDef(cur + 1 ))
828
830
case t => transformSingle(t, cur + 1 )
829
831
}
@@ -834,7 +836,7 @@ object TreeTransforms {
834
836
final private [TreeTransforms ] def goTemplate (tree : Template , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
835
837
if (cur < info.transformers.length) {
836
838
val trans = info.transformers(cur)
837
- trans.transformTemplate(tree)(ctx.withPhase(trans.phase ), info) match {
839
+ trans.transformTemplate(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
838
840
case t : Template => goTemplate(t, info.nx.nxTransTemplate(cur + 1 ))
839
841
case t => transformSingle(t, cur + 1 )
840
842
}
@@ -845,7 +847,7 @@ object TreeTransforms {
845
847
final private [TreeTransforms ] def goPackageDef (tree : PackageDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
846
848
if (cur < info.transformers.length) {
847
849
val trans = info.transformers(cur)
848
- trans.transformPackageDef(tree)(ctx.withPhase(trans.phase ), info) match {
850
+ trans.transformPackageDef(tree)(ctx.withPhase(trans.treeTransformPhase ), info) match {
849
851
case t : PackageDef => goPackageDef(t, info.nx.nxTransPackageDef(cur + 1 ))
850
852
case t => transformSingle(t, cur + 1 )
851
853
}
@@ -855,7 +857,7 @@ object TreeTransforms {
855
857
final private [TreeTransforms ] def goOther (tree : Tree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
856
858
if (cur < info.transformers.length) {
857
859
val trans = info.transformers(cur)
858
- val t = trans.transformOther(tree)(ctx.withPhase(trans.phase ), info)
860
+ val t = trans.transformOther(tree)(ctx.withPhase(trans.treeTransformPhase ), info)
859
861
transformSingle(t, cur + 1 )
860
862
} else tree
861
863
}
@@ -1167,7 +1169,7 @@ object TreeTransforms {
1167
1169
if (cur < info.transformers.length) {
1168
1170
// if cur > 0 then some of the symbols can be created by already performed transformations
1169
1171
// this means that their denotations could not exists in previous period
1170
- val pctx = ctx.withPhase(info.transformers(cur).phase )
1172
+ val pctx = ctx.withPhase(info.transformers(cur).treeTransformPhase )
1171
1173
tree match {
1172
1174
// split one big match into 2 smaller ones
1173
1175
case tree : NameTree => transformNamed(tree, info, cur)(pctx)
0 commit comments