summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Kalinin <vkalinin@opendesign.com>2016-05-18 18:07:04 +0300
committerVladimir Kalinin <vkalinin@opendesign.com>2016-05-18 18:07:04 +0300
commit0145a07cc3673e224d2811fea88f934370bd87fb (patch)
treee2caa277f032c1109a57a751b566c97fde848b96
parentef4d7628a93ebd8189deacd5e8a1ed1bfb5814b2 (diff)
downloadswig-0145a07cc3673e224d2811fea88f934370bd87fb.tar.gz
fix for nested ignored types
-rw-r--r--Source/Modules/csharp.cxx8
-rw-r--r--Source/Modules/java.cxx12
2 files changed, 14 insertions, 6 deletions
diff --git a/Source/Modules/csharp.cxx b/Source/Modules/csharp.cxx
index 12a502586..01fd5435b 100644
--- a/Source/Modules/csharp.cxx
+++ b/Source/Modules/csharp.cxx
@@ -188,8 +188,12 @@ public:
String *symname = Copy(Getattr(n, "sym:name"));
if (symname && !GetFlag(n, "feature:flatnested")) {
for (Node *outer_class = Getattr(n, "nested:outer"); outer_class; outer_class = Getattr(outer_class, "nested:outer")) {
- Push(symname, ".");
- Push(symname, Getattr(outer_class, "sym:name"));
+ if (String* name = Getattr(outer_class, "sym:name")) {
+ Push(symname, ".");
+ Push(symname, name);
+ }
+ else
+ return NULL;
}
}
if (nspace) {
diff --git a/Source/Modules/java.cxx b/Source/Modules/java.cxx
index b7a5ebbfe..eb809ff59 100644
--- a/Source/Modules/java.cxx
+++ b/Source/Modules/java.cxx
@@ -210,10 +210,14 @@ public:
String *nspace = Getattr(n, "sym:nspace");
String *symname = Copy(Getattr(n, "sym:name"));
if (symname && !GetFlag(n, "feature:flatnested")) {
- for (Node *outer_class = Getattr(n, "nested:outer"); outer_class; outer_class = Getattr(outer_class, "nested:outer")) {
- Push(symname, jnidescriptor ? "$" : ".");
- Push(symname, Getattr(outer_class, "sym:name"));
- }
+ for (Node *outer_class = Getattr(n, "nested:outer"); outer_class; outer_class = Getattr(outer_class, "nested:outer")) {
+ if (String* name = Getattr(outer_class, "sym:name")) {
+ Push(symname, jnidescriptor ? "$" : ".");
+ Push(symname, name);
+ }
+ else
+ return NULL;
+ }
}
if (nspace) {
if (package && !jnidescriptor)