ImplicitVisibilityOption

Michalis Kamburelis edited this page Mar 10, 2018 · 4 revisions

When you declare a class, ObjectPascal rules say that default ("implicit") visibility of members is public, unless the class is declared within {$M+} state or the class inherits from another class declared in {$M+} state (like TPersistent) — then it’s published.

However, pasdoc cannot always absolutely correctly implement this behavior (only the compiler really knows whether class inherits from another class declared in {$M+} state).

You can control using the command-line option --implicit-visibility how exactly pasdoc handles members with "implicit visibility":

--implicit-visibility=public

Visibility of implicit members is public, unless the class is declared within {$M+} state, then visibility is published. This is the default setting.

--implicit-visibility=published

Visibility of implicit members is always published.

--implicit-visibility=implicit

Visibility of implicit members is always implicit. Implicit is a new visibility kind, invented only for the sake of pasdoc. It’s another possible kind for --visible-members option. By default, --visible-members do not include implicit members.

If you don’t use --implicit-visibility=implicit command-line option then no members will be ever considered as having an implicit visibility by pasdoc.

PasDoc, documentation generator for Pascal:
Features:
Supported Tags:
Command Line:
Development:
Developers pages:
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.