public IExpression GetEqualityExpression()

in src/main/csharp/Selector/SelectorParser.cs [123:172]


  public IExpression GetEqualityExpression() {
    IExpression left;
    IExpression right;
    left = GetComparisonExpression();
    while (true) {
      switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
      case IS:
      case 28:
      case 29:
        ;
        break;
      default:
        goto label_3;
      }
      switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
      case 28:
        mcc_consume_token(28);
        right = GetComparisonExpression();
                left = ComparisonExpression.CreateEqual(left, right);
        break;
      case 29:
        mcc_consume_token(29);
        right = GetComparisonExpression();
                left = ComparisonExpression.CreateNotEqual(left, right);
        break;
      default:
        if (mcc_2_1(2)) {
          mcc_consume_token(IS);
          mcc_consume_token(NULL);
                left = ComparisonExpression.CreateIsNull(left);
        } else {
          switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
          case IS:
            mcc_consume_token(IS);
            mcc_consume_token(NOT);
            mcc_consume_token(NULL);
                left = ComparisonExpression.CreateIsNotNull(left);
            break;
          default:
            mcc_consume_token(-1);
            throw new ParseException();
          }
        }
        break;
      }
    }label_3: ;
    
        {return left;}
    throw new Exception("Missing return statement in function");
  }