Don't apply %ignore to parameters
Fix regression introduced by 3f5c17824c
which resulted in using "$ignore" instead of the real parameter name in
Python if an %ignore/%rename($ignore) for the parameter name was used
(as could happen not necessarily intentionally when using wild card
ignores with regex matches) by explicitly checking if we're dealing with
a parameter node in apply_rename(), used by Swig_name_make(), and not
renaming it to "$ignore" in this case.
Extend the test suite to check for this case.
Closes #1460.
This commit is contained in:
parent
509b14ac6f
commit
2517f5b05e
3 changed files with 14 additions and 5 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -8,12 +8,14 @@ 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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue