Michael Van Canneyt via fpc-pascal wrote:
On Mon, 9 Oct 2023, Adriaan van Os via fpc-pascal wrote:
Is there a trick to make (in mode macpas) all class methods
implicitely virtual ? I mean, without adding the virtual keyword to
all of them ? The reason is that I want to create a tree view of the
class hierarchy with all the method names (not just those that are
normally in the VMT because they are overridden).
Any other ideas ?
If you need this tree at run-time:
- The "extended RTTI" branch of fpc allows you to list all methods,
regardless of their visibility
Interesting ! If I am correct, the docs referred to at
<https://gitlab.com/freepascal.org/fpc/source/-/issues/38964> say
; visibility-clause:
; METHODS|PROPERTIES|FIELDS (visibility-expression)
Does that mean that the "extended RTTI" branch supports RTTI for fields ?
- In the released compiler, if you remove all visibility specifiers, you
can
get a list by specifying {$M+} on your base object and then list all
published methods using the RTTI.
My understanding is that I have to explicitely specify public for class fields, otherwise the
compiler will issue an error.
If you simply need this tree:
- You can simply use fcl-passrc to analyse your source tree and create
the complete
list. No changes to code needed. I have several programs that do this.
Will try that out, thanks.
Regards,
Adriaan van Os
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal