Perform proper spacing in director method declarations

If a director method returns a const pointer, eg. 'int *const', then in its
method declaration a space has to be inserted between 'const' and the
method name.
This fixes swig#1810.
This commit is contained in:
Thomas Reitmayr 2020-06-14 14:46:03 +02:00
commit c259702314
3 changed files with 17 additions and 3 deletions

View file

@ -5,6 +5,7 @@
#endif
%warnfilter(SWIGWARN_TYPEMAP_THREAD_UNSAFE,SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) MyClass::pmethod;
%warnfilter(SWIGWARN_TYPEMAP_DIRECTOROUT_PTR) ConstPtrClass::getConstPtr;
%{
#include <string>
@ -174,7 +175,19 @@ public:
}
};
%}
%}
%template(MyClassT_i) MyClassT<int>;
%feature("director") ConstPtrClass;
%inline %{
class ConstPtrClass {
public:
virtual ~ConstPtrClass() {}
virtual int *const getConstPtr() = 0;
};
%}

View file

@ -52,6 +52,7 @@ ifeq (node,$(JSENGINE))
apply_signed_char.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
constant_pointers.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
enum_thorough.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
director_basic.cpptest: GYP_CFLAGS = \"-Wno-ignored-qualifiers\"
setup_node = \
test -d $* || mkdir $* && \