diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/icode/BasicBlocks.scala | 1 | ||||
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/GenJVM.scala | 10 |
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)); + } } } |