fixed out-of-scope nested class definitions, added a test

enabled nested C structs assignment (still disabled for Octave), added Java runtime test
fixed nested_private test case for Java & C#
This commit is contained in:
Vladimir Kalinin 2013-12-04 01:53:42 +04:00
commit e1a4e11bea
6 changed files with 39 additions and 8 deletions

View file

@ -84,7 +84,6 @@ CPP_TEST_BROKEN += \
extend_variable \
li_std_vector_ptr \
li_boost_shared_ptr_template \
nested_private \
overload_complicated \
template_default_pointer \
template_expr \
@ -279,6 +278,8 @@ CPP_TEST_CASES += \
naturalvar_more \
nested_class \
nested_comment \
nested_private \
nested_scope \
nested_workaround \
newobject1 \
null_pointer \

View file

@ -33,5 +33,12 @@ public class nested_structs_runme {
if (inside2.getVal() != 200) throw new RuntimeException("failed inside2");
if (inside3.getVal() != 200) throw new RuntimeException("failed inside3");
if (inside4.getVal() != 400) throw new RuntimeException("failed inside4");
outer.getInner1().setVal(11);
if (inner1.getVal() != 11) throw new RuntimeException("failed inner1 assignment");
Named named = new Named();
named.setVal(22);
outer.setInside2(named);
if (outer.getInside2().getVal() != 22) throw new RuntimeException("failed inside2 assignment");
}
}

View file

@ -0,0 +1,14 @@
%module nested_scope
%inline %{
namespace ns {
struct Global {
struct Outer {
struct Nested;
};
struct Outer::Nested {
int data;
} instance;
};
}
%}