Merge branch 'fix-ignore-param'

Fix for wrongly renaming parameters to "$ignore" in Python.

See https://github.com/swig/swig/pull/1462
This commit is contained in:
Vadim Zeitlin 2019-02-11 14:24:46 +01:00
commit ddf4bbe112
3 changed files with 35 additions and 5 deletions

View file

@ -8,12 +8,15 @@
%typemap(freearg) char* a ""; // ensure freearg is not generated (needed for Java at least)
%ignore unignorable;
%inline %{
// global function tests
char* jaguar(char* a, int b, double c) { return a; }
int lotus(char* aa, int bb, double cc) { return bb; }
double tvr(char* aaa, int bbb, double ccc) { return ccc; }
int ferrari(int bb) { return bb; }
int fiat(int unignorable) { return unignorable; }
// member function tests
struct SportsCars {
@ -21,6 +24,7 @@ struct SportsCars {
int astonmartin(char* aa, int bb, double cc) { return bb; }
double bugatti(char* aaa, int bbb, double ccc) { return ccc; }
int lamborghini(int bb) { return bb; }
int maseratti(int unignorable) { return unignorable; }
};
// constructor tests

View file

@ -0,0 +1,23 @@
from ignore_parameter import *
def check(a, b):
if a != b:
raise RuntimeError('"%s" != "%s"' % (a, b))
check(jaguar(200, 0), "hello")
check(lotus("foo", 1), 101)
check(tvr("bar", 2), 8.8)
check(ferrari(), 101)
check(fiat(17), 17)
car = SportsCars()
check(car.daimler(200, 0), "hello")
check(car.astonmartin("foo", 1), 101)
check(car.bugatti("bar", 2), 8.8)
check(car.lamborghini(), 101)
check(car.maseratti(289), 289)
MiniCooper(200, 0)
MorrisMinor("baz", 0)
FordAnglia("quux", 200)
AustinAllegro()