X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=xs-src%2FMouseAccessor.xs;h=aa87df388c02385a1cccafca24a8ec93f400a152;hb=6fab29c627e6fa346e3aab08de0017b46eeb3ddb;hp=b6c11cc1c03e87c9075c2acb1a3aa56698638c4c;hpb=80aa5731d6763d8f38ba0fa057729af7026e6580;p=gitmo%2FMouse.git diff --git a/xs-src/MouseAccessor.xs b/xs-src/MouseAccessor.xs index b6c11cc..aa87df3 100644 --- a/xs-src/MouseAccessor.xs +++ b/xs-src/MouseAccessor.xs @@ -6,8 +6,10 @@ } \ } STMT_END -/* Moose XS Attribute object */ +/* Mouse XS Attribute object */ enum mouse_xa_ix_t{ + MOUSE_XA_SLOT, /* for constructors, sync to mg_obj */ + MOUSE_XA_FLAGS, /* for constructors, sync to mg_private */ MOUSE_XA_ATTRIBUTE, MOUSE_XA_TC, MOUSE_XA_TC_CODE, @@ -25,7 +27,7 @@ enum mouse_xa_flags_t{ MOUSEf_ATTR_HAS_TC = 0x0001, MOUSEf_ATTR_HAS_DEFAULT = 0x0002, MOUSEf_ATTR_HAS_BUILDER = 0x0004, - MOUSEf_ATTR_HAS_INITIALIZER = 0x0008, /* not used in Mouse */ + MOUSEf_ATTR_HAS_INITIALIZER = 0x0008, MOUSEf_ATTR_HAS_TRIGGER = 0x0010, MOUSEf_ATTR_IS_LAZY = 0x0020, @@ -465,6 +467,7 @@ XS(XS_Mouse_simple_predicate) SV* mouse_instance_create(pTHX_ HV* const stash) { assert(stash); + assert(SvTYPE(stash) == SVt_PVHV); return sv_bless( newRV_noinc((SV*)newHV()), stash ); }