Implemented automatic translation of links in doxygen comments, for example @see function(std::string) -> @see function(String) in java. Also included testcase for that

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2012-doxygen@13490 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Dmitry Kabak 2012-08-03 21:43:02 +00:00
commit 380b71eb56
4 changed files with 269 additions and 4 deletions

View file

@ -0,0 +1,68 @@
import doxygen_translate_links.*;
import com.sun.javadoc.*;
import java.util.HashMap;
public class doxygen_translate_links_runme {
static {
try {
System.loadLibrary("doxygen_translate_links");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
/*
Here we are using internal javadoc tool, it accepts the name of the class as paramterer,
and calls the start() method of that class with parsed information.
*/
commentParser parser = new commentParser();
com.sun.tools.javadoc.Main.execute("doxygen_translate_links runtime test",
"commentParser", new String[]{"-quiet", "doxygen_translate_links"});
HashMap<String, String> wantedComments = new HashMap<String, String>();
wantedComments.put("doxygen_translate_links.doxygen_translate_links.function()",
" \n" +
" Testing typenames converting in @ link \n" +
" \n" +
" {@link superFunc(int,String) \n" +
" Test for std_string member \n" +
" }\n" +
" \n" +
" {@link superFunc(int,int,SWIGTYPE_p_void) \n" +
" Test for simple types \n" +
" }\n" +
" \n" +
" {@link superFunc(SWIGTYPE_p_p_Shape) \n" +
" Test for custom types \n" +
" }\n" +
" \n" +
" {@link superFunc(SWIGTYPE_p_p_p_int) \n" +
" Test for complex types \n" +
" }\n" +
" \n" +
" same works for 'See also:' links: \n" +
" \n" +
" @see superFunc(int,String)\n" +
" @see superFunc(int,int,SWIGTYPE_p_void)\n" +
" @see superFunc(SWIGTYPE_p_p_Shape)\n" +
" @see superFunc(SWIGTYPE_p_p_p_int)\n" +
" \n" +
" some failing params: \n" +
" \n" +
" @see superFunc() \n" +
" @see superFunc() \n" +
" @see superFunc() \n" +
" \n" +
" \n" +
"");
// and ask the parser to check comments for us
System.exit(parser.check(wantedComments));
}
}