@@ -76,17 +76,18 @@ abstract class AccessProxies {
76
76
}
77
77
78
78
/** 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 )
82
83
sym
83
84
}
84
85
85
86
/** An accessor symbol, create a fresh one unless one exists already */
86
87
protected def accessorSymbol (owner : Symbol , accessorName : TermName , accessorInfo : Type , accessed : Symbol )(using Context ): Symbol = {
87
88
def refersToAccessed (sym : Symbol ) = accessedBy.get(sym).contains(accessed)
88
89
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)
90
91
accessedBy(acc) = accessed
91
92
acc
92
93
}
0 commit comments