Op 26/12/2023 om 10:29 schreef Michael Van Canneyt via fpc-devel:
To fix this either we have to e.g. keep a list of packages and a list
of units and then try to disambiguate to only pick the longest match.
That maybe have risks that other corner cases be found or that the
list of units is not yet complete at any point when this system is
inside fpdoc. This requires no changes to the .xmls
This is the road to take. It's similar to what the compiler does,
after all.
Not the easiest, not the safest, if at any time during the fpdoc run,
the complete list of units is available.
A more definitive choice is to change something about the notation
and somehow replace or escape dots within identifiers. like
rtl.#system.uitypes#.recordtype.fieldname or like
The # notation is already taken to indicate a fully qualified name.
At the start yes, I remembed that when I looked in the sources
yesterday, but another escapes character can be used, it doesn't
invalidate the principle.
rtl.system#uitypes.recordtype.fieldname or
rtl.system..uitypes.recordtype.fieldname. (exact characters to be
used T.b.d. Only requires changes to the XML for dotted unit names.
and everything referring to it since any cross-reference would also
need to be changed.
True, but how many references are there already to dotted units? Not yet
that much. It looked me the easiest short term doable one.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel