Reconsider method generation
[gitmo/Class-MOP.git] / xs / Class.xs
1 #include "mop.h"
2
3 #define _generate_constructor_method_xs(self, vtbl) mop_generate_constructor_method_xs(aTHX_ self, (mop_instance_vtbl*)vtbl)
4
5 static MGVTBL mop_constructor_vtbl;
6
7 static CV*
8 mop_generate_constructor_method_xs(pTHX_ SV* const metaclass, mop_instance_vtbl* const instance_vtbl){
9    // CV* const xsub = newXS(NULL, mop_xs_constructor, __FILE__);
10
11     assert(instance_vtbl);
12
13 }
14
15 MODULE = Class::MOP::Class    PACKAGE = Class::MOP::Class
16
17 BOOT:
18     INSTALL_SIMPLE_READER_WITH_KEY(Class, get_attribute_map, attributes);
19     /* INSTALL_SIMPLE_READER_WITH_KEY(Class, _method_map, methods); */
20     INSTALL_SIMPLE_READER(Class, attribute_metaclass);
21     INSTALL_SIMPLE_READER(Class, method_metaclass);
22     INSTALL_SIMPLE_READER(Class, wrapped_method_metaclass);
23     INSTALL_SIMPLE_READER(Class, instance_metaclass);
24     INSTALL_SIMPLE_READER(Class, immutable_trait);
25     INSTALL_SIMPLE_READER(Class, constructor_name);
26     INSTALL_SIMPLE_READER(Class, constructor_class);
27     INSTALL_SIMPLE_READER(Class, destructor_class);
28
29 CV*
30 _generate_constructor_method_xs(SV* self, void* instance_vtbl)