summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-10-17 13:02:10 +0000
committerPaul Phillips <paulp@improving.org>2009-10-17 13:02:10 +0000
commitaaae8db368ea3d67cfc60df471fe908abb0f4fa2 (patch)
tree4b0ab89af628d5597ebc962d85b2962860d57439
parent4cb4ad76b213389b828ae9c1ab26c9d7a1c3a7c2 (diff)
downloadscala-aaae8db368ea3d67cfc60df471fe908abb0f4fa2.tar.gz
scala-aaae8db368ea3d67cfc60df471fe908abb0f4fa2.tar.bz2
scala-aaae8db368ea3d67cfc60df471fe908abb0f4fa2.zip
Fix for #1687.
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index 3e3b4961e0..1eef2bf49d 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -1105,7 +1105,10 @@ abstract class ClassfileParser {
private def setPrivateWithin(sym: Symbol, jflags: Int) {
if ((jflags & (JAVA_ACC_PRIVATE | JAVA_ACC_PROTECTED | JAVA_ACC_PUBLIC)) == 0)
- sym.privateWithin = sym.toplevelClass.owner
+ // See ticket #1687 for an example of when topLevelClass is NoSymbol: it
+ // apparently occurs when processing v45.3 bytecode.
+ if (sym.toplevelClass != NoSymbol)
+ sym.privateWithin = sym.toplevelClass.owner
}
@inline final private def isPrivate(flags: Int) =