A way and place to modify internal program model

"Peter A. Kerzum" <[email protected]>
Newsgroups gmane.text.doxygen.devel
Message-ID <[email protected]>
Greetings, doxygen developers!
Pleased to meet you here :) I'm new to this list, so please accept my excuses 
for potentially stupid questions :)
So, here's the thing that brought me here. I develop C++ and I like doxygen 
much for a pretty nice UML-like models it draws (especially with dot). But 
C++ modeling lacks one very important feature - consider following code:

class A { /* ... */};
typedef A A_alias;
class B { A_alias a; };

The collaboration diagram for B will not represent any usage of A, while it is 
obvious on the language side. While one might argue against aliasing, it is 
quite common while using STL, e.g.:

#include <vector>
class A { /* ... */ };
class B
{
	typedef vector<A> storage_t;
	storage_t storage;
};

So some time ago I implemented this feature by adding additional pass over 
entire model just after model is finished, but before any output generation. 
For each typedef that pass created a class with the same name and added a 
usage link to the real type. Unfortunately my implementation was so weird 
that I erased all the code I've written as soon as I made it up.

So, what I want to say is that this is quite handy feature that will help 
reverse analyzing a lot. And I would like to provide consistent 
implementation, but for that purpose I'll possibly require a bit of your 
attention. So, could you please point me the place to put this kind of code? 
I suppose parsing phase is more appropriate than additional loop, and I think 
that it might be more consistent way to extend typedef representation a bit 
and then extend typedef interpretation by graph subsystem.

Well, finally I am looking forward to receiving any guidelines from you.
Thanks in advance :)

-- 
Best Regards,
Peter A. Kerzum


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.