Skip to content

Commit

Permalink
Reduce duplication in JavaMirrors.
Browse files Browse the repository at this point in the history
Applying some of the abstractions from the prior commits,
though I would like to emphasize that such infrastructure was
not a prerequisite for de-duplicating this file.
  • Loading branch information
paulp committed Apr 3, 2013
1 parent 8c78d4b commit f657c37
Show file tree
Hide file tree
Showing 2 changed files with 90 additions and 111 deletions.
16 changes: 0 additions & 16 deletions src/reflect/scala/reflect/internal/PrivateWithin.scala
Original file line number Diff line number Diff line change
@@ -1,28 +1,12 @@
package scala.reflect
package internal

import ClassfileConstants._
import java.lang.{ Class => jClass }
import java.lang.reflect.{ Member => jMember }

trait PrivateWithin {
self: SymbolTable =>

def importPrivateWithinFromJavaFlags(sym: Symbol, jflags: Int): Symbol = {
if ((jflags & (JAVA_ACC_PRIVATE | JAVA_ACC_PROTECTED | JAVA_ACC_PUBLIC)) == 0)
// See ticket #1687 for an example of when topLevelClass is NoSymbol: it
// apparently occurs when processing v45.3 bytecode.
if (sym.enclosingTopLevelClass != NoSymbol)
sym.privateWithin = sym.enclosingTopLevelClass.owner

// protected in java means package protected. #3946
if ((jflags & JAVA_ACC_PROTECTED) != 0)
if (sym.enclosingTopLevelClass != NoSymbol)
sym.privateWithin = sym.enclosingTopLevelClass.owner

sym
}

def propagatePackageBoundary(c: jClass[_], syms: Symbol*): Unit =
propagatePackageBoundary(JavaAccFlags(c), syms: _*)
def propagatePackageBoundary(m: jMember, syms: Symbol*): Unit =
Expand Down
Loading

0 comments on commit f657c37

Please sign in to comment.