summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2006-01-04 15:16:08 +0000
committerMartin Odersky <odersky@gmail.com>2006-01-04 15:16:08 +0000
commit776ecad2a3b1d8b253f06eadc1a54c36be873ebf (patch)
treece7a8d8460d123cef1e00e1503a0bc7b6745294c /src/compiler/scala/tools/nsc/typechecker/Contexts.scala
parent4e176bc3d22fb4457045b5731e0b202dc5924dfa (diff)
downloadscala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.gz
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.tar.bz2
scala-776ecad2a3b1d8b253f06eadc1a54c36be873ebf.zip
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Contexts.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Contexts.scala23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
index 021e810a43..d0cfa6f3a1 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Contexts.scala
@@ -221,15 +221,20 @@ import scala.tools.nsc.util.Position;
c != NoContext;
}
- (pre == NoPrefix
- ||
- (!sym.hasFlag(PRIVATE | PROTECTED))
- ||
- accessWithin(sym.owner) && (!sym.hasFlag(LOCAL) || pre =:= sym.owner.thisType)
- ||
- (!sym.hasFlag(PRIVATE) &&
- (superAccess ||
- (pre.widen.symbol.isSubClass(sym.owner) && isSubClassOfEnclosing(pre.widen.symbol)))))
+ ( pre == NoPrefix
+ ||
+ (!sym.hasFlag(PRIVATE | PROTECTED))
+ ||
+ accessWithin(sym.owner) && (!sym.hasFlag(LOCAL) || pre =:= sym.owner.thisType)
+ ||
+ (!sym.hasFlag(PRIVATE) &&
+ (superAccess ||
+ (pre.widen.symbol.isSubClass(sym.owner) && isSubClassOfEnclosing(pre.widen.symbol))))
+ ) && (
+ sym.privateWithin == NoSymbol
+ ||
+ accessWithin(sym.privateWithin)
+ )
}
def pushTypeBounds(sym: Symbol): unit = {