Hello Mailinglist,
I want to expand macro function in my code. If I use a global setting, its works correct, but if I want to do macro expansion only for individual macros it don't expand correct.
I added an example code to test it with the following settings (Doxy Wizard – Preprocessor tab):
Working case
===========================================================
ENABLE_PREPROCESSING - set
MACRO_EXPANSION - not set
EXPAND_ONLY_PREDEF - not set
SEARCH_INCLUDE - set
INCLUDE_PATH
-empty
INCLUDE_FILE_PATTERNS
-empty
PREDEFINED
-empty
EXPAND_AS_DEFINED
-empty
SKIP_FUNCTION_AS_DEFINED - set
Not working case
===========================================================
ENABLE_PREPROCESSING - set
MACRO_EXPANSION - not set
EXPAND_ONLY_PREDEF - not set
SEARCH_INCLUDE - set
INCLUDE_PATH
-empty
INCLUDE_FILE_PATTERNS
-empty
PREDEFINED
-empty
EXPAND_AS_DEFINED
- EVENTTYPE_TABLE
- ENTRY
SKIP_FUNCTION_AS_DEFINED - set
Additional comment
===========================================================
It's only documentated what happen if EXPAND_AS_DEFINED has entries and PREDEFINED and EXPAND_AS_DEFINED is set. It's not defined what happen if only one is set.
It seems that Macro's are skiped if EXPAND_AS_DEFINED has entries and is not set.
I hope some one has an idea whats going work. Is it a still a bug in doxygen or it is my fault.
Best regrads
Torsten
MacroTest.h
===========================================================
/** For an overview of the mappings of these events to the handling methods in
MacroTest, see @ref MacroTest.
@file MacroTest.h
*/
/// This is a documentation comment
enum TypeType_t
{
bla1,
bla2,
PROGRAM_INTERNAL_ET = INT_MAX ///< Do not touch this. Required for ensuring consistent enum type size across libraries.
};
/** For an overview of the mappings of these events to the handling methods in
MacroTest, see @ref MacroTest.
@file MacroTest.h
*/
/** @brief Program event types.
*/
#define EVENTTYPE_TABLE \
/** A key was pressed down. */ \
ENTRY(ET_KEYDOWN) \
/** A key was released. */ \
ENTRY(ET_KEYUP) \
/** A character key was pressed. */ \
ENTRY(ET_CHAR) \
/** The mouse was moved while a button was pressed. */ \
ENTRY(DEPRECATED_ET_MOUSEDRAG) \
/** The mouse was moved while all buttons were released. */ \
ENTRY(ET_MOUSEMOVE) \
/** The mousewheel was used. */ \
ENTRY(ET_MOUSEWHEEL) \
/** The left mouse button was released. */ \
ENTRY(ET_LBUTTONUP) \
/** The left mouse button was pressed. */ \
ENTRY(ET_LBUTTONDOWN) \
/** The left mouse button was double clicked. @ref CGUIEventHandler::GetDoubleClickTime() */ \
ENTRY(DEPRECATED_ET_LBUTTONDBLCLK) \
/** The right mouse button was released. */ \
ENTRY(ET_RBUTTONUP) \
/** The right mouse button was pressed. */ \
ENTRY(ET_RBUTTONDOWN) \
/** The left mouse button was pressed longer than @ref CGUIEventHandler::GetLongClickTime(). */ \
ENTRY(DEPRECATED_ET_LBUTTONLONGCLICK) \
/** A hot key was pressed (used on e.g. smart phones)*/ \
ENTRY(ET_HOTKEYDOWN) \
/** A hot key was released (used on e.g. smart phones)*/ \
ENTRY(ET_HOTKEYUP)
/// This is a documentation comment
enum EventType_t
{
#define ENTRY(a) a,
EVENTTYPE_TABLE
#undef ENTRY
PROGRAM_INTERNAL_ET = INT_MAX ///< Do not touch this. Required for ensuring consistent enum type size across libraries.
};
/// MacroTest special doc
/// Special comment bla bla bla
/// bla bla bla
/// bla bla bla
/// bla bla bla
class MacroTest
{
public:
/// Constructor
MacroTest();
/// Destructor
~MacroTest();
/// Getter
/// bla bla bla
/// @param i The param to get
/// @return Pointer to MacroTest.
MacroTest *GetMacro(int i ) {return this;};
/// Setter
/// bla bla bla
/// @param i The param to get
void SetMacro(int i ) {MacroTest i = 0;};
/// Super duper member
int m_i;
/// BLABLA
EventType_t m_EventType;
/// Blabla
TypeType_t m_TypeType;
}
------------------------------------------------------------------------------ New Year. New Location. New Benefits. New Data Center in Ashburn, VA. GigeNET is offering a free month of service with a new server in Ashburn. Choose from 2 high performing configs, both with 100TB of bandwidth. Higher redundancy.Lower latency.Increased capacity.Completely compliant. http://p.sf.net/sfu/gigenet
_______________________________________________ Doxygen-users mailing list Doxygen-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/doxygen-users