From aaae8db368ea3d67cfc60df471fe908abb0f4fa2 Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sat, 17 Oct 2009 13:02:10 +0000 Subject: Fix for #1687. --- src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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) = -- cgit v1.2.3