4 mop_instantiate_xs_accessor(pTHX_ SV* const accessor, XSPROTO(accessor_impl)){
5 /* $key = $accessor->associated_attribute->name */
6 SV* const attr = mop_call0(aTHX_ accessor, mop_associated_attribute);
7 SV* const key = mop_call0(aTHX_ attr, mop_name);
9 const char* const pv = SvPV_const(key, len);
10 return mop_install_simple_accessor(aTHX_ NULL /* anonymous */, pv, len, accessor_impl);
13 MODULE = Class::MOP::Method::Accessor PACKAGE = Class::MOP::Method::Accessor
18 INSTALL_SIMPLE_READER_WITH_KEY(Method::Accessor, associated_attribute, attribute);
19 INSTALL_SIMPLE_READER(Method::Accessor, accessor_type);
23 _generate_accessor_method_xs(SV* self)
25 RETVAL = mop_instantiate_xs_accessor(aTHX_ self, mop_xs_simple_accessor);
30 _generate_reader_method_xs(SV* self)
32 RETVAL = mop_instantiate_xs_accessor(aTHX_ self, mop_xs_simple_reader);
37 _generate_writer_method_xs(SV* self)
39 RETVAL = mop_instantiate_xs_accessor(aTHX_ self, mop_xs_simple_writer);
44 _generate_predicate_method_xs(SV* self)
46 RETVAL = mop_instantiate_xs_accessor(aTHX_ self, mop_xs_simple_predicate);
51 _generate_clearer_method_xs(SV* self)
53 RETVAL = mop_instantiate_xs_accessor(aTHX_ self, mop_xs_simple_clearer);