Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 Refactor Document Method

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
diarrhio Posted - Feb 14 2007 : 1:24:56 PM
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
5   L A T E S T    R E P L I E S    (Newest First)
diarrhio Posted - Feb 20 2007 : 5:55:11 PM
Thanks. I'll give that a shot.
mmb Posted - Feb 20 2007 : 04:16:06 AM
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 ...
feline Posted - Feb 14 2007 : 6:16:58 PM
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.
diarrhio Posted - Feb 14 2007 : 4:48:21 PM
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...
feline Posted - Feb 14 2007 : 1:48:19 PM
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?

© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000