in android-lang/gen/com/android/tools/idea/lang/androidSql/parser/AndroidSqlParser.java [4468:4533]
public static boolean expression_0(PsiBuilder builder, int level, int priority) {
if (!recursion_guard_(builder, level, "expression_0")) return false;
boolean result = true;
while (true) {
Marker marker = enter_section_(builder, level, _LEFT_, null);
if (priority < 1 && consumeTokenSmart(builder, OR)) {
result = expression(builder, level, 1);
exit_section_(builder, level, marker, OR_EXPRESSION, result, true, null);
}
else if (priority < 2 && consumeTokenSmart(builder, AND)) {
result = expression(builder, level, 2);
exit_section_(builder, level, marker, AND_EXPRESSION, result, true, null);
}
else if (priority < 5 && in_expression_0(builder, level + 1)) {
result = true;
exit_section_(builder, level, marker, IN_EXPRESSION, result, true, null);
}
else if (priority < 6 && isnull_expression_0(builder, level + 1)) {
result = true;
exit_section_(builder, level, marker, ISNULL_EXPRESSION, result, true, null);
}
else if (priority < 7 && like_expression_0(builder, level + 1)) {
result = report_error_(builder, expression(builder, level, 7));
result = like_expression_1(builder, level + 1) && result;
exit_section_(builder, level, marker, LIKE_EXPRESSION, result, true, null);
}
else if (priority < 10 && equivalence_expression_0(builder, level + 1)) {
result = expression(builder, level, 10);
exit_section_(builder, level, marker, EQUIVALENCE_EXPRESSION, result, true, null);
}
else if (priority < 10 && between_expression_0(builder, level + 1)) {
result = report_error_(builder, expression(builder, level, 10));
result = between_expression_1(builder, level + 1) && result;
exit_section_(builder, level, marker, BETWEEN_EXPRESSION, result, true, null);
}
else if (priority < 11 && comparison_expression_0(builder, level + 1)) {
result = expression(builder, level, 11);
exit_section_(builder, level, marker, COMPARISON_EXPRESSION, result, true, null);
}
else if (priority < 12 && bit_expression_0(builder, level + 1)) {
result = expression(builder, level, 12);
exit_section_(builder, level, marker, BIT_EXPRESSION, result, true, null);
}
else if (priority < 13 && add_expression_0(builder, level + 1)) {
result = expression(builder, level, 13);
exit_section_(builder, level, marker, ADD_EXPRESSION, result, true, null);
}
else if (priority < 14 && mul_expression_0(builder, level + 1)) {
result = expression(builder, level, 14);
exit_section_(builder, level, marker, MUL_EXPRESSION, result, true, null);
}
else if (priority < 15 && consumeTokenSmart(builder, CONCAT)) {
result = expression(builder, level, 15);
exit_section_(builder, level, marker, CONCAT_EXPRESSION, result, true, null);
}
else if (priority < 17 && collate_expression_0(builder, level + 1)) {
result = true;
exit_section_(builder, level, marker, COLLATE_EXPRESSION, result, true, null);
}
else {
exit_section_(builder, level, marker, null, false, false, null);
break;
}
}
return result;
}