Fix wrapping of char * member variables (or any types with a memberin typemap) when using allprotected mode.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10431 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
d967ef74bd
commit
efa0db04c6
3 changed files with 9 additions and 3 deletions
|
|
@ -28,7 +28,7 @@ class PublicBase {
|
|||
public:
|
||||
enum AnEnum { EnumVal1, EnumVal2 };
|
||||
public:
|
||||
PublicBase(const char* s): str(s) {}
|
||||
PublicBase(const char* s): str(s), instanceMemberVariable(0), anEnum(EnumVal1), stringMember(0) {}
|
||||
virtual ~PublicBase() { }
|
||||
virtual std::string virtualMethod() const { return "PublicBase"; }
|
||||
Klass instanceMethod(Klass k) const { return k; }
|
||||
|
|
@ -41,6 +41,7 @@ public:
|
|||
static int staticMemberVariable;
|
||||
static const int staticConstMemberVariable = 20;
|
||||
AnEnum anEnum;
|
||||
char *stringMember;
|
||||
};
|
||||
int PublicBase::staticMemberVariable = 10;
|
||||
|
||||
|
|
@ -50,7 +51,7 @@ public:
|
|||
enum AnEnum { EnumVal1, EnumVal2 };
|
||||
std::string getName() { return str; }
|
||||
protected:
|
||||
ProtectedBase(const char* s): str(s) {}
|
||||
ProtectedBase(const char* s): str(s), instanceMemberVariable(0), anEnum(EnumVal1), stringMember(0), protectedenum(ProtEnumVal1) {}
|
||||
virtual ~ProtectedBase() { }
|
||||
virtual std::string virtualMethod() const { return "ProtectedBase"; }
|
||||
Klass instanceMethod(Klass k) const { return k; }
|
||||
|
|
@ -63,6 +64,7 @@ protected:
|
|||
static int staticMemberVariable;
|
||||
static const int staticConstMemberVariable = 20;
|
||||
AnEnum anEnum;
|
||||
char *stringMember;
|
||||
|
||||
// unsupported: types defined with protected access and thus methods/variables which use them
|
||||
enum ProtectedEnum { ProtEnumVal1, ProtEnumVal2 };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue