Class AbstractVariableSymbol
java.lang.Object
com.github._1c_syntax.bsl.languageserver.context.symbol.AbstractVariableSymbol
- All Implemented Interfaces:
Describable, Exportable, SourceDefinedSymbol, Symbol, VariableSymbol, Comparable<VariableSymbol>
- Direct Known Subclasses:
IntBasedVariableSymbol, ShortBasedVariableSymbol
Общая реализация символа переменной.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from interface VariableSymbol
NATURAL_ORDER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractVariableSymbol(String name, SourceDefinedSymbol scope, Optional<SourceDefinedSymbol> parent, byte kind, boolean export) -
Method Summary
Modifier and TypeMethodDescriptionvoidaccept(SymbolTreeVisitor visitor) Обработчик захода в символ при обходе символьного дерева.builder()protected booleanbooleanОписание переменной.getKind()getName()Имя переменной.getOwner()Файл, в котором располагается переменная, — файл её области.getScope()Область доступности символа.inthashCode()booleanisExport()Признак экспортной переменной.voidsetParent(Optional<SourceDefinedSymbol> parent) toString()Methods inherited from interface Describable
getSymbolDescriptionMethods inherited from interface SourceDefinedSymbol
containsPosition, getRange, getRootParent, getRootParentMethods inherited from interface Symbol
getTags, isDeprecatedMethods inherited from interface VariableSymbol
compareTo, getAnnotations, getVariableNameEndCharacter, getVariableNameLine, getVariableNameRange, getVariableNameStartCharacter
-
Constructor Details
-
AbstractVariableSymbol
protected AbstractVariableSymbol(String name, SourceDefinedSymbol scope, Optional<SourceDefinedSymbol> parent, byte kind, boolean export)
-
-
Method Details
-
getOwner
Файл, в котором располагается переменная, — файл её области. Не хранится: переменных на большой конфигурации миллионы, и поле на каждую стоило бы десятки мегабайт.- Specified by:
getOwnerin interfaceSourceDefinedSymbol- Returns:
- Документ, в котором объявлен данный символ.
-
getDescription
Описание переменной. Описана малая доля переменных, и описание хранит отдельный подкласс (DescribedVariableSymbol), а не поле каждой переменной.- Specified by:
getDescriptionin interfaceDescribable- Specified by:
getDescriptionin interfaceVariableSymbol- Returns:
- Описание символа в форме, поставляемой
bsl-parser'ом (используется диагностиками, которые знают конкретные подтипыMethodDescription/VariableDescriptionи т.п.).
-
getParent
- Specified by:
getParentin interfaceSourceDefinedSymbol- Returns:
- Символ, внутри которого располагается данный символ.
-
setParent
- Specified by:
setParentin interfaceSourceDefinedSymbol- Parameters:
parent- Символ, внутри которого располагается данный символ.
-
getChildren
- Specified by:
getChildrenin interfaceSourceDefinedSymbol- Returns:
- Список "детей" символа - символов, которые располагаются внутри данного символа.
-
getSymbolKind
- Specified by:
getSymbolKindin interfaceSymbol- Returns:
- Тип символа.
-
getKind
- Specified by:
getKindin interfaceVariableSymbol- Returns:
- Вид переменной
-
accept
Description copied from interface:SymbolОбработчик захода в символ при обходе символьного дерева. -
getSelectionRange
- Specified by:
getSelectionRangein interfaceSourceDefinedSymbol- Returns:
- Место интереса символа. Например, диапазон, где указано имя символа (в противовес полной строки декларации символа).
-
builder
-
getName
-
getScope
Область доступности символа. Метод или модуль; файл переменной — её файл (см.getOwner()).- Specified by:
getScopein interfaceVariableSymbol- Returns:
- Область объявления переменной.
-
isExport
public boolean isExport()Признак экспортной переменной.- Specified by:
isExportin interfaceExportable- Returns:
- Сущность является экспортной.
-
equals
-
canEqual
-
hashCode
-
toString
-