aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/typer/Checking.scala
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Checking.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/typer/Checking.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/typer/Checking.scala b/compiler/src/dotty/tools/dotc/typer/Checking.scala
index 321c275d7..13c3b7617 100644
--- a/compiler/src/dotty/tools/dotc/typer/Checking.scala
+++ b/compiler/src/dotty/tools/dotc/typer/Checking.scala
@@ -343,6 +343,7 @@ object Checking {
fail(i"$sym cannot have the same name as ${cls.showLocated} -- class definitions cannot be overridden")
sym.setFlag(Private) // break the overriding relationship by making sym Private
}
+ avoidPrivateLeaks(sym, sym.pos)
}
/** Check the type signature of the symbol `M` defined by `tree` does not refer
@@ -412,6 +413,10 @@ object Checking {
info
}
+ def avoidPrivateLeaks(sym: Symbol, pos: Position)(implicit ctx: Context) =
+ if (!sym.is(SyntheticOrPrivate) && sym.owner.isClass)
+ sym.info = checkNoPrivateLeaks(sym, pos)
+
/** Verify classes extending AnyVal meet the requirements */
def checkDerivedValueClass(clazz: Symbol, stats: List[Tree])(implicit ctx: Context) = {
def checkValueClassMember(stat: Tree) = stat match {