warnings suppressed for deeply nested classes

This commit is contained in:
Vladimir Kalinin 2014-02-07 07:39:07 +04:00
commit e9ecac9298
2 changed files with 11 additions and 10 deletions

View file

@ -19,7 +19,6 @@
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::InnerMultipleNamedTypedef; %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::InnerMultipleNamedTypedef;
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::InnerSameName; %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::InnerSameName;
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer2::IgnoreMe; %warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer2::IgnoreMe;
%warnfilter(SWIGWARN_PARSE_NAMED_NESTED_CLASS) Outer::InnerSameName::InnerSameName2;
%inline %{ %inline %{
struct Outer { struct Outer {

View file

@ -1119,6 +1119,7 @@ static Node *nested_forward_declaration(const char *storage, const char *kind, S
} }
} }
if (!GetFlag(currentOuterClass, "nested")) {
if (nn && Equal(nodeType(nn), "classforward")) { if (nn && Equal(nodeType(nn), "classforward")) {
Node *n = nn; Node *n = nn;
SWIG_WARN_NODE_BEGIN(n); SWIG_WARN_NODE_BEGIN(n);
@ -1130,6 +1131,7 @@ static Node *nested_forward_declaration(const char *storage, const char *kind, S
if (!warned) { if (!warned) {
Swig_warning(WARN_PARSE_UNNAMED_NESTED_CLASS, cparse_file, cparse_line, "Nested %s not currently supported (ignored).\n", kind); Swig_warning(WARN_PARSE_UNNAMED_NESTED_CLASS, cparse_file, cparse_line, "Nested %s not currently supported (ignored).\n", kind);
} }
}
return nn; return nn;
} }