本文整理汇总了C++中TranslationUnit::extractAnnotations方法的典型用法代码示例。如果您正苦于以下问题:C++ TranslationUnit::extractAnnotations方法的具体用法?C++ TranslationUnit::extractAnnotations怎么用?C++ TranslationUnit::extractAnnotations使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TranslationUnit
的用法示例。
在下文中一共展示了TranslationUnit::extractAnnotations方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: prepareAsyncRun
IAsyncJob::AsyncPrepareResult UpdateAnnotationsJob::prepareAsyncRun()
{
const JobRequest jobRequest = context().jobRequest;
QTC_ASSERT(isExpectedJobRequestType(jobRequest), return AsyncPrepareResult());
QTC_ASSERT(acquireDocument(), return AsyncPrepareResult());
const TranslationUnit translationUnit = *m_translationUnit;
const TranslationUnitUpdateInput updateInput = createUpdateInput(m_pinnedDocument);
setRunner([translationUnit, updateInput]() {
TIME_SCOPE_DURATION("UpdateAnnotationsJobRunner");
// Update
UpdateAnnotationsJob::AsyncResult asyncResult;
asyncResult.updateResult = translationUnit.update(updateInput);
// Collect
translationUnit.extractAnnotations(asyncResult.firstHeaderErrorDiagnostic,
asyncResult.diagnostics,
asyncResult.tokenInfos,
asyncResult.skippedSourceRanges);
asyncResult.unresolvedFilePaths.unite(
unresolvedFilePaths({asyncResult.firstHeaderErrorDiagnostic}));
asyncResult.unresolvedFilePaths.unite(unresolvedFilePaths(asyncResult.diagnostics));
return asyncResult;
});
return AsyncPrepareResult{translationUnit.id()};
}