boolean (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 < 0 && assignment_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, ASSIGNMENT_EXPRESSION, r, true, null); } else if (g < 1 && ternary_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, TERNARY_EXPRESSION, r, true, null); } else if (g < 1 && elvis_expression_0(b, l + 1)) { r = expression(b, l, 0); exit_section_(b, l, m, ELVIS_EXPRESSION, r, true, null); } else if (g < 2 && lor_expression_0(b, l + 1)) { r = expression(b, l, 2); exit_section_(b, l, m, LOR_EXPRESSION, r, true, null); } else if (g < 3 && land_expression_0(b, l + 1)) { r = expression(b, l, 3); exit_section_(b, l, m, LAND_EXPRESSION, r, true, null); } else if (g < 4 && bor_expression_0(b, l + 1)) { r = expression(b, l, 4); exit_section_(b, l, m, BOR_EXPRESSION, r, true, null); } else if (g < 5 && xor_expression_0(b, l + 1)) { r = expression(b, l, 5); exit_section_(b, l, m, XOR_EXPRESSION, r, true, null); } else if (g < 6 && band_expression_0(b, l + 1)) { r = expression(b, l, 6); exit_section_(b, l, m, BAND_EXPRESSION, r, true, null); } else if (g < 7 && equality_expression_0(b, l + 1)) { r = expression(b, l, 7); exit_section_(b, l, m, EQUALITY_EXPRESSION, r, true, null); } else if (g < 7 && compare_expression_0(b, l + 1)) { r = expression(b, l, 7); exit_section_(b, l, m, RELATIONAL_EXPRESSION, r, true, null); } else if (g < 7 && regex_find_expression_0(b, l + 1)) { r = expression(b, l, 7); exit_section_(b, l, m, REGEX_FIND_EXPRESSION, r, true, null); } else if (g < 7 && regex_match_expression_0(b, l + 1)) { r = expression(b, l, 7); exit_section_(b, l, m, REGEX_MATCH_EXPRESSION, r, true, null); } else if (g < 8 && relational_expression_0(b, l + 1)) { r = expression(b, l, 8); exit_section_(b, l, m, RELATIONAL_EXPRESSION, r, true, null); } else if (g < 8 && in_expression_0(b, l + 1)) { r = expression(b, l, 8); exit_section_(b, l, m, IN_EXPRESSION, r, true, null); } else if (g < 8 && instanceof_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, INSTANCEOF_EXPRESSION, r, true, null); } else if (g < 8 && as_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, AS_EXPRESSION, r, true, null); } else if (g < 9 && shift_expression_0(b, l + 1)) { r = expression(b, l, 9); exit_section_(b, l, m, SHIFT_EXPRESSION, r, true, null); } else if (g < 9 && range_expression_0(b, l + 1)) { r = expression(b, l, 9); exit_section_(b, l, m, RANGE_EXPRESSION, r, true, null); } else if (g < 10 && additive_expression_0(b, l + 1)) { r = expression(b, l, 10); exit_section_(b, l, m, ADDITIVE_EXPRESSION, r, true, null); } else if (g < 11 && multiplicative_expression_0(b, l + 1)) { r = expression(b, l, 11); exit_section_(b, l, m, MULTIPLICATIVE_EXPRESSION, r, true, null); } else if (g < 12 && power_expression_0(b, l + 1)) { r = expression(b, l, 12); exit_section_(b, l, m, POWER_EXPRESSION, r, true, null); } else if (g < 15 && index_expression_argument_list(b, l + 1)) { r = true; exit_section_(b, l, m, INDEX_EXPRESSION, r, true, null); } else if (g < 15 && safe_index_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, INDEX_EXPRESSION, r, true, null); } else if (g < 15 && postfix_unary_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, UNARY_EXPRESSION, r, true, null); } else if (g < 16 && method_reference_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, METHOD_REFERENCE_EXPRESSION, r, true, null); } else if (g < 16 && attribute_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, ATTRIBUTE_EXPRESSION, r, true, null); } else if (g < 16 && qualified_reference_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, REFERENCE_EXPRESSION, r, true, null); } else if (g < 16 && property_expression_0(b, l + 1)) { r = true; exit_section_(b, l, m, PROPERTY_EXPRESSION, r, true, null); } else if (g < 17 && callTail(b, l + 1, GroovyGeneratedParser::call_tail_with_nl_before_closure, GroovyGeneratedParser::call_tail)) { r = true; exit_section_(b, l, m, METHOD_CALL_EXPRESSION, r, true, null); } else { exit_section_(b, l, m, null, false, false, null); break; } } return r; }