Fixes for the family of %interface macros for overloaded methods
When C++ methods are not able to be overloaded in a derived class, such as when they differ by just const, or the target language parameters types are identical even when the C++ parameter types are different, SWIG will ignore one of the overloaded methods with a warning. A %ignore is required to explicitly ignore one of the overloaded methods to avoid the warning message. Methods added in the derived classes due to one of the %interface macros are now similarly ignored/not added to the derived class. The adding of additional methods into the parse tree is now more robust and complete resulting in support for %feature and %rename for the added methods. Closes #1277
This commit is contained in:
parent
77853770bd
commit
b6ece11fc1
12 changed files with 259 additions and 15 deletions
|
|
@ -4,7 +4,7 @@
|
|||
SWIGWARN_PHP_MULTIPLE_INHERITANCE); /* languages not supporting multiple inheritance */
|
||||
|
||||
#if defined(SWIGJAVA) || defined(SWIGCSHARP)
|
||||
%include "swiginterface.i"
|
||||
%include <swiginterface.i>
|
||||
%interface_custom("A", "IA", IA)
|
||||
%interface_custom("B", "IB", IB)
|
||||
%interface_custom("%(strip:[I])s", "I%s", IC) // same as %interface_custom("C", "IC", IC)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue