Use htmldoc's new --overflow option and fix overflow warnings in the pdf documentation generation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12379 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
916e4644b6
commit
25c8689226
9 changed files with 50 additions and 34 deletions
|
|
@ -575,7 +575,8 @@ marshalling for the arrays:
|
|||
<pre>
|
||||
[DllImport("example", EntryPoint="CSharp_myArrayCopy")]
|
||||
public static extern void myArrayCopy([In, MarshalAs(UnmanagedType.LPArray)]int[] jarg1,
|
||||
[Out, MarshalAs(UnmanagedType.LPArray)]int[] jarg2, int jarg3);
|
||||
[Out, MarshalAs(UnmanagedType.LPArray)]int[] jarg2,
|
||||
int jarg3);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
@ -624,7 +625,8 @@ and intermediate class method
|
|||
<pre>
|
||||
[DllImport("example", EntryPoint="CSharp_myArraySwap")]
|
||||
public static extern void myArraySwap([In, Out, MarshalAs(UnmanagedType.LPArray)]int[] jarg1,
|
||||
[In, Out, MarshalAs(UnmanagedType.LPArray)]int[] jarg2, int jarg3);
|
||||
[In, Out, MarshalAs(UnmanagedType.LPArray)]int[] jarg2,
|
||||
int jarg3);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
@ -696,7 +698,8 @@ As a result, we get the following method in the module class:
|
|||
fixed ( int *swig_ptrTo_sourceArray = sourceArray ) {
|
||||
fixed ( int *swig_ptrTo_targetArray = targetArray ) {
|
||||
{
|
||||
examplePINVOKE.myArrayCopy((IntPtr)swig_ptrTo_sourceArray, (IntPtr)swig_ptrTo_targetArray, nitems);
|
||||
examplePINVOKE.myArrayCopy((IntPtr)swig_ptrTo_sourceArray, (IntPtr)swig_ptrTo_targetArray,
|
||||
nitems);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2109,7 +2112,8 @@ public class example {
|
|||
try {
|
||||
examplePINVOKE.addYears(CDate.getCPtr(temppDate), years);
|
||||
} finally {
|
||||
pDate = new System.DateTime(temppDate.getYear(), temppDate.getMonth(), temppDate.getDay(), 0, 0, 0);
|
||||
pDate = new System.DateTime(temppDate.getYear(), temppDate.getMonth(), temppDate.getDay(),
|
||||
0, 0, 0);
|
||||
}
|
||||
}
|
||||
...
|
||||
|
|
@ -2126,13 +2130,13 @@ The <tt>subtractYears</tt> method is nearly identical to the above <tt>addYears<
|
|||
<div class="code">
|
||||
<pre>
|
||||
%typemap(csin,
|
||||
pre=" using (CDate temp$csinput = new CDate($csinput.Year, $csinput.Month, $csinput.Day)) {",
|
||||
post=" $csinput = new System.DateTime(temp$csinput.getYear(),"
|
||||
" temp$csinput.getMonth(), temp$csinput.getDay(), 0, 0, 0);",
|
||||
terminator=" } // terminate temp$csinput using block",
|
||||
cshin="ref $csinput"
|
||||
) CDate *
|
||||
"$csclassname.getCPtr(temp$csinput)"
|
||||
pre=" using (CDate temp$csinput = new CDate($csinput.Year, $csinput.Month, $csinput.Day)) {",
|
||||
post=" $csinput = new System.DateTime(temp$csinput.getYear(),"
|
||||
" temp$csinput.getMonth(), temp$csinput.getDay(), 0, 0, 0);",
|
||||
terminator=" } // terminate temp$csinput using block",
|
||||
cshin="ref $csinput"
|
||||
) CDate *
|
||||
"$csclassname.getCPtr(temp$csinput)"
|
||||
|
||||
void subtractYears(CDate *pDate, int years) {
|
||||
*pDate = CDate(pDate->getYear() - years, pDate->getMonth(), pDate->getDay());
|
||||
|
|
@ -2152,7 +2156,8 @@ public class example {
|
|||
try {
|
||||
examplePINVOKE.subtractYears(CDate.getCPtr(temppDate), years);
|
||||
} finally {
|
||||
pDate = new System.DateTime(temppDate.getYear(), temppDate.getMonth(), temppDate.getDay(), 0, 0, 0);
|
||||
pDate = new System.DateTime(temppDate.getYear(), temppDate.getMonth(), temppDate.getDay(),
|
||||
0, 0, 0);
|
||||
}
|
||||
} // terminate temppDate using block
|
||||
}
|
||||
|
|
|
|||
|
|
@ -248,7 +248,8 @@ SomeClass bar() {
|
|||
<p>This macro is only valid inside the <tt><a href="D.html#D_class_code_typemaps">dconstructor</a></tt> typemap and contains the value of the <tt>dconstructor</tt> typemap attribute if the currently wrapped class has directors enabled.</p>
|
||||
<p>This is how the default <tt>dconstructor</tt> typemap looks like (you usually do not want to specify a custom one):</p>
|
||||
<div class="code"><pre>
|
||||
%typemap(dconstructor, excode=SWIGEXCODE,directorconnect="\n swigDirectorConnect();") SWIGTYPE {
|
||||
%typemap(dconstructor, excode=SWIGEXCODE,
|
||||
directorconnect="\n swigDirectorConnect();") SWIGTYPE {
|
||||
this($imcall, true);$excode$directorconnect
|
||||
}
|
||||
</pre></div>
|
||||
|
|
|
|||
|
|
@ -1922,8 +1922,10 @@ So if SWIG is run using the <tt>-package com.myco</tt> option, a wrapped class,
|
|||
|
||||
<div class="shell">
|
||||
<pre>
|
||||
example.i:16: Error: The nspace feature used on 'MyWorld::Material::Color' is not supported unless a package is specified
|
||||
with -package - Java does not support types declared in a named package accessing types declared in an unnamed package.
|
||||
example.i:16: Error: The nspace feature used on 'MyWorld::Material::Color' is not supported unless
|
||||
a package is specified
|
||||
with -package - Java does not support types declared in a named package accessing types declared
|
||||
in an unnamed package.
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1809,7 +1809,8 @@ For example if the above <tt>%shared_ptr(DerivedIntValue)</tt> is omitted, the f
|
|||
|
||||
<div class="shell">
|
||||
<pre>
|
||||
example_wrap.cxx: In function 'void Java_exampleJNI_delete_1DerivedIntValue(JNIEnv*, _jclass*, jlong)':
|
||||
example_wrap.cxx: In function 'void Java_exampleJNI_delete_1DerivedIntValue(JNIEnv*,
|
||||
_jclass*, jlong)':
|
||||
example_wrap.cxx:3169: error: 'smartarg1' was not declared in this scope
|
||||
</pre>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -138,7 +138,8 @@ base class's methods. Typically you will get a warning when the module name is m
|
|||
</p>
|
||||
|
||||
<div class="shell"> <pre>
|
||||
derived_module.i:8: Warning 401: Base class 'base' ignored - unknown module name for base. Either import
|
||||
derived_module.i:8: Warning 401: Base class 'base' ignored - unknown module name for base. Either
|
||||
import
|
||||
the appropriate module interface file or specify the name of the module in the %import directive.
|
||||
</pre></div>
|
||||
|
||||
|
|
|
|||
|
|
@ -755,7 +755,8 @@ Note that you have to enable directors via the %feature directive (see other mod
|
|||
<tt>subclass()</tt> will accept any number of C++ bases or other <tt>subclass()</tt>'ed objects, <tt>(string,octave_value)</tt> pairs, and <tt>function_handles</tt>. In the first case, these are taken as base classes; in the second case, as named members (either variables or functions, depending on whether the given value is a function handle); in the third case, as member functions whose name is taken from the given function handle. E.g.,
|
||||
</p>
|
||||
<div class="targetlang"><pre>
|
||||
octave:1> B=@(some_var=2) subclass(A(),'some_var',some_var,@some_func,'another_func',@(self) do_stuff())
|
||||
octave:1> B=@(some_var=2) subclass(A(),'some_var',some_var,@some_func,'another_func',
|
||||
@(self) do_stuff())
|
||||
</pre></div>
|
||||
<p>
|
||||
You can also assign non-C++ member variables and functions after construct time. There is no support for non-C++ static members.
|
||||
|
|
|
|||
|
|
@ -4192,8 +4192,9 @@ In the example below, the generic template type is used to rename to <tt>bbb</tt
|
|||
|
||||
<div class="code">
|
||||
<pre>
|
||||
%rename(bbb) Space::ABC::aaa(T t); // will match but with lower precedence than ccc
|
||||
%rename(ccc) Space::ABC<Space::XYZ>::aaa(Space::XYZ t); // will match but with higher precedence than bbb
|
||||
%rename(bbb) Space::ABC::aaa(T t); // will match but with lower precedence than ccc
|
||||
%rename(ccc) Space::ABC<Space::XYZ>::aaa(Space::XYZ t);// will match but with higher precedence
|
||||
// than bbb
|
||||
|
||||
namespace Space {
|
||||
class XYZ {};
|
||||
|
|
@ -4214,9 +4215,9 @@ Below shows how %rename can be placed inside a namespace.
|
|||
<div class="code">
|
||||
<pre>
|
||||
namespace Space {
|
||||
%rename(bbb) ABC::aaa(T t); // will match but with lower precedence than ccc
|
||||
%rename(ccc) ABC<Space::XYZ>::aaa(Space::XYZ t); // will match but with higher precedence than bbb
|
||||
%rename(ddd) ABC<Space::XYZ>::aaa(XYZ t); // will not match
|
||||
%rename(bbb) ABC::aaa(T t); // will match but with lower precedence than ccc
|
||||
%rename(ccc) ABC<Space::XYZ>::aaa(Space::XYZ t);// will match but with higher precedence than bbb
|
||||
%rename(ddd) ABC<Space::XYZ>::aaa(XYZ t); // will not match
|
||||
}
|
||||
|
||||
namespace Space {
|
||||
|
|
@ -4238,11 +4239,11 @@ The following example shows how %rename can be placed within %extend.
|
|||
<pre>
|
||||
namespace Space {
|
||||
%extend ABC {
|
||||
%rename(bbb) aaa(T t); // will match but with lower precedence than ccc
|
||||
%rename(bbb) aaa(T t); // will match but with lower precedence than ccc
|
||||
}
|
||||
%extend ABC<Space::XYZ> {
|
||||
%rename(ccc) aaa(Space::XYZ t); // will match but with higher precedence than bbb
|
||||
%rename(ddd) aaa(XYZ t); // will not match
|
||||
%rename(ccc) aaa(Space::XYZ t);// will match but with higher precedence than bbb
|
||||
%rename(ddd) aaa(XYZ t); // will not match
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1711,7 +1711,8 @@ you'll find the full typemap contents (example shown below for Python):
|
|||
%typemap(in, noblock=1) SWIGTYPE [] (void *argp = 0, int res = 0) {
|
||||
res = SWIG_ConvertPtr($input, &argp,$descriptor, $disown | 0 );
|
||||
if (!SWIG_IsOK(res)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res), "in method '" "$symname" "', argument " "$argnum"" of type '" "$type""'");
|
||||
SWIG_exception_fail(SWIG_ArgError(res), "in method '" "$symname" "', argument "
|
||||
"$argnum"" of type '" "$type""'");
|
||||
}
|
||||
$1 = ($ltype)(argp);
|
||||
}
|
||||
|
|
@ -1732,7 +1733,8 @@ SWIGINTERN PyObject *_wrap_foo(PyObject *SWIGUNUSEDPARM(self), PyObject *args) {
|
|||
...
|
||||
res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_a_4__int, 0 | 0 );
|
||||
if (!SWIG_IsOK(res1)) {
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "foo" "', argument " "1"" of type '" "int [10][4]""'");
|
||||
SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "foo" "', argument "
|
||||
"1"" of type '" "int [10][4]""'");
|
||||
}
|
||||
arg1 = (int (*)[4])(argp1);
|
||||
...
|
||||
|
|
@ -1791,7 +1793,8 @@ void set_value(const char* val) {}
|
|||
}
|
||||
}
|
||||
|
||||
%apply SWIGTYPE * { const char* val, const char* another_value } // use default pointer handling instead of strings
|
||||
// use default pointer handling instead of strings
|
||||
%apply SWIGTYPE * { const char* val, const char* another_value }
|
||||
|
||||
%typemap(check) const char* val = char* NON_NULL;
|
||||
|
||||
|
|
@ -3296,7 +3299,8 @@ SWIG can detect when the "optimal" attribute cannot be used and will ignore it a
|
|||
<div class="targetlang">
|
||||
<pre>
|
||||
example.i:28: Warning 474: Method XX::create() usage of the optimal attribute ignored
|
||||
example.i:14: Warning 474: in the out typemap as the following cannot be used to generate optimal code:
|
||||
example.i:14: Warning 474: in the out typemap as the following cannot be used to generate
|
||||
optimal code:
|
||||
try {
|
||||
result = XX::create();
|
||||
} catch(const std::exception &e) {
|
||||
|
|
@ -3317,8 +3321,8 @@ In fact SWIG attempts to detect this and will issue a warning something like:
|
|||
|
||||
<div class="targetlang">
|
||||
<pre>
|
||||
example.i:21: Warning 475: Multiple calls to XX::create() might be generated due to optimal attribute usage in
|
||||
example.i:7: Warning 475: the out typemap.
|
||||
example.i:21: Warning 475: Multiple calls to XX::create() might be generated due to
|
||||
example.i:7: Warning 475: optimal attribute usage in the out typemap.
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1440,8 +1440,8 @@ static String *Swig_typemap_lookup_impl(const_String_or_char_ptr tmap_method, No
|
|||
num_substitutions = typemap_replace_vars(s, locals, type, type, pname, (char *) lname, 1);
|
||||
}
|
||||
if (optimal_substitution && num_substitutions > 1) {
|
||||
Swig_warning(WARN_TYPEMAP_OUT_OPTIMAL_MULTIPLE, Getfile(node), Getline(node), "Multiple calls to %s might be generated due to optimal attribute usage in\n", Swig_name_decl(node));
|
||||
Swig_warning(WARN_TYPEMAP_OUT_OPTIMAL_MULTIPLE, Getfile(s), Getline(s), "the out typemap.\n");
|
||||
Swig_warning(WARN_TYPEMAP_OUT_OPTIMAL_MULTIPLE, Getfile(node), Getline(node), "Multiple calls to %s might be generated due to\n", Swig_name_decl(node));
|
||||
Swig_warning(WARN_TYPEMAP_OUT_OPTIMAL_MULTIPLE, Getfile(s), Getline(s), "optimal attribute usage in the out typemap.\n");
|
||||
}
|
||||
|
||||
if (locals && f) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue