Interface SourceDefinedSymbol
- All Superinterfaces:
Symbol
- All Known Subinterfaces:
MethodSymbol, VariableSymbol
- All Known Implementing Classes:
AbstractMethodSymbol, AbstractVariableSymbol, AnnotatedVariableSymbol, AnnotationParamSymbol, AnnotationSymbol, ConstructorSymbol, IntBasedVariableSymbol, ModuleSymbol, RegionSymbol, RegularMethodSymbol, ShortBasedVariableSymbol
Мета-информация о логически конечной единице, созданной и описанной в исходном коде, например,
объявленный в коде метод, созданная область и т.д.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetOwner()getRange()default Optional<SourceDefinedSymbol> getRootParent(Class<? extends SourceDefinedSymbol> type) Получить наиболее близкий к корню символ-предок указанного типа.default Optional<SourceDefinedSymbol> getRootParent(SymbolKind symbolKind) Получить наиболее близкий к корню символ указанного типа.voidsetParent(Optional<SourceDefinedSymbol> symbol) Methods inherited from interface Symbol
accept, getName, getSymbolKind, getTags, isDeprecated
-
Method Details
-
getOwner
DocumentContext getOwner()- Returns:
- Документ, в котором объявлен данный символ.
-
getRange
Range getRange()- Returns:
- Диапазон, который захватывает символ.
-
getSelectionRange
Range getSelectionRange()- Returns:
- Место интереса символа. Например, диапазон, где указано имя символа (в противовес полной строки декларации символа).
-
getParent
Optional<SourceDefinedSymbol> getParent()- Returns:
- Символ, внутри которого располагается данный символ.
-
setParent
- Parameters:
symbol- Символ, внутри которого располагается данный символ.
-
getChildren
List<SourceDefinedSymbol> getChildren()- Returns:
- Список "детей" символа - символов, которые располагаются внутри данного символа.
-
getRootParent
Получить наиболее близкий к корню символ указанного типа.Например, если переменная объявлена внутри области, которая в свою очередь объявлена внутри области, вызов данного метода с
SymbolKind.Namespaceвернет внешнюю область.- Parameters:
symbolKind- Тип искомого символа- Returns:
- Найденный символ.
-
getRootParent
Получить наиболее близкий к корню символ-предок указанного типа.В отличие от
getRootParent(SymbolKind), поиск ведётся по классу символа, а не поSymbolKind. Это важно для области метода: и обычный метод, и конструктор OneScript-класса (ПриСозданииОбъекта) являютсяMethodSymbol, но имеют разныеSymbolKind(MethodиConstructorсоответственно).- Parameters:
type- класс искомого символа-предка- Returns:
- найденный символ-предок.
-