diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2009-08-28 16:06:11 +0000 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2009-08-28 16:06:11 +0000 |
commit | 36b00f5234b2b3ced155e5bc9da9b239211a9520 (patch) | |
tree | 0ac4ea6298ad2c02a3d5d6f2339ae1fb06839609 | |
parent | d582588b6d6837099d0b391ff5fc70700dc05dce (diff) | |
download | scala-36b00f5234b2b3ced155e5bc9da9b239211a9520.tar.gz scala-36b00f5234b2b3ced155e5bc9da9b239211a9520.tar.bz2 scala-36b00f5234b2b3ced155e5bc9da9b239211a9520.zip |
I hope to have fixed the optimized build.
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 8 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala | 2 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 3f55a2e908..a2e7a4a2a4 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -362,8 +362,12 @@ abstract class ClassfileParser { val parts = name.toString.split(Array('.', '$')) var sym: Symbol = definitions.RootClass atPhase(currentRun.flattenPhase.prev) { - for (part <- parts) { - sym = sym.info.decl(part)//.suchThat(module == _.isModule) + for (part0 <- parts; val part = newTermName(part0)) { + val sym1 = sym.info.decl(part.encode)//.suchThat(module == _.isModule) + if (sym1 == NoSymbol) + sym = sym.info.decl(part.encode.toTypeName) + else + sym = sym1 } } // println("found: " + sym) diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala index c52cc3e796..b11d1b74a4 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ICodeReader.scala @@ -196,7 +196,7 @@ abstract class ICodeReader extends ClassfileParser { iface.owner.info // force the mixin type-transformer definitions.getClass(name) } else if (name.endsWith("$")) { - val sym = forceMangledName(name.subName(0, name.length -1), true) + val sym = forceMangledName(name.subName(0, name.length -1).decode, true) if (sym == NoSymbol) definitions.getModule(name.subName(0, name.length - 1)) else sym |