summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
index 0c3ac481ed..82cfac5ad8 100644
--- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala
@@ -418,6 +418,7 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
val res = /* settings.debug.value && */
((sym hasFlag PROTECTED)
+ && sym.hasFlag(JAVA)
&& !sym.owner.isPackageClass
&& !accessibleThroughSubclassing
&& (enclPackage(sym.owner) != enclPackage(currentOwner))
@@ -431,7 +432,7 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT
if (host.thisSym.tpe.typeSymbol.hasFlag(JAVA))
errorRestriction("%s accesses protected %s from self type %s.".format(currentOwner.enclClass, sym, host.thisSym.tpe))
false
- } else if (host.isTrait && sym.hasFlag(JAVA)) {
+ } else if (host.isTrait && sym.hasFlag(JAVA)) { vm
errorRestriction(("%s accesses protected %s inside a concrete trait method. " +
"Add an accessor in a class extending %s to work around this bug.").format(currentOwner.enclClass, sym, sym.enclClass))
false