bool RequestDocumentAnnotationsJob::prepareAsyncRun() { const JobRequest jobRequest = context().jobRequest; QTC_ASSERT(jobRequest.type == JobRequest::Type::RequestDocumentAnnotations, return false); try { m_pinnedTranslationUnit = context().translationUnitForJobRequest(); m_pinnedFileContainer = m_pinnedTranslationUnit.fileContainer(); const TranslationUnitCore translationUnitCore = m_pinnedTranslationUnit.translationUnitCore(); setRunner([translationUnitCore]() { return runAsyncHelper(translationUnitCore); }); } catch (const std::exception &exception) { qWarning() << "Error in RequestDocumentAnnotationsJob::prepareAsyncRun:" << exception.what(); return false; } return true; }
IAsyncJob::AsyncPrepareResult UpdateDocumentAnnotationsJob::prepareAsyncRun() { const JobRequest jobRequest = context().jobRequest; QTC_ASSERT(jobRequest.type == JobRequest::Type::UpdateDocumentAnnotations, return AsyncPrepareResult()); try { m_pinnedDocument = context().documentForJobRequest(); m_pinnedFileContainer = m_pinnedDocument.fileContainer(); const TranslationUnit translationUnit = m_pinnedDocument.translationUnit(jobRequest.preferredTranslationUnit); const TranslationUnitUpdateInput updateInput = m_pinnedDocument.createUpdateInput(); setRunner([translationUnit, updateInput]() { return runAsyncHelper(translationUnit, updateInput); }); return AsyncPrepareResult{translationUnit.id()}; } catch (const std::exception &exception) { qWarning() << "Error in UpdateDocumentAnnotationsJob::prepareAsyncRun:" << exception.what(); return AsyncPrepareResult(); } }
bool CompleteCodeJob::prepareAsyncRun() { const JobRequest jobRequest = context().jobRequest; QTC_ASSERT(jobRequest.type == JobRequest::Type::CompleteCode, return false); try { m_pinnedTranslationUnit = context().translationUnitForJobRequest(); const TranslationUnitCore translationUnitCore = m_pinnedTranslationUnit.translationUnitCore(); const UnsavedFiles unsavedFiles = *context().unsavedFiles; const quint32 line = jobRequest.line; const quint32 column = jobRequest.column; setRunner([translationUnitCore, unsavedFiles, line, column]() { return runAsyncHelper(translationUnitCore, unsavedFiles, line, column); }); } catch (const std::exception &exception) { qWarning() << "Error in CompleteCodeJob::prepareAsyncRun:" << exception.what(); return false; } return true; }