Class SymbolTree
java.lang.Object
com.github._1c_syntax.bsl.languageserver.context.symbol.SymbolTree
Символьное дерево документа. Содержит все символы документа, вложенные друг в друга по принципу родитель -> дети
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanСписок всех символов всех уровней (за исключением символа модуля документа), преобразованных в плоский список.<T> List<T>getChildrenFlat(Class<T> clazz) Список всех символов всех уровней указанного типа (за исключением символа модуля документа), преобразованных в плоский список.Список методов документа.Попытка поиска символа метода по узлу дерева разбора.getMethodSymbol(String methodName) Поиск MethodSymbol в дереве по указанному имени (без учета регистра).Корневой символ модуля документа.Плоский список всех переменных документаПопытка поиска символа переменной по узлу дерева разбора.getVariableSymbol(String variableName, SourceDefinedSymbol scopeSymbol) Поиск VariableSymbol в дереве по указанному имени (без учета регистра) и области объявления.inthashCode()toString()
-
Constructor Details
-
SymbolTree
Creates a newSymbolTreeinstance.- Parameters:
module- Корневой символ модуля документа.
-
-
Method Details
-
getChildren
- Returns:
- Список символов верхнего уровня за исключением символа модуля документа.
-
getChildrenFlat
Список всех символов всех уровней указанного типа (за исключением символа модуля документа), преобразованных в плоский список.- Type Parameters:
T- тип искомого символа.- Parameters:
clazz- класс искомого символа.- Returns:
- плоский список символов указанного типа.
-
getModuleLevelRegions
- Returns:
- Список областей, расположенных на верхнем уровне документа.
-
getRegionsFlat
- Returns:
- плоский список всех областей документа.
-
getMethodSymbol
Попытка поиска символа метода по узлу дерева разбора.Implementation note - Поиск осуществляется по месту определения метода (declaration).
- Parameters:
ctx- узел дерева разбора документа.- Returns:
- найденный символ метода.
-
getMethodSymbol
Поиск MethodSymbol в дереве по указанному имени (без учета регистра).- Parameters:
methodName- Имя метода- Returns:
- MethodSymbol, если он был найден в дереве символов.
-
getVariableSymbol
Попытка поиска символа переменной по узлу дерева разбора.Implementation note Поиск осуществляется по месту определения переменной (declaration).
- Parameters:
ctx- узел дерева разбора документа.- Returns:
- найденный символ переменной.
-
getVariableSymbol
public Optional<VariableSymbol> getVariableSymbol(String variableName, SourceDefinedSymbol scopeSymbol) Поиск VariableSymbol в дереве по указанному имени (без учета регистра) и области объявления.- Parameters:
variableName- Имя переменнойscopeSymbol- Символ, внутри которого осуществляется поиск. Например,ModuleSymbolилиMethodSymbol.- Returns:
- VariableSymbol, если он был найден в дереве символов.
-
getModule
Корневой символ модуля документа. -
equals
-
hashCode
public int hashCode() -
toString
-
getChildrenFlat
Список всех символов всех уровней (за исключением символа модуля документа), преобразованных в плоский список. -
getMethods
Список методов документа. -
getMethodsByName
-
getVariables
Плоский список всех переменных документа -
getVariablesByName
-