diff options
author | Martin Odersky <odersky@gmail.com> | 2005-12-02 09:55:54 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-12-02 09:55:54 +0000 |
commit | 854954dc3a491ede5308a0412f535bae7c668b2f (patch) | |
tree | 8a1aa836ec640b1b50143909ad3f6f9b5dfbebaa /sources | |
parent | bc5923e2a9a1322feaeb3d2d3c70c756ec206d6c (diff) | |
download | scala-854954dc3a491ede5308a0412f535bae7c668b2f.tar.gz scala-854954dc3a491ede5308a0412f535bae7c668b2f.tar.bz2 scala-854954dc3a491ede5308a0412f535bae7c668b2f.zip |
*** empty log message ***
Diffstat (limited to 'sources')
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( |