package attributes;
-our $VERSION = 0.07;
+our $VERSION = 0.08;
@EXPORT_OK = qw(get reftype);
@EXPORT = ();
#sub _fetch_attrs ($) ;
#sub _guess_stash ($) ;
#sub _modify_attrs ;
-#sub _warn_reserved () ;
#
# The extra trips through newATTRSUB in the interpreter wipe out any savings
# from avoiding the BEGIN block. Just do the bootstrap now.
my @pkgattrs = _modify_attrs($svref, @attrs);
@badattrs = $pkgmeth->($home_stash, $svref, @pkgattrs);
if (!@badattrs && @pkgattrs) {
- return unless _warn_reserved;
+ require warnings;
+ return unless warnings::enabled('reserved');
@pkgattrs = grep { m/\A[[:lower:]]+(?:\z|\()/ } @pkgattrs;
if (@pkgattrs) {
for my $attr (@pkgattrs) {
*/
/* package attributes; */
-PERL_XS_EXPORT_C void XS_attributes__warn_reserved(pTHX_ CV *cv);
PERL_XS_EXPORT_C void XS_attributes_reftype(pTHX_ CV *cv);
PERL_XS_EXPORT_C void XS_attributes__modify_attrs(pTHX_ CV *cv);
PERL_XS_EXPORT_C void XS_attributes__guess_stash(pTHX_ CV *cv);
if( items > 1 )
Perl_croak(aTHX_ "Usage: attributes::bootstrap $module");
- newXSproto("attributes::_warn_reserved", XS_attributes__warn_reserved, file, "");
newXS("attributes::_modify_attrs", XS_attributes__modify_attrs, file);
newXSproto("attributes::_guess_stash", XS_attributes__guess_stash, file, "$");
newXSproto("attributes::_fetch_attrs", XS_attributes__fetch_attrs, file, "$");
XSRETURN(1);
}
-XS(XS_attributes__warn_reserved)
-{
- dVAR;
- dXSARGS;
-
- if (items != 0) {
- Perl_croak(aTHX_
- "Usage: attributes::_warn_reserved ()");
- }
-
- EXTEND(SP,1);
- ST(0) = boolSV(ckWARN(WARN_RESERVED));
-
- XSRETURN(1);
-}
-
/*
* Local variables:
* c-indentation-style: bsd