diff options
author | Martin Odersky <odersky@gmail.com> | 2013-02-15 16:54:04 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2013-02-15 16:54:04 +0100 |
commit | 927b26d9bcf2eb0d9efc8f3a2a657d6615fe13eb (patch) | |
tree | a5f5ebee36bb6e83e3961479e59899c6fd97d3af | |
parent | 2771341790093d5f30b9cccea98d191dd39fcb1c (diff) | |
download | dotty-927b26d9bcf2eb0d9efc8f3a2a657d6615fe13eb.tar.gz dotty-927b26d9bcf2eb0d9efc8f3a2a657d6615fe13eb.tar.bz2 dotty-927b26d9bcf2eb0d9efc8f3a2a657d6615fe13eb.zip |
Optimization: don't generate member symbols for private members in a Java classfile.
-rw-r--r-- | src/dotty/tools/dotc/core/pickling/ClassfileParser.scala | 5 |
1 files 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 { |