From 39dea0979463fa834d99b76c6d286c0cb045f4d3 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 1 Jun 2017 13:32:23 +0200 Subject: [PATCH] CppEditor: Fix uninitialized value warnings ...from coverity scan. Change-Id: I1b1fb919e77f1407fe2e4319392c28413a296493 Reviewed-by: Robert Loehning --- .../cppeditor/cppfunctiondecldeflink.cpp | 11 ---------- .../cppeditor/cppfunctiondecldeflink.h | 21 +++++++++---------- .../cppeditor/cppinsertvirtualmethods.cpp | 15 ++++++------- src/plugins/cppeditor/cppquickfixes.cpp | 14 ++++++------- src/plugins/cppeditor/cpptypehierarchy.cpp | 6 +----- src/plugins/cppeditor/cpptypehierarchy.h | 16 +++++++------- .../cppeditor/cppuseselections_test.cpp | 2 +- .../cppeditor/cppuseselectionsupdater.cpp | 11 +++++----- .../cppeditor/cppuseselectionsupdater.h | 4 ++-- 9 files changed, 40 insertions(+), 60 deletions(-) diff --git a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp index dcc842d0bc1..9eaf09ab11c 100644 --- a/src/plugins/cppeditor/cppfunctiondecldeflink.cpp +++ b/src/plugins/cppeditor/cppfunctiondecldeflink.cpp @@ -260,17 +260,6 @@ void FunctionDeclDefLinkFinder::startFindLinkAt( m_watcher->setFuture(Utils::runAsync(findLinkHelper, result, refactoringChanges)); } -FunctionDeclDefLink::FunctionDeclDefLink() -{ - hasMarker = false; - targetLine = 0; - targetColumn = 0; - sourceFunction = 0; - targetFunction = 0; - targetDeclaration = 0; - targetFunctionDeclarator = 0; -} - bool FunctionDeclDefLink::isValid() const { return !linkSelection.isNull(); diff --git a/src/plugins/cppeditor/cppfunctiondecldeflink.h b/src/plugins/cppeditor/cppfunctiondecldeflink.h index 888e2035eb4..0698521bcdd 100644 --- a/src/plugins/cppeditor/cppfunctiondecldeflink.h +++ b/src/plugins/cppeditor/cppfunctiondecldeflink.h @@ -68,6 +68,7 @@ class FunctionDeclDefLink { Q_DECLARE_TR_FUNCTIONS(CppEditor::Internal::FunctionDeclDefLink) Q_DISABLE_COPY(FunctionDeclDefLink) + FunctionDeclDefLink() = default; public: class Marker {}; @@ -88,26 +89,24 @@ public: // The 'source' prefix denotes information about the original state // of the function before the user did any edits. CPlusPlus::Document::Ptr sourceDocument; - CPlusPlus::Function *sourceFunction; - CPlusPlus::DeclarationAST *sourceDeclaration; - CPlusPlus::FunctionDeclaratorAST *sourceFunctionDeclarator; + CPlusPlus::Function *sourceFunction = nullptr; + CPlusPlus::DeclarationAST *sourceDeclaration = nullptr; + CPlusPlus::FunctionDeclaratorAST *sourceFunctionDeclarator = nullptr; // The 'target' prefix denotes information about the remote declaration matching // the 'source' declaration, where we will try to apply the user changes. // 1-based line and column - unsigned targetLine; - unsigned targetColumn; + unsigned targetLine = 0; + unsigned targetColumn = 0; QString targetInitial; CppTools::CppRefactoringFileConstPtr targetFile; - CPlusPlus::Function *targetFunction; - CPlusPlus::DeclarationAST *targetDeclaration; - CPlusPlus::FunctionDeclaratorAST *targetFunctionDeclarator; + CPlusPlus::Function *targetFunction = nullptr; + CPlusPlus::DeclarationAST *targetDeclaration = nullptr; + CPlusPlus::FunctionDeclaratorAST *targetFunctionDeclarator = nullptr; private: - FunctionDeclDefLink(); - - bool hasMarker; + bool hasMarker = false; friend class FunctionDeclDefLinkFinder; }; diff --git a/src/plugins/cppeditor/cppinsertvirtualmethods.cpp b/src/plugins/cppeditor/cppinsertvirtualmethods.cpp index cc97d5282d4..2d898353b27 100644 --- a/src/plugins/cppeditor/cppinsertvirtualmethods.cpp +++ b/src/plugins/cppeditor/cppinsertvirtualmethods.cpp @@ -197,12 +197,12 @@ public: Qt::ItemFlags flags() const; Qt::CheckState checkState() const { return checked ? Qt::Checked : Qt::Unchecked; } - const Function *function; - InsertionPointLocator::AccessSpec accessSpec; - bool reimplemented; - bool alreadyFound; - bool checked; - FunctionItem *nextOverride; + const Function *function = nullptr; + InsertionPointLocator::AccessSpec accessSpec = InsertionPointLocator::Invalid; + bool reimplemented = false; + bool alreadyFound = false; + bool checked = false; + FunctionItem *nextOverride = nullptr; private: QString name; @@ -256,9 +256,6 @@ void ClassItem::removeFunction(int row) FunctionItem::FunctionItem(const Function *func, const QString &functionName, ClassItem *parent) : InsertVirtualMethodsItem(parent), function(func), - reimplemented(false), - alreadyFound(false), - checked(false), nextOverride(this) { name = functionName; diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index 07373ace5fb..f4e0b726917 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -824,9 +824,9 @@ public: ASTMatcher matcher; ASTPatternBuilder mk; - ConditionAST *condition; - IfStatementAST *pattern; - CoreDeclaratorAST *core; + ConditionAST *condition = nullptr; + IfStatementAST *pattern = nullptr; + CoreDeclaratorAST *core = nullptr; }; } // anonymous namespace @@ -901,9 +901,9 @@ public: ASTMatcher matcher; ASTPatternBuilder mk; - ConditionAST *condition; - WhileStatementAST *pattern; - CoreDeclaratorAST *core; + ConditionAST *condition = nullptr; + WhileStatementAST *pattern = nullptr; + CoreDeclaratorAST *core = nullptr; }; } // anonymous namespace @@ -2235,7 +2235,7 @@ public: } Overview prettyPrint; - bool foundCaseStatementLevel; + bool foundCaseStatementLevel = false; QStringList values; TypeOfExpression typeOfExpression; Document::Ptr document; diff --git a/src/plugins/cppeditor/cpptypehierarchy.cpp b/src/plugins/cppeditor/cpptypehierarchy.cpp index 81ff3c2a929..47ca64f9a26 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.cpp +++ b/src/plugins/cppeditor/cpptypehierarchy.cpp @@ -87,11 +87,7 @@ namespace Internal { // CppTypeHierarchyWidget CppTypeHierarchyWidget::CppTypeHierarchyWidget() : - QWidget(0), - m_treeView(0), - m_model(0), - m_delegate(0), - m_noTypeHierarchyAvailableLabel(0) + QWidget(0) { m_inspectedClass = new TextEditor::TextEditorLinkLabel(this); m_inspectedClass->setMargin(5); diff --git a/src/plugins/cppeditor/cpptypehierarchy.h b/src/plugins/cppeditor/cpptypehierarchy.h index 9d9f4031dda..125fb58338c 100644 --- a/src/plugins/cppeditor/cpptypehierarchy.h +++ b/src/plugins/cppeditor/cpptypehierarchy.h @@ -87,14 +87,14 @@ private: void clearTypeHierarchy(); void onItemActivated(const QModelIndex &index); - CppEditorWidget *m_cppEditor; - Utils::NavigationTreeView *m_treeView; - QWidget *m_hierarchyWidget; - QStackedLayout *m_stackLayout; - QStandardItemModel *m_model; - Utils::AnnotatedItemDelegate *m_delegate; - TextEditor::TextEditorLinkLabel *m_inspectedClass; - QLabel *m_noTypeHierarchyAvailableLabel; + CppEditorWidget *m_cppEditor = nullptr; + Utils::NavigationTreeView *m_treeView = nullptr; + QWidget *m_hierarchyWidget = nullptr; + QStackedLayout *m_stackLayout = nullptr; + QStandardItemModel *m_model = nullptr; + Utils::AnnotatedItemDelegate *m_delegate = nullptr; + TextEditor::TextEditorLinkLabel *m_inspectedClass = nullptr; + QLabel *m_noTypeHierarchyAvailableLabel = nullptr; }; class CppTypeHierarchyFactory : public Core::INavigationWidgetFactory diff --git a/src/plugins/cppeditor/cppuseselections_test.cpp b/src/plugins/cppeditor/cppuseselections_test.cpp index ba15e19e43e..943f1d4ec69 100644 --- a/src/plugins/cppeditor/cppuseselections_test.cpp +++ b/src/plugins/cppeditor/cppuseselections_test.cpp @@ -74,7 +74,7 @@ private: SelectionList waitForUseSelections(bool *hasTimedOut) const; private: - CppEditorWidget *m_editorWidget; + CppEditorWidget *m_editorWidget = nullptr; }; UseSelectionsTestCase::UseSelectionsTestCase(TestDocument &testFile, diff --git a/src/plugins/cppeditor/cppuseselectionsupdater.cpp b/src/plugins/cppeditor/cppuseselectionsupdater.cpp index 1152ada8fff..be6a9a045b5 100644 --- a/src/plugins/cppeditor/cppuseselectionsupdater.cpp +++ b/src/plugins/cppeditor/cppuseselectionsupdater.cpp @@ -54,19 +54,18 @@ namespace { class FunctionDefinitionUnderCursor: protected ASTVisitor { - unsigned _line; - unsigned _column; - DeclarationAST *_functionDefinition; + unsigned _line = 0; + unsigned _column = 0; + DeclarationAST *_functionDefinition = nullptr; public: FunctionDefinitionUnderCursor(TranslationUnit *translationUnit) - : ASTVisitor(translationUnit), - _line(0), _column(0) + : ASTVisitor(translationUnit) { } DeclarationAST *operator()(AST *ast, unsigned line, unsigned column) { - _functionDefinition = 0; + _functionDefinition = nullptr; _line = line; _column = column; accept(ast); diff --git a/src/plugins/cppeditor/cppuseselectionsupdater.h b/src/plugins/cppeditor/cppuseselectionsupdater.h index 49e3fcd3911..ced3cae8ad8 100644 --- a/src/plugins/cppeditor/cppuseselectionsupdater.h +++ b/src/plugins/cppeditor/cppuseselectionsupdater.h @@ -104,8 +104,8 @@ private: CPlusPlus::Document::Ptr m_document; QScopedPointer> m_findUsesWatcher; - int m_findUsesRevision; - int m_findUsesCursorPosition; + int m_findUsesRevision = -1; + int m_findUsesCursorPosition = -1; }; } // namespace Internal