From 91cf73361b6ccb51c13047012a296846867f67a4 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Fri, 28 Jul 2017 14:51:03 +0200 Subject: [PATCH] Clang: Clean up JobRequest::ExpirationReasons Make it a class enum and remove some noise. Change-Id: Icd83f680c0df5eed0579c853ce5b4615e7822a28 Reviewed-by: Ivan Donchevskii Reviewed-by: Marco Bubke --- .../clangbackend/ipcsource/clangjobqueue.cpp | 9 ++++--- .../ipcsource/clangjobrequest.cpp | 27 ++++++++----------- .../clangbackend/ipcsource/clangjobrequest.h | 2 +- 3 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/tools/clangbackend/ipcsource/clangjobqueue.cpp b/src/tools/clangbackend/ipcsource/clangjobqueue.cpp index b4cc059aeb3..341c9a89def 100644 --- a/src/tools/clangbackend/ipcsource/clangjobqueue.cpp +++ b/src/tools/clangbackend/ipcsource/clangjobqueue.cpp @@ -94,8 +94,9 @@ bool JobQueue::isJobRequestExpired(const JobRequest &jobRequest) const { const JobRequest::ExpirationReasons expirationReasons = jobRequest.expirationReasons; const UnsavedFiles unsavedFiles = m_documents.unsavedFiles(); + using ExpirationReason = JobRequest::ExpirationReason; - if (expirationReasons.testFlag(JobRequest::UnsavedFilesChanged)) { + if (expirationReasons.testFlag(ExpirationReason::UnsavedFilesChanged)) { if (jobRequest.unsavedFilesChangeTimePoint != unsavedFiles.lastChangeTimePoint()) { qCDebug(jobsLog) << "Removing due to outdated unsaved files:" << jobRequest; return true; @@ -104,7 +105,7 @@ bool JobQueue::isJobRequestExpired(const JobRequest &jobRequest) const bool projectCheckedAndItExists = false; - if (expirationReasons.testFlag(JobRequest::DocumentClosed)) { + if (expirationReasons.testFlag(ExpirationReason::DocumentClosed)) { if (!m_documents.hasDocument(jobRequest.filePath, jobRequest.projectPartId)) { qCDebug(jobsLog) << "Removing due to already closed document:" << jobRequest; return true; @@ -123,7 +124,7 @@ bool JobQueue::isJobRequestExpired(const JobRequest &jobRequest) const return true; } - if (expirationReasons.testFlag(JobRequest::DocumentRevisionChanged)) { + if (expirationReasons.testFlag(ExpirationReason::DocumentRevisionChanged)) { if (document.documentRevision() > jobRequest.documentRevision) { qCDebug(jobsLog) << "Removing due to changed document revision:" << jobRequest; return true; @@ -131,7 +132,7 @@ bool JobQueue::isJobRequestExpired(const JobRequest &jobRequest) const } } - if (expirationReasons.testFlag(JobRequest::ProjectChanged)) { + if (expirationReasons.testFlag(ExpirationReason::ProjectChanged)) { if (!projectCheckedAndItExists && !m_projectParts.hasProjectPart(jobRequest.projectPartId)) { qCDebug(jobsLog) << "Removing due to already closed project:" << jobRequest; return true; diff --git a/src/tools/clangbackend/ipcsource/clangjobrequest.cpp b/src/tools/clangbackend/ipcsource/clangjobrequest.cpp index bb9eb9bb993..1e5032373a0 100644 --- a/src/tools/clangbackend/ipcsource/clangjobrequest.cpp +++ b/src/tools/clangbackend/ipcsource/clangjobrequest.cpp @@ -108,28 +108,23 @@ bool JobRequest::operator==(const JobRequest &other) const JobRequest::ExpirationReasons JobRequest::expirationReasonsForType(Type type) { switch (type) { - case JobRequest::Type::UpdateDocumentAnnotations: - return JobRequest::ExpirationReasons(JobRequest::AnythingChanged); - case JobRequest::Type::RequestReferences: - case JobRequest::Type::RequestDocumentAnnotations: - return JobRequest::ExpirationReasons(JobRequest::DocumentClosed - |JobRequest::DocumentRevisionChanged); - case JobRequest::Type::CompleteCode: - case JobRequest::Type::CreateInitialDocumentPreamble: - case JobRequest::Type::ParseSupportiveTranslationUnit: - case JobRequest::Type::ReparseSupportiveTranslationUnit: - return JobRequest::ExpirationReasons(JobRequest::DocumentClosed); + case Type::UpdateDocumentAnnotations: + return ExpirationReasons(ExpirationReason::AnythingChanged); + case Type::RequestReferences: + case Type::RequestDocumentAnnotations: + return ExpirationReasons(ExpirationReason::DocumentClosed) + | ExpirationReasons(ExpirationReason::DocumentRevisionChanged); + default: + return ExpirationReason::DocumentClosed; } - - return JobRequest::ExpirationReasons(JobRequest::DocumentClosed); } JobRequest::Conditions JobRequest::conditionsForType(JobRequest::Type type) { - if (type == JobRequest::Type::RequestReferences) - return JobRequest::Conditions(JobRequest::Condition::CurrentDocumentRevision); + if (type == Type::RequestReferences) + return Conditions(Condition::CurrentDocumentRevision); - return JobRequest::Conditions(JobRequest::Condition::NoCondition); + return Conditions(Condition::NoCondition); } } // namespace ClangBackEnd diff --git a/src/tools/clangbackend/ipcsource/clangjobrequest.h b/src/tools/clangbackend/ipcsource/clangjobrequest.h index a931514e854..0b47d681903 100644 --- a/src/tools/clangbackend/ipcsource/clangjobrequest.h +++ b/src/tools/clangbackend/ipcsource/clangjobrequest.h @@ -61,7 +61,7 @@ public: }; Q_DECLARE_FLAGS(Conditions, Condition) - enum ExpirationReason { + enum class ExpirationReason { Never = 1 << 0, DocumentClosed = 1 << 1,