diff options
author | Martin Odersky <odersky@gmail.com> | 2011-11-07 15:06:09 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2011-11-07 15:06:09 +0000 |
commit | 838a09f2a9e0c90df4c2d34832e758ae47ce26cd (patch) | |
tree | e1a89a7ec5c9269290edf9cd0714dcb9de838afd | |
parent | 15b9785d30e0358fc5d58e874421ffd396886b9a (diff) | |
download | scala-838a09f2a9e0c90df4c2d34832e758ae47ce26cd.tar.gz scala-838a09f2a9e0c90df4c2d34832e758ae47ce26cd.tar.bz2 scala-838a09f2a9e0c90df4c2d34832e758ae47ce26cd.zip |
Closes IDE-1000567, SI 5013. No Review.
-rw-r--r-- | src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala | 2 | ||||
-rw-r--r-- | test/files/pos/t5013/Bar_2.scala | 5 | ||||
-rw-r--r-- | test/files/pos/t5013/Foo_1.scala | 5 |
3 files changed, 11 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala index 8e00c850ef..3c72dc8413 100644 --- a/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala +++ b/src/compiler/scala/tools/nsc/typechecker/SuperAccessors.scala @@ -150,7 +150,7 @@ abstract class SuperAccessors extends transform.Transform with transform.TypingT checkCompanionNameClashes(sym) val decls = sym.info.decls for (s <- decls) { - if (s.privateWithin.isClass && !s.privateWithin.isModuleClass && + if (s.privateWithin.isClass && !s.isProtected && !s.privateWithin.isModuleClass && !s.hasFlag(EXPANDEDNAME) && !s.isConstructor) { decls.unlink(s) s.expandName(s.privateWithin) diff --git a/test/files/pos/t5013/Bar_2.scala b/test/files/pos/t5013/Bar_2.scala new file mode 100644 index 0000000000..9eac556a23 --- /dev/null +++ b/test/files/pos/t5013/Bar_2.scala @@ -0,0 +1,5 @@ +package b + +class Bar extends a.Foo { + println(x) // Error: Not found: value x +} diff --git a/test/files/pos/t5013/Foo_1.scala b/test/files/pos/t5013/Foo_1.scala new file mode 100644 index 0000000000..ee21112a3e --- /dev/null +++ b/test/files/pos/t5013/Foo_1.scala @@ -0,0 +1,5 @@ +package a + +class Foo { + protected[Foo] var x = 0 +} |