summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2005-12-02 09:55:54 +0000
committerMartin Odersky <odersky@gmail.com>2005-12-02 09:55:54 +0000
commit854954dc3a491ede5308a0412f535bae7c668b2f (patch)
tree8a1aa836ec640b1b50143909ad3f6f9b5dfbebaa
parentbc5923e2a9a1322feaeb3d2d3c70c756ec206d6c (diff)
downloadscala-854954dc3a491ede5308a0412f535bae7c668b2f.tar.gz
scala-854954dc3a491ede5308a0412f535bae7c668b2f.tar.bz2
scala-854954dc3a491ede5308a0412f535bae7c668b2f.zip
*** empty log message ***
-rw-r--r--sources/scala/tools/nsc/backend/icode/GenICode.scala2
-rw-r--r--sources/scala/tools/nsc/matching/CodeFactory.scala2
-rw-r--r--sources/scala/tools/nsc/matching/PatternMatchers.scala2
-rwxr-xr-xsources/scala/tools/nsc/symtab/Definitions.scala8
-rwxr-xr-xsources/scala/tools/nsc/transform/Mixin.scala2
5 files changed, 9 insertions, 7 deletions
diff --git a/sources/scala/tools/nsc/backend/icode/GenICode.scala b/sources/scala/tools/nsc/backend/icode/GenICode.scala
index afc56ae051..e2ac18a65d 100644
--- a/sources/scala/tools/nsc/backend/icode/GenICode.scala
+++ b/sources/scala/tools/nsc/backend/icode/GenICode.scala
@@ -351,7 +351,7 @@ abstract class GenICode extends SubComponent {
}
ctx.bb.emit(JUMP(ctx1.bb), tree.pos);
ctx.bb.close;
- genLoad(rhs, ctx1, toTypeKind(tree.symbol.info.resultType));
+ genLoad(rhs, ctx1, expectedType /*toTypeKind(tree.symbol.info.resultType)*/);
case ValDef(_, _, _, rhs) =>
val sym = tree.symbol;
diff --git a/sources/scala/tools/nsc/matching/CodeFactory.scala b/sources/scala/tools/nsc/matching/CodeFactory.scala
index f2d4b30dcb..1d6882a0fa 100644
--- a/sources/scala/tools/nsc/matching/CodeFactory.scala
+++ b/sources/scala/tools/nsc/matching/CodeFactory.scala
@@ -117,8 +117,10 @@ import scala.tools.nsc.util.Position;
/*protected*/ def Or(left: Tree, right: Tree): Tree = {
left match {
+/*
case If(cond: Tree, thenp: Tree, Literal(Constant(false))) => // little opt, frequent special case
If(cond, thenp, right)
+*/
case Literal(Constant(value: Boolean))=>
if(value) left else right;
case _ =>
diff --git a/sources/scala/tools/nsc/matching/PatternMatchers.scala b/sources/scala/tools/nsc/matching/PatternMatchers.scala
index 1dbcdabffe..ab74036c9d 100644
--- a/sources/scala/tools/nsc/matching/PatternMatchers.scala
+++ b/sources/scala/tools/nsc/matching/PatternMatchers.scala
@@ -811,7 +811,7 @@ trait PatternMatchers: (TransMatcher with PatternNodes) extends AnyRef with Patt
var i = guard.length - 1; while(i >= 0) {
val ts:Seq[Tree] = bound(i).asInstanceOf[Array[Tree]];
val temp = currentOwner.newValue(body(i).pos, cunit.fresh.newName("r$"))
- setFlag Flags.SYNTHETIC setInfo body(i).tpe;
+ setFlag Flags.SYNTHETIC setInfo resultType;
var res0: Tree =
//Block(
// List(Assign(Ident(resultVar), body(i))),
diff --git a/sources/scala/tools/nsc/symtab/Definitions.scala b/sources/scala/tools/nsc/symtab/Definitions.scala
index 47700f06d8..f387f2245a 100755
--- a/sources/scala/tools/nsc/symtab/Definitions.scala
+++ b/sources/scala/tools/nsc/symtab/Definitions.scala
@@ -265,16 +265,16 @@ import Flags._;
def isUnboxedClass(sym: Symbol): boolean = isValueClass(sym) || sym == ArrayClass;
def signature(tp: Type): String = {
- def flatNameString(sym: Symbol): String =
+ def flatNameString(sym: Symbol, separator: char): String =
if (sym.owner.isPackageClass) sym.fullNameString('.')
- else flatNameString(sym.owner) + "$" + sym.simpleName;
+ else flatNameString(sym.owner, separator) + "$" + sym.simpleName;
def signature1(tp: Type): String = {
if (tp.symbol == ArrayClass) "[" + signature1(tp.typeArgs.head);
else if (isValueClass(tp.symbol)) String.valueOf(abbrvTag(tp.symbol))
- else "L" + flatNameString(tp.symbol) + ";"
+ else "L" + flatNameString(tp.symbol, '/') + ";"
}
if (tp.symbol == ArrayClass) signature1(tp);
- else flatNameString(tp.symbol)
+ else flatNameString(tp.symbol, '.')
}
private var isInitialized = false;
diff --git a/sources/scala/tools/nsc/transform/Mixin.scala b/sources/scala/tools/nsc/transform/Mixin.scala
index 30c376cf70..a3ab33771b 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 + 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(