Refactored most of comments translating code for java, preliminary version, lots of bugs right now
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13217 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
46feb36cfb
commit
4c215eb337
5 changed files with 249 additions and 93 deletions
|
|
@ -15,24 +15,55 @@
|
|||
#define JAVADOCCONVERTER_H_
|
||||
|
||||
#include "DoxygenTranslator.h"
|
||||
#include <map>
|
||||
|
||||
/*
|
||||
* A class to translate doxygen comments into JavaDoc style comments.
|
||||
*/
|
||||
class JavaDocConverter : public DoxygenTranslator {
|
||||
public:
|
||||
JavaDocConverter() : debug(false) {
|
||||
}
|
||||
JavaDocConverter();
|
||||
String *makeDocumentation(Node *node);
|
||||
|
||||
protected:
|
||||
std::string formatCommand(std::string unformattedLine, int indent);
|
||||
std::string translateEntity(DoxygenEntity & doxyEntity);
|
||||
std::string javaDocFormat(DoxygenEntity & doxygenEntity);
|
||||
std::string translateSubtree(DoxygenEntity & doxygenEntity);
|
||||
void translateEntity(DoxygenEntity &tag, std::string &translatedComment);
|
||||
|
||||
/*
|
||||
* Typedef for the function that handles one tag
|
||||
*/
|
||||
typedef void (*tagHandler)(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
/*
|
||||
* Here comes various tag handlers
|
||||
*/
|
||||
static void handleTagC(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
static void handleTagB(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
static void handleTagThrow(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
static void handleTagSeeAll(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
/*
|
||||
* Print the name of tag to the output, used for escape-commands
|
||||
*/
|
||||
static void handleTagChar(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
/*
|
||||
* Do not translate and print as-is
|
||||
*/
|
||||
static void handleTagSame(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
/*
|
||||
* Print only the content and strip original tag
|
||||
*/
|
||||
static void handleTagStrip(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
/*
|
||||
* Print only data part of code
|
||||
*/
|
||||
static void handleTagData(JavaDocConverter *converter, DoxygenEntity &tag, std::string &translatedComment);
|
||||
|
||||
private:
|
||||
bool debug;
|
||||
std::map<std::string, tagHandler> tagHandlers;
|
||||
static std::map<std::string, std::string> escapeTable;
|
||||
void fillEscapeTable();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue