[fpc-devel] RTTI unit

Michael Van Canneyt michael at freepascal.org
Sun Aug 29 12:25:29 CEST 2010

On Sat, 28 Aug 2010, Dimitri Smits wrote:

> Hi,
> I was wondering if anybody could direct me in the right direction (either mail, wiki) with regard to following questions.
> What I want to do:
> Since Delphi 2010, there is a new unit in the RTL that makes RTTI more of
> a breeze.  I'd like to port (meaning: compatible interface, fpc
> implementation) this unit to fpc-rtl.  Initially port over what is there
> already.  Later maybe include in the compiler stuff like scoped RTTI (not
> just published alone) and "customattributes" if there is need for that
> level of compatibility.  Also, adding more methods on the current
> interface is possible too.  It is more than just a readable substitute for
> TypInfo.

Well, the compiler doesn't support custom attributes.

> For this I'd like to know a few things:
> - First off: would this kind of thing even be considered for inclusion?

Yes. Any unit to increase Delphi compatibility is worth of inclusion.

> - How to get it into repository/feedback from core? (through feature request with attachment in mantis?)

I'll handle that; Just post it on mantis, I'll look into it.

> - Codestyle conventions for fpc-code? (including licence-header etc)

Modified LGPL header (see any rtl file).
Code style: follow the Borland style guide.

> - Is there (besides System, SysUtils, Types and the Variant-units) another place to look for RTTI-types?

Not sure I know what you mean by this ?

> - Where do I need to take care off (how to include it in rtl package, ..., unit-dependencies )?

Nothing. I'll take care of that, you just write the code.

> - I've read somewhere that nothing gets included if no unit-tests are
> - provided.  Is this using fpcunit?  Any pointers on the testingsystem,
> - do's and don'ts are welcome.

You can use fpcunit; there are sample tests in the fcl-fpcunit directory.

All other daily test programs use a different mechanism: they must return 
a zero exit code. Nonzero exit code means that there is an error.

You're free to choose one over the other; Personally, I favour fpc-unit style.
I find it works most easily, definitely if you use Lazarus.

> Since I work on win32 (only), I'm not that familiar with makefiles. So, if
> I need to add anything to makefiles or copy+edit another makefile, please
> redirect me to more information.  (mainly for testing-app, I guess)

Let me handle that. Focus on the code.


More information about the fpc-devel mailing list