summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala1
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala10
2 files changed, 8 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala b/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
index bc5133e3a3..6aea42cf42 100644
--- a/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
+++ b/src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala
@@ -382,7 +382,6 @@ trait BasicBlocks {
def isClosed = closed
- // TODO: Take care of exception handlers!
def successors : List[BasicBlock] = if (isEmpty) Nil else {
var res = lastInstruction match {
case JUMP (whereto) => List(whereto)
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
index 77286d5ddc..e107a449f8 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala
@@ -439,11 +439,17 @@ abstract class GenJVM extends SubComponent {
if (!innerClasses.isEmpty) {
val innerClassesAttr = jclass.getInnerClasses();
- for (val innerSym <- innerClasses)
+ for (val innerSym <- innerClasses) {
+ var outerName = javaName(innerSym.rawowner)
+ // remove the trailing '$'
+ if (outerName.endsWith("$"))
+ outerName = outerName.substring(0, outerName.length - 1)
+
innerClassesAttr.addEntry(javaName(innerSym),
- javaName(innerSym.rawowner),
+ outerName,
innerSym.rawname.toString,
javaFlags(innerSym));
+ }
}
}