in gen/com/intellij/idea/plugin/hybris/flexibleSearch/FlexibleSearchParser.java [1893:1954]
public static boolean expression_0(PsiBuilder b, int l, int g) {
if (!recursion_guard_(b, l, "expression_0")) return false;
boolean r = true;
while (true) {
Marker m = enter_section_(b, l, _LEFT_, null);
if (g < 1 && consumeTokenSmart(b, OR)) {
r = expression(b, l, 1);
exit_section_(b, l, m, OR_EXPRESSION, r, true, null);
}
else if (g < 2 && consumeTokenSmart(b, AND)) {
r = expression(b, l, 2);
exit_section_(b, l, m, AND_EXPRESSION, r, true, null);
}
else if (g < 5 && in_expression_0(b, l + 1)) {
r = true;
exit_section_(b, l, m, IN_EXPRESSION, r, true, null);
}
else if (g < 6 && isnull_expression_0(b, l + 1)) {
r = true;
exit_section_(b, l, m, ISNULL_EXPRESSION, r, true, null);
}
else if (g < 7 && like_expression_0(b, l + 1)) {
r = report_error_(b, expression(b, l, 7));
r = like_expression_1(b, l + 1) && r;
exit_section_(b, l, m, LIKE_EXPRESSION, r, true, null);
}
else if (g < 10 && equivalence_expression_0(b, l + 1)) {
r = expression(b, l, 10);
exit_section_(b, l, m, EQUIVALENCE_EXPRESSION, r, true, null);
}
else if (g < 10 && between_expression_0(b, l + 1)) {
r = report_error_(b, expression(b, l, 10));
r = between_expression_1(b, l + 1) && r;
exit_section_(b, l, m, BETWEEN_EXPRESSION, r, true, null);
}
else if (g < 11 && comparison_expression_0(b, l + 1)) {
r = expression(b, l, 11);
exit_section_(b, l, m, COMPARISON_EXPRESSION, r, true, null);
}
else if (g < 12 && bit_expression_0(b, l + 1)) {
r = expression(b, l, 12);
exit_section_(b, l, m, BIT_EXPRESSION, r, true, null);
}
else if (g < 13 && mul_expression_0(b, l + 1)) {
r = expression(b, l, 13);
exit_section_(b, l, m, MUL_EXPRESSION, r, true, null);
}
else if (g < 14 && consumeTokenSmart(b, CONCAT)) {
r = expression(b, l, 14);
exit_section_(b, l, m, CONCAT_EXPRESSION, r, true, null);
}
else if (g < 15 && unary_expression_0(b, l + 1)) {
r = expression(b, l, 15);
exit_section_(b, l, m, UNARY_EXPRESSION, r, true, null);
}
else {
exit_section_(b, l, m, null, false, false, null);
break;
}
}
return r;
}