Interface VariableSymbol
- All Superinterfaces:
Comparable<VariableSymbol>, Describable, Exportable, SourceDefinedSymbol, Symbol
- All Known Implementing Classes:
AbstractVariableSymbol, AnnotatedVariableSymbol, IntBasedVariableSymbol, ShortBasedVariableSymbol
public interface VariableSymbol
extends SourceDefinedSymbol, Exportable, Describable, Comparable<VariableSymbol>
Информация о символе, представляющем собой переменную.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Comparator<VariableSymbol> Естественный порядок переменных: имя → URI владельца → позиция начала имени (строка, символ). -
Method Summary
Modifier and TypeMethodDescriptionbuilder()default intcompareTo(VariableSymbol other) default List<Annotation> Аннотации, навешанные на объявление переменной (например,&Пластилинфреймворка ОСень).getKind()getScope()intКонечный символ имени переменной в строке объявления.intСтрока, в которой определено имя переменной.intНачальный символ имени переменной в строке объявления.Methods inherited from interface Describable
getSymbolDescriptionMethods inherited from interface Exportable
isExportMethods inherited from interface SourceDefinedSymbol
getChildren, getOwner, getParent, getRange, getRootParent, getRootParent, getSelectionRange, setParentMethods inherited from interface Symbol
accept, getName, getSymbolKind, getTags, isDeprecated
-
Field Details
-
NATURAL_ORDER
Естественный порядок переменных: имя → URI владельца → позиция начала имени (строка, символ). Старт имени уникален в пределах документа, поэтому этого достаточно для строгого порядка.
-
-
Method Details
-
getKind
VariableKind getKind()- Returns:
- Вид переменной
-
getAnnotations
Аннотации, навешанные на объявление переменной (например,&Пластилинфреймворка ОСень). Для подавляющего большинства переменных список пуст, поэтому он не хранится в объекте символа — см.AnnotatedVariableSymbol.- Returns:
- список аннотаций; пустой, если их нет.
-
getVariableNameRange
Range getVariableNameRange()- Returns:
- Диапазон, в котором определено имя переменной.
-
getVariableNameLine
int getVariableNameLine()Строка, в которой определено имя переменной.- Returns:
- номер строки имени переменной.
-
getVariableNameStartCharacter
int getVariableNameStartCharacter()Начальный символ имени переменной в строке объявления.- Returns:
- номер начального символа имени переменной.
-
getVariableNameEndCharacter
int getVariableNameEndCharacter()Конечный символ имени переменной в строке объявления.- Returns:
- номер конечного символа имени переменной.
-
getDescription
Optional<VariableDescription> getDescription()- Specified by:
getDescriptionin interfaceDescribable- Returns:
- Описание символа в форме, поставляемой
bsl-parser'ом (используется диагностиками, которые знают конкретные подтипыMethodDescription/VariableDescriptionи т.п.).
-
getScope
SourceDefinedSymbol getScope()- Returns:
- Область объявления переменной.
-
builder
-
compareTo
- Specified by:
compareToin interfaceComparable<VariableSymbol>
-