Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Refactor Document Method
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

diarrhio
Ketchup Master

53 Posts

Posted - Feb 14 2007 :  1:24:56 PM  Show Profile  Reply with Quote
A couple of requests on the Doxygen style documentation...

1) A lot of the code we have is part of a DLL we package up and export. As a result, we have __declspec(dllexport) wrapped in a #define (e.g. DLL_EXPORT), and many of our function signatures look like this:

DLL_EXPORT bool someMethod( int someParam );

Unfortunately, $SymbolType$ will include the DLL_EXPORT, which we don't want in our documentation. Can we get an option to ignore Macros or ignore specific text, or some way for us to control this?

2) Can we get a "Refactor Document Class" option, which will work similarly to Refactor Document Method, but for classes. I'm guessing we'll just need $SymbolName$ to expand to work with class names. Better yet, why limit it to just classes. VAX seems smart enough to know what type of identifier is selected. Can we have $SymbolName$ just determine the type of identifier and generate the appropriate type of documentation? (i.e. for classes, it would insert @class before the symbol name).

Thanks,

D

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 14 2007 :  1:48:19 PM  Show Profile  Reply with Quote
Point 2, this was recently discussed here: http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=5900
and I put in a feature request for this:

case=4932


Point 1, I see what you are asking for, I am just wondering what this will break, or what problems it might cause. It is cases like returning a function pointer, or a qualified type that I am thinking about, I am wary of breaking something by accident.

What it really boils down to is the question, is a macro ever part of the return type, so it should be included in the comment?

*ah* what about the macro:

#define BOOL bool

which then gives rise to the function:

BOOL returnSomething() { return TRUE; }



Have you considered a regular expression search and replace to remove all unwanted DLL_EXPORT lines from doxygen format comments?

zen is the art of being at one with the two'ness
Go to Top of Page

diarrhio
Ketchup Master

53 Posts

Posted - Feb 14 2007 :  4:48:21 PM  Show Profile  Reply with Quote
Thanks for your prompt reply. Great about #2. About #1, do you know of a way to get Doxygen to ignore words found it encounters. I realize this isn't the proper forum to ask that question, but since i;m here and discussing it...
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Feb 14 2007 :  6:16:58 PM  Show Profile  Reply with Quote
To be honest I know of Doxygen but I have never really used it, not seriously, so I have no idea about making it ignore words.

zen is the art of being at one with the two'ness
Go to Top of Page

mmb
Senior Member

42 Posts

Posted - Feb 20 2007 :  04:16:06 AM  Show Profile  Reply with Quote
To diarrhio:

It is possible to do this in 2 steps:

in your doxyfile, set the following:

ENABLE_PREPROCESSING = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = DLL_EXPORT=

This will remove all DLL_EXPORT's from the documented source. However, as it works like the C preprocessor,
it will NOT process comments.
So, if you have a @return DLL_EXPORT type tag DLL_EXPORT is still here.

To remove this you need to filter your input files. Add the following to your doxyfile:
INPUT_FILTER = "filter.sh"
FILTER_SOURCE_FILES = YES

And create a script filter.sh, for instance:
#/bin/sh
sed -e "s/@return DLL_EXPORT/@return/g" $1

This should do the trick ...
Go to Top of Page

diarrhio
Ketchup Master

53 Posts

Posted - Feb 20 2007 :  5:55:11 PM  Show Profile  Reply with Quote
Thanks. I'll give that a shot.
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000