summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2007-07-14 11:51:42 +0000
committerMartin Odersky <odersky@gmail.com>2007-07-14 11:51:42 +0000
commit8a5b14e856a7c3944c2a47fd430c836fefdf5fb4 (patch)
tree3e765b04c85d286dd830d7b8904f2c3ee96c9904
parent5c473c90d8e4eb324417e251569d2deac5ba896e (diff)
downloadscala-8a5b14e856a7c3944c2a47fd430c836fefdf5fb4.tar.gz
scala-8a5b14e856a7c3944c2a47fd430c836fefdf5fb4.tar.bz2
scala-8a5b14e856a7c3944c2a47fd430c836fefdf5fb4.zip
Fixed bug1049
-rw-r--r--src/compiler/scala/tools/nsc/ast/TreePrinters.scala4
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Namers.scala4
2 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/TreePrinters.scala b/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
index 45d26589c2..2a17e9f7ed 100644
--- a/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
+++ b/src/compiler/scala/tools/nsc/ast/TreePrinters.scala
@@ -204,7 +204,9 @@ abstract class TreePrinters {
if (self.name != nme.WILDCARD) {
print(" { "); print(self.name); printOpt(": ", self.tpt); print(" => ")
} else if (!self.tpt.isEmpty) {
- print(" _ : "); print(self.tpt); print(" => ")
+ print(" { _ : "); print(self.tpt); print(" => ")
+ } else {
+ print(" {")
}
printColumn(body, "", ";", "}")
}
diff --git a/src/compiler/scala/tools/nsc/typechecker/Namers.scala b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
index 6d9c1f1a4d..79fa6571b5 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Namers.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Namers.scala
@@ -392,7 +392,9 @@ trait Namers { self: Analyzer =>
def selfTypeCompleter(tree: Tree) = new TypeCompleter(tree) {
override def complete(sym: Symbol) {
- sym.setInfo(typer.typedType(tree).tpe)
+ var selftpe = glb(List(typer.typedType(tree).tpe, sym.owner.tpe))
+// println("completing self of "+sym.owner+": "+selftpe)
+ sym.setInfo(selftpe)
}
}