@@ -76,17 +76,18 @@ abstract class AccessProxies {
7676 }
7777
7878 /** A fresh accessor symbol */
79- private def newAccessorSymbol (owner : Symbol , name : TermName , info : Type , span : Span )(using Context ): TermSymbol = {
80- val sym = newSymbol(owner, name, Synthetic | Method , info, coord = span).entered
81- if (sym.allOverriddenSymbols.exists(! _.is(Deferred ))) sym.setFlag(Override )
79+ private def newAccessorSymbol (owner : Symbol , name : TermName , info : Type , accessed : Symbol )(using Context ): TermSymbol = {
80+ val sym = newSymbol(owner, name, Synthetic | Method , info, coord = accessed.span).entered
81+ if accessed.is(Private ) then sym.setFlag(Final )
82+ else if sym.allOverriddenSymbols.exists(! _.is(Deferred )) then sym.setFlag(Override )
8283 sym
8384 }
8485
8586 /** An accessor symbol, create a fresh one unless one exists already */
8687 protected def accessorSymbol (owner : Symbol , accessorName : TermName , accessorInfo : Type , accessed : Symbol )(using Context ): Symbol = {
8788 def refersToAccessed (sym : Symbol ) = accessedBy.get(sym).contains(accessed)
8889 owner.info.decl(accessorName).suchThat(refersToAccessed).symbol.orElse {
89- val acc = newAccessorSymbol(owner, accessorName, accessorInfo, accessed.span )
90+ val acc = newAccessorSymbol(owner, accessorName, accessorInfo, accessed)
9091 accessedBy(acc) = accessed
9192 acc
9293 }
0 commit comments