diff options
Diffstat (limited to 'sources/shiboken2/ApiExtractor/qtdocparser.cpp')
-rw-r--r-- | sources/shiboken2/ApiExtractor/qtdocparser.cpp | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/sources/shiboken2/ApiExtractor/qtdocparser.cpp b/sources/shiboken2/ApiExtractor/qtdocparser.cpp index f1421ff91..99cf15e48 100644 --- a/sources/shiboken2/ApiExtractor/qtdocparser.cpp +++ b/sources/shiboken2/ApiExtractor/qtdocparser.cpp @@ -46,7 +46,6 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) if (!metaClass) return; - QString scope = metaClass->name(); const AbstractMetaClass* context = metaClass->enclosingClass(); while(context) { if (context->enclosingClass() == 0) @@ -54,22 +53,22 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) context = context->enclosingClass(); } - QString filename = metaClass->qualifiedCppName().toLower(); - filename.replace(QLatin1String("::"), QLatin1String("-")); - QString sourceFile = documentationDataDirectory() + QLatin1Char('/') - + filename + QLatin1String(".xml"); - if (metaClass->enclosingClass()) - sourceFile.replace(QLatin1String("::"), QLatin1String("-")); + QString sourceFileRoot = documentationDataDirectory() + QLatin1Char('/') + + metaClass->qualifiedCppName().toLower(); + sourceFileRoot.replace(QLatin1String("::"), QLatin1String("-")); - if (!QFile::exists(sourceFile)) { + QFileInfo sourceFile(sourceFileRoot + QStringLiteral(".webxml")); + if (!sourceFile.exists()) + sourceFile.setFile(sourceFileRoot + QStringLiteral(".xml")); + if (!sourceFile.exists()) { qCWarning(lcShiboken).noquote().nospace() - << "Can't find qdoc3 file for class " << metaClass->name() << ", tried: " - << QDir::toNativeSeparators(sourceFile); + << "Can't find qdoc file for class " << metaClass->name() << ", tried: " + << QDir::toNativeSeparators(sourceFile.absoluteFilePath()); return; } QXmlQuery xquery; - xquery.setFocus(QUrl(sourceFile)); + xquery.setFocus(QUrl::fromLocalFile(sourceFile.absoluteFilePath())); QString className = metaClass->name(); @@ -79,7 +78,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) + className + QLatin1String("\"]/description"); DocModificationList signedModifs, classModifs; - foreach (DocModification docModif, metaClass->typeEntry()->docModifications()) { + const DocModificationList &mods = metaClass->typeEntry()->docModifications(); + for (const DocModification &docModif : mods) { if (docModif.signature().isEmpty()) classModifs.append(docModif); else @@ -91,8 +91,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) //Functions Documentation - AbstractMetaFunctionList funcs = metaClass->functionsInTargetLang(); - foreach (AbstractMetaFunction *func, funcs) { + const AbstractMetaFunctionList &funcs = metaClass->functionsInTargetLang(); + for (AbstractMetaFunction *func : funcs) { if (!func || func->isPrivate()) continue; @@ -109,8 +109,9 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) + QString::number(func->arguments().count()) + QLatin1String(" and @const=\"") + isConst + QLatin1String("\"]"); - int i = 1; - foreach (AbstractMetaArgument* arg, func->arguments()) { + const AbstractMetaArgumentList &arguments = func->arguments(); + for (int i = 0, size = arguments.size(); i < size; ++i) { + const AbstractMetaArgument *arg = arguments.at(i); QString type = arg->type()->name(); if (arg->type()->isConstant()) @@ -125,14 +126,13 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) for (int j = 0, max = arg->type()->indirections(); j < max; ++j) type += QLatin1Char('*'); } - query += QLatin1String("/parameter[") + QString::number(i) + query += QLatin1String("/parameter[") + QString::number(i + 1) + QLatin1String("][@left=\"") + type + QLatin1String("\"]/.."); - ++i; } } query += QLatin1String("/description"); DocModificationList funcModifs; - foreach (DocModification funcModif, signedModifs) { + for (const DocModification &funcModif : qAsConst(signedModifs)) { if (funcModif.signature() == func->minimalSignature()) funcModifs.append(funcModif); } @@ -141,8 +141,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) } #if 0 // Fields - AbstractMetaFieldList fields = metaClass->fields(); - foreach (AbstractMetaField *field, fields) { + const AbstractMetaFieldList &fields = metaClass->fields(); + for (AbstractMetaField *field : fields) { if (field->isPrivate()) return; @@ -152,8 +152,8 @@ void QtDocParser::fillDocumentation(AbstractMetaClass* metaClass) } #endif // Enums - AbstractMetaEnumList enums = metaClass->enums(); - foreach (AbstractMetaEnum *meta_enum, enums) { + const AbstractMetaEnumList &enums = metaClass->enums(); + for (AbstractMetaEnum *meta_enum : enums) { QString query = QLatin1String("/WebXML/document/") + type + QLatin1String("[@name=\"") + className + QLatin1String("\"]/enum[@name=\"") @@ -172,9 +172,12 @@ Documentation QtDocParser::retrieveModuleDocumentation(const QString& name) QString sourceFile = documentationDataDirectory() + QLatin1Char('/') + moduleName.toLower() + QLatin1String(".xml"); + if (!QFile::exists(sourceFile)) + sourceFile = documentationDataDirectory() + QLatin1Char('/') + + moduleName.toLower() + QLatin1String("-module.webxml"); if (!QFile::exists(sourceFile)) { qCWarning(lcShiboken).noquote().nospace() - << "Can't find qdoc3 file for module " << name << ", tried: " + << "Can't find qdoc file for module " << name << ", tried: " << QDir::toNativeSeparators(sourceFile); return Documentation(); } |