public static boolean expr_0()

in android-lang-databinding/gen/com/android/tools/idea/lang/databinding/parser/DbParser.java [654:734]


  public static boolean expr_0(PsiBuilder b, int l, int g) {
    if (!recursion_guard_(b, l, "expr_0")) return false;
    boolean r = true;
    while (true) {
      Marker m = enter_section_(b, l, _LEFT_, null);
      if (g < 0 && consumeTokenSmart(b, QUESTQUEST)) {
        r = expr(b, l, 0);
        exit_section_(b, l, m, NULL_COALESCE_EXPR, r, true, null);
      }
      else if (g < 1 && consumeTokenSmart(b, QUEST)) {
        r = report_error_(b, expr(b, l, 0));
        r = ternaryExpr_1(b, l + 1) && r;
        exit_section_(b, l, m, TERNARY_EXPR, r, true, null);
      }
      else if (g < 2 && consumeTokenSmart(b, OROR)) {
        r = expr(b, l, 2);
        exit_section_(b, l, m, LOGICAL_OR_EXPR, r, true, null);
      }
      else if (g < 3 && consumeTokenSmart(b, ANDAND)) {
        r = expr(b, l, 3);
        exit_section_(b, l, m, LOGICAL_AND_EXPR, r, true, null);
      }
      else if (g < 4 && consumeTokenSmart(b, OR)) {
        r = expr(b, l, 4);
        exit_section_(b, l, m, BINARY_OR_EXPR, r, true, null);
      }
      else if (g < 5 && consumeTokenSmart(b, XOR)) {
        r = expr(b, l, 5);
        exit_section_(b, l, m, BINARY_XOR_EXPR, r, true, null);
      }
      else if (g < 6 && consumeTokenSmart(b, AND)) {
        r = expr(b, l, 6);
        exit_section_(b, l, m, BINARY_AND_EXPR, r, true, null);
      }
      else if (g < 7 && eqComparisonOp(b, l + 1)) {
        r = expr(b, l, 7);
        exit_section_(b, l, m, EQ_COMPARISON_EXPR, r, true, null);
      }
      else if (g < 8 && consumeTokenSmart(b, INSTANCEOF_KEYWORD)) {
        r = expr(b, l, 8);
        exit_section_(b, l, m, INSTANCE_OF_EXPR, r, true, null);
      }
      else if (g < 9 && ineqComparisonOp(b, l + 1)) {
        r = expr(b, l, 9);
        exit_section_(b, l, m, INEQ_COMPARISON_EXPR, r, true, null);
      }
      else if (g < 10 && bitShiftOp(b, l + 1)) {
        r = expr(b, l, 10);
        exit_section_(b, l, m, BIT_SHIFT_EXPR, r, true, null);
      }
      else if (g < 11 && addOp(b, l + 1)) {
        r = expr(b, l, 11);
        exit_section_(b, l, m, ADD_EXPR, r, true, null);
      }
      else if (g < 12 && mulOp(b, l + 1)) {
        r = expr(b, l, 12);
        exit_section_(b, l, m, MUL_EXPR, r, true, null);
      }
      else if (g < 16 && leftMarkerIs(b, REF_EXPR) && callExpr_0(b, l + 1)) {
        r = true;
        exit_section_(b, l, m, CALL_EXPR, r, true, null);
      }
      else if (g < 17 && bracketArgument(b, l + 1)) {
        r = true;
        exit_section_(b, l, m, ARRAY_EXPR, r, true, null);
      }
      else if (g < 18 && qualRefExpr_0(b, l + 1)) {
        r = true;
        exit_section_(b, l, m, REF_EXPR, r, true, null);
      }
      else if (g < 20 && functionRefExpr_0(b, l + 1)) {
        r = true;
        exit_section_(b, l, m, FUNCTION_REF_EXPR, r, true, null);
      }
      else {
        exit_section_(b, l, m, null, false, false, null);
        break;
      }
    }
    return r;
  }