boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "shell_command")) return false; boolean r; Marker m = enter_section_(b, l, _COLLAPSE_, SHELL_COMMAND, "<shell command>"); r = if_command(b, l + 1); if (!r) r = for_command(b, l + 1); if (!r) r = case_command(b, l + 1); if (!r) r = while_command(b, l + 1); if (!r) r = until_command(b, l + 1); if (!r) r = select_command(b, l + 1); if (!r) r = arithmetic_expansion(b, l + 1); if (!r) r = subshell_command(b, l + 1); if (!r) r = block(b, l + 1); if (!r) r = function_definition(b, l + 1); exit_section_(b, l, m, r, false, null); return r; }