diff options
Diffstat (limited to 'compiler/src/dotty/tools/dotc/typer/Checking.scala')
-rw-r--r-- | compiler/src/dotty/tools/dotc/typer/Checking.scala | 5 |
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 { |