Smart pointer to %ignored class doesn't expose inherited methods fix.

Regression introduced in swig-3.0.9 by 3efdbc8
Closes #690
This commit is contained in:
William S Fulton 2016-05-31 22:10:37 +01:00
commit b9ca9f5efc
5 changed files with 58 additions and 3 deletions

View file

@ -224,7 +224,7 @@ class TypePass:private Dispatcher {
if (tname)
Delete(tname);
if (!bcls) {
if (!clsforward) {
if (!clsforward && !GetFlag(cls, "feature:ignore")) {
if (ispublic && !Getmeta(bname, "already_warned")) {
Swig_warning(WARN_TYPE_UNDEFINED_CLASS, Getfile(bname), Getline(bname), "Nothing known about base class '%s'. Ignored.\n", SwigType_namestr(bname));
if (Strchr(bname, '<')) {
@ -503,8 +503,7 @@ class TypePass:private Dispatcher {
/* Inherit type definitions into the class */
if (name && !(GetFlag(n, "nested") && !checkAttribute(n, "access", "public") &&
(GetFlag(n, "feature:flatnested") || Language::instance()->nestedClassesSupport() == Language::NCS_None))) {
if (!GetFlag(n, "feature:ignore"))
cplus_inherit_types(n, 0, nname ? nname : (fname ? fname : name));
cplus_inherit_types(n, 0, nname ? nname : (fname ? fname : name));
}
inclass = n;