From 927b26d9bcf2eb0d9efc8f3a2a657d6615fe13eb Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Fri, 15 Feb 2013 16:54:04 +0100 Subject: Optimization: don't generate member symbols for private members in a Java classfile. --- src/dotty/tools/dotc/core/pickling/ClassfileParser.scala | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala index e238a2ded..7904ed4d3 100644 --- a/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala +++ b/src/dotty/tools/dotc/core/pickling/ClassfileParser.scala @@ -147,14 +147,15 @@ class ClassfileParser( } } - def parseMember(method: Boolean) = { + def parseMember(method: Boolean): Unit = { val start = new Offset(in.bp) val jflags = in.nextChar val sflags = if (method) FlagTranslation.methodFlags(jflags) else FlagTranslation.fieldFlags(jflags) val name = pool.getName(in.nextChar) - cctx.newLazySymbol(getOwner(jflags), name, sflags, memberCompleter, start).entered + if (!(sflags is Flags.Private) || name == nme.CONSTRUCTOR || settings.optimise.value) + cctx.newLazySymbol(getOwner(jflags), name, sflags, memberCompleter, start).entered } object memberCompleter extends SymCompleter { -- cgit v1.2.3