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:
parent
d99fe121b8
commit
380b71eb56
4 changed files with 269 additions and 4 deletions
67
Examples/test-suite/doxygen_translate_links.i
Normal file
67
Examples/test-suite/doxygen_translate_links.i
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
|
||||
|
||||
%module doxygen_translate_links
|
||||
%include "std_string.i"
|
||||
|
||||
%inline %{
|
||||
|
||||
class Shape
|
||||
{
|
||||
public:
|
||||
typedef Shape* superType;
|
||||
};
|
||||
|
||||
/**
|
||||
* Testing typenames converting in \@ link
|
||||
*
|
||||
* \link superFunc(int,std::string)
|
||||
* Test for std_string member
|
||||
* \endlink
|
||||
*
|
||||
* \link superFunc(int,long,void*)
|
||||
* Test for simple types
|
||||
* \endlink
|
||||
*
|
||||
* \link superFunc(Shape::superType*)
|
||||
* Test for custom types
|
||||
* \endlink
|
||||
*
|
||||
* \link superFunc(int**[13])
|
||||
* Test for complex types
|
||||
* \endlink
|
||||
*
|
||||
* same works for 'See also:' links:
|
||||
*
|
||||
* \sa superFunc(int,std::string)
|
||||
* \sa superFunc(int,long,void*)
|
||||
* \sa superFunc(Shape::superType*)
|
||||
* \sa superFunc(int**[13])
|
||||
*
|
||||
* some failing params:
|
||||
*
|
||||
* \sa superFunc()
|
||||
* \sa superFunc()
|
||||
* \sa superFunc()
|
||||
*
|
||||
*/
|
||||
int function()
|
||||
{
|
||||
}
|
||||
|
||||
void superFunc(int, std::string)
|
||||
{
|
||||
}
|
||||
|
||||
void superFunc(int, long, void *)
|
||||
{
|
||||
}
|
||||
|
||||
void superFunc(Shape::superType *)
|
||||
{
|
||||
}
|
||||
|
||||
void superFunc(int **arr[13])
|
||||
{
|
||||
}
|
||||
|
||||
%}
|
||||
68
Examples/test-suite/java/doxygen_translate_links_runme.java
Normal file
68
Examples/test-suite/java/doxygen_translate_links_runme.java
Normal 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));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue