summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2008-05-23 15:31:50 +0000
committerMartin Odersky <odersky@gmail.com>2008-05-23 15:31:50 +0000
commitb1cf78869fcb70db18af04d9626d26b95876f652 (patch)
tree42944e487c9962a3b629ad33210f8e337cb33a6f /src
parent100b87f6667c4a6100acaa077d5e1ab90cf04234 (diff)
downloadscala-b1cf78869fcb70db18af04d9626d26b95876f652.tar.gz
scala-b1cf78869fcb70db18af04d9626d26b95876f652.tar.bz2
scala-b1cf78869fcb70db18af04d9626d26b95876f652.zip
Fixed #807. Removed debug outout in JavaParsers.
Diffstat (limited to 'src')
-rwxr-xr-xsrc/compiler/scala/tools/nsc/javac/JavaParsers.scala1
-rw-r--r--src/compiler/scala/tools/nsc/transform/Erasure.scala12
2 files changed, 9 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
index 501932e295..9bcaf4476a 100755
--- a/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
+++ b/src/compiler/scala/tools/nsc/javac/JavaParsers.scala
@@ -167,7 +167,6 @@ trait JavaParsers extends JavaScanners {
case _ =>
}
} while (in.token != EOF && (nparens > 0 || nbraces > 0))
- println("Skipped: "+in)
}
def skipTo(tokens: Int*) {
diff --git a/src/compiler/scala/tools/nsc/transform/Erasure.scala b/src/compiler/scala/tools/nsc/transform/Erasure.scala
index 3e738873a8..a2340da4b4 100644
--- a/src/compiler/scala/tools/nsc/transform/Erasure.scala
+++ b/src/compiler/scala/tools/nsc/transform/Erasure.scala
@@ -171,8 +171,14 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer {
MethodType(List(erasure(index), tvar), erasedTypeRef(UnitClass))
}
else erasure(tp)
- } else
- transformMixinInfo(erasure(tp));
+ } else {
+ val erased =
+ if (sym.isGetter && sym.tpe.isInstanceOf[MethodType])
+ erasure mapOver sym.tpe // for getters, unlike for normal methods, always convert Unit to BoxedUnit.
+ else
+ erasure(tp)
+ transformMixinInfo(erased)
+ }
val deconstMap = new TypeMap {
def apply(tp: Type): Type = tp match {
@@ -887,7 +893,7 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer {
tree1 setType erasure(tree1.tpe)
case DefDef(mods, name, tparams, vparamss, tpt, rhs) =>
val result = super.transform(tree1) setType null
- tpt.tpe = erasure(tree.symbol.tpe).resultType
+ tpt.tpe = transformInfo(tree.symbol, tree.symbol.tpe).resultType
result
case _ =>
case class MyError(count : Int, ex : AssertionError) extends Error(ex.getMessage)