Class AbstractDiagnosticReporter

java.lang.Object
com.github._1c_syntax.bsl.languageserver.reporters.AbstractDiagnosticReporter
All Implemented Interfaces:
DiagnosticReporter
Direct Known Subclasses:
CodeQualityReporter, GenericIssueReporter, SarifReporter

public abstract class AbstractDiagnosticReporter extends Object implements DiagnosticReporter
Базовый класс для reporters, которым нужен доступ к per-workspace данным.
  • Field Details

    • serverContextProvider

      protected final ServerContextProvider serverContextProvider
      Провайдер per-workspace ServerContext.
    • diagnosticInfos

      protected final DiagnosticInfos diagnosticInfos
      Реестр метаинформации о диагностиках.
  • Constructor Details

    • AbstractDiagnosticReporter

      @ConstructorProperties({"serverContextProvider","diagnosticInfos"}) public AbstractDiagnosticReporter(ServerContextProvider serverContextProvider, DiagnosticInfos diagnosticInfos)
      Creates a new AbstractDiagnosticReporter instance.
      Parameters:
      serverContextProvider - Провайдер per-workspace ServerContext.
      diagnosticInfos - Реестр метаинформации о диагностиках.
  • Method Details

    • getServerContext

      protected ServerContext getServerContext(AnalysisInfo analysisInfo)
      Получить ServerContext для workspace из AnalysisInfo.
      Parameters:
      analysisInfo - информация об анализе, содержащая каталог исходников workspace
      Returns:
      контекст workspace, соответствующий каталогу исходников
    • getDiagnosticInfosByCode

      protected Map<String, DiagnosticInfo> getDiagnosticInfosByCode()
      Получить соответствие «код диагностики → DiagnosticInfo».
      Returns:
      карта метаинформации о диагностиках по их кодам