Class TransitiveOperationsIgnoringComparer
java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.expressiontree.DefaultNodeEqualityComparer
com.github._1c_syntax.bsl.languageserver.utils.expressiontree.TransitiveOperationsIgnoringComparer
- All Implemented Interfaces:
NodeEqualityComparer
Стратегия сравнения выражений с учетом транзитивности операторов
А = Б будет эквивалентно Б = А
если включить режим транзитивности логических операций, то эквивалентны будут
"А и Б" и "Б и А" (см. метод
logicalOperationsAsTransitive(boolean)
})-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
binaryOperationsEqual
(BinaryOperationNode first, BinaryOperationNode second) void
logicalOperationsAsTransitive
(boolean transitivityFlag) Methods inherited from class com.github._1c_syntax.bsl.languageserver.utils.expressiontree.DefaultNodeEqualityComparer
areEqual, argumentsEqual, callStatementsEqual, constructorCallsEqual, identifiersEqual, literalsEqual, methodCallsEqual, ternaryOperatorsEqual, unaryOperationsEqual
-
Constructor Details
-
TransitiveOperationsIgnoringComparer
public TransitiveOperationsIgnoringComparer()
-
-
Method Details
-
binaryOperationsEqual
- Overrides:
binaryOperationsEqual
in classDefaultNodeEqualityComparer
-
logicalOperationsAsTransitive
public void logicalOperationsAsTransitive(boolean transitivityFlag) - Parameters:
transitivityFlag
- Включает режим транзитивности логических операций если true, то операторы И/ИЛИ считаются транзитивными (не учитывается сокращенное выполнение логических операций)
-