On Thu, 2012-05-24 at 18:48 +0200, Sven Barth wrote: > On 24.05.2012 15:27, Joost van der Sluis wrote: > > On 17 May 2012, at 23:32, Joost van der Sluis wrote: > > I could, but I attached a patch first. Before I commit this to a branch > > I want to know that I'm on the right track. Could you and/or others have > > a look at the patch?
> * please call your "generate_rttiattribute_procs" after the > "generate_specialization_procs" as methods of generics could force the > specialization of a class that is not yet specialized, but that carries > attributes Ok, I'll change that. > * maybe it's better not to generate attribute data for generics, I don't > know... (simply check for "df_generic in ttypesym(p).typedef.defoptions" > in generate_rttiattribute_procs_classes) I'll will look what Delphi does. In principle i don't a reason why it shouldn't work. > * in generate_rttiattribute_procs_properties you also need to handle > nested classes Ah yes, offcourse. I will also look at the 'normal' rtti generation, I copied the code from there. Maybe that there is no rtti information generated for nested classes at all at this moment. > * you might want to call me blind, but where did you add the field > rtti_attributesdef to, to which you assign the current_rttiattributedef? > (can it be that you forgot that in the patch?) See the second change in pdecobj. (In procedure truct_property_dec) > And two questions: > * does the usage of attributes with methods/fields depend on the > availability of the extended RTTI? Yes. Without extended RTTI you can not get a list of method/fields at runtime. So where should the attributes be bound to? > * can attributes also be used with records in Delphi? (as they can now > carry properties as well) I don't know. Do we support rtti on records? I think this is also a part of what Delphi calls 'extended rtti'. Joost _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel