@@ -55,6 +55,8 @@ object TreeTransforms {
5555
5656 def phase : MiniPhase
5757
58+ def treeTransformPhase : Phase = phase
59+
5860 /** id of this treeTransform in group */
5961 var idx : Int = _
6062
@@ -461,7 +463,7 @@ object TreeTransforms {
461463 var allDone = i < l
462464 while (i < l) {
463465 val oldTransform = result(i)
464- val newTransform = mutator(oldTransform, tree, ctx.withPhase(oldTransform.phase ))
466+ val newTransform = mutator(oldTransform, tree, ctx.withPhase(oldTransform.treeTransformPhase ))
465467 allDone = allDone && (newTransform eq NoTransform )
466468 if (! (oldTransform eq newTransform)) {
467469 if (! transformersCopied) result = result.clone()
@@ -526,7 +528,7 @@ object TreeTransforms {
526528 final private [TreeTransforms ] def goIdent (tree : Ident , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
527529 if (cur < info.transformers.length) {
528530 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 {
530532 case t : Ident => goIdent(t, info.nx.nxTransIdent(cur + 1 ))
531533 case t => transformSingle(t, cur + 1 )
532534 }
@@ -537,7 +539,7 @@ object TreeTransforms {
537539 final private [TreeTransforms ] def goSelect (tree : Select , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
538540 if (cur < info.transformers.length) {
539541 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 {
541543 case t : Select => goSelect(t, info.nx.nxTransSelect(cur + 1 ))
542544 case t => transformSingle(t, cur + 1 )
543545 }
@@ -548,7 +550,7 @@ object TreeTransforms {
548550 final private [TreeTransforms ] def goThis (tree : This , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
549551 if (cur < info.transformers.length) {
550552 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 {
552554 case t : This => goThis(t, info.nx.nxTransThis(cur + 1 ))
553555 case t => transformSingle(t, cur + 1 )
554556 }
@@ -559,7 +561,7 @@ object TreeTransforms {
559561 final private [TreeTransforms ] def goSuper (tree : Super , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
560562 if (cur < info.transformers.length) {
561563 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 {
563565 case t : Super => goSuper(t, info.nx.nxTransSuper(cur + 1 ))
564566 case t => transformSingle(t, cur + 1 )
565567 }
@@ -570,7 +572,7 @@ object TreeTransforms {
570572 final private [TreeTransforms ] def goApply (tree : Apply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
571573 if (cur < info.transformers.length) {
572574 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 {
574576 case t : Apply => goApply(t, info.nx.nxTransApply(cur + 1 ))
575577 case t => transformSingle(t, cur + 1 )
576578 }
@@ -581,7 +583,7 @@ object TreeTransforms {
581583 final private [TreeTransforms ] def goTypeApply (tree : TypeApply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
582584 if (cur < info.transformers.length) {
583585 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 {
585587 case t : TypeApply => goTypeApply(t, info.nx.nxTransTypeApply(cur + 1 ))
586588 case t => transformSingle(t, cur + 1 )
587589 }
@@ -592,7 +594,7 @@ object TreeTransforms {
592594 final private [TreeTransforms ] def goNew (tree : New , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
593595 if (cur < info.transformers.length) {
594596 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 {
596598 case t : New => goNew(t, info.nx.nxTransNew(cur + 1 ))
597599 case t => transformSingle(t, cur + 1 )
598600 }
@@ -603,7 +605,7 @@ object TreeTransforms {
603605 final private [TreeTransforms ] def goPair (tree : Pair , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
604606 if (cur < info.transformers.length) {
605607 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 {
607609 case t : Pair => goPair(t, info.nx.nxTransPair(cur + 1 ))
608610 case t => transformSingle(t, cur + 1 )
609611 }
@@ -614,7 +616,7 @@ object TreeTransforms {
614616 final private [TreeTransforms ] def goTyped (tree : Typed , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
615617 if (cur < info.transformers.length) {
616618 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 {
618620 case t : Typed => goTyped(t, info.nx.nxTransTyped(cur + 1 ))
619621 case t => transformSingle(t, cur + 1 )
620622 }
@@ -625,7 +627,7 @@ object TreeTransforms {
625627 final private [TreeTransforms ] def goAssign (tree : Assign , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
626628 if (cur < info.transformers.length) {
627629 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 {
629631 case t : Assign => goAssign(t, info.nx.nxTransAssign(cur + 1 ))
630632 case t => transformSingle(t, cur + 1 )
631633 }
@@ -636,7 +638,7 @@ object TreeTransforms {
636638 final private [TreeTransforms ] def goLiteral (tree : Literal , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
637639 if (cur < info.transformers.length) {
638640 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 {
640642 case t : Literal => goLiteral(t, info.nx.nxTransLiteral(cur + 1 ))
641643 case t => transformSingle(t, cur + 1 )
642644 }
@@ -647,7 +649,7 @@ object TreeTransforms {
647649 final private [TreeTransforms ] def goBlock (tree : Block , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
648650 if (cur < info.transformers.length) {
649651 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 {
651653 case t : Block => goBlock(t, info.nx.nxTransBlock(cur + 1 ))
652654 case t => transformSingle(t, cur + 1 )
653655 }
@@ -658,7 +660,7 @@ object TreeTransforms {
658660 final private [TreeTransforms ] def goIf (tree : If , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
659661 if (cur < info.transformers.length) {
660662 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 {
662664 case t : If => goIf(t, info.nx.nxTransIf(cur + 1 ))
663665 case t => transformSingle(t, cur + 1 )
664666 }
@@ -669,7 +671,7 @@ object TreeTransforms {
669671 final private [TreeTransforms ] def goClosure (tree : Closure , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
670672 if (cur < info.transformers.length) {
671673 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 {
673675 case t : Closure => goClosure(t, info.nx.nxTransClosure(cur + 1 ))
674676 case t => transformSingle(t, cur + 1 )
675677 }
@@ -680,7 +682,7 @@ object TreeTransforms {
680682 final private [TreeTransforms ] def goMatch (tree : Match , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
681683 if (cur < info.transformers.length) {
682684 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 {
684686 case t : Match => goMatch(t, info.nx.nxTransMatch(cur + 1 ))
685687 case t => transformSingle(t, cur + 1 )
686688 }
@@ -691,7 +693,7 @@ object TreeTransforms {
691693 final private [TreeTransforms ] def goCaseDef (tree : CaseDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
692694 if (cur < info.transformers.length) {
693695 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 {
695697 case t : CaseDef => goCaseDef(t, info.nx.nxTransCaseDef(cur + 1 ))
696698 case t => transformSingle(t, cur + 1 )
697699 }
@@ -702,7 +704,7 @@ object TreeTransforms {
702704 final private [TreeTransforms ] def goReturn (tree : Return , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
703705 if (cur < info.transformers.length) {
704706 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 {
706708 case t : Return => goReturn(t, info.nx.nxTransReturn(cur + 1 ))
707709 case t => transformSingle(t, cur + 1 )
708710 }
@@ -713,7 +715,7 @@ object TreeTransforms {
713715 final private [TreeTransforms ] def goTry (tree : Try , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
714716 if (cur < info.transformers.length) {
715717 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 {
717719 case t : Try => goTry(t, info.nx.nxTransTry(cur + 1 ))
718720 case t => transformSingle(t, cur + 1 )
719721 }
@@ -724,7 +726,7 @@ object TreeTransforms {
724726 final private [TreeTransforms ] def goThrow (tree : Throw , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
725727 if (cur < info.transformers.length) {
726728 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 {
728730 case t : Throw => goThrow(t, info.nx.nxTransThrow(cur + 1 ))
729731 case t => transformSingle(t, cur + 1 )
730732 }
@@ -735,7 +737,7 @@ object TreeTransforms {
735737 final private [TreeTransforms ] def goSeqLiteral (tree : SeqLiteral , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
736738 if (cur < info.transformers.length) {
737739 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 {
739741 case t : SeqLiteral => goSeqLiteral(t, info.nx.nxTransSeqLiteral(cur + 1 ))
740742 case t => transformSingle(t, cur + 1 )
741743 }
@@ -746,7 +748,7 @@ object TreeTransforms {
746748 final private [TreeTransforms ] def goTypeTree (tree : TypeTree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
747749 if (cur < info.transformers.length) {
748750 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 {
750752 case t : TypeTree => goTypeTree(t, info.nx.nxTransTypeTree(cur + 1 ))
751753 case t => transformSingle(t, cur + 1 )
752754 }
@@ -757,7 +759,7 @@ object TreeTransforms {
757759 final private [TreeTransforms ] def goSelectFromTypeTree (tree : SelectFromTypeTree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
758760 if (cur < info.transformers.length) {
759761 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 {
761763 case t : SelectFromTypeTree => goSelectFromTypeTree(t, info.nx.nxTransSelectFromTypeTree(cur + 1 ))
762764 case t => transformSingle(t, cur + 1 )
763765 }
@@ -768,7 +770,7 @@ object TreeTransforms {
768770 final private [TreeTransforms ] def goBind (tree : Bind , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
769771 if (cur < info.transformers.length) {
770772 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 {
772774 case t : Bind => goBind(t, info.nx.nxTransBind(cur + 1 ))
773775 case t => transformSingle(t, cur + 1 )
774776 }
@@ -779,7 +781,7 @@ object TreeTransforms {
779781 final private [TreeTransforms ] def goAlternative (tree : Alternative , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
780782 if (cur < info.transformers.length) {
781783 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 {
783785 case t : Alternative => goAlternative(t, info.nx.nxTransAlternative(cur + 1 ))
784786 case t => transformSingle(t, cur + 1 )
785787 }
@@ -790,7 +792,7 @@ object TreeTransforms {
790792 final private [TreeTransforms ] def goValDef (tree : ValDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
791793 if (cur < info.transformers.length) {
792794 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 {
794796 case t : ValDef => goValDef(t, info.nx.nxTransValDef(cur + 1 ))
795797 case t => transformSingle(t, cur + 1 )
796798 }
@@ -801,7 +803,7 @@ object TreeTransforms {
801803 final private [TreeTransforms ] def goDefDef (tree : DefDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
802804 if (cur < info.transformers.length) {
803805 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 {
805807 case t : DefDef => goDefDef(t, info.nx.nxTransDefDef(cur + 1 ))
806808 case t => transformSingle(t, cur + 1 )
807809 }
@@ -812,7 +814,7 @@ object TreeTransforms {
812814 final private [TreeTransforms ] def goUnApply (tree : UnApply , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
813815 if (cur < info.transformers.length) {
814816 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 {
816818 case t : UnApply => goUnApply(t, info.nx.nxTransUnApply(cur + 1 ))
817819 case t => transformSingle(t, cur + 1 )
818820 }
@@ -823,7 +825,7 @@ object TreeTransforms {
823825 final private [TreeTransforms ] def goTypeDef (tree : TypeDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
824826 if (cur < info.transformers.length) {
825827 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 {
827829 case t : TypeDef => goTypeDef(t, info.nx.nxTransTypeDef(cur + 1 ))
828830 case t => transformSingle(t, cur + 1 )
829831 }
@@ -834,7 +836,7 @@ object TreeTransforms {
834836 final private [TreeTransforms ] def goTemplate (tree : Template , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
835837 if (cur < info.transformers.length) {
836838 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 {
838840 case t : Template => goTemplate(t, info.nx.nxTransTemplate(cur + 1 ))
839841 case t => transformSingle(t, cur + 1 )
840842 }
@@ -845,7 +847,7 @@ object TreeTransforms {
845847 final private [TreeTransforms ] def goPackageDef (tree : PackageDef , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
846848 if (cur < info.transformers.length) {
847849 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 {
849851 case t : PackageDef => goPackageDef(t, info.nx.nxTransPackageDef(cur + 1 ))
850852 case t => transformSingle(t, cur + 1 )
851853 }
@@ -855,7 +857,7 @@ object TreeTransforms {
855857 final private [TreeTransforms ] def goOther (tree : Tree , cur : Int )(implicit ctx : Context , info : TransformerInfo ): Tree = {
856858 if (cur < info.transformers.length) {
857859 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)
859861 transformSingle(t, cur + 1 )
860862 } else tree
861863 }
@@ -1167,7 +1169,7 @@ object TreeTransforms {
11671169 if (cur < info.transformers.length) {
11681170 // if cur > 0 then some of the symbols can be created by already performed transformations
11691171 // 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 )
11711173 tree match {
11721174 // split one big match into 2 smaller ones
11731175 case tree : NameTree => transformNamed(tree, info, cur)(pctx)
0 commit comments