summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-12-02 11:03:12 +0000
committerMartin Odersky <odersky@gmail.com>2005-12-02 11:03:12 +0000
commit0ca9ad8078d5ca0a163b360ef02e25aeb47b3664 (patch)
tree46adce575fa238c951ddb1674d712ca1a0c80bc9
parent854954dc3a491ede5308a0412f535bae7c668b2f (diff)
downloadscala-0ca9ad8078d5ca0a163b360ef02e25aeb47b3664.tar.gz
scala-0ca9ad8078d5ca0a163b360ef02e25aeb47b3664.tar.bz2
scala-0ca9ad8078d5ca0a163b360ef02e25aeb47b3664.zip
*** empty log message ***
-rwxr-xr-xsources/scala/tools/nsc/transform/Mixin.scala2
-rwxr-xr-xsources/scala/tools/nsc/typechecker/ConstantFolder.scala2
-rwxr-xr-xsources/scala/tools/nsc/typechecker/Infer.scala10
3 files changed, 8 insertions, 6 deletions
diff --git a/sources/scala/tools/nsc/transform/Mixin.scala b/sources/scala/tools/nsc/transform/Mixin.scala
index a3ab33771b..7fb5817d02 100755
--- a/sources/scala/tools/nsc/transform/Mixin.scala
+++ b/sources/scala/tools/nsc/transform/Mixin.scala
@@ -101,7 +101,7 @@ abstract class Mixin extends InfoTransform {
if (mixin.isImplClass) {
addLateInterfaceMembers(mixin.toInterface);
for (val member <- mixin.info.decls.toList) {
- System.out.println("adding forwarded method " + member + member.locationString + " to " + clazz + " " + clazz.info.member(member.name).alternatives);//debug
+ //System.out.println("adding forwarded method " + member + " " + mmap(member) + member.locationString + " to " + clazz + " " + clazz.info.member(member.name).alternatives);//DEBUG
if (isForwarded(member) && !isStatic(member) &&
(clazz.info.findMember(member.name, 0, 0).alternatives contains mmap(member))) {
val member1 = addMember(
diff --git a/sources/scala/tools/nsc/typechecker/ConstantFolder.scala b/sources/scala/tools/nsc/typechecker/ConstantFolder.scala
index 7883246424..7e4864e2ea 100755
--- a/sources/scala/tools/nsc/typechecker/ConstantFolder.scala
+++ b/sources/scala/tools/nsc/typechecker/ConstantFolder.scala
@@ -60,7 +60,7 @@ abstract class ConstantFolder {
case nme.NE => Constant(x.booleanValue != y.booleanValue)
case _ => null
}
- case ByteTag | ShortTag | LongTag | IntTag =>
+ case ByteTag | ShortTag | CharTag | IntTag =>
op match {
case nme.OR => Constant(x.intValue | y.intValue)
case nme.XOR => Constant(x.intValue ^ y.intValue)
diff --git a/sources/scala/tools/nsc/typechecker/Infer.scala b/sources/scala/tools/nsc/typechecker/Infer.scala
index e6c35e42d8..8f2472041a 100755
--- a/sources/scala/tools/nsc/typechecker/Infer.scala
+++ b/sources/scala/tools/nsc/typechecker/Infer.scala
@@ -553,7 +553,8 @@ package scala.tools.nsc.typechecker;
}
typeErrorTree(tree, tree.symbol.tpe, pt)
} else if (!competing.isEmpty) {
- context.ambiguousError(tree.pos, pre, best, competing.head, "expected type " + pt);
+ if (!pt.isError)
+ context.ambiguousError(tree.pos, pre, best, competing.head, "expected type " + pt);
setError(tree);
()
} else {
@@ -589,9 +590,10 @@ package scala.tools.nsc.typechecker;
inferMethodAlternative(tree, undetparams, argtpes, WildcardType)
}
} else if (!competing.isEmpty) {
- context.ambiguousError(tree.pos, pre, best, competing.head,
- "argument types " + argtpes.mkString("(", ",", ")") +
- (if (pt == WildcardType) "" else " and expected result type " + pt));
+ if (!(argtpes exists (.isError)) && !pt.isError)
+ context.ambiguousError(tree.pos, pre, best, competing.head,
+ "argument types " + argtpes.mkString("(", ",", ")") +
+ (if (pt == WildcardType) "" else " and expected result type " + pt));
setError(tree);
()
} else {