boolean (PsiBuilder b, int l) { if (!recursion_guard_(b, l, "non_empty_type_argument_list")) return false; if (!nextTokenIsFast(b, T_LT)) return false; boolean r, p; Marker m = enter_section_(b, l, _NONE_); r = consumeTokenFast(b, T_LT); p = r; // pin = 1 r = r && report_error_(b, comma_list_p(b, l + 1, GroovyGeneratedParser::type_argument_list_item)); r = p && type_argument_list_end(b, l + 1) && r; exit_section_(b, l, m, r, p, null); return r || p; }