More maintainable warning messages

This commit is contained in:
William S Fulton 2024-10-06 12:28:17 +01:00
parent e3f35b4c5a
commit a95017050e
5 changed files with 22 additions and 12 deletions

View File

@ -498,7 +498,7 @@ example.i(4) : Syntax error in input(1).
<li>469. No or improper directorin typemap defined for <em>type</em>
<li>470. Thread/reentrant unsafe wrapping, consider returning by value instead.
<li>471. Unable to use return type <em>type</em> in director method
<li>472. Overloaded method <em>method</em> with no explicit typecheck typemap for arg <em>number</em> of type '<em>type</em>'
<li>472. Overloaded method <em>method</em> with no explicit typecheck typemap for arg <em>number</em> of type '<em>type</em>'. Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in the Typemaps chapter of the SWIG documentation.
<li>473. Returning a reference, pointer or pointer wrapper in a director method is not recommended.
<li>474. Method <em>method</em> usage of the optimal attribute ignored in the out typemap as the following cannot be used to generate optimal code: <em>code</em>
<li>475. Multiple calls to <em>method</em> might be generated due to optimal attribute usage in the out typemap.
@ -536,10 +536,10 @@ example.i(4) : Syntax error in input(1).
<li>521. Illegal destructor name <em>name</em>. Ignored.
<li>522. Use of an illegal constructor name '<em>name</em>' in %extend is deprecated, the constructor name should be '<em>name</em>'.
<li>523. Use of an illegal destructor name '<em>name</em>' in %extend is deprecated, the destructor name should be '<em>name</em>'.
<li>524. Experimental target language. Target language <em>language</em> specified by <em>lang</em> is an experimental language. Please read about SWIG experimental languages, <em>htmllink</em>.
<li>524. Experimental target language. Target language <em>language</em> specified by <em>lang</em> is an experimental language. See the 'Target Languages' section in the Introduction chapter of the SWIG documentation.
<li>525. Destructor <em>declaration</em> is final, <em>name</em> cannot be a director class.
<li>526. Using declaration <em>declaration</em>, with name '<em>name</em>', is not actually using the method from <em>declaration</em>, with name '<em>name</em>', as the names are different.
<li>527. Deprecated target language. Target language <em>language</em> specified by <em>lang</em> is a deprecated language. It will be removed in the next release of SWIG unless a new maintainer steps forward to bring it up to at least experimental status, <em>htmllink</em>.
<li>527. Deprecated target language. Target language <em>language</em> specified by <em>lang</em> is a deprecated language. It will be removed in the next release of SWIG unless a new maintainer steps forward to bring it up to at least experimental status. See the 'Target Languages' section in the Introduction chapter of the SWIG documentation.
</ul>
<H3><a name="Warnings_doxygen">19.9.6 Doxygen comments (560-599)</a></H3>

View File

@ -0,0 +1,8 @@
%module xxx
%typemap(in) Integer x {
$1 = 0;
}
void overloaded(const char *c);
void overloaded(Integer x, double d);

View File

@ -0,0 +1,2 @@
swig_typemap_typecheck.i:8: Warning 472: Overloaded method overloaded(Integer,double) with no explicit typecheck typemap for arg 0 of type 'Integer'.
swig_typemap_typecheck.i:8: Warning 472: Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in the Typemaps chapter of the SWIG documentation.

View File

@ -1302,13 +1302,13 @@ int SWIG_main(int argc, char *argv[], const TargetLanguageModule *tlm) {
if (tlm->status == Experimental) {
Swig_warning(WARN_LANG_EXPERIMENTAL, "SWIG", 1, "Experimental target language. "
"Target language %s specified by %s is an experimental language. "
"Please read about SWIG experimental languages, https://swig.org/Doc4.3/Introduction.html#Introduction_experimental_status.\n",
"See the 'Target Languages' section in the Introduction chapter of the SWIG documentation.\n",
tlm->help ? tlm->help : "", tlm->name);
} else if (tlm->status == Deprecated) {
Swig_warning(WARN_LANG_DEPRECATED, "SWIG", 1, "Deprecated target language. "
"Target language %s specified by %s is a deprecated target language. "
"It will be removed in the next release of SWIG unless a new maintainer steps forward "
"to bring it up to at least experimental status, see https://swig.org/Doc4.3/Introduction.html#Introduction_deprecated_status.\n",
"It will be removed in the next release of SWIG unless a new maintainer steps forward to bring it up to at least experimental status. "
"See the 'Target Languages' section in the Introduction chapter of the SWIG documentation.\n",
tlm->help ? tlm->help : "", tlm->name);
}

View File

@ -562,10 +562,10 @@ String *Swig_overload_dispatch_cast(Node *n, const_String_or_char_ptr fmt, int *
if (!Getattr(pj, "tmap:in:SWIGTYPE") && Getattr(pj, "tmap:typecheck:SWIGTYPE")) {
/* we emit a warning if the argument defines the 'in' typemap, but not the 'typecheck' one */
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'\n",
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'.\n",
Swig_name_decl(n), j, SwigType_str(Getattr(pj, "type"), 0));
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in Typemaps chapter of the documentation\n");
"Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in the Typemaps chapter of the SWIG documentation.\n");
}
Parm *pj1 = Getattr(pj, "tmap:in:next");
if (pj1)
@ -739,10 +739,10 @@ static String *overload_dispatch_fast(Node *n, const_String_or_char_ptr fmt, int
if (!Getattr(pj, "tmap:in:SWIGTYPE") && Getattr(pj, "tmap:typecheck:SWIGTYPE")) {
/* we emit a warning if the argument defines the 'in' typemap, but not the 'typecheck' one */
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'\n",
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'.\n",
Swig_name_decl(n), j, SwigType_str(Getattr(pj, "type"), 0));
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Dispatching calls to this method may not work correctly, see: https://www.swig.org/Doc4.1/Typemaps.html#Typemaps_overloading\n");
"Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in the Typemaps chapter of the SWIG documentation.\n");
}
Parm *pj1 = Getattr(pj, "tmap:in:next");
if (pj1)
@ -838,10 +838,10 @@ String *Swig_overload_dispatch(Node *n, const_String_or_char_ptr fmt, int *maxar
if (!Getattr(pj, "tmap:in:SWIGTYPE") && Getattr(pj, "tmap:typecheck:SWIGTYPE")) {
/* we emit a warning if the argument defines the 'in' typemap, but not the 'typecheck' one */
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'\n",
"Overloaded method %s with no explicit typecheck typemap for arg %d of type '%s'.\n",
Swig_name_decl(n), j, SwigType_str(Getattr(pj, "type"), 0));
Swig_warning(WARN_TYPEMAP_TYPECHECK_UNDEF, Getfile(ni), Getline(ni),
"Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in Typemaps chapter of the documentation\n");
"Dispatching calls to this method may not work correctly, see the 'Typemaps and Overloading' section in the Typemaps chapter of the SWIG documentation.\n");
}
Parm *pk = Getattr(pj, "tmap:in:next");
if (pk)