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