forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
};
|
||||
Q_DECLARE_FLAGS(Conditions, Condition)
|
||||
|
||||
enum ExpirationReason {
|
||||
enum class ExpirationReason {
|
||||
Never = 1 << 0,
|
||||
|
||||
DocumentClosed = 1 << 1,
|
||||
|
||||
Reference in New Issue
Block a user