Class LocationRepository

java.lang.Object
com.github._1c_syntax.bsl.languageserver.references.model.LocationRepository

@Component @WorkspaceScope public class LocationRepository extends Object
Хранилище расположений обращений к символам.
  • Constructor Details

    • LocationRepository

      public LocationRepository()
  • Method Details

    • getSymbolOccurrencesByLocationUri

      public Stream<SymbolOccurrence> getSymbolOccurrencesByLocationUri(URI uri)
      Получить все обращения к символам в указанном URI.
      Parameters:
      uri - URI документа, в котором необходимо найти обращения к символам.
      Returns:
      Список найденных обращений к символам.
    • findByPosition

      public Optional<SymbolOccurrence> findByPosition(URI uri, Position position)
      Найти вхождение к символу, чей диапазон накрывает позицию. Бинарный поиск по отсортированному снимку вхождений документа: диапазоны вхождений непересекающиеся, поэтому единственный кандидат — вхождение с наибольшим началом диапазона, не превосходящим позицию.
      Parameters:
      uri - URI документа.
      position - позиция.
      Returns:
      вхождение в позиции либо empty.
    • updateLocation

      public void updateLocation(SymbolOccurrence symbolOccurrence)
      Обновить данные о расположении обращения к символу.
      Parameters:
      symbolOccurrence - Обращение к символу.
    • delete

      public void delete(URI uri)
      Удалить сохраненные расположения обращений к символам в указанном URI.
      Parameters:
      uri - URI документа для удаления расположений.