X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs%2FMOP.xs;h=9ca097069d2352be6e9e5246b9896e5471f82edb;hb=9b871d792c4f7ec085870ab705c0ea2b615ebe2d;hp=e1a5ac705292fcaeb605396f5dba23251db0f305;hpb=3aad1e203e3bb072b423f28b991540913f98d5d4;p=gitmo%2FClass-MOP.git diff --git a/xs/MOP.xs b/xs/MOP.xs index e1a5ac7..9ca0970 100644 --- a/xs/MOP.xs +++ b/xs/MOP.xs @@ -1,9 +1,5 @@ #include "mop.h" -SV *mop_method_metaclass; -SV *mop_associated_metaclass; -SV *mop_wrap; - static bool find_method (const char *key, STRLEN keylen, SV *val, void *ud) { @@ -15,8 +11,9 @@ find_method (const char *key, STRLEN keylen, SV *val, void *ud) return FALSE; } +EXTERN_C XS(boot_Class__MOP__Mixin__HasMethods); EXTERN_C XS(boot_Class__MOP__Package); -EXTERN_C XS(boot_Class__MOP__Attribute); +EXTERN_C XS(boot_Class__MOP__Mixin__AttributeCore); EXTERN_C XS(boot_Class__MOP__Method); MODULE = Class::MOP PACKAGE = Class::MOP @@ -26,12 +23,9 @@ PROTOTYPES: DISABLE BOOT: mop_prehash_keys(); - mop_method_metaclass = newSVpvs("method_metaclass"); - mop_wrap = newSVpvs("wrap"); - mop_associated_metaclass = newSVpvs("associated_metaclass"); - + MOP_CALL_BOOT (boot_Class__MOP__Mixin__HasMethods); MOP_CALL_BOOT (boot_Class__MOP__Package); - MOP_CALL_BOOT (boot_Class__MOP__Attribute); + MOP_CALL_BOOT (boot_Class__MOP__Mixin__AttributeCore); MOP_CALL_BOOT (boot_Class__MOP__Method); # use prototype here to be compatible with get_code_info from Sub::Identify