- Uniform the definition of the keyword warnings through
the supported languages. - Added keyword list for most of the languages that didn't have one. - "All keywords" warning support, through the -DSWIG_ALLKW option. Read the Changes.current git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@5543 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
b9fa8132dd
commit
ea0f636eae
18 changed files with 593 additions and 60 deletions
|
|
@ -1,5 +1,94 @@
|
||||||
Version 1.3.20 (In progress)
|
Version 1.3.20 (In progress)
|
||||||
============================
|
============================
|
||||||
|
12/11/2003: mmatus (Marcelo Matus)
|
||||||
|
|
||||||
|
"All keywords" warning support, through the -DSWIG_ALLKW
|
||||||
|
option.
|
||||||
|
|
||||||
|
This option allows you to include all the known keywords
|
||||||
|
for all the supported languages, and can be used as:
|
||||||
|
|
||||||
|
swig -DSWIG_ALLKW ....
|
||||||
|
|
||||||
|
This will help to the process of adding a test-suite file
|
||||||
|
that can be compiled in all the swig supported languages,
|
||||||
|
and it will be also helpful for users who want to create
|
||||||
|
multi-language libraries.
|
||||||
|
|
||||||
|
These are the changes (mostly addition of files):
|
||||||
|
|
||||||
|
- For the language that already has some sort of keyword
|
||||||
|
list warning, move them to an external file kw.swg file:
|
||||||
|
|
||||||
|
move keywords from python.swg -> pythonkw.swg
|
||||||
|
move keywords from chicken.swg -> chickenkw.swg
|
||||||
|
|
||||||
|
and include pythonkw.swg from python.swg, and etc.
|
||||||
|
|
||||||
|
- For the language that has no keyword list, and for the
|
||||||
|
ones that I could find a list, add the kw.swg file, ie:
|
||||||
|
|
||||||
|
csharp/csharpkw.swg
|
||||||
|
java/javakw.swg
|
||||||
|
php4/phpkw.swg
|
||||||
|
pike/pikekw.swg
|
||||||
|
ruby/rubykw.swg
|
||||||
|
|
||||||
|
|
||||||
|
add a line in java.swg to include javakw.swg, and so on
|
||||||
|
for all the other languages, but now it is commented!!!,
|
||||||
|
like in java.swg:
|
||||||
|
|
||||||
|
/* java keywords */
|
||||||
|
/* please test and activate */
|
||||||
|
//%include "javakw.swg"
|
||||||
|
|
||||||
|
ie, there will be no change in how swig runs normally
|
||||||
|
until the language mantainer test and uncomment that line.
|
||||||
|
|
||||||
|
So, please check each kw.swg file (I left the link
|
||||||
|
source of the keyword list), and after testing, allow
|
||||||
|
its inclusion.
|
||||||
|
|
||||||
|
- Added the file allkw.swg, which includes all the kw.swg
|
||||||
|
files.
|
||||||
|
|
||||||
|
For the languages that has no kw.swg file right now, and
|
||||||
|
if they need one, add it into the language directory,
|
||||||
|
and add a line into allkw.swg to include it from here.
|
||||||
|
|
||||||
|
- Includes allkw.swg at the end of swig.swg if the option
|
||||||
|
SWIG_ALLKW is defined. The old -lallkw.swg option
|
||||||
|
couldn't be used since it include the file after it
|
||||||
|
would be needed.
|
||||||
|
|
||||||
|
|
||||||
|
Maybe there is a better name for the option, and been a
|
||||||
|
defined, it looks kind of ugly. Maybe is better to
|
||||||
|
translate it into a command line option... any ideas?.
|
||||||
|
|
||||||
|
In any way, the ideal situation will be that this option
|
||||||
|
is added to the default rules in the related test-suite
|
||||||
|
Makefiles, so, when creating a new test, swig will always
|
||||||
|
warn you if you are using a bad name, considering all
|
||||||
|
the language where it needs to run.
|
||||||
|
|
||||||
|
Right now you can test it by using:
|
||||||
|
|
||||||
|
make check-python-test-suite SWIG="swig -DSWIG_ALLKW"
|
||||||
|
|
||||||
|
or using your favorite target language.
|
||||||
|
|
||||||
|
And yes, there are several examples that are using some
|
||||||
|
reserved keyword, specially from csharp.
|
||||||
|
|
||||||
|
Remember: the keyword warnings are not included by default
|
||||||
|
in any of language that before didn't define its own
|
||||||
|
keyword list. To enable them as the default behaviour,
|
||||||
|
the inclusion of the kw.swg file has to be uncommented at
|
||||||
|
each language.swg file.
|
||||||
|
|
||||||
|
|
||||||
12/11/2003: cheetah (William Fulton)
|
12/11/2003: cheetah (William Fulton)
|
||||||
SF bug #854634
|
SF bug #854634
|
||||||
Added support for accepting the Unix directory separator '/' on
|
Added support for accepting the Unix directory separator '/' on
|
||||||
|
|
|
||||||
29
SWIG/Lib/allkw.swg
Normal file
29
SWIG/Lib/allkw.swg
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#ifndef __Lib_allkw_swg__
|
||||||
|
#define __Lib_allkw_swg__
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Include all the known keyword warnings. Very useful for adding test
|
||||||
|
files to the test-suite, or check if your own library is ok for all
|
||||||
|
the swig supported languages.
|
||||||
|
|
||||||
|
Use as
|
||||||
|
|
||||||
|
swig -DSWIG_ALLKW ...
|
||||||
|
|
||||||
|
If you add a new language, remember to create a separete kw.swg
|
||||||
|
file, and add it here.
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
%include "chicken/chickenkw.swg"
|
||||||
|
%include "csharp/csharpkw.swg"
|
||||||
|
%include "java/javakw.swg"
|
||||||
|
%include "php4/phpkw.swg"
|
||||||
|
%include "pike/pikekw.swg"
|
||||||
|
%include "python/pythonkw.swg"
|
||||||
|
%include "ruby/rubykw.swg"
|
||||||
|
%include "tcl/tclkw.swg"
|
||||||
|
|
||||||
|
|
||||||
|
#endif //__Lib_allkw_swg__
|
||||||
|
|
@ -611,31 +611,8 @@ $result = C_SCHEME_UNDEFINED;
|
||||||
%ignorewarn("389:operator[] ignored (consider using %extend)") operator[];
|
%ignorewarn("389:operator[] ignored (consider using %extend)") operator[];
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
/* Warnings for certain CHICKEN keywords */
|
||||||
/* Warnings for certain CHICKEN keywords. From Section 7.1.1 of
|
%include "chickenkw.swg"
|
||||||
Revised^5 Report on the Algorithmic Language Scheme */
|
|
||||||
#define CHICKW(x) %namewarn("314:" #x " is a R^5RS syntatic keyword") #x
|
|
||||||
|
|
||||||
CHICKW(else);
|
|
||||||
CHICKW(=>);
|
|
||||||
CHICKW(define);
|
|
||||||
CHICKW(unquote);
|
|
||||||
CHICKW(unquote-splicing);
|
|
||||||
CHICKW(quote);
|
|
||||||
CHICKW(lambda);
|
|
||||||
CHICKW(if);
|
|
||||||
CHICKW(set!);
|
|
||||||
CHICKW(begin);
|
|
||||||
CHICKW(cond);
|
|
||||||
CHICKW(and);
|
|
||||||
CHICKW(or);
|
|
||||||
CHICKW(case);
|
|
||||||
CHICKW(let);
|
|
||||||
CHICKW(let*);
|
|
||||||
CHICKW(letrec);
|
|
||||||
CHICKW(do);
|
|
||||||
CHICKW(delay);
|
|
||||||
CHICKW(quasiquote);
|
|
||||||
|
|
||||||
/* TinyCLOS <--> Low-level CHICKEN */
|
/* TinyCLOS <--> Low-level CHICKEN */
|
||||||
|
|
||||||
|
|
|
||||||
30
SWIG/Lib/chicken/chickenkw.swg
Normal file
30
SWIG/Lib/chicken/chickenkw.swg
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef __chicken_chickenkw_swg__
|
||||||
|
#define __chicken_chickenkw_swg__
|
||||||
|
|
||||||
|
/* Warnings for certain CHICKEN keywords. From Section 7.1.1 of
|
||||||
|
Revised^5 Report on the Algorithmic Language Scheme */
|
||||||
|
#define CHICKW(x) %namewarn("314:" #x " is a R^5RS syntatic keyword") #x
|
||||||
|
|
||||||
|
CHICKW(else);
|
||||||
|
CHICKW(=>);
|
||||||
|
CHICKW(define);
|
||||||
|
CHICKW(unquote);
|
||||||
|
CHICKW(unquote-splicing);
|
||||||
|
CHICKW(quote);
|
||||||
|
CHICKW(lambda);
|
||||||
|
CHICKW(if);
|
||||||
|
CHICKW(set!);
|
||||||
|
CHICKW(begin);
|
||||||
|
CHICKW(cond);
|
||||||
|
CHICKW(and);
|
||||||
|
CHICKW(or);
|
||||||
|
CHICKW(case);
|
||||||
|
CHICKW(let);
|
||||||
|
CHICKW(let*);
|
||||||
|
CHICKW(letrec);
|
||||||
|
CHICKW(do);
|
||||||
|
CHICKW(delay);
|
||||||
|
CHICKW(quasiquote);
|
||||||
|
|
||||||
|
|
||||||
|
#endif //__chicken_chickenkw_swg__
|
||||||
93
SWIG/Lib/csharp/csharpkw.swg
Normal file
93
SWIG/Lib/csharp/csharpkw.swg
Normal file
|
|
@ -0,0 +1,93 @@
|
||||||
|
#ifndef __csharp_csharpkw_swg__
|
||||||
|
#define __csharp_csharpkw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Csharp keywords */
|
||||||
|
#define CSHARPKW(x) %namewarn("314:" #x " is a csharp keyword") #x
|
||||||
|
|
||||||
|
/*
|
||||||
|
from
|
||||||
|
http://www.jaggersoft.com/csharp_grammar.html#1.7%20Keywords
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
CSHARPKW(abstract);
|
||||||
|
CSHARPKW(as);
|
||||||
|
CSHARPKW(base);
|
||||||
|
CSHARPKW(bool);
|
||||||
|
CSHARPKW(break);
|
||||||
|
CSHARPKW(byte);
|
||||||
|
CSHARPKW(case);
|
||||||
|
CSHARPKW(catch);
|
||||||
|
CSHARPKW(char);
|
||||||
|
CSHARPKW(checked);
|
||||||
|
CSHARPKW(class);
|
||||||
|
CSHARPKW(const);
|
||||||
|
CSHARPKW(continue);
|
||||||
|
CSHARPKW(decimal);
|
||||||
|
CSHARPKW(default);
|
||||||
|
CSHARPKW(delegate);
|
||||||
|
CSHARPKW(do);
|
||||||
|
CSHARPKW(double);
|
||||||
|
CSHARPKW(else);
|
||||||
|
CSHARPKW(enum);
|
||||||
|
CSHARPKW(event);
|
||||||
|
CSHARPKW(explicit);
|
||||||
|
CSHARPKW(extern);
|
||||||
|
CSHARPKW(false);
|
||||||
|
CSHARPKW(finally);
|
||||||
|
CSHARPKW(fixed);
|
||||||
|
CSHARPKW(float);
|
||||||
|
CSHARPKW(for);
|
||||||
|
CSHARPKW(foreach);
|
||||||
|
CSHARPKW(goto);
|
||||||
|
CSHARPKW(if);
|
||||||
|
CSHARPKW(implicit);
|
||||||
|
CSHARPKW(in);
|
||||||
|
CSHARPKW(int);
|
||||||
|
CSHARPKW(interface);
|
||||||
|
CSHARPKW(internal);
|
||||||
|
CSHARPKW(is);
|
||||||
|
CSHARPKW(lock);
|
||||||
|
CSHARPKW(long);
|
||||||
|
CSHARPKW(namespace);
|
||||||
|
CSHARPKW(new);
|
||||||
|
CSHARPKW(null);
|
||||||
|
CSHARPKW(object);
|
||||||
|
CSHARPKW(operator);
|
||||||
|
CSHARPKW(out);
|
||||||
|
CSHARPKW(override);
|
||||||
|
CSHARPKW(params);
|
||||||
|
CSHARPKW(private);
|
||||||
|
CSHARPKW(protected);
|
||||||
|
CSHARPKW(public);
|
||||||
|
CSHARPKW(readonly);
|
||||||
|
CSHARPKW(ref);
|
||||||
|
CSHARPKW(return);
|
||||||
|
CSHARPKW(sbyte);
|
||||||
|
CSHARPKW(sealed);
|
||||||
|
CSHARPKW(short);
|
||||||
|
CSHARPKW(sizeof);
|
||||||
|
CSHARPKW(stackalloc);
|
||||||
|
CSHARPKW(static);
|
||||||
|
CSHARPKW(struct);
|
||||||
|
CSHARPKW(switch);
|
||||||
|
CSHARPKW(this);
|
||||||
|
CSHARPKW(throw);
|
||||||
|
CSHARPKW(true);
|
||||||
|
CSHARPKW(try);
|
||||||
|
CSHARPKW(typeof);
|
||||||
|
CSHARPKW(uint);
|
||||||
|
CSHARPKW(ulong);
|
||||||
|
CSHARPKW(unchecked);
|
||||||
|
CSHARPKW(unsafe);
|
||||||
|
CSHARPKW(ushort);
|
||||||
|
CSHARPKW(using);
|
||||||
|
CSHARPKW(virtual);
|
||||||
|
CSHARPKW(void);
|
||||||
|
CSHARPKW(volatile);
|
||||||
|
CSHARPKW(while);
|
||||||
|
|
||||||
|
/* swig seems to managing this one right */
|
||||||
|
// CSHARPKW(string);
|
||||||
|
|
||||||
|
#endif //__csharp_csharpkw_swg__
|
||||||
|
|
@ -936,3 +936,6 @@
|
||||||
|
|
||||||
%apply long { size_t };
|
%apply long { size_t };
|
||||||
|
|
||||||
|
/* java keywords */
|
||||||
|
/* please test and activate */
|
||||||
|
//%include "javakw.swg"
|
||||||
|
|
|
||||||
67
SWIG/Lib/java/javakw.swg
Normal file
67
SWIG/Lib/java/javakw.swg
Normal file
|
|
@ -0,0 +1,67 @@
|
||||||
|
#ifndef __java_javakw_swg__
|
||||||
|
#define __java_javakw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Java keywords */
|
||||||
|
#define JAVAKW(x) %namewarn("314:" #x " is a java keyword") #x
|
||||||
|
|
||||||
|
/*
|
||||||
|
from
|
||||||
|
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
JAVAKW(abstract);
|
||||||
|
JAVAKW(double);
|
||||||
|
JAVAKW(int);
|
||||||
|
JAVAKW(strictfp);
|
||||||
|
JAVAKW(boolean);
|
||||||
|
JAVAKW(else);
|
||||||
|
JAVAKW(interface);
|
||||||
|
JAVAKW(super);
|
||||||
|
JAVAKW(break);
|
||||||
|
JAVAKW(extends);
|
||||||
|
JAVAKW(long);
|
||||||
|
JAVAKW(switch);
|
||||||
|
JAVAKW(byte);
|
||||||
|
JAVAKW(final);
|
||||||
|
JAVAKW(native);
|
||||||
|
JAVAKW(synchronized);
|
||||||
|
JAVAKW(case);
|
||||||
|
JAVAKW(finally);
|
||||||
|
JAVAKW(new);
|
||||||
|
JAVAKW(this);
|
||||||
|
JAVAKW(catch);
|
||||||
|
JAVAKW(float);
|
||||||
|
JAVAKW(package);
|
||||||
|
JAVAKW(throw);
|
||||||
|
JAVAKW(char);
|
||||||
|
JAVAKW(for);
|
||||||
|
JAVAKW(private);
|
||||||
|
JAVAKW(throws);
|
||||||
|
JAVAKW(class);
|
||||||
|
JAVAKW(goto);
|
||||||
|
JAVAKW(protected);
|
||||||
|
JAVAKW(transient);
|
||||||
|
JAVAKW(const);
|
||||||
|
JAVAKW(if);
|
||||||
|
JAVAKW(public);
|
||||||
|
JAVAKW(try);
|
||||||
|
JAVAKW(continue);
|
||||||
|
JAVAKW(implements);
|
||||||
|
JAVAKW(return);
|
||||||
|
JAVAKW(void);
|
||||||
|
JAVAKW(default);
|
||||||
|
JAVAKW(import);
|
||||||
|
JAVAKW(short);
|
||||||
|
JAVAKW(volatile);
|
||||||
|
JAVAKW(do);
|
||||||
|
JAVAKW(instanceof);
|
||||||
|
JAVAKW(static);
|
||||||
|
JAVAKW(while);
|
||||||
|
|
||||||
|
|
||||||
|
/* others bad names */
|
||||||
|
|
||||||
|
// Not really sure about this, but sometimes it produce problems
|
||||||
|
// %namewarn("314:clone is a java reserved method name") *::clone;
|
||||||
|
|
||||||
|
#endif //__java_javakw_swg__
|
||||||
|
|
@ -497,3 +497,7 @@ deliberate error cos this code looks bogus to me
|
||||||
/* Some ANSI C typemaps */
|
/* Some ANSI C typemaps */
|
||||||
|
|
||||||
%apply long { size_t };
|
%apply long { size_t };
|
||||||
|
|
||||||
|
/* php kewords */
|
||||||
|
/* please test and activate */
|
||||||
|
//%include "phpkw.swg"
|
||||||
|
|
|
||||||
89
SWIG/Lib/php4/phpkw.swg
Normal file
89
SWIG/Lib/php4/phpkw.swg
Normal file
|
|
@ -0,0 +1,89 @@
|
||||||
|
#ifndef __php_phpkw_swg__
|
||||||
|
#define __php_phpkw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Php keywords */
|
||||||
|
#define PHPKW(x) %namewarn("314:" #x " is a php keyword") #x
|
||||||
|
|
||||||
|
/*
|
||||||
|
from
|
||||||
|
http://aspn.activestate.com/ASPN/docs/PHP/reserved.html
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
PHPKW(and);
|
||||||
|
PHPKW($argc);
|
||||||
|
PHPKW($argv);
|
||||||
|
PHPKW(as);
|
||||||
|
PHPKW(break);
|
||||||
|
PHPKW(case);
|
||||||
|
PHPKW(cfunction);
|
||||||
|
PHPKW(class);
|
||||||
|
PHPKW(continue);
|
||||||
|
PHPKW(declare);
|
||||||
|
PHPKW(default);
|
||||||
|
PHPKW(die);
|
||||||
|
PHPKW(do);
|
||||||
|
PHPKW(E_ALL);
|
||||||
|
PHPKW(echo);
|
||||||
|
PHPKW(E_ERROR);
|
||||||
|
PHPKW(else);
|
||||||
|
PHPKW(elseif);
|
||||||
|
PHPKW(enddeclare);
|
||||||
|
PHPKW(endfor);
|
||||||
|
PHPKW(endforeach);
|
||||||
|
PHPKW(endif);
|
||||||
|
PHPKW(endswitch);
|
||||||
|
PHPKW(endwhile);
|
||||||
|
PHPKW(E_PARSE);
|
||||||
|
PHPKW(eval);
|
||||||
|
PHPKW(E_WARNING);
|
||||||
|
PHPKW(exit);
|
||||||
|
PHPKW(extends);
|
||||||
|
PHPKW(FALSE);
|
||||||
|
PHPKW(__FILE__);
|
||||||
|
PHPKW(for);
|
||||||
|
PHPKW(foreach);
|
||||||
|
PHPKW(function);
|
||||||
|
PHPKW(global);
|
||||||
|
PHPKW($HTTP_COOKIE_VARS);
|
||||||
|
PHPKW($HTTP_ENV_VARS);
|
||||||
|
PHPKW($HTTP_GET_VARS);
|
||||||
|
PHPKW($HTTP_POST_FILES);
|
||||||
|
PHPKW($HTTP_POST_VARS);
|
||||||
|
PHPKW($HTTP_SERVER_VARS);
|
||||||
|
PHPKW(if);
|
||||||
|
PHPKW(include);
|
||||||
|
PHPKW(include_once);
|
||||||
|
PHPKW(__LINE__);
|
||||||
|
PHPKW(list);
|
||||||
|
PHPKW(new);
|
||||||
|
PHPKW(not);
|
||||||
|
PHPKW(NULL);
|
||||||
|
PHPKW(old_function);
|
||||||
|
PHPKW(or);
|
||||||
|
PHPKW(parent);
|
||||||
|
PHPKW(PHP_OS);
|
||||||
|
PHPKW($PHP_SELF);
|
||||||
|
PHPKW(PHP_VERSION);
|
||||||
|
PHPKW(print);
|
||||||
|
PHPKW(require);
|
||||||
|
PHPKW(require_once);
|
||||||
|
PHPKW(return);
|
||||||
|
PHPKW(__sleep);
|
||||||
|
PHPKW(static);
|
||||||
|
PHPKW(stdClass);
|
||||||
|
PHPKW(switch);
|
||||||
|
PHPKW($this);
|
||||||
|
PHPKW(TRUE);
|
||||||
|
PHPKW(var);
|
||||||
|
PHPKW(virtual);
|
||||||
|
PHPKW(__wakeup);
|
||||||
|
PHPKW(while);
|
||||||
|
PHPKW(xor);
|
||||||
|
|
||||||
|
|
||||||
|
// This is conflicting with _std_deque.i!.
|
||||||
|
PHPKW(empty);
|
||||||
|
|
||||||
|
#endif //__php_phpkw_swg__
|
||||||
|
|
@ -334,3 +334,7 @@ PIKE_MODULE_INIT
|
||||||
swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
|
swig_types[i] = SWIG_TypeRegister(swig_types_initial[i]);
|
||||||
}
|
}
|
||||||
%}
|
%}
|
||||||
|
|
||||||
|
/* pike keywords */
|
||||||
|
/* please test and activate */
|
||||||
|
//%include "pikekw.swg"
|
||||||
|
|
|
||||||
54
SWIG/Lib/pike/pikekw.swg
Normal file
54
SWIG/Lib/pike/pikekw.swg
Normal file
|
|
@ -0,0 +1,54 @@
|
||||||
|
#ifndef __pike_pikekw_swg__
|
||||||
|
#define __pike_pikekw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Pike keywords */
|
||||||
|
#define PIKEKW(x) %namewarn("314:" #x " is a pike keyword") #x
|
||||||
|
|
||||||
|
/*
|
||||||
|
from
|
||||||
|
http://www.http://docs.linux.cz/pike/tutorial_C.html
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
PIKEKW(array);
|
||||||
|
PIKEKW(break);
|
||||||
|
PIKEKW(case);
|
||||||
|
PIKEKW(catch);
|
||||||
|
PIKEKW(continue);
|
||||||
|
PIKEKW(default);
|
||||||
|
PIKEKW(do);
|
||||||
|
PIKEKW(else);
|
||||||
|
PIKEKW(float);
|
||||||
|
PIKEKW(for);
|
||||||
|
PIKEKW(foreach);
|
||||||
|
PIKEKW(function);
|
||||||
|
PIKEKW(gauge);
|
||||||
|
PIKEKW(if);
|
||||||
|
PIKEKW(inherit);
|
||||||
|
PIKEKW(inline);
|
||||||
|
PIKEKW(int);
|
||||||
|
PIKEKW(lambda);
|
||||||
|
PIKEKW(mapping);
|
||||||
|
PIKEKW(mixed);
|
||||||
|
PIKEKW(multiset);
|
||||||
|
PIKEKW(nomask);
|
||||||
|
PIKEKW(object);
|
||||||
|
PIKEKW(predef);
|
||||||
|
PIKEKW(private);
|
||||||
|
PIKEKW(program);
|
||||||
|
PIKEKW(protected);
|
||||||
|
PIKEKW(public);
|
||||||
|
PIKEKW(return);
|
||||||
|
PIKEKW(sscanf);
|
||||||
|
PIKEKW(static);
|
||||||
|
PIKEKW(switch);
|
||||||
|
PIKEKW(typeof);
|
||||||
|
PIKEKW(varargs);
|
||||||
|
PIKEKW(void);
|
||||||
|
PIKEKW(while);
|
||||||
|
|
||||||
|
// Swig manages this one right
|
||||||
|
// PIKEKW(string);
|
||||||
|
|
||||||
|
#endif //__pike_pikekw_swg__
|
||||||
|
|
@ -742,38 +742,8 @@ DIRECTOROUT_TYPEMAP(std::size_t, PyInt_AsLong);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Warnings for certain Python keywords */
|
/* Warnings for Python keywords */
|
||||||
#define PYKW(x) %namewarn("314:" #x " is a python keyword") #x
|
%include "pythonkw.swg"
|
||||||
|
|
||||||
PYKW(and);
|
|
||||||
PYKW(assert);
|
|
||||||
PYKW(break);
|
|
||||||
PYKW(class);
|
|
||||||
PYKW(continue);
|
|
||||||
PYKW(def);
|
|
||||||
PYKW(del);
|
|
||||||
PYKW(elif);
|
|
||||||
PYKW(else);
|
|
||||||
PYKW(except);
|
|
||||||
PYKW(exec);
|
|
||||||
PYKW(finally);
|
|
||||||
PYKW(for);
|
|
||||||
PYKW(from);
|
|
||||||
PYKW(global);
|
|
||||||
PYKW(if);
|
|
||||||
PYKW(import);
|
|
||||||
PYKW(in);
|
|
||||||
PYKW(is);
|
|
||||||
PYKW(lambda);
|
|
||||||
PYKW(not);
|
|
||||||
PYKW(or);
|
|
||||||
PYKW(pass);
|
|
||||||
PYKW(print);
|
|
||||||
PYKW(raise);
|
|
||||||
PYKW(return);
|
|
||||||
PYKW(try);
|
|
||||||
PYKW(while);
|
|
||||||
|
|
||||||
|
|
||||||
/* The start of the Python initialization function */
|
/* The start of the Python initialization function */
|
||||||
|
|
||||||
|
|
|
||||||
37
SWIG/Lib/python/pythonkw.swg
Normal file
37
SWIG/Lib/python/pythonkw.swg
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#ifndef __python_pythonkw_swg__
|
||||||
|
#define __python_pythonkw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Python keywords */
|
||||||
|
#define PYKW(x) %namewarn("314:" #x " is a python keyword") #x
|
||||||
|
|
||||||
|
PYKW(and);
|
||||||
|
PYKW(assert);
|
||||||
|
PYKW(break);
|
||||||
|
PYKW(class);
|
||||||
|
PYKW(continue);
|
||||||
|
PYKW(def);
|
||||||
|
PYKW(del);
|
||||||
|
PYKW(elif);
|
||||||
|
PYKW(else);
|
||||||
|
PYKW(except);
|
||||||
|
PYKW(exec);
|
||||||
|
PYKW(finally);
|
||||||
|
PYKW(for);
|
||||||
|
PYKW(from);
|
||||||
|
PYKW(global);
|
||||||
|
PYKW(if);
|
||||||
|
PYKW(import);
|
||||||
|
PYKW(in);
|
||||||
|
PYKW(is);
|
||||||
|
PYKW(lambda);
|
||||||
|
PYKW(not);
|
||||||
|
PYKW(or);
|
||||||
|
PYKW(pass);
|
||||||
|
PYKW(print);
|
||||||
|
PYKW(raise);
|
||||||
|
PYKW(return);
|
||||||
|
PYKW(try);
|
||||||
|
PYKW(while);
|
||||||
|
|
||||||
|
|
||||||
|
#endif //__python_pythonkw_swg__
|
||||||
|
|
@ -630,4 +630,8 @@ typedef unsigned long VALUE;
|
||||||
%ignorewarn("386:operator->* ignored") operator->*;
|
%ignorewarn("386:operator->* ignored") operator->*;
|
||||||
%ignorewarn("389:operator[] ignored (consider using %extend)") operator[];
|
%ignorewarn("389:operator[] ignored (consider using %extend)") operator[];
|
||||||
|
|
||||||
|
/* ruby keywords */
|
||||||
|
/* please test and activate */
|
||||||
|
// %include "rubykw.swg"
|
||||||
|
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
|
||||||
56
SWIG/Lib/ruby/rubykw.swg
Normal file
56
SWIG/Lib/ruby/rubykw.swg
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
#ifndef __ruby_rubykw_swg__
|
||||||
|
#define __ruby_rubykw_swg__
|
||||||
|
|
||||||
|
/* Warnings for Ruby keywords */
|
||||||
|
#define RUBYKW(x) %namewarn("314:" #x " is a ruby keyword") #x
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
from
|
||||||
|
http://www.ruby-lang.org/en/man-1.4/syntax.html#resword
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
RUBYKW(BEGIN);
|
||||||
|
RUBYKW(class);
|
||||||
|
RUBYKW(ensure);
|
||||||
|
RUBYKW(nil);
|
||||||
|
RUBYKW(self);
|
||||||
|
RUBYKW(when);
|
||||||
|
RUBYKW(END);
|
||||||
|
RUBYKW(def);
|
||||||
|
RUBYKW(false);
|
||||||
|
RUBYKW(not);
|
||||||
|
RUBYKW(super);
|
||||||
|
RUBYKW(while);
|
||||||
|
RUBYKW(alias);
|
||||||
|
RUBYKW(for);
|
||||||
|
RUBYKW(or);
|
||||||
|
RUBYKW(then);
|
||||||
|
RUBYKW(yield);
|
||||||
|
RUBYKW(and);
|
||||||
|
RUBYKW(do);
|
||||||
|
RUBYKW(if);
|
||||||
|
RUBYKW(redo);
|
||||||
|
RUBYKW(true);
|
||||||
|
RUBYKW(begin);
|
||||||
|
RUBYKW(else);
|
||||||
|
RUBYKW(in);
|
||||||
|
RUBYKW(rescue);
|
||||||
|
RUBYKW(undef);
|
||||||
|
RUBYKW(break);
|
||||||
|
RUBYKW(elsif);
|
||||||
|
RUBYKW(module);
|
||||||
|
RUBYKW(retry);
|
||||||
|
RUBYKW(unless);
|
||||||
|
RUBYKW(case);
|
||||||
|
RUBYKW(end);
|
||||||
|
RUBYKW(next);
|
||||||
|
RUBYKW(return);
|
||||||
|
RUBYKW(until);
|
||||||
|
|
||||||
|
/* swig doesn't like this one */
|
||||||
|
// RUBYKW(defined);
|
||||||
|
|
||||||
|
#endif //__ruby_rubykw_swg__
|
||||||
|
|
@ -396,3 +396,22 @@ static int NAME(TYPE x) {
|
||||||
%enddef
|
%enddef
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Include all the known keyword warnings. Very useful for adding test
|
||||||
|
files to the test-suite, or check if your own library is OK for all
|
||||||
|
the swig supported languages.
|
||||||
|
|
||||||
|
Use as
|
||||||
|
|
||||||
|
swig -DSWIG_ALLKW ...
|
||||||
|
|
||||||
|
Note that this is not equivalent to
|
||||||
|
|
||||||
|
swig -lallkw.swg
|
||||||
|
|
||||||
|
the last form will have no effect since allkw.swg will be included
|
||||||
|
to late.
|
||||||
|
*/
|
||||||
|
#ifdef SWIG_ALLKW
|
||||||
|
%include "allkw.swg"
|
||||||
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -553,9 +553,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
// Some special reserved words in classes
|
// Some special reserved words in classes
|
||||||
|
%include "tclkw.swg"
|
||||||
%namewarn("314:cget is a reserved method name") *::cget;
|
|
||||||
%namewarn("314:configure is a reserved method name") *::configure;
|
|
||||||
|
|
||||||
/* C++ overloaded operators.
|
/* C++ overloaded operators.
|
||||||
|
|
||||||
|
|
|
||||||
10
SWIG/Lib/tcl/tclkw.swg
Normal file
10
SWIG/Lib/tcl/tclkw.swg
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#ifndef __tcl_tclkw_swg__
|
||||||
|
#define __tcl_tclkw_swg__
|
||||||
|
|
||||||
|
// Some special reserved words in classes
|
||||||
|
|
||||||
|
%namewarn("314:cget is a tcl reserved method name") *::cget;
|
||||||
|
%namewarn("314:configure is a tcl reserved method name") *::configure;
|
||||||
|
|
||||||
|
|
||||||
|
#endif //__tcl_tclkw_swg__
|
||||||
Loading…
Add table
Add a link
Reference in a new issue