diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-02-20 12:40:16 +0100 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2018-02-21 10:03:23 +0000 |
| commit | 583375253fd7e90554ae40894cf1f69f06294b43 (patch) | |
| tree | 29c018ae207f8e95de25565dc5fedcf81b77670b /sources/shiboken2/ApiExtractor/doxygenparser.cpp | |
| parent | b461e45a8e3b6f80f9e6a3b4505867ece6799355 (diff) | |
Documentation extraction: Add error handling
Trim the strings returned by the XPath queries and warn about
failing queries.
Task-number: PYSIDE-363
Change-Id: Ia0233d490497597cb78aa16b0908fe226270705c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/doxygenparser.cpp')
| -rw-r--r-- | sources/shiboken2/ApiExtractor/doxygenparser.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/sources/shiboken2/ApiExtractor/doxygenparser.cpp b/sources/shiboken2/ApiExtractor/doxygenparser.cpp index 0361445fd..1cffa3b67 100644 --- a/sources/shiboken2/ApiExtractor/doxygenparser.cpp +++ b/sources/shiboken2/ApiExtractor/doxygenparser.cpp @@ -96,12 +96,11 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) xquery.setFocus(QUrl(doxyFilePath)); // Get class documentation - QString classDoc = getDocumentation(xquery, QLatin1String("/doxygen/compounddef/detaileddescription"), + const QString classQuery = QLatin1String("/doxygen/compounddef/detaileddescription"); + QString classDoc = getDocumentation(xquery, classQuery, metaClass->typeEntry()->docModifications()); - if (classDoc.isEmpty()) { - qCWarning(lcShiboken).noquote().nospace() - << "Can't find documentation for class \"" << metaClass->name() << "\"."; - } + if (classDoc.isEmpty()) + qCWarning(lcShiboken(), "%s", qPrintable(msgCannotFindDocumentation(doxyFilePath, "class", metaClass->name(), classQuery))); metaClass->setDocumentation(classDoc); //Functions Documentation @@ -147,6 +146,10 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) query += QLatin1String("/../detaileddescription)[1]"); } QString doc = getDocumentation(xquery, query, DocModificationList()); + if (doc.isEmpty()) { + qCWarning(lcShiboken(), "%s", + qPrintable(msgCannotFindDocumentation(doxyFilePath, metaClass, func, query))); + } func->setDocumentation(doc); isProperty = false; } @@ -160,6 +163,10 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) QString query = QLatin1String("/doxygen/compounddef/sectiondef/memberdef/name[text()=\"") + field->name() + QLatin1String("\"]/../detaileddescription"); QString doc = getDocumentation(xquery, query, DocModificationList()); + if (doc.isEmpty()) { + qCWarning(lcShiboken(), "%s", + qPrintable(msgCannotFindDocumentation(doxyFilePath, metaClass, field, query))); + } field->setDocumentation(doc); } @@ -169,6 +176,10 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) QString query = QLatin1String("/doxygen/compounddef/sectiondef/memberdef[@kind=\"enum\"]/name[text()=\"") + meta_enum->name() + QLatin1String("\"]/.."); QString doc = getDocumentation(xquery, query, DocModificationList()); + if (doc.isEmpty()) { + qCWarning(lcShiboken(), "%s", + qPrintable(msgCannotFindDocumentation(doxyFilePath, metaClass, meta_enum, query))); + } meta_enum->setDocumentation(doc); } |
