[aspectc-user] Using puma to print out class member names

Olaf Spinczyk Olaf.Spinczyk at informatik.uni-erlangen.de
Fri Dec 31 11:08:40 CET 2004


Hi,

Sunder, Shyam (MSTG - NY) wrote:
> Ok,
> 
> Here's the other problem. Consider this:
> 
> class A
> {
> public:
>     int a;
> 
> private:
>     int b;
> 
> protected:
>     int c;
> };
> 
> template<typename T>
> class C : T
> {
> };
> 
> template<>
> class C<A> : A
> {
> };
> 
> class E : C<A>
> {
> };
>  
> 
> Other than the fact the T is not reported as a base-class of C, C<A> is
> not reported as the base-class of E. It is reported as:
>     class : E   [base classes: C]  
>     namespace : %C<A>    [instance scope] [builtin] [anonymous] 

Use the command line option --real-instances if your classes inherit 
from template instances. This enables the new parser mode, which 
performs a better semantic analysis of templates, i.e. it internally 
creates template instances, which has not been done in old mode.

> Also, class E is reported to have an attribute '%anon15'.

Ananymous attributes can be ignored. They are created for technical 
reasons. Future version of Puma will probably store them differently.

> My only requirement is the correctly report all the base class and
> attribute names and types correctly. Any help in this area would be
> greatly appreciated.

Consider to buy commercial support for Puma or simply the tool you need 
from www.pure-systems.com (contact at pure-systems.com). They have the 
number 1 Puma expert and my time is strongly limited.

Anyway, it should work if you follow the advice above.

Olaf



More information about the aspectc-user mailing list