Class DefaultNodeEqualityComparer
java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.expressiontree.DefaultNodeEqualityComparer
- All Implemented Interfaces:
NodeEqualityComparer
- Direct Known Subclasses:
TransitiveOperationsIgnoringComparer
Стандартный алгоритм сравнения узлов дерева выражений.
Сравнивает выражения на структурную идентичность: типы узлов, операторы, значения литералов, имена идентификаторов.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanareEqual(BslExpression first, BslExpression second) Сравнить два узла дерева выражений на равенство.protected booleanargumentsEqual(List<BslExpression> argumentsOfFirst, List<BslExpression> argumentsOfSecond) protected booleanbinaryOperationsEqual(BinaryOperationNode first, BinaryOperationNode second) protected booleancallStatementsEqual(AbstractCallNode first, AbstractCallNode second) protected booleanconstructorCallsEqual(ConstructorCallNode first, ConstructorCallNode second) protected booleanidentifiersEqual(TerminalSymbolNode first, TerminalSymbolNode second) protected booleanliteralsEqual(TerminalSymbolNode first, TerminalSymbolNode second) protected booleanmethodCallsEqual(MethodCallNode first, MethodCallNode second) protected booleanternaryOperatorsEqual(TernaryOperatorNode first, TernaryOperatorNode second) protected booleanunaryOperationsEqual(UnaryOperationNode first, UnaryOperationNode second)
-
Constructor Details
-
DefaultNodeEqualityComparer
public DefaultNodeEqualityComparer()
-
-
Method Details
-
areEqual
Description copied from interface:NodeEqualityComparerСравнить два узла дерева выражений на равенство.- Specified by:
areEqualin interfaceNodeEqualityComparer- Parameters:
first- Первый узелsecond- Второй узел- Returns:
trueесли узлы равны согласно стратегии сравнения
-
callStatementsEqual
-
constructorCallsEqual
-
argumentsEqual
protected boolean argumentsEqual(List<BslExpression> argumentsOfFirst, List<BslExpression> argumentsOfSecond) -
methodCallsEqual
-
ternaryOperatorsEqual
-
unaryOperationsEqual
-
binaryOperationsEqual
-
identifiersEqual
-
literalsEqual
-