diff options
author | Martin Odersky <odersky@gmail.com> | 2006-09-11 19:49:03 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-09-11 19:49:03 +0000 |
commit | 1237c5202669272825990e0c41803bd39a0846c8 (patch) | |
tree | 2583a67e460da54fd23acfeb1887f0e7a47ec51a /src/compiler/scala/tools/nsc/transform/TypingTransformers.scala | |
parent | 9a8e9075dc345207d1979e703907ce923fff8691 (diff) | |
download | scala-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.scala | 9 |
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 |