[fpc-devel] delphi 2010/XE/XE2 - like rtti and "packages"
Dimitri Smits
smitco at telenet.be
Thu Aug 11 16:38:03 CEST 2011
Hi,
A few times the latest weeks, I noticed on this list (and the Lazarus list(s)) a "need" for the Delphi rtti extra's and the Delphi meaning of packages (program/library/*package*/unit).
I am willing to reboot what I started and give it another shot with rtti.
Both are at least partly intertwined, so I might need some help of you all with a system more exotic than a Wintel machine ;-)
First off:
* Delphi's RTTI starts from package/unit/type tree that is registered on startup/loadup of a binary with the RTL. Be it executable or dynlib. => what units/objects/classes/... in the fpc compiler would I need to alter to allow the following additions on windows, but eventually all platforms:
- a smartlinkable "section" per module (=executable/dynlib) for the package info
(preferably, here the init/finit block may be expanded/replaced with a link to the unitblock)
- a smartlinkable "section" per unit for the typeinfo for when used in a "package" module
- a smartlinkable "section" per unit for the typeinfo for when used in a "program" or "library" module
I know that I might/would need to alter some types in respective typinfo/sysutils to accomodate in the rtl, but I would first like to know how to generate them in the output. :-)
optimally, one wouldn't need 2 different versions of the unit-typeinfo, but I was thinking that in package we take all the types, in one section. And in the other for program/library, we would allow smartlinking to take out subsections that are not needed.
So, any help/redirection to documentation or units is greatly appreciated (as well for the "section" and what can be done with them).
once I get a tree-hierarchy of module/package<->units<->typeinfos working, I intend to go on with the RTTI unit implementation and subsequent questions on that topic.
kind regards,
Dimitri Smits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20110811/f736c960/attachment.html>
More information about the fpc-devel
mailing list