boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "list_or_map")) return false; if (!nextTokenIsSmart(b, T_LBRACK)) return false; boolean r; Marker m = enter_section_(b); r = empty_list(b, l + 1); if (!r) r = empty_map(b, l + 1); if (!r) r = non_empty_list_or_map(b, l + 1); exit_section_(b, m, LIST_OR_MAP, r); return r; }