X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=xs-src%2FMouse.xs;h=c34ad16ec9209c9ef41d223619323c0a824c385f;hp=ed975924bb2839fde0f7e313c8993cdc796eb441;hb=34bdc46af065df1aa23fefd987f02e7e1856e87e;hpb=935400114c35ad1b2481c48ff471e180e9c93d93 diff --git a/xs-src/Mouse.xs b/xs-src/Mouse.xs index ed97592..c34ad16 100644 --- a/xs-src/Mouse.xs +++ b/xs-src/Mouse.xs @@ -10,6 +10,7 @@ PROTOTYPES: DISABLE BOOT: mouse_package = newSVpvs_share("package"); mouse_namespace = newSVpvs_share("namespace"); + MOUSE_CALL_BOOT(Mouse__Util__TypeConstraints); bool @@ -81,37 +82,6 @@ OUTPUT: RETVAL -MODULE = Mouse PACKAGE = Mouse::Util::TypeConstraints - -void -Item(SV* sv = &PL_sv_undef) -ALIAS: - Any = MOUSE_TC_ANY - Item = MOUSE_TC_ITEM - Undef = MOUSE_TC_UNDEF - Defined = MOUSE_TC_DEFINED - Bool = MOUSE_TC_BOOL - Value = MOUSE_TC_VALUE - Ref = MOUSE_TC_REF - Str = MOUSE_TC_STR - Num = MOUSE_TC_NUM - Int = MOUSE_TC_INT - ScalarRef = MOUSE_TC_SCALAR_REF - ArrayRef = MOUSE_TC_ARRAY_REF - HashRef = MOUSE_TC_HASH_REF - CodeRef = MOUSE_TC_CODE_REF - GlobRef = MOUSE_TC_GLOB_REF - FileHandle = MOUSE_TC_FILEHANDLE - RegexpRef = MOUSE_TC_REGEXP_REF - Object = MOUSE_TC_OBJECT - ClassName = MOUSE_TC_CLASS_NAME - RoleName = MOUSE_TC_ROLE_NAME -CODE: - SvGETMAGIC(sv); - ST(0) = boolSV( mouse_tc_check(aTHX_ ix, sv) ); - XSRETURN(1); - - MODULE = Mouse PACKAGE = Mouse::Meta::Module BOOT: @@ -123,7 +93,7 @@ HV* namespace(SV* self) CODE: { - SV* const package = mouse_instance_get_slot(self, mouse_package); + SV* const package = mouse_instance_get_slot(aTHX_ self, mouse_package); if(!(package && SvOK(package))){ croak("No package name"); } @@ -222,12 +192,6 @@ BOOT: MODULE = Mouse PACKAGE = Mouse::Meta::Method::Accessor::XS -BOOT: -{ - AV* const isa = get_av("Mouse::Meta::Method::Accessor::XS::ISA", TRUE); - av_push(isa, newSVpvs("Mouse::Meta::Method::Accessor")); -} - CV* _generate_accessor(klass, SV* attr, metaclass) CODE: