Clang: Clean up JobRequest::ExpirationReasons

Make it a class enum and remove some noise.

Change-Id: Icd83f680c0df5eed0579c853ce5b4615e7822a28
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
Nikolai Kosjar
2017-07-28 14:51:03 +02:00
parent 724573324c
commit 91cf73361b
3 changed files with 17 additions and 21 deletions

View File

@@ -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;

View File

@@ -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

View File

@@ -61,7 +61,7 @@ public:
};
Q_DECLARE_FLAGS(Conditions, Condition)
enum ExpirationReason {
enum class ExpirationReason {
Never = 1 << 0,
DocumentClosed = 1 << 1,