diff options
author | hjk <hjk@qt.io> | 2019-07-26 12:20:44 +0200 |
---|---|---|
committer | hjk <hjk@qt.io> | 2019-07-30 06:55:51 +0000 |
commit | 1fb41647ebfef47e5d83e047e46f9caec16026a6 (patch) | |
tree | 0224146f653adbf0bec6d62b47d71bdd0715abe5 /src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp | |
parent | d16330de6d0d438b81a12b337667ab03f0ccfe7a (diff) | |
download | qt-creator-1fb41647ebfef47e5d83e047e46f9caec16026a6.tar.gz |
CPlusPlus: Use member initialization in AST.h
This also means that the implicitly-declared default constructor
does the right thing now, and the generator does not have to
take care of updating it anymore.
Change-Id: Ib4de88c506839398ce77ab4eaf4680a9b7e6091e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Diffstat (limited to 'src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp')
-rw-r--r-- | src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp index a84a6612e8..47a8ead13f 100644 --- a/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp +++ b/src/tools/cplusplus-update-frontend/cplusplus-update-frontend.cpp @@ -903,29 +903,6 @@ private: Overview oo; }; -static QList<QTextCursor> removeConstructors(ClassSpecifierAST *classAST, - TranslationUnit *translationUnit, - QTextDocument *document) -{ - Overview oo; - QList<QTextCursor> cursors; - const QString className = oo(classAST->symbol->name()); - - for (DeclarationListAST *iter = classAST->member_specifier_list; iter; iter = iter->next) { - if (FunctionDefinitionAST *funDef = iter->value->asFunctionDefinition()) { - if (oo(funDef->symbol->name()) == className) { - // found it: - QTextCursor tc = createCursor(translationUnit, funDef, document); - tc.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); - tc.setPosition(tc.position() + 1, QTextCursor::KeepAnchor); - cursors.append(tc); - } - } - } - - return cursors; -} - static QStringList collectFieldNames(ClassSpecifierAST *classAST, bool onlyTokensAndASTNodes) { QStringList fields; @@ -953,32 +930,6 @@ static QStringList collectFieldNames(ClassSpecifierAST *classAST, bool onlyToken return fields; } -static QString createConstructor(ClassSpecifierAST *classAST) -{ - Overview oo; - Class *clazz = classAST->symbol; - - QString result(QLatin1String(" ")); - result.append(oo(clazz->name())); - result.append(QLatin1String("()\n")); - - QStringList classFields = collectFieldNames(classAST, false); - for (int i = 0; i < classFields.size(); ++i) { - if (i == 0) { - result.append(QLatin1String(" : ")); - result.append(classFields.at(i)); - result.append(QLatin1String("(0)\n")); - } else { - result.append(QLatin1String(" , ")); - result.append(classFields.at(i)); - result.append(QLatin1String("(0)\n")); - } - } - - result.append(QLatin1String(" {}\n")); - return result; -} - bool checkGenerated(const QTextCursor &cursor, int *doxyStart) { BackwardsScanner tokens(cursor, LanguageFeatures::defaultFeatures(), 10, QString(), false); @@ -1378,8 +1329,6 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co QList<QTextCursor> baseCastMethodCursors = removeCastMethods(astNodes.base); QMap<ClassSpecifierAST *, QList<QTextCursor> > cursors; QMap<ClassSpecifierAST *, QString> replacementCastMethods; - QMap<ClassSpecifierAST *, QList<QTextCursor> > constructors; - QMap<ClassSpecifierAST *, QString> replacementConstructors; Overview oo; @@ -1395,10 +1344,6 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co QString::fromLatin1(" virtual %1 *%2() { return nullptr; }\n") .arg(className, methodName)); astDerivedClasses.append(className); - - constructors[classAST] = removeConstructors(classAST, AST_h_document->translationUnit(), - &document); - replacementConstructors[classAST] = createConstructor(classAST); } if (! baseCastMethodCursors.isEmpty()) { @@ -1419,16 +1364,8 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co c[i].removeSelectedText(); } } - { // remove the constructors. - QList<QTextCursor> c = constructors.value(classAST); - for (int i = 0; i < c.length(); ++i) { - c[i].removeSelectedText(); - } - } astNodes.endOfPublicClassSpecifiers[classIndex].insertText( - replacementConstructors.value(classAST) + - QLatin1String("\n") + replacementCastMethods.value(classAST)); } |