mirror of https://github.com/swig/swig
Renames performed by `%namewarn` with `rename=` are printed in warning message
This is necessary for regex-like renames (where you can't use the #define trick as is done in many of the %keywordwarn directives). It's now unnecessary to print the "renaming to '`x`'" code explicitly by the kw.swg files.
This commit is contained in:
parent
d7e0aaa57d
commit
de78b80de9
|
@ -1,2 +1,2 @@
|
|||
c_class.i:3: Warning 301: class keyword used, but not in C++ mode.
|
||||
c_class.i:3: Warning 314: 'class' is a python keyword, renaming to '_class'
|
||||
c_class.i:3: Warning 314: 'class' is a python keyword: renaming 'class' to '_class'
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
%module xxx
|
||||
|
||||
%namewarn("314:'key1' is a keyword, renaming to '_key1'", rename="_%s") "key1";
|
||||
%namewarn("314:'key2' is a keyword, renaming to '_key2'", rename="_%s") "key2";
|
||||
%namewarn("314:'key3' is a keyword, renaming to '_key3'", rename="_%s") "key3";
|
||||
%namewarn("314:'key4' is a keyword, renaming to '_key4'", rename="_%s") "key4";
|
||||
%namewarn("314:'key5' is a keyword, renaming to '_key5'", rename="_%s") "key5";
|
||||
%namewarn("314:'key1' is a keyword", rename="_%s") "key1";
|
||||
%namewarn("314:'key2' is a keyword", rename="_%s") "key2";
|
||||
%namewarn("314:'key3' is a keyword", rename="_%s") "key3";
|
||||
%namewarn("314:'key4' is a keyword", rename="_%s") "key4";
|
||||
%namewarn("314:'key5' is a keyword", rename="_%s") "key5";
|
||||
|
||||
// Non-templated
|
||||
%ignore KlassA::key1;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
cpp_namewarn.i:58: Warning 314: 'key1' is a keyword, renaming to '_key1'
|
||||
cpp_namewarn.i:59: Warning 314: 'key2' is a keyword, renaming to '_key2'
|
||||
cpp_namewarn.i:60: Warning 314: 'key3' is a keyword, renaming to '_key3'
|
||||
cpp_namewarn.i:65: Warning 314: 'key1' is a keyword, renaming to '_key1'
|
||||
cpp_namewarn.i:66: Warning 314: 'key2' is a keyword, renaming to '_key2'
|
||||
cpp_namewarn.i:67: Warning 314: 'key3' is a keyword, renaming to '_key3'
|
||||
cpp_namewarn.i:72: Warning 314: 'key1' is a keyword, renaming to '_key1'
|
||||
cpp_namewarn.i:73: Warning 314: 'key2' is a keyword, renaming to '_key2'
|
||||
cpp_namewarn.i:74: Warning 314: 'key3' is a keyword, renaming to '_key3'
|
||||
cpp_namewarn.i:80: Warning 314: 'key5' is a keyword, renaming to '_key5'
|
||||
cpp_namewarn.i:58: Warning 314: 'key1' is a keyword: renaming 'key1' to '_key1'
|
||||
cpp_namewarn.i:59: Warning 314: 'key2' is a keyword: renaming 'key2' to '_key2'
|
||||
cpp_namewarn.i:60: Warning 314: 'key3' is a keyword: renaming 'key3' to '_key3'
|
||||
cpp_namewarn.i:65: Warning 314: 'key1' is a keyword: renaming 'key1' to '_key1'
|
||||
cpp_namewarn.i:66: Warning 314: 'key2' is a keyword: renaming 'key2' to '_key2'
|
||||
cpp_namewarn.i:67: Warning 314: 'key3' is a keyword: renaming 'key3' to '_key3'
|
||||
cpp_namewarn.i:72: Warning 314: 'key1' is a keyword: renaming 'key1' to '_key1'
|
||||
cpp_namewarn.i:73: Warning 314: 'key2' is a keyword: renaming 'key2' to '_key2'
|
||||
cpp_namewarn.i:74: Warning 314: 'key3' is a keyword: renaming 'key3' to '_key3'
|
||||
cpp_namewarn.i:80: Warning 314: 'key5' is a keyword
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
#define CSHARP_CSHARPKW_SWG_
|
||||
|
||||
/* Warnings for C# keywords */
|
||||
#define CSHARPKW(x) %keywordwarn("'" `x` "' is a C# keyword, renaming to '" `x` "_'",rename="%s_") `x`
|
||||
#define CSHARPKW(x) %keywordwarn("'" `x` "' is a C# keyword",rename="%s_") `x`
|
||||
|
||||
#define CSHARPCLASSKW(x) %keywordwarn("'" `x` "' is a special method name used in the C# wrapper classes, class renamed to '" `x` "_'",%$isclass,rename="%s_") `x`
|
||||
#define CSHARPCLASSKW(x) %keywordwarn("'" `x` "' is a special method name used in the C# wrapper classes",%$isclass,rename="%s_") `x`
|
||||
|
||||
/*
|
||||
from
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define D_DKW_SWG_
|
||||
|
||||
/* Warnings for D keywords */
|
||||
#define DKEYWORD(x) %keywordwarn("'" `x` "' is a D keyword, renaming to '_" `x` "'",rename="_%s") `x`
|
||||
#define DKEYWORD(x) %keywordwarn("'" `x` "' is a D keyword",rename="_%s") `x`
|
||||
|
||||
// Source: http://www.digitalmars.com/d/{1.0,2.0}/lex.html and
|
||||
DKEYWORD(Error);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Rename keywords. */
|
||||
|
||||
#define GOKW(x) %keywordwarn("'" `x` "' is a Go keyword, renaming to 'X"`x`"'",rename="X%s") `x`
|
||||
#define GOKW(x) %keywordwarn("'" `x` "' is a Go keyword",rename="X%s") `x`
|
||||
#define GOBN(x) %builtinwarn("'" `x` "' conflicts with a built-in name in Go") "::"`x`
|
||||
|
||||
GOKW(break);
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define JAVA_JAVAKW_SWG_
|
||||
|
||||
/* Warnings for Java keywords */
|
||||
#define JAVAKW(x) %keywordwarn("'" `x` "' is a java keyword, renaming to '_"`x`"'",rename="_%s") `x`
|
||||
#define JAVAKW(x) %keywordwarn("'" `x` "' is a java keyword",rename="_%s") `x`
|
||||
|
||||
/*
|
||||
from
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Warnings for Lua keywords, built-in names and bad names.
|
||||
*/
|
||||
|
||||
#define LUAKW(x) %keywordwarn("'" `x` "' is a Lua keyword, renaming to 'c_" `x` "'", rename="c_%s") `x`
|
||||
#define LUAKW(x) %keywordwarn("'" `x` "' is a Lua keyword", rename="c_%s") `x`
|
||||
#define LUABN(x) %namewarn(%warningmsg(SWIGWARN_PARSE_BUILTIN_NAME, "'" `x` "' conflicts with a basic function in Lua"), %$not %$ismember) `x`
|
||||
|
||||
/*
|
||||
|
|
|
@ -3,13 +3,13 @@
|
|||
* ----------------------------------------------------------------------------- */
|
||||
|
||||
/* Keyword (case insensitive) */
|
||||
#define PHPKW(x) %keywordwarn("'" `x` "' is a PHP keyword, renaming to 'c_" `x` "'",sourcefmt="%(lower)s",rename="c_%s") `x`
|
||||
#define PHPKW(x) %keywordwarn("'" `x` "' is a PHP keyword",sourcefmt="%(lower)s",rename="c_%s") `x`
|
||||
|
||||
/* Keyword, except ok as a function */
|
||||
#define PHPKW_ok_as_function(x) %keywordwarn("'" `x` "' is a PHP keyword, renaming to 'c_" `x` "'",%$not %$isfunction,sourcefmt="%(lower)s",rename="c_%s") `x`
|
||||
|
||||
/* Class (case insensitive) */
|
||||
#define PHPCN(x) %keywordwarn("'" `x` "' is a PHP reserved class name, renaming to 'c_" `x` "'",%$isclass,sourcefmt="%(lower)s",rename="c_%s") `x`
|
||||
#define PHPCN(x) %keywordwarn("'" `x` "' is a PHP reserved class name",%$isclass,sourcefmt="%(lower)s",rename="c_%s") `x`
|
||||
|
||||
/* Constant (case insensitive) */
|
||||
#define PHPBN1a(x) %namewarn(%warningmsg(SWIGWARN_PARSE_BUILTIN_NAME, "enum conflicts with a built-in constant '"`x`"' in PHP"),%$isenumitem,sourcefmt="%(lower)s") `x`
|
||||
|
@ -25,7 +25,7 @@
|
|||
PHPBN2a(X); PHPBN2b(X)
|
||||
%enddef
|
||||
|
||||
#define PHPFN(x) %keywordwarn("'" `x` "' is a PHP built-in function, renaming to 'c_" `x` "'",sourcefmt="%(lower)s",%$isfunction,%$not %$ismember,rename="c_%s") `x`
|
||||
#define PHPFN(x) %keywordwarn("'" `x` "' is a PHP built-in function",sourcefmt="%(lower)s",%$isfunction,%$not %$ismember,rename="c_%s") `x`
|
||||
|
||||
/* From: http://php.net/manual/en/reserved.keywords.php
|
||||
* "You cannot use any of the following words as constants, class names,
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
Warnings for Python keywords, built-in names and bad names.
|
||||
*/
|
||||
|
||||
#define PYTHONKW(x) %keywordwarn("'" `x` "' is a python keyword, renaming to '_" `x` "'", rename="_%s") `x`
|
||||
#define PYTHONKW(x) %keywordwarn("'" `x` "' is a python keyword", rename="_%s") `x`
|
||||
#define PYTHONBN(x) %builtinwarn("'" `x` "' conflicts with a built-in name in python") `x`
|
||||
|
||||
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
Warnings for R keywords, built-in names and bad names.
|
||||
*/
|
||||
|
||||
#define RKW(x) %keywordwarn("'" `x` "' is a R keyword, renaming to '_" `x`"'", rename="_%s") `x`
|
||||
#define RSWIGKW(x) %keywordwarn("'" `x` "' is a SWIG R reserved parameter name, renaming to '_" `x`"'", rename="_%s") `x`
|
||||
#define RKW(x) %keywordwarn("'" `x` "' is a R keyword", rename="_%s") `x`
|
||||
#define RSWIGKW(x) %keywordwarn("'" `x` "' is a SWIG R reserved parameter name", rename="_%s") `x`
|
||||
|
||||
/*
|
||||
Warnings for R reserved words taken from
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
#define RUBY_RUBYKW_SWG_
|
||||
|
||||
/* Warnings for Ruby keywords */
|
||||
#define RUBYKW(x) %keywordwarn("'" `x` "' is a ruby keyword, renaming to 'C_" `x` "'",rename="C_%s",fullname=1) `x`
|
||||
#define RUBYKW(x) %keywordwarn("'" `x` "' is a ruby keyword",rename="C_%s",fullname=1) `x`
|
||||
|
||||
/*
|
||||
|
||||
|
|
|
@ -1517,6 +1517,15 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname,
|
|||
result = apply_rename(n, rename, fullname, prefix, name);
|
||||
if ((msg) && (Len(msg))) {
|
||||
if (!Getmeta(nname, "already_warned")) {
|
||||
String* suffix = 0;
|
||||
if (Strcmp(result, "$ignore") == 0) {
|
||||
suffix = NewStringf(": ignoring '%s'\n", name);
|
||||
} else if (Strcmp(result, name) != 0) {
|
||||
suffix = NewStringf(": renaming '%s' to '%s'\n", name, result);
|
||||
} else {
|
||||
/* No rename was performed */
|
||||
suffix = NewString("\n");
|
||||
}
|
||||
if (n) {
|
||||
/* Parameter renaming is not fully implemented. Mainly because there is no C/C++ syntax to
|
||||
* for %rename to fully qualify a function's parameter name from outside the function. Hence it
|
||||
|
@ -1524,13 +1533,14 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname,
|
|||
int suppress_parameter_rename_warning = Equal(nodeType(n), "parm");
|
||||
if (!suppress_parameter_rename_warning) {
|
||||
SWIG_WARN_NODE_BEGIN(n);
|
||||
Swig_warning(0, Getfile(n), Getline(n), "%s\n", msg);
|
||||
Swig_warning(0, Getfile(n), Getline(n), "%s%s", msg, suffix);
|
||||
SWIG_WARN_NODE_END(n);
|
||||
}
|
||||
} else {
|
||||
Swig_warning(0, Getfile(name), Getline(name), "%s\n", msg);
|
||||
Swig_warning(0, Getfile(name), Getline(name), "%s%s", msg, suffix);
|
||||
}
|
||||
Setmeta(nname, "already_warned", "1");
|
||||
Delete(suffix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue