1 #define PERL_NO_GET_CONTEXT
9 if (strnEQ(attr, "method", 6))
11 else if (strnEQ(attr, "locked", 6))
17 MODULE = attrs PACKAGE = attrs
28 if (!PL_compcv || !(cv = CvOUTSIDE(PL_compcv)))
29 croak("can't set attributes outside a subroutine scope");
30 for (i = 1; i < items; i++) {
32 char *attr = SvPV(ST(i), n_a);
33 cv_flags_t flag = get_flag(attr);
35 croak("invalid attribute name %s", attr);
48 if (SvTYPE(sub) != SVt_PVCV)
53 char *name = SvPV(sub, n_a);
54 sub = (SV*)perl_get_cv(name, FALSE);
57 croak("invalid subroutine reference or name");
58 if (CvFLAGS(sub) & CVf_METHOD)
59 XPUSHs(sv_2mortal(newSVpvn("method", 6)));
60 if (CvFLAGS(sub) & CVf_LOCKED)
61 XPUSHs(sv_2mortal(newSVpvn("locked", 6)));