diff options
author | Paul Phillips <paulp@improving.org> | 2010-10-06 22:56:56 +0000 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2010-10-06 22:56:56 +0000 |
commit | cd92aad821eb476f68ea85fb9b149ee185a08e97 (patch) | |
tree | d88eb6f15428090f075d7da71ea32e90ceb7cc19 /src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | |
parent | b8c07db737b55a2ce34190b17013215dc13940ae (diff) | |
download | scala-cd92aad821eb476f68ea85fb9b149ee185a08e97.tar.gz scala-cd92aad821eb476f68ea85fb9b149ee185a08e97.tar.bz2 scala-cd92aad821eb476f68ea85fb9b149ee185a08e97.zip |
Unreverting r23174. No review.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala index c4251ffeea..1403377367 100644 --- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala @@ -9,7 +9,7 @@ package transform import symtab._ import Flags.{ CASE => _, _ } import scala.collection.mutable.ListBuffer -import matching.{ TransMatcher, Patterns, ParallelMatching } +import matching.{ Patterns, ParallelMatching } /** This class ... * @@ -17,7 +17,6 @@ import matching.{ TransMatcher, Patterns, ParallelMatching } * @version 1.0 */ abstract class ExplicitOuter extends InfoTransform - with TransMatcher with Patterns with ParallelMatching with TypingTransformers @@ -357,7 +356,7 @@ abstract class ExplicitOuter extends InfoTransform var nselector = transform(selector) def makeGuardDef(vs: List[Symbol], guard: Tree) = { - val gdname = newName(guard.pos, "gd") + val gdname = unit.fresh.newName(guard.pos, "gd") val method = currentOwner.newMethod(tree.pos, gdname) setFlag SYNTHETIC val fmls = vs map (_.tpe) val tpe = new MethodType(method newSyntheticValueParams fmls, BooleanClass.tpe) @@ -400,7 +399,7 @@ abstract class ExplicitOuter extends InfoTransform } val t = atPos(tree.pos) { - val context = MatrixContext(transform, localTyper, currentOwner, tree.tpe) + val context = MatrixContext(currentRun.currentUnit, transform, localTyper, currentOwner, tree.tpe) val t_untyped = handlePattern(nselector, ncases, checkExhaustive, context) /* if @switch annotation is present, verify the resulting tree is a Match */ @@ -488,7 +487,7 @@ abstract class ExplicitOuter extends InfoTransform }) super.transform(treeCopy.Apply(tree, sel, outerVal :: args)) - // TransMatch hook + // entry point for pattern matcher translation case mch: Match => matchTranslation(mch) @@ -508,9 +507,7 @@ abstract class ExplicitOuter extends InfoTransform /** The transformation method for whole compilation units */ override def transformUnit(unit: CompilationUnit) { - cunit = unit atPhase(phase.next) { super.transformUnit(unit) } - cunit = null } } |