X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs%2FMoose.xs;h=06b983e4d6599b1a5bf120c2a556fd55b6600ba8;hb=acf165ea3ea7d7940e9a0ab03e2112123ea3154e;hp=986498bf622410a19831eb65b3498908062b639d;hpb=7c29582bacf33dd829d2e9c2d46bf95e92aed32f;p=gitmo%2FMoose.git diff --git a/xs/Moose.xs b/xs/Moose.xs index 986498b..06b983e 100644 --- a/xs/Moose.xs +++ b/xs/Moose.xs @@ -96,28 +96,33 @@ STATIC int is_regexp (pTHX_ SV* sv) { SV* tmpsv; - if (SvMAGICAL(sv)) + if (SvMAGICAL(sv)) { mg_get(sv); + } + if (SvROK(sv) && - (tmpsv = (SV*) SvRV(sv)) && - SvTYPE(tmpsv) == SVt_PVMG && - (mg_find(tmpsv, PERL_MAGIC_qr))) + (tmpsv = (SV*) SvRV(sv)) && + SvTYPE(tmpsv) == SVt_PVMG && + (mg_find(tmpsv, PERL_MAGIC_qr))) { return TRUE; + } + return FALSE; } #endif -EXTERN_C XS(boot_Class__MOP); -EXTERN_C XS(boot_Class__MOP__Mixin__HasAttributes); -EXTERN_C XS(boot_Class__MOP__Mixin__HasMethods); -EXTERN_C XS(boot_Class__MOP__Package); -EXTERN_C XS(boot_Class__MOP__Mixin__AttributeCore); -EXTERN_C XS(boot_Class__MOP__Method); -EXTERN_C XS(boot_Class__MOP__Method__Inlined); -EXTERN_C XS(boot_Class__MOP__Method__Generated); -EXTERN_C XS(boot_Class__MOP__Class); -EXTERN_C XS(boot_Class__MOP__Attribute); -EXTERN_C XS(boot_Class__MOP__Instance); +XS_EXTERNAL(boot_Class__MOP); +XS_EXTERNAL(boot_Class__MOP__Mixin__HasAttributes); +XS_EXTERNAL(boot_Class__MOP__Mixin__HasMethods); +XS_EXTERNAL(boot_Class__MOP__Package); +XS_EXTERNAL(boot_Class__MOP__Mixin__AttributeCore); +XS_EXTERNAL(boot_Class__MOP__Method); +XS_EXTERNAL(boot_Class__MOP__Method__Inlined); +XS_EXTERNAL(boot_Class__MOP__Method__Generated); +XS_EXTERNAL(boot_Class__MOP__Method__Overload); +XS_EXTERNAL(boot_Class__MOP__Class); +XS_EXTERNAL(boot_Class__MOP__Attribute); +XS_EXTERNAL(boot_Class__MOP__Instance); MODULE = Moose PACKAGE = Moose::Exporter @@ -134,6 +139,7 @@ BOOT: MOP_CALL_BOOT (boot_Class__MOP__Method); MOP_CALL_BOOT (boot_Class__MOP__Method__Inlined); MOP_CALL_BOOT (boot_Class__MOP__Method__Generated); + MOP_CALL_BOOT (boot_Class__MOP__Method__Overload); MOP_CALL_BOOT (boot_Class__MOP__Class); MOP_CALL_BOOT (boot_Class__MOP__Attribute); MOP_CALL_BOOT (boot_Class__MOP__Instance); @@ -150,13 +156,14 @@ _export_is_flagged (SV *sv) OUTPUT: RETVAL -MODULE = Moose PACKAGE = Moose::Util::TypeConstraints::OptimizedConstraints +MODULE = Moose PACKAGE = Moose::Util::TypeConstraints::Builtins bool -RegexpRef (SV *sv=NULL) +_RegexpRef (SV *sv=NULL) INIT: - if (!items) + if (!items) { sv = DEFSV; + } CODE: RETVAL = SvRXOK(sv); OUTPUT: