aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/qtdocparser.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-02-20 12:40:16 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-02-21 10:03:23 +0000
commit583375253fd7e90554ae40894cf1f69f06294b43 (patch)
tree29c018ae207f8e95de25565dc5fedcf81b77670b /sources/shiboken2/ApiExtractor/qtdocparser.cpp
parentb461e45a8e3b6f80f9e6a3b4505867ece6799355 (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/qtdocparser.cpp')
-rw-r--r--sources/shiboken2/ApiExtractor/qtdocparser.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/sources/shiboken2/ApiExtractor/qtdocparser.cpp b/sources/shiboken2/ApiExtractor/qtdocparser.cpp
index b8a718ddc..508faa6dc 100644
--- a/sources/shiboken2/ApiExtractor/qtdocparser.cpp
+++ b/sources/shiboken2/ApiExtractor/qtdocparser.cpp
@@ -68,7 +68,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
}
QXmlQuery xquery;
- xquery.setFocus(QUrl::fromLocalFile(sourceFile.absoluteFilePath()));
+ const QString sourceFileName = sourceFile.absoluteFilePath();
+ xquery.setFocus(QUrl::fromLocalFile(sourceFileName));
QString className = metaClass->name();
@@ -87,6 +88,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
}
Documentation doc(getDocumentation(xquery, query, classModifs));
+ if (doc.isEmpty())
+ qCWarning(lcShiboken(), "%s", qPrintable(msgCannotFindDocumentation(sourceFileName, "class", className, query)));
metaClass->setDocumentation(doc);
@@ -134,6 +137,10 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
funcModifs.append(funcModif);
}
doc.setValue(getDocumentation(xquery, query, funcModifs));
+ if (doc.isEmpty()) {
+ qCWarning(lcShiboken(), "%s",
+ qPrintable(msgCannotFindDocumentation(sourceFileName, metaClass, func, query)));
+ }
func->setDocumentation(doc);
}
#if 0
@@ -156,6 +163,10 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass)
+ className + QLatin1String("\"]/enum[@name=\"")
+ meta_enum->name() + QLatin1String("\"]/description");
doc.setValue(getDocumentation(xquery, query, DocModificationList()));
+ if (doc.isEmpty()) {
+ qCWarning(lcShiboken(), "%s",
+ qPrintable(msgCannotFindDocumentation(sourceFileName, metaClass, meta_enum, query)));
+ }
meta_enum->setDocumentation(doc);
}
}
@@ -184,5 +195,8 @@ Documentation QtDocParser::retrieveModuleDocumentation(const QString& name)
// Module documentation
QString query = QLatin1String("/WebXML/document/page[@name=\"") + moduleName + QLatin1String("\"]/description");
- return Documentation(getDocumentation(xquery, query, DocModificationList()));
+ const Documentation doc = getDocumentation(xquery, query, DocModificationList());
+ if (doc.isEmpty())
+ qCWarning(lcShiboken(), "%s", qPrintable(msgCannotFindDocumentation(sourceFile, "module", name, query)));
+ return doc;
}