diff --git a/src/plugins/clangcodemodel/clangbackendcommunicator.cpp b/src/plugins/clangcodemodel/clangbackendcommunicator.cpp index 9cb4cb7016c..c777281897d 100644 --- a/src/plugins/clangcodemodel/clangbackendcommunicator.cpp +++ b/src/plugins/clangcodemodel/clangbackendcommunicator.cpp @@ -261,14 +261,14 @@ void BackendCommunicator::unsavedFilesUpdatedForUiHeaders() void BackendCommunicator::documentsChangedFromCppEditorDocument(const QString &filePath) { const CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); - + QTC_ASSERT(document, return); documentsChanged(filePath, document->contents(), document->revision()); } void BackendCommunicator::unsavedFielsUpdatedFromCppEditorDocument(const QString &filePath) { const CppTools::CppEditorDocumentHandle *document = ClangCodeModel::Utils::cppDocument(filePath); - + QTC_ASSERT(document, return); unsavedFilesUpdated(filePath, document->contents(), document->revision()); } diff --git a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp index 9e73dab3224..d00d488586f 100644 --- a/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp +++ b/src/plugins/clangcodemodel/clangcompletionassistprocessor.cpp @@ -122,8 +122,9 @@ static QList toAssistProposalItems( const CodeCompletions &completions, const ClangCompletionAssistInterface *interface) { - bool signalCompletion = false; // TODO - bool slotCompletion = false; // TODO + // TODO: Handle Qt4's SIGNAL/SLOT + // Possibly check for m_completionOperator == T_SIGNAL + // Possibly check for codeCompletion.completionKind == CodeCompletion::SignalCompletionKind QList items; items.reserve(completions.size()); @@ -131,11 +132,6 @@ static QList toAssistProposalItems( if (codeCompletion.text.isEmpty()) continue; // It's an OverloadCandidate which has text but no typedText. - if (signalCompletion && codeCompletion.completionKind != CodeCompletion::SignalCompletionKind) - continue; - if (slotCompletion && codeCompletion.completionKind != CodeCompletion::SlotCompletionKind) - continue; - const QString name = codeCompletion.completionKind == CodeCompletion::KeywordCompletionKind ? CompletionChunksToTextConverter::convertToName(codeCompletion.chunks) : codeCompletion.text.toString(); diff --git a/src/plugins/clangcodemodel/clangutils.cpp b/src/plugins/clangcodemodel/clangutils.cpp index 3a40ea67ac0..91770b95578 100644 --- a/src/plugins/clangcodemodel/clangutils.cpp +++ b/src/plugins/clangcodemodel/clangutils.cpp @@ -332,7 +332,9 @@ void generateCompilationDB(::Utils::FileName projectDir, CppTools::ProjectInfo p { QFile compileCommandsFile(projectDir.toString() + "/compile_commands.json"); - compileCommandsFile.open(QIODevice::WriteOnly | QIODevice::Truncate); + const bool fileOpened = compileCommandsFile.open(QIODevice::WriteOnly | QIODevice::Truncate); + if (!fileOpened) + return; compileCommandsFile.write("["); for (ProjectPart::Ptr projectPart : projectInfo.projectParts()) { const ::Utils::FileName buildDir = buildDirectory(*projectPart); diff --git a/src/tools/clangbackend/source/codecompletionsextractor.h b/src/tools/clangbackend/source/codecompletionsextractor.h index bba9aa6eb59..408badc7483 100644 --- a/src/tools/clangbackend/source/codecompletionsextractor.h +++ b/src/tools/clangbackend/source/codecompletionsextractor.h @@ -82,8 +82,8 @@ private: private: CodeCompletion currentCodeCompletion_; const UnsavedFile &unsavedFile; - CXCompletionResult currentCxCodeCompleteResult; - CXCodeCompleteResults *cxCodeCompleteResults; + CXCompletionResult currentCxCodeCompleteResult{CXCursor_UnexposedDecl, nullptr}; + CXCodeCompleteResults *cxCodeCompleteResults = nullptr; uint cxCodeCompleteResultIndex = 0; };