diff options
-rw-r--r-- | src/dotty/tools/backend/sjs/JSCodeGen.scala | 11 | ||||
-rw-r--r-- | src/dotty/tools/dotc/core/Phases.scala | 4 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/dotty/tools/backend/sjs/JSCodeGen.scala b/src/dotty/tools/backend/sjs/JSCodeGen.scala index 006c9f674..de5c8711d 100644 --- a/src/dotty/tools/backend/sjs/JSCodeGen.scala +++ b/src/dotty/tools/backend/sjs/JSCodeGen.scala @@ -58,11 +58,6 @@ class JSCodeGen()(implicit ctx: Context) { private val positionConversions = new JSPositions()(ctx) import positionConversions.{pos2irPos, implicitPos2irPos} - private val elimRepeatedPhase = - ctx.phaseOfClass(classOf[dotty.tools.dotc.transform.ElimRepeated]) - private val elimErasedValueTypePhase = - ctx.phaseOfClass(classOf[dotty.tools.dotc.transform.ElimErasedValueType]) - // Some state -------------------------------------------------------------- private val currentClassSym = new ScopedVar[Symbol] @@ -1743,7 +1738,7 @@ class JSCodeGen()(implicit ctx: Context) { if (isStat) { boxedResult } else { - val tpe = ctx.atPhase(elimErasedValueTypePhase) { implicit ctx => + val tpe = ctx.atPhase(ctx.elimErasedValueTypePhase) { implicit ctx => sym.info.finalResultType } unbox(boxedResult, tpe) @@ -2208,12 +2203,12 @@ class JSCodeGen()(implicit ctx: Context) { def paramNamesAndTypes(implicit ctx: Context): List[(Names.TermName, Type)] = sym.info.paramNamess.flatten.zip(sym.info.paramTypess.flatten) - val wereRepeated = ctx.atPhase(elimRepeatedPhase) { implicit ctx => + val wereRepeated = ctx.atPhase(ctx.elimRepeatedPhase) { implicit ctx => for ((name, tpe) <- paramNamesAndTypes) yield (name -> tpe.isRepeatedParam) }.toMap - val paramTypes = ctx.atPhase(elimErasedValueTypePhase) { implicit ctx => + val paramTypes = ctx.atPhase(ctx.elimErasedValueTypePhase) { implicit ctx => paramNamesAndTypes }.toMap diff --git a/src/dotty/tools/dotc/core/Phases.scala b/src/dotty/tools/dotc/core/Phases.scala index b60f437d5..ce87506ae 100644 --- a/src/dotty/tools/dotc/core/Phases.scala +++ b/src/dotty/tools/dotc/core/Phases.scala @@ -233,8 +233,10 @@ object Phases { private val picklerCache = new PhaseCache(classOf[Pickler]) private val refChecksCache = new PhaseCache(classOf[RefChecks]) + private val elimRepeatedCache = new PhaseCache(classOf[ElimRepeated]) private val extensionMethodsCache = new PhaseCache(classOf[ExtensionMethods]) private val erasureCache = new PhaseCache(classOf[Erasure]) + private val elimErasedValueTypeCache = new PhaseCache(classOf[ElimErasedValueType]) private val patmatCache = new PhaseCache(classOf[PatternMatcher]) private val lambdaLiftCache = new PhaseCache(classOf[LambdaLift]) private val flattenCache = new PhaseCache(classOf[Flatten]) @@ -245,8 +247,10 @@ object Phases { def typerPhase = typerCache.phase def picklerPhase = picklerCache.phase def refchecksPhase = refChecksCache.phase + def elimRepeatedPhase = elimRepeatedCache.phase def extensionMethodsPhase = extensionMethodsCache.phase def erasurePhase = erasureCache.phase + def elimErasedValueTypePhase = elimErasedValueTypeCache.phase def patmatPhase = patmatCache.phase def lambdaLiftPhase = lambdaLiftCache.phase def flattenPhase = flattenCache.phase |