summaryrefslogtreecommitdiff
path: root/src/compiler
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-02-11 19:39:39 -0800
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-02-11 19:39:39 -0800
commit98320a6d5947f26e7252b025cf56a0763b39cd07 (patch)
tree34bb175cd1839ba8187e12562fa31ea5622d8a94 /src/compiler
parente3d624dd2760f2593949a1b5493f5a92fb02138a (diff)
parent47885ff665a951d2574a7ca5b2ea27c30b67c862 (diff)
downloadscala-98320a6d5947f26e7252b025cf56a0763b39cd07.tar.gz
scala-98320a6d5947f26e7252b025cf56a0763b39cd07.tar.bz2
scala-98320a6d5947f26e7252b025cf56a0763b39cd07.zip
Merge pull request #3503 from adriaanm/rebase-3440
SI-7475 Private members aren't inheritable, findMember overhaul
Diffstat (limited to 'src/compiler')
-rw-r--r--src/compiler/scala/tools/nsc/transform/OverridingPairs.scala7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
index 870eafbf20..bbd11efa7e 100644
--- a/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
+++ b/src/compiler/scala/tools/nsc/transform/OverridingPairs.scala
@@ -24,7 +24,12 @@ abstract class OverridingPairs extends SymbolPairs {
/** Symbols to exclude: Here these are constructors and private/artifact symbols,
* including bridges. But it may be refined in subclasses.
*/
- override protected def exclude(sym: Symbol) = sym.isPrivateLocal || sym.isArtifact || sym.isConstructor
+ override protected def exclude(sym: Symbol) = (
+ sym.isPrivateLocal
+ || sym.isArtifact
+ || sym.isConstructor
+ || (sym.isPrivate && sym.owner != base) // Privates aren't inherited. Needed for pos/t7475a.scala
+ )
/** Types always match. Term symbols match if their member types
* relative to `self` match.