[fpc-devel] Improved RTTI compromise

Maciej Izak hnb.code at gmail.com
Wed Dec 7 14:07:06 CET 2016

2016-12-07 9:45 GMT+01:00 Arnaud Bouchez <webcontact01 at synopse.info>:

> Don't forget that there is some working code of interface "Invoke" and
> "fake" in mORMot.pas:
> - working with FPC_HAS_EXTENDEDINTERFACERTTI or manual-registered RTTI,
> - x86 and x64 support on Windows and Linux ABI
> - ARM 32-bit and 64-bit (preliminary) support
> - well tested under Windows, good coverage under Linux, preliminary
> testing under *BSD.
> "Invoke" is indeed only half the way.
> Creating "fake" interfaces are also needed for any modern
> It is not using TValue, but currently JSON serialization, working with
> by-representation transfer (e.g. objects are transmitted by field values,
> not class instance).
> It was design to be extended to support a TValue-like input and output.
> It currently lacks some less common targets (CPU & ABI).
> But could be used as a starting point.

Good idea with "mORMotish starting point" (especially that licence is
compatible with FPC RTL and we have proven code behind), we can wait for
Sven (RTTI.pas module on official trunk). Next we can start on NewPascal
new branch "fpc-rtti-invoke". Created directly from FPC trunk mirror (
https://github.com/newpascal/freepascal/tree/freepascal ). It could be
merged to NewPascal release directly for tests purposes and for more users
and for early access. Finally it could be merged as series of patches to
official trunk.

Best regards,
Maciej Izak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20161207/1a5f8db9/attachment.html>

More information about the fpc-devel mailing list