diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-12-01 11:35:41 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-12-02 10:44:41 +0000 |
commit | 111f11e4d88ed89f961c73b25d48123f28909213 (patch) | |
tree | e8f783990cc6cdfe16eac3aa65544f7d8054bf35 /sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp | |
parent | 4462db523fd8afc4177ad58caf1d5a955373bad5 (diff) |
shiboken/MetaLang: Add information about override/final
Take over information from code model and test.
Change-Id: Ibed2973e09b117966ed241798125f60ba337b0e9
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp')
-rw-r--r-- | sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp index 8192291bd..fc990deb7 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp +++ b/sources/shiboken2/ApiExtractor/abstractmetabuilder.cpp @@ -1285,6 +1285,9 @@ AbstractMetaClass *AbstractMetaBuilderPrivate::traverseClass(const FileModelItem AbstractMetaClass *metaClass = q->createMetaClass(); metaClass->setTypeEntry(type); + if (classItem->isFinal()) + *metaClass += AbstractMetaAttributes::FinalCppClass; + QStringList baseClassNames; const QVector<_ClassModelItem::BaseClass> &baseClasses = classItem->baseClasses(); for (const _ClassModelItem::BaseClass &baseClass : baseClasses) { @@ -2224,8 +2227,15 @@ AbstractMetaFunction *AbstractMetaBuilderPrivate::traverseFunction(FunctionModel if (functionItem->isAbstract()) *metaFunction += AbstractMetaAttributes::Abstract; - if (!functionItem->isVirtual()) + if (functionItem->isVirtual()) { + *metaFunction += AbstractMetaAttributes::VirtualCppMethod; + if (functionItem->isOverride()) + *metaFunction += AbstractMetaAttributes::OverriddenCppMethod; + if (functionItem->isFinal()) + *metaFunction += AbstractMetaAttributes::FinalCppMethod; + } else { *metaFunction += AbstractMetaAttributes::Final; + } if (functionItem->isInvokable()) *metaFunction += AbstractMetaAttributes::Invokable; |