forked from qt-creator/qt-creator
Clang: Move acquisition of document data into DocumentJob
...to remove more boiler plate code in the job classes. Change-Id: I21b07c1c74c9e2c1cd1cbf302ac801ed583642ed Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -57,28 +57,21 @@ IAsyncJob::AsyncPrepareResult CompleteCodeJob::prepareAsyncRun()
|
||||
{
|
||||
const JobRequest jobRequest = context().jobRequest;
|
||||
QTC_ASSERT(jobRequest.type == JobRequest::Type::CompleteCode, return AsyncPrepareResult());
|
||||
QTC_ASSERT(acquireDocument(), return AsyncPrepareResult());
|
||||
|
||||
try {
|
||||
m_pinnedDocument = context().documentForJobRequest();
|
||||
const TranslationUnit translationUnit = *m_translationUnit;
|
||||
const UnsavedFiles unsavedFiles = *context().unsavedFiles;
|
||||
const quint32 line = jobRequest.line;
|
||||
const quint32 column = jobRequest.column;
|
||||
const qint32 funcNameStartLine = jobRequest.funcNameStartLine;
|
||||
const qint32 funcNameStartColumn = jobRequest.funcNameStartColumn;
|
||||
setRunner([translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn]() {
|
||||
return runAsyncHelper(translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn);
|
||||
});
|
||||
|
||||
const TranslationUnit translationUnit
|
||||
= m_pinnedDocument.translationUnit(jobRequest.preferredTranslationUnit);
|
||||
const UnsavedFiles unsavedFiles = *context().unsavedFiles;
|
||||
const quint32 line = jobRequest.line;
|
||||
const quint32 column = jobRequest.column;
|
||||
const qint32 funcNameStartLine = jobRequest.funcNameStartLine;
|
||||
const qint32 funcNameStartColumn = jobRequest.funcNameStartColumn;
|
||||
setRunner([translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn]() {
|
||||
return runAsyncHelper(translationUnit, unsavedFiles, line, column,
|
||||
funcNameStartLine, funcNameStartColumn);
|
||||
});
|
||||
return AsyncPrepareResult{translationUnit.id()};
|
||||
|
||||
} catch (const std::exception &exception) {
|
||||
qWarning() << "Error in CompleteCodeJob::prepareAsyncRun:" << exception.what();
|
||||
return AsyncPrepareResult();
|
||||
}
|
||||
return AsyncPrepareResult{translationUnit.id()};
|
||||
}
|
||||
|
||||
void CompleteCodeJob::finalizeAsyncRun()
|
||||
|
||||
Reference in New Issue
Block a user