summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2008-01-17 17:09:38 +0000
committerIulian Dragos <jaguarul@gmail.com>2008-01-17 17:09:38 +0000
commit3cad8b66e83a6c219a1ea70e7b8853b1cd0f6d51 (patch)
treeaa612d9a2909a3d363cd666c57c8bf64c6adc77d /src
parent76c06b4661b70e934530a0debad34a5766ee43e9 (diff)
downloadscala-3cad8b66e83a6c219a1ea70e7b8853b1cd0f6d51.tar.gz
scala-3cad8b66e83a6c219a1ea70e7b8853b1cd0f6d51.tar.bz2
scala-3cad8b66e83a6c219a1ea70e7b8853b1cd0f6d51.zip
Fixed ticket #106.
Diffstat (limited to 'src')
-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));
+ }
}
}