We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 64fe532 commit e49e94fCopy full SHA for e49e94f
compiler/src/dotty/tools/dotc/transform/CrossCastAnd.scala
@@ -6,8 +6,7 @@ import dotty.tools.dotc.core.Flags
6
import dotty.tools.dotc.core.Types.AndType
7
import dotty.tools.dotc.transform.MegaPhase._
8
import tpd._
9
-
10
+import dotty.tools.dotc.core.Decorators._
11
12
/**
13
* This transform makes sure that all private member selections from
@@ -22,7 +21,10 @@ class CrossCastAnd extends MiniPhase {
22
21
23
lazy val qtype = tree.qualifier.tpe.widen
24
val sym = tree.symbol
25
- if (sym.is(Flags.Private) && !sym.isConstructor && qtype.typeSymbol != sym.owner)
+ if sym.is(Flags.Private)
+ && !sym.isConstructor
26
+ && qtype.classSymbol != sym.owner
27
+ then
28
cpy.Select(tree)(tree.qualifier.cast(AndType(qtype.baseType(sym.owner), tree.qualifier.tpe)), tree.name)
29
else tree
30
}
0 commit comments