in testData/generator/ExprParser.expected.java [239:311]
public static boolean expr_0(PsiBuilder builder_, int level_, int priority_) {
if (!recursion_guard_(builder_, level_, "expr_0")) return false;
boolean result_ = true;
while (true) {
Marker marker_ = enter_section_(builder_, level_, _LEFT_, null);
if (priority_ < 0 && consumeTokenSmart(builder_, "=")) {
result_ = expr(builder_, level_, -1);
exit_section_(builder_, level_, marker_, ASSIGN_EXPR, result_, true, null);
}
else if (priority_ < 1 && consumeTokenSmart(builder_, "?")) {
result_ = report_error_(builder_, expr(builder_, level_, 1));
result_ = elvis_expr_1(builder_, level_ + 1) && result_;
exit_section_(builder_, level_, marker_, ELVIS_EXPR, result_, true, null);
}
else if (priority_ < 1 && conditional_expr_0(builder_, level_ + 1)) {
result_ = expr(builder_, level_, 1);
exit_section_(builder_, level_, marker_, CONDITIONAL_EXPR, result_, true, null);
}
else if (priority_ < 2 && consumeTokenSmart(builder_, "+")) {
result_ = expr(builder_, level_, 2);
exit_section_(builder_, level_, marker_, PLUS_EXPR, result_, true, null);
}
else if (priority_ < 2 && consumeTokenSmart(builder_, "-")) {
result_ = expr(builder_, level_, 2);
exit_section_(builder_, level_, marker_, MINUS_EXPR, result_, true, null);
}
else if (priority_ < 3 && consumeTokenSmart(builder_, "^")) {
result_ = expr(builder_, level_, 3);
exit_section_(builder_, level_, marker_, XOR_EXPR, result_, true, null);
}
else if (priority_ < 3 && consumeTokenSmart(builder_, BETWEEN)) {
result_ = report_error_(builder_, expr(builder_, level_, 1));
result_ = between_expr_1(builder_, level_ + 1) && result_;
exit_section_(builder_, level_, marker_, BETWEEN_EXPR, result_, true, null);
}
else if (priority_ < 3 && parseTokensSmart(builder_, 0, IS, NOT)) {
result_ = expr(builder_, level_, 3);
exit_section_(builder_, level_, marker_, IS_NOT_EXPR, result_, true, null);
}
else if (priority_ < 4 && consumeTokenSmart(builder_, "*")) {
result_ = expr(builder_, level_, 4);
exit_section_(builder_, level_, marker_, MUL_EXPR, result_, true, null);
}
else if (priority_ < 4 && consumeTokenSmart(builder_, "/")) {
result_ = expr(builder_, level_, 4);
exit_section_(builder_, level_, marker_, DIV_EXPR, result_, true, null);
}
else if (priority_ < 7 && consumeTokenSmart(builder_, "!")) {
result_ = true;
exit_section_(builder_, level_, marker_, FACTORIAL_EXPR, result_, true, null);
}
else if (priority_ < 6 && consumeTokenSmart(builder_, "**")) {
while (true) {
result_ = report_error_(builder_, expr(builder_, level_, 6));
if (!consumeTokenSmart(builder_, "**")) break;
}
exit_section_(builder_, level_, marker_, EXP_EXPR, result_, true, null);
}
else if (priority_ < 8 && leftMarkerIs(builder_, REF_EXPR) && arg_list(builder_, level_ + 1)) {
result_ = true;
exit_section_(builder_, level_, marker_, CALL_EXPR, result_, true, null);
}
else if (priority_ < 9 && qualification_expr_0(builder_, level_ + 1)) {
result_ = true;
exit_section_(builder_, level_, marker_, REF_EXPR, result_, true, null);
}
else {
exit_section_(builder_, level_, marker_, null, false, false, null);
break;
}
}
return result_;
}