public IExpression GetUnaryExpression()

in src/main/csharp/Selector/SelectorParser.cs [403:439]


  public IExpression GetUnaryExpression() {
    IExpression left = null;
    if (mcc_2_6(2147483647)) {
      mcc_consume_token(37);
      left = GetUnaryExpression();
    } else {
      switch ((mcc_ntk==-1)?mcc_mntk():mcc_ntk) {
      case 38:
        mcc_consume_token(38);
        left = GetUnaryExpression();
                left = UnaryExpression.CreateNegate(left);
        break;
      case NOT:
        mcc_consume_token(NOT);
        left = GetUnaryExpression();
                    left = UnaryExpression.CreateNOT(AsBooleanExpression(left));
        break;
      case TRUE:
      case FALSE:
      case NULL:
      case DECIMAL_LITERAL:
      case HEX_LITERAL:
      case OCTAL_LITERAL:
      case FLOATING_POINT_LITERAL:
      case STRING_LITERAL:
      case ID:
      case 34:
        left = GetPrimaryExpression();
        break;
      default:
        mcc_consume_token(-1);
        throw new ParseException();
      }
    }
        {return left;}
    throw new Exception("Missing return statement in function");
  }