diff options
Diffstat (limited to 'sources/shiboken6/ApiExtractor/doxygenparser.cpp')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/doxygenparser.cpp | 68 |
1 files changed, 36 insertions, 32 deletions
diff --git a/sources/shiboken6/ApiExtractor/doxygenparser.cpp b/sources/shiboken6/ApiExtractor/doxygenparser.cpp index 8a1787f5a..a5189f99f 100644 --- a/sources/shiboken6/ApiExtractor/doxygenparser.cpp +++ b/sources/shiboken6/ApiExtractor/doxygenparser.cpp @@ -39,19 +39,23 @@ #include "typesystem.h" #include "xmlutils.h" +#include "qtcompat.h" + #include <QtCore/QFile> #include <QtCore/QDir> +using namespace Qt::StringLiterals; + static QString getSectionKindAttr(const AbstractMetaFunctionCPtr &func) { if (func->isSignal()) - return QLatin1String("signal"); + return u"signal"_s; QString kind = func->isPublic() - ? QLatin1String("public") : QLatin1String("protected"); + ? u"public"_s : u"protected"_s; if (func->isStatic()) - kind += QLatin1String("-static"); + kind += u"-static"_s; else if (func->isSlot()) - kind += QLatin1String("-slot"); + kind += u"-slot"_s; return kind; } @@ -68,10 +72,10 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) QString doxyFileSuffix; if (metaClass->enclosingClass()) { doxyFileSuffix += metaClass->enclosingClass()->name(); - doxyFileSuffix += QLatin1String("_1_1"); // FIXME: Check why _1_1!! + doxyFileSuffix += u"_1_1"_s; // FIXME: Check why _1_1!! } doxyFileSuffix += metaClass->name(); - doxyFileSuffix += QLatin1String(".xml"); + doxyFileSuffix += u".xml"_s; const char* prefixes[] = { "class", "struct", "namespace" }; bool isProperty = false; @@ -79,7 +83,7 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) QString doxyFilePath; for (const char *prefix : prefixes) { doxyFilePath = documentationDataDirectory() + u'/' - + QLatin1String(prefix) + doxyFileSuffix; + + QLatin1StringView(prefix) + doxyFileSuffix; if (QFile::exists(doxyFilePath)) break; doxyFilePath.clear(); @@ -101,14 +105,14 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) } static const QList<QPair<Documentation::Type, QString>> docTags = { - { Documentation::Brief, QLatin1String("briefdescription") }, - { Documentation::Detailed, QLatin1String("detaileddescription") } + { Documentation::Brief, u"briefdescription"_s }, + { Documentation::Detailed, u"detaileddescription"_s } }; // Get class documentation Documentation classDoc; for (const auto &tag : docTags) { - const QString classQuery = QLatin1String("/doxygen/compounddef/") + tag.second; + const QString classQuery = u"/doxygen/compounddef/"_s + tag.second; QString doc = getDocumentation(xquery, classQuery, metaClass->typeEntry()->docModifications()); if (doc.isEmpty()) @@ -123,37 +127,37 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) //Functions Documentation const auto &funcs = DocParser::documentableFunctions(metaClass); for (const auto &func : funcs) { - QString query = QLatin1String("/doxygen/compounddef/sectiondef"); + QString query = u"/doxygen/compounddef/sectiondef"_s; // properties if (func->isPropertyReader() || func->isPropertyWriter() || func->isPropertyResetter()) { const auto prop = metaClass->propertySpecs().at(func->propertySpecIndex()); - query += QLatin1String("[@kind=\"property\"]/memberdef/name[text()=\"") - + prop.name() + QLatin1String("\"]"); + query += u"[@kind=\"property\"]/memberdef/name[text()=\""_s + + prop.name() + u"\"]"_s; isProperty = true; } else { // normal methods QString kind = getSectionKindAttr(func); - query += QLatin1String("[@kind=\"") + kind - + QLatin1String("-func\"]/memberdef/name[text()=\"") - + func->originalName() + QLatin1String("\"]"); + query += u"[@kind=\""_s + kind + + u"-func\"]/memberdef/name[text()=\""_s + + func->originalName() + u"\"]"_s; if (func->arguments().isEmpty()) { - QString args = func->isConstant() ? QLatin1String("() const ") : QLatin1String("()"); - query += QLatin1String("/../argsstring[text()=\"") + args + QLatin1String("\"]"); + QString args = func->isConstant() ? u"() const "_s : u"()"_s; + query += u"/../argsstring[text()=\""_s + args + u"\"]"_s; } else { int i = 1; const AbstractMetaArgumentList &arguments = func->arguments(); for (const AbstractMetaArgument &arg : arguments) { if (!arg.type().isPrimitive()) { - query += QLatin1String("/../param[") + QString::number(i) - + QLatin1String("]/type/ref[text()=\"") + query += u"/../param["_s + QString::number(i) + + u"]/type/ref[text()=\""_s + arg.type().cppSignature().toHtmlEscaped() - + QLatin1String("\"]/../.."); + + u"\"]/../.."_s; } else { - query += QLatin1String("/../param[") + QString::number(i) - + QLatin1String("]/type[text(), \"") + query += u"/../param["_s + QString::number(i) + + u"]/type[text(), \""_s + arg.type().cppSignature().toHtmlEscaped() - + QLatin1String("\"]/.."); + + u"\"]/.."_s; } ++i; } @@ -163,10 +167,10 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) for (const auto &tag : docTags) { QString funcQuery(query); if (!isProperty) { - funcQuery += QLatin1String("/../") + tag.second; + funcQuery += u"/../"_s + tag.second; } else { funcQuery = u'(' + funcQuery; - funcQuery += u"/../"_qs + tag.second + u")[1]"_qs; + funcQuery += u"/../"_s + tag.second + u")[1]"_s; } QString doc = getDocumentation(xquery, funcQuery, DocModificationList()); @@ -189,8 +193,8 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) Documentation fieldDoc; for (const auto &tag : docTags) { - QString query = QLatin1String("/doxygen/compounddef/sectiondef/memberdef/name[text()=\"") - + field.name() + QLatin1String("\"]/../") + tag.second; + QString query = u"/doxygen/compounddef/sectiondef/memberdef/name[text()=\""_s + + field.name() + u"\"]/../"_s + tag.second; QString doc = getDocumentation(xquery, query, DocModificationList()); if (doc.isEmpty()) { qCWarning(lcShibokenDoc, "%s", @@ -205,8 +209,8 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) //Enums for (AbstractMetaEnum &meta_enum : metaClass->enums()) { - QString query = QLatin1String("/doxygen/compounddef/sectiondef/memberdef[@kind=\"enum\"]/name[text()=\"") - + meta_enum.name() + QLatin1String("\"]/.."); + QString query = u"/doxygen/compounddef/sectiondef/memberdef[@kind=\"enum\"]/name[text()=\""_s + + meta_enum.name() + u"\"]/.."_s; QString doc = getDocumentation(xquery, query, DocModificationList()); if (doc.isEmpty()) { qCWarning(lcShibokenDoc, "%s", @@ -219,7 +223,7 @@ void DoxygenParser::fillDocumentation(AbstractMetaClass* metaClass) Documentation DoxygenParser::retrieveModuleDocumentation(const QString& name){ - QString sourceFile = documentationDataDirectory() + QLatin1String("/indexpage.xml"); + QString sourceFile = documentationDataDirectory() + u"/indexpage.xml"_s; if (!QFile::exists(sourceFile)) { qCWarning(lcShibokenDoc).noquote().nospace() @@ -236,7 +240,7 @@ Documentation DoxygenParser::retrieveModuleDocumentation(const QString& name){ } // Module documentation - QString query = QLatin1String("/doxygen/compounddef/detaileddescription"); + QString query = u"/doxygen/compounddef/detaileddescription"_s; const QString doc = getDocumentation(xquery, query, DocModificationList()); return Documentation(doc, {}); } |
