Interface SourceDefinedSymbol

All Superinterfaces:
Symbol
All Known Subinterfaces:
VariableSymbol
All Known Implementing Classes:
AbstractVariableSymbol, IntBasedVariableSymbol, MethodSymbol, ModuleSymbol, RegionSymbol, ShortBasedVariableSymbol

public interface SourceDefinedSymbol extends Symbol
Мета-информация о логически конечной единице, созданной и описанной в исходном коде, например, объявленный в коде метод, созданная область и т.д.
See Also:
  • Method Details

    • getOwner

      DocumentContext getOwner()
      Returns:
      Документ, в котором объявлен данный символ.
    • getRange

      Range getRange()
      Returns:
      Диапазон, который захватывает символ.
    • getSelectionRange

      Range getSelectionRange()
      Returns:
      Место интереса символа. Например, диапазон, где указано имя символа (в противовес полной строки декларации символа).
    • getParent

      Returns:
      Символ, внутри которого располагается данный символ.
    • setParent

      void setParent(Optional<SourceDefinedSymbol> symbol)
      Parameters:
      symbol - Символ, внутри которого располагается данный символ.
    • getChildren

      List<SourceDefinedSymbol> getChildren()
      Returns:
      Список "детей" символа - символов, которые располагаются внутри данного символа.
    • getRootParent

      default Optional<SourceDefinedSymbol> getRootParent(SymbolKind symbolKind)
      Получить наиболее близкий к корню символ указанного типа.

      Например, если переменная объявлена внутри области, которая в свою очередь объявлена внутри области, вызов данного метода с SymbolKind.Namespace вернет внешнюю область.

      Parameters:
      symbolKind - Тип искомого символа
      Returns:
      Найденный символ.