HV *isa; /* Everything this class @ISA */
};
+#define MRO_GET_PRIVATE_DATA(smeta, which) \
+ (((smeta)->mro_which && (which) == (smeta)->mro_which) \
+ ? MUTABLE_SV((smeta)->mro_linear_c3) \
+ : Perl_mro_get_private_data(aTHX_ (smeta), (which)))
+
/* Subject to change.
Don't access this directly.
*/
meta = HvMROMETA(stash);
/* return cache if valid */
- if((retval = MUTABLE_AV(Perl_mro_get_private_data(aTHX_ meta, dfs_alg)))) {
+ if((retval = MUTABLE_AV(MRO_GET_PRIVATE_DATA(meta, dfs_alg)))) {
return retval;
}
meta = HvMROMETA(stash);
/* return cache if valid */
- if((retval = MUTABLE_AV(Perl_mro_get_private_data(aTHX_ meta, c3_alg)))) {
+ if((retval = MUTABLE_AV(MRO_GET_PRIVATE_DATA(meta, c3_alg)))) {
return retval;
}