Interface InlayHintSupplier<T extends InlayHintData>
- Type Parameters:
T- Конкретный тип для данных хинта.
- All Known Implementing Classes:
AbstractComplexityInlayHintSupplier, AbstractMethodCallInlayHintSupplier, CognitiveComplexityInlayHintSupplier, CyclomaticComplexityInlayHintSupplier, PlatformMethodCallInlayHintSupplier, SourceDefinedMethodCallInlayHintSupplier, VariableTypeInlayHintSupplier
public interface InlayHintSupplier<T extends InlayHintData>
Базовый интерфейс для наполнения
InlayHintProvider
данными о доступных в документе inlay hints.
Для хранения промежуточных данных между созданием и разрешением хинта необходимо использовать
поле InlayHint.setData(Object), заполняя его объектом класса
getInlayHintDataClass().
Конкретный сапплаер может расширить состав данных, хранимых в хинте, доопределив дата-класс,
наследующий InlayHintData, и указав его тип в качестве типа-параметра класса.
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptiondefault StringgetId()Идентификатор сапплаера.Получить класс для хранения данных хинта.getInlayHints(DocumentContext documentContext, InlayHintParams params) Получить inlay hints, доступные в документе.default InlayHintresolve(DocumentContext documentContext, InlayHint unresolved, T data) Дорассчитать «тяжёлые» поля хинта (tooltip и т.п.) при обработкеinlayHint/resolve.
-
Field Details
-
INLAY_HINT_SUPPLIER
- See Also:
-
-
Method Details
-
getId
Идентификатор сапплаера. Если хинт содержит полеInlayHint.getData(), идентификатор в данных хинта должен совпадать с данным идентификатором.- Returns:
- Идентификатор сапплаера.
-
getInlayHints
Получить inlay hints, доступные в документе.- Parameters:
documentContext- Контекст документа, для которого надо рассчитать inlay hints.params- Параметры запроса.- Returns:
- Список inlay hints в документе.
-
getInlayHintDataClass
Получить класс для хранения данных хинта.При создании не-разрешённого хинта поле
InlayHint.setData(Object)должно заполняться объектом данного класса.- Returns:
- Конкретный класс для хранения данных хинта.
-
resolve
Дорассчитать «тяжёлые» поля хинта (tooltip и т.п.) при обработкеinlayHint/resolve.Базовая реализация возвращает хинт без изменений: сапплаеры, не откладывающие построение полей, ничего не делают на резолве. Сапплаеры, кладущие данные в
InlayHint.getData()при жадном расчёте, должны переопределить метод и восстановить отложенные поля по этим данным.- Parameters:
documentContext- Контекст документа, к которому относится хинт.unresolved- Неразрешённый хинт (с заполненнымInlayHint.getData()).data- Десериализованные данные хинта.- Returns:
- Разрешённый хинт.
-