Remove unnecessary override of classDeclaration()

It doesn't seem necessary to muck with sym:name explicitly when we
construct the fully qualified name using getNamespacedName() later
anyhow.

Moreover, the overridden version had a bug which resulted in a crash in
template_empty_inherit unit test and simply removing it entirely allows
the test to pass (without breaking anything else).
This commit is contained in:
Vadim Zeitlin 2019-08-05 02:02:25 +02:00
commit 10b73ad2c1
2 changed files with 0 additions and 19 deletions

View file

@ -86,7 +86,6 @@ FAILING_CPP_TESTS := \
struct_initialization_cpp \
template_basic \
template_default \
template_empty_inherit \
template_enum \
template_explicit \
template_typedef_fnc \

View file

@ -1551,24 +1551,6 @@ public:
Printv(f_wrappers_decl, "#define ", name, " ", value, "\n", NIL);
return SWIG_OK;
}
/* ---------------------------------------------------------------------
* classDeclaration()
* --------------------------------------------------------------------- */
virtual int classDeclaration(Node *n) {
String *name = NewString("");
String *classtype = Getattr(n, "classtype");
String *prefix = 0;
if (classtype) {
prefix = Swig_scopename_prefix(classtype);
if (prefix)
Printf(name, "%s_", Swig_name_mangle(prefix));
}
Append(name, Swig_name_mangle(Getattr(n, "sym:name")));
Setattr(n, "sym:name", name);
return Language::classDeclaration(n);
}
}; /* class C */
/* -----------------------------------------------------------------------------