Clearer warning message for badly constructed typecheck typemaps
This commit is contained in:
parent
4010d25b91
commit
55e7264d43
7 changed files with 24 additions and 12 deletions
|
|
@ -5,6 +5,17 @@ See the RELEASENOTES file for a summary of changes in each release.
|
|||
Version 3.0.6 (in progress)
|
||||
===========================
|
||||
|
||||
2015-04-14: wsfulton
|
||||
Clearer warning message for badly constructed typecheck typemaps. For example, was:
|
||||
|
||||
example.i:3: Warning 467: Overloaded foo(int) not supported (no type checking
|
||||
rule for 'int').
|
||||
|
||||
Now:
|
||||
|
||||
example.i:3: Warning 467: Overloaded foo(int) not supported (incomplete type checking
|
||||
rule - no precedence level in typecheck typemap for 'int').
|
||||
|
||||
2015-04-11: wsfulton
|
||||
[Java] Fix #353 - Linker multiple definition of 'ExceptionMatches' when
|
||||
using directors and multiple modules.
|
||||
|
|
|
|||
|
|
@ -2101,13 +2101,13 @@ Therefore, earlier methods will shadow methods that appear later.
|
|||
</p>
|
||||
|
||||
<p>
|
||||
When wrapping an overloaded function, there is a chance that you will get an error message like this:
|
||||
When wrapping an overloaded function, there is a chance that you will get a warning message like this:
|
||||
</p>
|
||||
|
||||
<div class="shell">
|
||||
<pre>
|
||||
example.i:3: Warning 467: Overloaded foo(int) not supported (no type checking
|
||||
rule for 'int').
|
||||
example.i:3: Warning 467: Overloaded foo(int) not supported (incomplete type checking rule -
|
||||
no precedence level in typecheck typemap for 'int').
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
@ -2116,7 +2116,8 @@ This error means that the target language module supports overloading,
|
|||
but for some reason there is no type-checking rule that can be used to
|
||||
generate a working dispatch function. The resulting behavior is then
|
||||
undefined. You should report this as a bug to the
|
||||
<a href="http://www.swig.org/bugs.html">SWIG bug tracking database</a>.
|
||||
<a href="http://www.swig.org/bugs.html">SWIG bug tracking database</a>
|
||||
if this is due to one of the typemaps supplied with SWIG.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
|
|
|
|||
|
|
@ -4563,7 +4563,7 @@ then the type is given a precedence higher than any other known precedence level
|
|||
|
||||
<div class="shell">
|
||||
<pre>
|
||||
example.i:18: Warning 467: Overloaded method foo(int) not supported (no type checking rule for 'int').
|
||||
example.i:18: Warning 467: Overloaded method foo(int) not supported (incomplete type checking rule - no precedence level in typecheck typemap for 'int').
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -492,7 +492,7 @@ example.i(4) : Syntax error in input(1).
|
|||
<li>464. Unsupported constant value.
|
||||
<li>465. Unable to handle type <em>type</em>.
|
||||
<li>466. Unsupported variable type <em>type</em>.
|
||||
<li>467. Overloaded <em>declaration</em> not supported (no type checking rule for '<em>type</em>')
|
||||
<li>467. Overloaded <em>declaration</em> not supported (incomplete type checking rule - no precedence level in typecheck typemap for '<em>type</em>')
|
||||
<li>468. No 'throw' typemap defined for exception type <em>type</em>
|
||||
<li>469. No or improper directorin typemap defined for <em>type</em>
|
||||
<li>470. Thread/reentrant unsafe wrapping, consider returning by value instead.
|
||||
|
|
|
|||
|
|
@ -1794,12 +1794,12 @@ static List *Swig_overload_rank(Node *n, bool script_lang_wrapping) {
|
|||
String *t2 = Getattr(p2, "tmap:typecheck:precedence");
|
||||
if ((!t1) && (!nodes[i].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[i].n), Getline(nodes[i].n),
|
||||
"Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[i].n), SwigType_str(Getattr(p1, "type"), 0));
|
||||
nodes[i].error = 1;
|
||||
} else if ((!t2) && (!nodes[j].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[j].n), Getline(nodes[j].n),
|
||||
"Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[j].n), SwigType_str(Getattr(p2, "type"), 0));
|
||||
nodes[j].error = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -158,12 +158,12 @@ List *Swig_overload_rank(Node *n, bool script_lang_wrapping) {
|
|||
String *t2 = Getattr(p2, "tmap:typecheck:precedence");
|
||||
if ((!t1) && (!nodes[i].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[i].n), Getline(nodes[i].n),
|
||||
"Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[i].n), SwigType_str(Getattr(p1, "type"), 0));
|
||||
nodes[i].error = 1;
|
||||
} else if ((!t2) && (!nodes[j].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[j].n), Getline(nodes[j].n),
|
||||
"Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[j].n), SwigType_str(Getattr(p2, "type"), 0));
|
||||
nodes[j].error = 1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1381,12 +1381,12 @@ List * R::Swig_overload_rank(Node *n,
|
|||
}
|
||||
if ((!t1) && (!nodes[i].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[i].n), Getline(nodes[i].n),
|
||||
"Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[i].n), SwigType_str(Getattr(p1, "type"), 0));
|
||||
nodes[i].error = 1;
|
||||
} else if ((!t2) && (!nodes[j].error)) {
|
||||
Swig_warning(WARN_TYPEMAP_TYPECHECK, Getfile(nodes[j].n), Getline(nodes[j].n),
|
||||
"xx Overloaded method %s not supported (no type checking rule for '%s').\n",
|
||||
"Overloaded method %s not supported (incomplete type checking rule - no precedence level in typecheck typemap for '%s').\n",
|
||||
Swig_name_decl(nodes[j].n), SwigType_str(Getattr(p2, "type"), 0));
|
||||
nodes[j].error = 1;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue