aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ApiExtractor/abstractmetabuilder.cpp15
-rw-r--r--tests/samplebinding/typesystem_sample.xml2
2 files changed, 10 insertions, 7 deletions
diff --git a/ApiExtractor/abstractmetabuilder.cpp b/ApiExtractor/abstractmetabuilder.cpp
index d72c27f74..a5c31bf38 100644
--- a/ApiExtractor/abstractmetabuilder.cpp
+++ b/ApiExtractor/abstractmetabuilder.cpp
@@ -1634,12 +1634,17 @@ bool AbstractMetaBuilder::setupInheritance(AbstractMetaClass *metaClass)
return true;
}
- // Container types are not necessarily wrapped as 'real' classes, but
- // there may still be classes derived from them. In such case, we still
- // need to set the base container type in order to generate correct
- // code for type conversion checking.
- if (baseContainerType)
+ if (baseContainerType) {
+ // Container types are not necessarily wrapped as 'real' classes,
+ // but there may still be classes derived from them. In such case,
+ // we still need to set the base container type in order to
+ // generate correct code for type conversion checking.
+ //
+ // Additionally, we consider this case as successfully setting up
+ // inheritance.
metaClass->typeEntry()->setBaseContainerType(baseContainerType);
+ return true;
+ }
ReportHandler::warning(QString("template baseclass '%1' of '%2' is not known")
.arg(baseClasses.first())
diff --git a/tests/samplebinding/typesystem_sample.xml b/tests/samplebinding/typesystem_sample.xml
index 824697f23..233a756ce 100644
--- a/tests/samplebinding/typesystem_sample.xml
+++ b/tests/samplebinding/typesystem_sample.xml
@@ -2406,8 +2406,6 @@
<suppress-warning text="hiding of function 'takeChild' in class 'ObjectView'" />
<suppress-warning text="visibility of function 'publicMethod' modified in class 'MDerived3'" />
<suppress-warning text="skipping function 'InjectCode::toStr', unmatched parameter type 'T const&amp;'" />
- <suppress-warning text="template baseclass 'std::list&lt;T>' of 'QList' is not known" />
- <suppress-warning text="template baseclass 'std::list&lt;Str>' of 'StrList' is not known" />
<!-- Do not fix this warning, the generator should be able to handle this situation for Object Types. -->
<suppress-warning text="Argument in position 1 of added function 'SampleNamespace::passReferenceToObjectType(ObjectType * arg__1)', has a type that is not a reference, while the argument in the corresponding position in C++ function 'SampleNamespace::passReferenceToObjectType(const ObjectType &amp; obj, int multiplier)' is a reference." />