diff options
| author | Martin Smith <martin.smith@digia.com> | 2013-02-20 12:03:32 +0100 |
|---|---|---|
| committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-20 17:22:26 +0100 |
| commit | 2cb22c6cc01627700ebfb8d2528ab4f700917a9b (patch) | |
| tree | 2a90f9db61cf7ee292f58975a52cff1738487db0 /src/tools/qdoc/cppcodemarker.cpp | |
| parent | dacc222d5a3327fb27d69e57d99111cdf9084304 (diff) | |
qdoc: QML Inheritance is not resolved correctly.
This change adds some QML property, signal, and method
data to the .index file. It also provides more robust
resolving of QML inheritance for qml types.
Task-number: QTBUG-29778
Change-Id: Iaefd64227913a19f427b21e904ca5e32c82d7b29
Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
Diffstat (limited to 'src/tools/qdoc/cppcodemarker.cpp')
| -rw-r--r-- | src/tools/qdoc/cppcodemarker.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp index c85c5c64efe..ff7d9254fc2 100644 --- a/src/tools/qdoc/cppcodemarker.cpp +++ b/src/tools/qdoc/cppcodemarker.cpp @@ -1287,17 +1287,15 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, Syno } ++c; } - const DocNode* dn = current->qmlBaseNode(); - if (dn) { - if (dn->subType() == Node::QmlClass) - current = static_cast<const QmlClassNode*>(dn); - else { - dn->doc().location().warning(tr("Base class of QML class '%1' is ambgiguous").arg(current->name())); - current = 0; - } + current = current->qmlBaseNode(); + while (current) { + if (current->isAbstract()) + break; + if (current->isInternal()) + current = current->qmlBaseNode(); + else + break; } - else - current = 0; } append(sections, all, true); } |
