summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2009-06-18 17:19:55 +0000
committerIulian Dragos <jaguarul@gmail.com>2009-06-18 17:19:55 +0000
commit3ee6b3653f8c25d7d6b19b9f5d4af7fa082146a8 (patch)
treee97b8c0dd8d61e82f825f528f98842f777621f7a /src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
parentbe8e3c69114da5bc3020d5363b338b1c83aa22ef (diff)
downloadscala-3ee6b3653f8c25d7d6b19b9f5d4af7fa082146a8.tar.gz
scala-3ee6b3653f8c25d7d6b19b9f5d4af7fa082146a8.tar.bz2
scala-3ee6b3653f8c25d7d6b19b9f5d4af7fa082146a8.zip
Specialization landed in trunk.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/TypingTransformers.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/TypingTransformers.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
index d1902a2983..90281047f4 100644
--- a/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
+++ b/src/compiler/scala/tools/nsc/transform/TypingTransformers.scala
@@ -28,7 +28,8 @@ trait TypingTransformers {
def atOwner[A](tree: Tree, owner: Symbol)(trans: => A): A = {
val savedLocalTyper = localTyper
- localTyper = localTyper.atOwner(tree, owner)
+// println("ttransformer atOwner: " + owner + " isPackage? " + owner.isPackage)
+ localTyper = localTyper.atOwner(tree, if (owner.isModule) owner.moduleClass else owner)
typers += Pair(owner, localTyper)
val result = super.atOwner(owner)(trans)
localTyper = savedLocalTyper
@@ -42,6 +43,8 @@ trait TypingTransformers {
case Template(_, _, _) =>
// enter template into context chain
atOwner(currentOwner) { super.transform(tree) }
+ case PackageDef(_, _) =>
+ atOwner(tree.symbol) { super.transform(tree) }
case _ =>
super.transform(tree)
}