X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=xs-src%2FMouse.xs;h=f008333d049410a52f6a3cd6dd0c80abf1836dbe;hp=27f871c8d32831f1c970ccaa9195176127c18b95;hb=ba153b332782dce8bf44fcc78ebb7230002b950c;hpb=3001d9acb5b99317145fbef8785855161a128f04 diff --git a/xs-src/Mouse.xs b/xs-src/Mouse.xs index 27f871c..f008333 100644 --- a/xs-src/Mouse.xs +++ b/xs-src/Mouse.xs @@ -436,11 +436,11 @@ MODULE = Mouse PACKAGE = Mouse::Meta::Class BOOT: INSTALL_SIMPLE_READER(Class, roles); INSTALL_SIMPLE_PREDICATE_WITH_KEY(Class, is_anon_class, anon_serial_id); - newCONSTSUB(gv_stashpvs("Mouse::Meta::Class", TRUE), "constructor_class", - newSVpvs("Mouse::Meta::Method::Constructor::XS")); - newCONSTSUB(gv_stashpvs("Mouse::Meta::Class", TRUE), "destructor_class", - newSVpvs("Mouse::Meta::Method::Destructor::XS")); + INSTALL_SIMPLE_READER_WITH_DEFAULTS(Class, method_metaclass, "Mouse::Meta::Method"); + INSTALL_SIMPLE_READER_WITH_DEFAULTS(Class, attribute_metaclass, "Mouse::Meta::Attribute"); + INSTALL_SIMPLE_READER_WITH_DEFAULTS(Class, constructor_class, "Mouse::Meta::Method::Constructor::XS"); + INSTALL_SIMPLE_READER_WITH_DEFAULTS(Class, destructor_class, "Mouse::Meta::Method::Destructor::XS"); newCONSTSUB(gv_stashpvs("Mouse::Meta::Method::Constructor::XS", TRUE), "_generate_constructor", newRV_inc((SV*)get_cvs("Mouse::Object::new", TRUE))); @@ -483,7 +483,7 @@ PPCODE: } SV* -new_object_(SV* meta, ...) +new_object(SV* meta, ...) CODE: { AV* const xc = mouse_get_xc(aTHX_ meta); @@ -492,7 +492,8 @@ CODE: RETVAL = mouse_instance_create(aTHX_ MOUSE_xc_stash(xc)); mouse_class_initialize_object(aTHX_ meta, RETVAL, args, FALSE); } - +OUTPUT: + RETVAL void _initialize_object(SV* meta, SV* object, HV* args, bool ignore_triggers = FALSE) @@ -501,22 +502,14 @@ CODE: mouse_class_initialize_object(aTHX_ meta, object, args, ignore_triggers); } -void -__xc(SV* meta) -PPCODE: -{ - AV* const xc = mouse_get_xc(aTHX_ meta); - mXPUSHu(MOUSE_xc_flags(xc)); - mXPUSHs(newRV_inc((SV*)MOUSE_xc_buildall(xc))); - mXPUSHs(newRV_inc((SV*)MOUSE_xc_demolishall(xc))); -} - MODULE = Mouse PACKAGE = Mouse::Meta::Role BOOT: INSTALL_SIMPLE_READER_WITH_KEY(Role, get_roles, roles); INSTALL_SIMPLE_PREDICATE_WITH_KEY(Role, is_anon_role, anon_serial_id); + INSTALL_SIMPLE_READER_WITH_DEFAULTS(Role, method_metaclass, "Mouse::Meta::Role::Method"); + MODULE = Mouse PACKAGE = Mouse::Object SV*