#define TRAIT_CLASS 4
#define TRAIT_FUNCTION 5
#define TRAIT_CONST 6
+
+#define TRAIT_ATTR_FINAL 0x10
+#define TRAIT_ATTR_OVERRIDE 0x20
+#define TRAIT_ATTR_METADATA 0x40
struct _trait {
trait_t* abc_class_find_slotid(abc_class_t*c, int slotid);
-abc_method_t* abc_class_constructor(abc_class_t*cls, multiname_t*returntype);
+abc_method_t* abc_class_getconstructor(abc_class_t*cls, multiname_t*returntype);
+abc_method_t* abc_class_getstaticconstructor(abc_class_t*cls, multiname_t*returntype);
+
abc_method_t* abc_class_method(abc_class_t*cls, multiname_t*returntype, multiname_t*name);
-abc_method_t* abc_class_staticconstructor(abc_class_t*cls, multiname_t*returntype);
abc_method_t* abc_class_staticmethod(abc_class_t*cls, multiname_t*returntype, multiname_t*name);
trait_t* abc_class_slot(abc_class_t*cls, multiname_t*name, multiname_t*type);
trait_t* abc_class_staticslot(abc_class_t*cls, multiname_t*name, multiname_t*type);