Class LocationRepository
java.lang.Object
com.github._1c_syntax.bsl.languageserver.references.model.LocationRepository
Хранилище расположений обращений к символам.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidУдалить сохраненные расположения обращений к символам в указанном URI.findByPosition(URI uri, Position position) Найти вхождение к символу, чей диапазон накрывает позицию.Получить все обращения к символам в указанном URI.voidreplaceOccurrences(URI uri, Collection<SymbolOccurrence> occurrences) Заменить полный набор вхождений документа.
-
Constructor Details
-
LocationRepository
public LocationRepository()
-
-
Method Details
-
getSymbolOccurrencesByLocationUri
Получить все обращения к символам в указанном URI.- Parameters:
uri- URI документа, в котором необходимо найти обращения к символам.- Returns:
- Список найденных обращений к символам.
-
findByPosition
Найти вхождение к символу, чей диапазон накрывает позицию. Бинарный поиск по отсортированному снимку вхождений документа: диапазоны вхождений непересекающиеся, поэтому единственный кандидат — вхождение с наибольшим началом диапазона, не превосходящим позицию.- Parameters:
uri- URI документа.position- позиция.- Returns:
- вхождение в позиции либо empty.
-
replaceOccurrences
Заменить полный набор вхождений документа. Основной путь записи: перестроение документа собирает набор в буфер и заменяет его целиком одним атомарным swap-ом.- Parameters:
uri- URI документа.occurrences- Новый набор вхождений документа (без дубликатов).
-
delete
Удалить сохраненные расположения обращений к символам в указанном URI.- Parameters:
uri- URI документа для удаления расположений.
-