[Go] Fix member variables in base classes to handle CWRAP_NATURAL_VAR

correctly.  Add a test case for the problem.

Fixes #339.
This commit is contained in:
Ian Lance Taylor 2015-06-20 17:42:44 -07:00
commit 11d8403c3c
4 changed files with 47 additions and 3 deletions

View file

@ -246,6 +246,7 @@ CPP_TEST_CASES += \
ignore_parameter \
import_nomodule \
inherit \
inherit_member \
inherit_missing \
inherit_same_name \
inherit_target_language \

View file

@ -0,0 +1,15 @@
package main
import wrap "./inherit_member"
func main() {
s := wrap.NewChild()
s.SetPvar("p")
s.SetCvar("c")
if s.GetPvar() != "p" {
panic(s.GetPvar())
}
if s.GetCvar() != "c" {
panic(s.GetCvar())
}
}

View file

@ -0,0 +1,17 @@
// Based on https://github.com/swig/swig/issues/339 .
%module inherit_member
%include <std_string.i>
%inline %{
struct parent {
std::string pvar;
};
struct child : public parent {
std::string cvar;
};
%}