summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2015-06-25 16:53:46 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2015-07-23 14:48:12 +0200
commit44e2761a9bbe942a96f5092b2a39b5a696aaabbd (patch)
tree273b901cdda9481452e70aaaaaaa985ca8e7ea5b /src/compiler
parent6eb0812050abb18b5938a8c2a6f066d3cd5d54b7 (diff)
downloadscala-44e2761a9bbe942a96f5092b2a39b5a696aaabbd.tar.gz
scala-44e2761a9bbe942a96f5092b2a39b5a696aaabbd.tar.bz2
scala-44e2761a9bbe942a96f5092b2a39b5a696aaabbd.zip
[backport] SI-6613 fixed in GenBCode
It was fixed in GenASM in 44807a7852.
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
index 6aa3a62295..23e0a4e17a 100644
--- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
+++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeHelpers.scala
@@ -329,7 +329,8 @@ abstract class BCodeHelpers extends BCodeIdiomatic with BytecodeWriters {
// If the `sym` is a java module class, we use the java class instead. This ensures that we
// register the class (instead of the module class) in innerClassBufferASM.
// The two symbols have the same name, so the resulting internalName is the same.
- val classSym = if (sym.isJavaDefined && sym.isModuleClass) sym.linkedClassOfClass else sym
+ // Phase travel (exitingPickler) required for SI-6613 - linkedCoC is only reliable in early phases (nesting)
+ val classSym = if (sym.isJavaDefined && sym.isModuleClass) exitingPickler(sym.linkedClassOfClass) else sym
getClassBTypeAndRegisterInnerClass(classSym).internalName
}