diff options
Diffstat (limited to 'src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp')
-rw-r--r-- | src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp index 0d5373f6b6..dea4f1e086 100644 --- a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp +++ b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp @@ -169,7 +169,7 @@ protected: const QString className = oo(klass->name()); - if (className.endsWith("AST")) { + if (className.endsWith(QLatin1String("AST"))) { if (className == QLatin1String("AST")) _nodes.base = ast; else { @@ -276,9 +276,8 @@ protected: if (NamedType *namedTy = ptrTy->elementType()->asNamedType()) { QByteArray typeName = namedTy->name()->identifier()->chars(); - if (typeName.endsWith("AST") && memberName != "next") { + if (typeName.endsWith("AST") && memberName != "next") *out << " accept(" << memberName.constData() << ", visitor);" << endl; - } } } } @@ -286,9 +285,8 @@ protected: for (unsigned i = 0; i < klass->baseClassCount(); ++i) { const QByteArray baseClassName = klass->baseClassAt(i)->identifier()->chars(); - if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) { + if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) visitMembers(baseClassSpec->symbol); - } } } @@ -550,9 +548,8 @@ protected: for (unsigned i = 0; i < klass->baseClassCount(); ++i) { const QByteArray baseClassName = klass->baseClassAt(i)->identifier()->chars(); - if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) { + if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) visitMembers(baseClassSpec->symbol); - } } } @@ -693,9 +690,8 @@ protected: for (unsigned i = 0; i < klass->baseClassCount(); ++i) { const QByteArray baseClassName = klass->baseClassAt(i)->identifier()->chars(); - if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) { + if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) visitMembers(baseClassSpec->symbol); - } } } @@ -826,9 +822,8 @@ protected: for (unsigned i = 0; i < klass->baseClassCount(); ++i) { const QByteArray baseClassName = klass->baseClassAt(i)->identifier()->chars(); - if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) { + if (ClassSpecifierAST *baseClassSpec = classMap.value(baseClassName, 0)) visitMembers(baseClassSpec->symbol); - } } } @@ -1198,11 +1193,10 @@ void generateAST_cpp(const Snapshot &snapshot, const QDir &cplusplusDir) QTextStream os(&method); const QStringList fields = collectFieldNames(info.classAST, true); - if (info.firstToken) { + if (info.firstToken) generateFirstToken(os, className, fields); - } else if (info.lastToken) { + else if (info.lastToken) generateLastToken(os, className, fields); - } changes.replace(info.start, info.end, method); } @@ -1414,11 +1408,16 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co cursors[classAST] = removeCastMethods(classAST); const QString className = oo(classAST->symbol->name()); const QString methodName = QLatin1String("as") + className.mid(0, className.length() - 3); - replacementCastMethods[classAST] = QString(" virtual %1 *%2() { return this; }\n").arg(className, methodName); - castMethods.append(QString(" virtual %1 *%2() { return 0; }\n").arg(className, methodName)); + replacementCastMethods[classAST] + = QString::fromLatin1(" virtual %1 *%2() { return this; }\n") + .arg(className, methodName); + castMethods.append( + QString::fromLatin1(" virtual %1 *%2() { return 0; }\n") + .arg(className, methodName)); astDerivedClasses.append(className); - constructors[classAST] = removeConstructors(classAST, AST_h_document->translationUnit(), &document); + constructors[classAST] = removeConstructors(classAST, AST_h_document->translationUnit(), + &document); replacementConstructors[classAST] = createConstructor(classAST); } @@ -1594,7 +1593,7 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir) << endl; Control *control = AST_h_document->control(); - QSet<QString> listClasses; + QSet<QString> classesSet; foreach (ClassSpecifierAST *classNode, astNodes.deriveds) { Class *klass = classNode->symbol; @@ -1612,7 +1611,7 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir) const QString className = oo(klass->name()); - if (! className.endsWith("AST")) + if (! className.endsWith(QLatin1String("AST"))) continue; const QString methodName = className.left(className.length() - 3); @@ -1633,9 +1632,9 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir) continue; const QString tyName = oo(ptrTy->elementType()); - if (tyName.endsWith("ListAST")) - listClasses.insert(tyName); - if (tyName.endsWith("AST")) { + if (tyName.endsWith(QLatin1String("ListAST"))) + classesSet.insert(tyName); + if (tyName.endsWith(QLatin1String("AST"))) { if (! first) out << ", "; @@ -1664,7 +1663,9 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir) << endl; } - foreach (const QString &className, listClasses) { + QStringList classesList = classesSet.toList(); + qSort(classesList); + foreach (const QString &className, classesList) { const QString methodName = className.left(className.length() - 3); const QString elementName = className.left(className.length() - 7) + QLatin1String("AST"); out @@ -1699,8 +1700,10 @@ void printUsage() << "to AST.h and print the paths of the written files. Run this tool after\n" << "modifying AST.h." << "\n\n"; - const QString defaultPathCppFrontend = QFileInfo(PATH_CPP_FRONTEND).canonicalFilePath(); - const QString defaultPathDumpersFile = QFileInfo(PATH_DUMPERS_FILE).canonicalFilePath(); + const QString defaultPathCppFrontend + = QFileInfo(QLatin1String(PATH_CPP_FRONTEND)).canonicalFilePath(); + const QString defaultPathDumpersFile + = QFileInfo(QLatin1String(PATH_DUMPERS_FILE)).canonicalFilePath(); std::cout << "Default values:" << "\n" << " frontend-dir: " << qPrintable(defaultPathCppFrontend) << "\n" << " dumpers-file: " << qPrintable(defaultPathDumpersFile) << "\n"; @@ -1712,10 +1715,11 @@ int main(int argc, char *argv[]) QStringList args = app.arguments(); args.removeFirst(); - QString pathCppFrontend = PATH_CPP_FRONTEND; - QString pathDumpersFile = PATH_DUMPERS_FILE; + QString pathCppFrontend = QLatin1String(PATH_CPP_FRONTEND); + QString pathDumpersFile = QLatin1String(PATH_DUMPERS_FILE); - const bool helpRequested = args.contains("-h") || args.contains("-help"); + const bool helpRequested = args.contains(QLatin1String("-h")) + || args.contains(QLatin1String("-help")); if (args.count() == 1 || args.count() >= 3 || helpRequested) { printUsage(); return helpRequested ? EXIT_SUCCESS : EXIT_FAILURE; |