summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-09-11 19:49:03 +0000
committerMartin Odersky <odersky@gmail.com>2006-09-11 19:49:03 +0000
commit1237c5202669272825990e0c41803bd39a0846c8 (patch)
tree2583a67e460da54fd23acfeb1887f0e7a47ec51a /src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
parent9a8e9075dc345207d1979e703907ce923fff8691 (diff)
downloadscala-1237c5202669272825990e0c41803bd39a0846c8.tar.gz
scala-1237c5202669272825990e0c41803bd39a0846c8.tar.bz2
scala-1237c5202669272825990e0c41803bd39a0846c8.zip
changed explicit outer scheme
repaired tree checkers
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/TypingTransformers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/TypingTransformers.scala9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
index 1e345a930a..c4de6f6fab 100644
--- a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
+++ b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
@@ -15,12 +15,15 @@ trait TypingTransformers {
import global._
abstract class TypingTransformer(unit: CompilationUnit) extends Transformer {
- var localTyper: analyzer.Typer = analyzer.newTyper(analyzer.rootContext(unit))
+ var localTyper: analyzer.Typer = analyzer.newTyper(
+ analyzer.rootContext(unit, EmptyTree, true))
private var curTree: Tree = _
- override def atOwner[A](owner: Symbol)(trans: => A): A = {
+ override def atOwner[A](owner: Symbol)(trans: => A): A = atOwner(curTree, owner)(trans)
+
+ def atOwner[A](tree: Tree, owner: Symbol)(trans: => A): A = {
val savedLocalTyper = localTyper
- localTyper = localTyper.atOwner(curTree, owner)
+ localTyper = localTyper.atOwner(tree, owner)
val result = super.atOwner(owner)(trans)
localTyper = savedLocalTyper
result