Class AbstractMethodComplexityCodeLensSupplier
java.lang.Object
com.github._1c_syntax.bsl.languageserver.codelenses.AbstractMethodComplexityCodeLensSupplier
- All Implemented Interfaces:
CodeLensSupplier<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData>
- Direct Known Subclasses:
CognitiveComplexityCodeLensSupplier,CyclomaticComplexityCodeLensSupplier
public abstract class AbstractMethodComplexityCodeLensSupplier
extends Object
implements CodeLensSupplier<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData>
Базовый класс для реализации линз, показывающих сложность методов в документе.
Конкретный сапплаер должен иметь ресурс-бандл со свойством title, имеющим один числовой параметр %d.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classDTO для хранения данных линз о сложности методов в документе. -
Field Summary
FieldsFields inherited from interface com.github._1c_syntax.bsl.languageserver.codelenses.CodeLensSupplier
CODE_LENS_SUPPLIER_SUFFIX -
Constructor Summary
ConstructorsConstructorDescriptionAbstractMethodComplexityCodeLensSupplier(LanguageServerConfiguration configuration, AbstractToggleComplexityInlayHintsCommandSupplier commandSupplier) -
Method Summary
Modifier and TypeMethodDescriptionПолучить класс для хранения данных линзы.getCodeLenses(DocumentContext documentContext) Получить список линз, доступных в документе.protected abstract Map<MethodSymbol,Integer> getMethodsComplexity(DocumentContext documentContext) Получить данные о сложности в разрезе символов.resolve(DocumentContext documentContext, CodeLens unresolved, AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData data) Выполнить операцию "разрешения" линзы.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github._1c_syntax.bsl.languageserver.codelenses.CodeLensSupplier
getId, isApplicable
-
Field Details
-
configuration
-
-
Constructor Details
-
AbstractMethodComplexityCodeLensSupplier
@ConstructorProperties({"configuration","commandSupplier"}) public AbstractMethodComplexityCodeLensSupplier(LanguageServerConfiguration configuration, AbstractToggleComplexityInlayHintsCommandSupplier commandSupplier)
-
-
Method Details
-
getCodeLenses
Description copied from interface:CodeLensSupplierПолучить список линз, доступных в документе.Предпочтительно, чтобы линзы, возвращаемые этим методом были "не-разрешенными"
- Specified by:
getCodeLensesin interfaceCodeLensSupplier<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData>- Parameters:
documentContext- Документ, для которого надо рассчитать линзы.- Returns:
- Список линз.
-
resolve
public CodeLens resolve(DocumentContext documentContext, CodeLens unresolved, AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData data) Description copied from interface:CodeLensSupplierВыполнить операцию "разрешения" линзы.По умолчанию линза возвращается не-разрешенной.
- Specified by:
resolvein interfaceCodeLensSupplier<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData>- Parameters:
documentContext- Документ, которому принадлежит линза.unresolved- Линза, которую надо разрешить.data- Десериализованные данные линзы.- Returns:
- Разрешенная линза (с заполненным полем
CodeLens.getCommand())
-
getCodeLensDataClass
public Class<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData> getCodeLensDataClass()Description copied from interface:CodeLensSupplierПолучить класс для хранения данных линзы.При создании не-разрешенной линзы поле
CodeLens.setData(Object)должно заполняться объектом данного класса.- Specified by:
getCodeLensDataClassin interfaceCodeLensSupplier<AbstractMethodComplexityCodeLensSupplier.ComplexityCodeLensData>- Returns:
- Конкретный класс для хранения данных линзы.
-
getMethodsComplexity
Получить данные о сложности в разрезе символов.- Parameters:
documentContext- Документ, для которого нужно рассчитать информацию о сложностях методов.- Returns:
- Данные о сложности методов.
-