constant_t*value;
};
+trait_t*trait_new_method(trait_list_t**traits, multiname_t*name, abc_method_t*m);
+trait_t*trait_new_member(trait_list_t**traits, multiname_t*type, multiname_t*name, constant_t*v);
+
#define CLASS_SEALED 1
#define CLASS_FINAL 2
#define CLASS_INTERFACE 4
int index; //filled in during writing
};
+void abc_method_init(abc_method_t*m, abc_file_t*file, multiname_t*returntype, char body);
+abc_method_t* abc_method_new(abc_file_t*file, multiname_t*returntype, char body);
+
abc_class_t* abc_class_new(abc_file_t*file, multiname_t*classname, multiname_t*superclass);
abc_class_t* abc_class_new2(abc_file_t*file, char*classname, char*superclass);
void abc_class_sealed(abc_class_t*c);
} abc_script_t;
abc_method_t* abc_nullmethod(abc_file_t*file);
-abc_script_t* abc_initscript(abc_file_t*file, multiname_t*returntype);
+abc_script_t* abc_initscript(abc_file_t*file);
+int abc_initscript_addClassTrait(abc_script_t*script, multiname_t*multiname, abc_class_t*cls);
#define __