1 #define PERL_NO_GET_CONTEXT
9 if (strnEQ(attr, "method", 6))
11 else if (strnEQ(attr, "locked", 6))
13 else if (strnEQ(attr, "lvalue", 6))
19 MODULE = attrs PACKAGE = attrs
30 if (!PL_compcv || !(cv = CvOUTSIDE(PL_compcv)))
31 croak("can't set attributes outside a subroutine scope");
32 for (i = 1; i < items; i++) {
34 char *attr = SvPV(ST(i), n_a);
35 cv_flags_t flag = get_flag(attr);
37 croak("invalid attribute name %s", attr);
50 if (SvTYPE(sub) != SVt_PVCV)
55 char *name = SvPV(sub, n_a);
56 sub = (SV*)perl_get_cv(name, FALSE);
59 croak("invalid subroutine reference or name");
60 if (CvFLAGS(sub) & CVf_METHOD)
61 XPUSHs(sv_2mortal(newSVpvn("method", 6)));
62 if (CvFLAGS(sub) & CVf_LOCKED)
63 XPUSHs(sv_2mortal(newSVpvn("locked", 6)));