First off, what a great product. Thanks for all the work you’ve done on this.
I’ve run into an issue parsing a particular style of programming we employ and hope you can offer a suggestion.
In the example header below, we're using macros to inject code snippets at compile time.
The issue I'm having is the token processor does not see a closing bracket (or semi-colon) at the end of the last macro so it attempts to process the first public enum as part of the nameStack created by the macro processing.
The net result is the _SomeMode enum gets swallowed and doesn’t appear anywhere in the resulting CppHeader class.
Note adding a semi-colon after MACRO_FUNCTION_END below does allow the parser to see the typedef enum, but I am not able to add this semi-colon to all the files that use this programming style.
Is there anything I can do (short of modifying the header files) to get the CppHeaderParser to properly parse these headers?
Hi there,
First off, what a great product. Thanks for all the work you’ve done on this.
I’ve run into an issue parsing a particular style of programming we employ and hope you can offer a suggestion.
In the example header below, we're using macros to inject code snippets at compile time.
The issue I'm having is the token processor does not see a closing bracket (or semi-colon) at the end of the last macro so it attempts to process the first public enum as part of the nameStack created by the macro processing.
E.g:
Instead of:
The net result is the
_SomeMode
enum gets swallowed and doesn’t appear anywhere in the resulting CppHeader class.Note adding a semi-colon after
MACRO_FUNCTION_END
below does allow the parser to see the typedef enum, but I am not able to add this semi-colon to all the files that use this programming style.Is there anything I can do (short of modifying the header files) to get the CppHeaderParser to properly parse these headers?
Thank you,
// devon
Example header file
In the macro_header.h file, we have these macros defined:
So, basically, after pre-processing we end up with: