diff options
author | Adriaan Moors <adriaan.moors@epfl.ch> | 2010-08-09 11:51:37 +0000 |
---|---|---|
committer | Adriaan Moors <adriaan.moors@epfl.ch> | 2010-08-09 11:51:37 +0000 |
commit | 3ac03c3d3f0e21f279ba8c405351e445af623ceb (patch) | |
tree | ea405a577a99904525cc9b3042d7c5ac207ae20c /src/compiler/scala/tools/nsc/transform/TypingTransformers.scala | |
parent | 40aafbdf1a9a52c1236f07e06d48fb24b5fa2169 (diff) | |
download | scala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.tar.gz scala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.tar.bz2 scala-3ac03c3d3f0e21f279ba8c405351e445af623ceb.zip |
closes #3582: typedTypeDef needs to run in a ne...
closes #3582: typedTypeDef needs to run in a new typer for TypeDefs with
type parameters
this was honored when typedTypeDef was called by typed1, but other
callers did not this would cause higher-order type parameters to be
re-entered in the scope of a method or a class
(by the way, should we recycle scopes for higher-order type params? now
new scopes are created, symbols entered, and tree's symbols updated)
changed some spurious vars to vals
review by odersky
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/TypingTransformers.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/TypingTransformers.scala | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala index 6656b79d26..de5355de61 100644 --- a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala +++ b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala @@ -26,7 +26,7 @@ trait TypingTransformers { protected def typedPos(pos: Position)(tree: Tree) = localTyper typed { atPos(pos)(tree) } /** a typer for each enclosing class */ - var typers: Map[Symbol, analyzer.Typer] = new HashMap + val typers: Map[Symbol, analyzer.Typer] = new HashMap override def atOwner[A](owner: Symbol)(trans: => A): A = atOwner(curTree, owner)(trans) |