diff options
-rw-r--r-- | ApiExtractor/abstractmetabuilder.cpp | 15 | ||||
-rw-r--r-- | tests/samplebinding/typesystem_sample.xml | 2 |
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&'" /> - <suppress-warning text="template baseclass 'std::list<T>' of 'QList' is not known" /> - <suppress-warning text="template baseclass 'std::list<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 & obj, int multiplier)' is a reference." /> |