summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2010-10-06 22:56:56 +0000
committerPaul Phillips <paulp@improving.org>2010-10-06 22:56:56 +0000
commitcd92aad821eb476f68ea85fb9b149ee185a08e97 (patch)
treed88eb6f15428090f075d7da71ea32e90ceb7cc19 /src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala
parentb8c07db737b55a2ce34190b17013215dc13940ae (diff)
downloadscala-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.scala11
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
}
}