It has the same semantic than no explicit visibility, but
will allows a simpler transition to a new visibility level.
See: #499
Signed-off-by: Jean Privat <jean@pryen.org>
;
visibility
- = {public} {-> New visibility.public()}
+ = {public} {-> New visibility.public(Null)}
+ | {public2} kwpublic no {-> New visibility.public(kwpublic)}
| {private} kwprivate no {-> New visibility.private(kwprivate)}
| {protected} kwprotected no {-> New visibility.protected(kwprotected)}
| {intrude} kwintrude no {-> New visibility.intrude(kwintrude)}
;
visibility
- = {public}
+ = {public} kwpublic?
| {private} kwprivate
| {protected} kwprotected
| {intrude} kwintrude
end
class APublicVisibility
super AVisibility
+ var _n_kwpublic: nullable TKwpublic
+ fun n_kwpublic: nullable TKwpublic do return _n_kwpublic
+ fun n_kwpublic=(n_kwpublic: nullable TKwpublic) do _n_kwpublic = n_kwpublic
+ init do end
end
class APrivateVisibility
super AVisibility