void ClangIpcServer::requestDiagnostics(const RequestDiagnosticsMessage &message) { TIME_SCOPE_DURATION("ClangIpcServer::requestDiagnostics"); try { auto translationUnit = translationUnits.translationUnit(message.file().filePath(), message.file().projectPartId()); client()->diagnosticsChanged(DiagnosticsChangedMessage(translationUnit.fileContainer(), translationUnit.mainFileDiagnostics())); } catch (const TranslationUnitDoesNotExistException &exception) { client()->translationUnitDoesNotExist(TranslationUnitDoesNotExistMessage(exception.fileContainer())); } catch (const ProjectPartDoNotExistException &exception) { client()->projectPartsDoNotExist(ProjectPartsDoNotExistMessage(exception.projectPartIds())); } catch (const std::exception &exception) { qWarning() << "Error in ClangIpcServer::requestDiagnostics:" << exception.what(); } }
void ClangCodeModelServer::requestDocumentAnnotations(const RequestDocumentAnnotationsMessage &message) { TIME_SCOPE_DURATION("ClangCodeModelServer::requestDocumentAnnotations"); try { auto translationUnit = translationUnits.translationUnit(message.fileContainer().filePath(), message.fileContainer().projectPartId()); client()->documentAnnotationsChanged(DocumentAnnotationsChangedMessage(translationUnit.fileContainer(), translationUnit.mainFileDiagnostics(), translationUnit.highlightingMarks().toHighlightingMarksContainers(), translationUnit.skippedSourceRanges().toSourceRangeContainers())); } catch (const TranslationUnitDoesNotExistException &exception) { client()->translationUnitDoesNotExist(TranslationUnitDoesNotExistMessage(exception.fileContainer())); } catch (const ProjectPartDoNotExistException &exception) { client()->projectPartsDoNotExist(ProjectPartsDoNotExistMessage(exception.projectPartIds())); } catch (const std::exception &exception) { qWarning() << "Error in ClangCodeModelServer::requestDocumentAnnotations:" << exception.what(); } }