@@ -42,15 +42,16 @@ class ElimByName extends TransformByNameApply with InfoTransformer { thisTransfo
4242
4343 override def phaseName : String = " elimByName"
4444
45- // override def treeTransformPhase(implicit ctx: Context, info: TransformerInfo) =
46- // groupEndPhase
45+ override def treeTransformPhase (implicit ctx : Context , info : TransformerInfo ) =
46+ groupEndPhase
4747
4848 override def runsAfterGroupsOf = Set (classOf [Splitter ])
4949 // I got errors running this phase in an earlier group, but I did not track them down.
5050
5151 /** Map `tree` to `tree.apply()` is `ftree` was of ExprType and becomes now a function */
5252 private def applyIfFunction (tree : Tree , ftree : Tree )(implicit ctx : Context ) =
53- if (isByNameRef(ftree)) tree.select(defn.Function0_apply ).appliedToNone
53+ if (isByNameRef(ftree))
54+ ctx.atPhase(next) { implicit ctx => tree.select(defn.Function0_apply ).appliedToNone }
5455 else tree
5556
5657 override def transformIdent (tree : Ident )(implicit ctx : Context , info : TransformerInfo ): Tree =
@@ -68,9 +69,11 @@ class ElimByName extends TransformByNameApply with InfoTransformer { thisTransfo
6869 }
6970
7071 override def transformValDef (tree : ValDef )(implicit ctx : Context , info : TransformerInfo ): Tree =
71- if (exprBecomesFunction(tree.symbol))
72- cpy.ValDef (tree)(tpt = tree.tpt.withType(tree.symbol.info))
73- else tree
72+ ctx.atPhase(next) { implicit ctx =>
73+ if (exprBecomesFunction(tree.symbol))
74+ cpy.ValDef (tree)(tpt = tree.tpt.withType(tree.symbol.info))
75+ else tree
76+ }
7477
7578 def transformInfo (tp : Type , sym : Symbol )(implicit ctx : Context ): Type = tp match {
7679 case ExprType (rt) if exprBecomesFunction(sym) => defn.FunctionOf (Nil , rt)
0 commit comments