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

public class TransitiveOperationsIgnoringComparer extends DefaultNodeEqualityComparer
Стратегия сравнения выражений с учетом транзитивности операторов А = Б будет эквивалентно Б = А если включить режим транзитивности логических операций, то эквивалентны будут "А и Б" и "Б и А" (см. метод logicalOperationsAsTransitive(boolean)})
  • Constructor Details

    • TransitiveOperationsIgnoringComparer

      public TransitiveOperationsIgnoringComparer()
  • Method Details

    • binaryOperationsEqual

      protected boolean binaryOperationsEqual(BinaryOperationNode first, BinaryOperationNode second)
      Overrides:
      binaryOperationsEqual in class DefaultNodeEqualityComparer
    • logicalOperationsAsTransitive

      public void logicalOperationsAsTransitive(boolean transitivityFlag)
      Parameters:
      transitivityFlag - Включает режим транзитивности логических операций если true, то операторы И/ИЛИ считаются транзитивными (не учитывается сокращенное выполнение логических операций)