Added nice doxygen debug switching (-debug-doxygen-parser and -debug-doxygen-translator)
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13427 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
03da0be1fa
commit
3fbe45f0c6
10 changed files with 37 additions and 15 deletions
|
|
@ -17,7 +17,7 @@ std::map<std::string, DoxyCommandEnum> DoxygenParser::doxygenCommands;
|
|||
std::set<std::string> DoxygenParser::doxygenSectionIndicators;
|
||||
|
||||
|
||||
DoxygenParser::DoxygenParser() : noisy(false) {
|
||||
DoxygenParser::DoxygenParser(bool noisy) : noisy(noisy) {
|
||||
fillTables();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
#include "TokenList.h"
|
||||
class DoxygenParser {
|
||||
public:
|
||||
DoxygenParser();
|
||||
DoxygenParser(bool noisy = false);
|
||||
virtual ~DoxygenParser();
|
||||
std::list < DoxygenEntity > createTree(std::string doxygen, std::string fileName, int lineNumber);
|
||||
private:
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@
|
|||
|
||||
#include "DoxygenTranslator.h"
|
||||
|
||||
DoxygenTranslator::DoxygenTranslator() {
|
||||
DoxygenTranslator::DoxygenTranslator(bool debugTranslator, bool debugParser)
|
||||
: debug(debugTranslator), parser(debugParser) {
|
||||
}
|
||||
DoxygenTranslator::~DoxygenTranslator() {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ public:
|
|||
/*
|
||||
* Constructor
|
||||
*/
|
||||
DoxygenTranslator();
|
||||
DoxygenTranslator(bool debugTranslator = false, bool debugParser = false);
|
||||
/*
|
||||
* Virtual destructor.
|
||||
*/
|
||||
|
|
@ -52,6 +52,7 @@ public:
|
|||
String *getDoxygenComment(Node *node);
|
||||
|
||||
protected:
|
||||
bool debug;
|
||||
/*
|
||||
* Overridden in subclasses to return the documentation formatted for a given
|
||||
* documentation system.
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ std::map<std::string, std::pair<JavaDocConverter::tagHandler, std::string > > Ja
|
|||
|
||||
void JavaDocConverter::fillStaticTables() {
|
||||
if (tagHandlers.size()) // fill only once
|
||||
return;
|
||||
|
||||
// these commands insert HTML tags
|
||||
tagHandlers["a"] = make_pair(&JavaDocConverter::handleTagHtml, "i");
|
||||
|
|
@ -105,7 +106,8 @@ void JavaDocConverter::fillStaticTables() {
|
|||
}
|
||||
|
||||
|
||||
JavaDocConverter::JavaDocConverter() : debug(false) {
|
||||
JavaDocConverter::JavaDocConverter(bool debugTranslator, bool debugParser)
|
||||
: DoxygenTranslator(debugTranslator, debugParser) {
|
||||
fillStaticTables();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
*/
|
||||
class JavaDocConverter : public DoxygenTranslator {
|
||||
public:
|
||||
JavaDocConverter();
|
||||
JavaDocConverter(bool debugTranslator = false, bool debugParser = false);
|
||||
String *makeDocumentation(Node *node);
|
||||
|
||||
protected:
|
||||
|
|
@ -88,7 +88,6 @@ protected:
|
|||
|
||||
|
||||
private:
|
||||
bool debug;
|
||||
// this contains the handler pointer and one string argument
|
||||
static std::map<std::string, std::pair<tagHandler, std::string> > tagHandlers;
|
||||
void fillStaticTables();
|
||||
|
|
|
|||
|
|
@ -91,7 +91,8 @@ void PyDocConverter::fillStaticTables() {
|
|||
tagHandlers["n"] = make_pair(&PyDocConverter::handleNewLine, "");
|
||||
}
|
||||
|
||||
PyDocConverter::PyDocConverter() : debug(false) {
|
||||
PyDocConverter::PyDocConverter(bool debugTranslator, bool debugParser)
|
||||
: DoxygenTranslator(debugTranslator, debugParser) {
|
||||
fillStaticTables();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
class PyDocConverter : public DoxygenTranslator {
|
||||
public:
|
||||
PyDocConverter();
|
||||
PyDocConverter(bool debugTranslator = false, bool debugParser = false);
|
||||
String *makeDocumentation(Node *node);
|
||||
|
||||
protected:
|
||||
|
|
@ -108,7 +108,6 @@ protected:
|
|||
std::string getParamType(std::string name);
|
||||
|
||||
private:
|
||||
bool debug;
|
||||
// temporary thing, should be refactored somehow
|
||||
Node *currentNode;
|
||||
// this contains the handler pointer and one string argument
|
||||
|
|
|
|||
|
|
@ -163,9 +163,6 @@ public:
|
|||
should be easy to implement though */
|
||||
director_multiple_inheritance = 0;
|
||||
director_language = 1;
|
||||
|
||||
if (doxygen)
|
||||
doxygenTranslator = new JavaDocConverter();
|
||||
}
|
||||
|
||||
~JAVA() {
|
||||
|
|
@ -242,6 +239,9 @@ public:
|
|||
|
||||
SWIG_library_directory("java");
|
||||
|
||||
bool debug_doxygen_translator = false;
|
||||
bool debug_doxygen_parser = false;
|
||||
|
||||
// Look for certain command line options
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (argv[i]) {
|
||||
|
|
@ -271,6 +271,12 @@ public:
|
|||
Swig_mark_arg(i);
|
||||
doxygen = false;
|
||||
scan_doxygen_comments = false;
|
||||
} else if ((strcmp(argv[i], "-debug-doxygen-translator") == 0)) {
|
||||
Swig_mark_arg(i);
|
||||
debug_doxygen_translator = true;
|
||||
} else if ((strcmp(argv[i], "-debug-doxygen-parser") == 0)) {
|
||||
Swig_mark_arg(i);
|
||||
debug_doxygen_parser = true;
|
||||
} else if ((strcmp(argv[i], "-noproxy") == 0)) {
|
||||
Swig_mark_arg(i);
|
||||
proxy_flag = false;
|
||||
|
|
@ -296,7 +302,7 @@ public:
|
|||
}
|
||||
|
||||
if (doxygen)
|
||||
doxygenTranslator = new JavaDocConverter();
|
||||
doxygenTranslator = new JavaDocConverter(debug_doxygen_translator, debug_doxygen_parser);
|
||||
|
||||
// Add a symbol to the parser for conditional compilation
|
||||
Preprocessor_define("SWIGJAVA 1", 0);
|
||||
|
|
@ -4537,6 +4543,8 @@ const char *JAVA::usage = (char *) "\
|
|||
Java Options (available with -java)\n\
|
||||
-doxygen - Convert C++ doxygen comments to JavaDoc comments in proxy classes (default)\n\
|
||||
-nodoxygen - Don't convert C++ doxygen comments to JavaDoc comments in proxy classes\n\
|
||||
-debug-doxygen-parser - Display doxygen parser module debugging information\n\
|
||||
-debug-doxygen-translator - Display doxygen translator module debugging information\n\
|
||||
-nopgcpp - Suppress premature garbage collection prevention parameter\n\
|
||||
-noproxy - Generate the low-level functional interface instead\n\
|
||||
of proxy classes\n\
|
||||
|
|
|
|||
|
|
@ -121,6 +121,8 @@ Python Options (available with -python)\n\
|
|||
-cppcast - Enable C++ casting operators (default) \n\
|
||||
-dirvtable - Generate a pseudo virtual table for directors for faster dispatch \n\
|
||||
-doxygen - Convert C++ doxygen comments to pydoc comments in proxy classes (default) \n\
|
||||
-debug-doxygen-parser - Display doxygen parser module debugging information\n\
|
||||
-debug-doxygen-translator - Display doxygen translator module debugging information\n\
|
||||
-extranative - Return extra native C++ wraps for std containers when possible \n\
|
||||
-fastinit - Use fast init mechanism for classes (default)\n\
|
||||
-fastunpack - Use fast unpack mechanism to parse the argument functions \n\
|
||||
|
|
@ -332,6 +334,9 @@ public:
|
|||
|
||||
SWIG_library_directory("python");
|
||||
|
||||
bool debug_doxygen_parser = false;
|
||||
bool debug_doxygen_translator = false;
|
||||
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (argv[i]) {
|
||||
if (strcmp(argv[i], "-interface") == 0) {
|
||||
|
|
@ -430,6 +435,12 @@ public:
|
|||
doxygen = 0;
|
||||
scan_doxygen_comments = 0;
|
||||
Swig_mark_arg(i);
|
||||
} else if (strcmp(argv[i], "-debug-doxygen-translator") == 0) {
|
||||
debug_doxygen_translator = true;
|
||||
Swig_mark_arg(i);
|
||||
} else if (strcmp(argv[i], "-debug-doxygen-parser") == 0) {
|
||||
debug_doxygen_parser = true;
|
||||
Swig_mark_arg(i);
|
||||
} else if (strcmp(argv[i], "-fastunpack") == 0) {
|
||||
fastunpack = 1;
|
||||
Swig_mark_arg(i);
|
||||
|
|
@ -549,7 +560,7 @@ public:
|
|||
}
|
||||
|
||||
if (doxygen)
|
||||
doxygenTranslator = new PyDocConverter;
|
||||
doxygenTranslator = new PyDocConverter(debug_doxygen_translator, debug_doxygen_parser);
|
||||
|
||||
if (!global_name)
|
||||
global_name = NewString("cvar");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue