#sub initializer { $_[0]->{'initializer'} }
#sub definition_context { $_[0]->{'definition_context'} }
#sub insertion_order { $_[0]->{'insertion_order'} }
-sub _set_insertion_order { $_[0]->{'insertion_order'} = $_[1] }
+#sub _set_insertion_order { $_[0]->{'insertion_order'} = $_[1] }
# end bootstrapped away method section.
# (all methods below here are kept intact)
#sub original_method { (shift)->{'original_method'} }
-sub _set_original_method { $_[0]->{'original_method'} = $_[1] }
+#sub _set_original_method { $_[0]->{'original_method'} = $_[1] }
# It's possible that this could cause a loop if there is a circular
# reference in here. That shouldn't ever happen in normal
## accessors
-sub associated_attribute { (shift)->{'attribute'} }
-sub accessor_type { (shift)->{'accessor_type'} }
+#sub associated_attribute { (shift)->{'attribute'} }
+#sub accessor_type { (shift)->{'accessor_type'} }
sub can_xs {
#define INSTALL_SIMPLE_READER(klass, name) INSTALL_SIMPLE_READER_WITH_KEY(klass, name, name)
#define INSTALL_SIMPLE_READER_WITH_KEY(klass, name, key) (void)mop_install_simple_accessor(aTHX_ "Class::MOP::" #klass "::" #name, #key, sizeof(#key)-1, mop_xs_simple_reader)
+#define INSTALL_SIMPLE_WRITER(klass, name) INSTALL_SIMPLE_WRITER_WITH_KEY(klass, name, name)
+#define INSTALL_SIMPLE_WRITER_WITH_KEY(klass, name, key) (void)mop_install_simple_accessor(aTHX_ "Class::MOP::" #klass "::" #name, #key, sizeof(#key)-1, mop_xs_simple_writer)
+
#define INSTALL_SIMPLE_PREDICATE(klass, name) INSTALL_SIMPLE_PREDICATE_WITH_KEY(klass, name, name)
#define INSTALL_SIMPLE_PREDICATE_WITH_KEY(klass, name, key) (void)mop_install_simple_accessor(aTHX_ "Class::MOP::" #klass "::has_" #name, #key, sizeof(#key)-1, mop_xs_simple_predicate_for_metaclass)
INSTALL_SIMPLE_READER(Attribute, insertion_order);
INSTALL_SIMPLE_READER(Attribute, definition_context);
+ INSTALL_SIMPLE_WRITER_WITH_KEY(Attribute, _set_insertion_order, insertion_order);
+
INSTALL_SIMPLE_PREDICATE(Attribute, accessor);
INSTALL_SIMPLE_PREDICATE(Attribute, reader);
INSTALL_SIMPLE_PREDICATE(Attribute, writer);
INSTALL_SIMPLE_READER(Method, body);
INSTALL_SIMPLE_READER(Method, associated_metaclass);
INSTALL_SIMPLE_READER(Method, original_method);
+
+ INSTALL_SIMPLE_WRITER_WITH_KEY(Method, _set_original_method, original_method);