public static boolean statement(PsiBuilder b, int l) {
    if (!recursion_guard_(b, l, "statement")) return false;
    boolean r;
    Marker m = enter_section_(b, l, _NONE_, null, "<statement>");
    r = if_statement(b, l + 1);
    if (!r) r = switch_statement(b, l + 1);
    if (!r) r = try_statement(b, l + 1);
    if (!r) r = while_statement(b, l + 1);
    if (!r) r = do_while_statement(b, l + 1);
    if (!r) r = for_statement(b, l + 1);
    if (!r) r = synchronized_statement(b, l + 1);
    if (!r) r = return_statement(b, l + 1);
    if (!r) r = break_statement(b, l + 1);
    if (!r) r = yield_statement(b, l + 1);
    if (!r) r = continue_statement(b, l + 1);
    if (!r) r = assert_statement(b, l + 1);
    if (!r) r = throw_statement(b, l + 1);
    if (!r) r = labeled_statement(b, l + 1);
    if (!r) r = type_definition(b, l + 1);
    if (!r) r = withProtectedLastVariantPos(b, l + 1, GroovyGeneratedParser::tuple_var_declaration);
    if (!r) r = parse_block_declaration(b, l + 1);
    if (!r) r = expression_statement(b, l + 1);
    if (!r) r = block_statement(b, l + 1);
    exit_section_(b, l, m, r, false, null);
    return r;
  }
public static boolean statement(PsiBuilder b, int l)