mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
mruby-struct: use presym for initialization
This commit is contained in:
@@ -672,28 +672,28 @@ mrb_struct_to_s(mrb_state *mrb, mrb_value self)
|
||||
void
|
||||
mrb_mruby_struct_gem_init(mrb_state* mrb)
|
||||
{
|
||||
struct RClass *st = mrb_define_class(mrb, "Struct", mrb->object_class);
|
||||
struct RClass *st = mrb_define_class_id(mrb, MRB_SYM(Struct), mrb->object_class);
|
||||
MRB_SET_INSTANCE_TT(st, MRB_TT_STRUCT);
|
||||
MRB_UNDEF_ALLOCATOR(st);
|
||||
|
||||
mrb_define_class_method(mrb, st, "new", mrb_struct_s_def, MRB_ARGS_ANY()); /* 15.2.18.3.1 */
|
||||
mrb_define_class_method_id(mrb, st, MRB_SYM(new), mrb_struct_s_def, MRB_ARGS_ANY()); /* 15.2.18.3.1 */
|
||||
|
||||
mrb_define_method(mrb, st, "==", mrb_struct_equal, MRB_ARGS_REQ(1)); /* 15.2.18.4.1 */
|
||||
mrb_define_method(mrb, st, "[]", mrb_struct_aref, MRB_ARGS_REQ(1)); /* 15.2.18.4.2 */
|
||||
mrb_define_method(mrb, st, "[]=", mrb_struct_aset, MRB_ARGS_REQ(2)); /* 15.2.18.4.3 */
|
||||
mrb_define_method(mrb, st, "members", mrb_struct_members, MRB_ARGS_NONE()); /* 15.2.18.4.6 */
|
||||
mrb_define_method(mrb, st, "initialize", mrb_struct_initialize, MRB_ARGS_ANY()); /* 15.2.18.4.8 */
|
||||
mrb_define_method(mrb, st, "initialize_copy", mrb_struct_init_copy, MRB_ARGS_REQ(1)); /* 15.2.18.4.9 */
|
||||
mrb_define_method(mrb, st, "eql?", mrb_struct_eql, MRB_ARGS_REQ(1)); /* 15.2.18.4.12(x) */
|
||||
mrb_define_method(mrb, st, "to_s", mrb_struct_to_s, MRB_ARGS_NONE()); /* 15.2.18.4.11(x) */
|
||||
mrb_define_method(mrb, st, "inspect", mrb_struct_to_s, MRB_ARGS_NONE()); /* 15.2.18.4.10(x) */
|
||||
mrb_define_method_id(mrb, st, MRB_OPSYM(eq), mrb_struct_equal, MRB_ARGS_REQ(1)); /* 15.2.18.4.1 */
|
||||
mrb_define_method_id(mrb, st, MRB_OPSYM(aref), mrb_struct_aref, MRB_ARGS_REQ(1)); /* 15.2.18.4.2 */
|
||||
mrb_define_method_id(mrb, st, MRB_OPSYM(aset), mrb_struct_aset, MRB_ARGS_REQ(2)); /* 15.2.18.4.3 */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(members), mrb_struct_members, MRB_ARGS_NONE()); /* 15.2.18.4.6 */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(initialize), mrb_struct_initialize, MRB_ARGS_ANY()); /* 15.2.18.4.8 */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(initialize_copy), mrb_struct_init_copy, MRB_ARGS_REQ(1)); /* 15.2.18.4.9 */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM_Q(eql), mrb_struct_eql, MRB_ARGS_REQ(1)); /* 15.2.18.4.12(x) */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(to_s), mrb_struct_to_s, MRB_ARGS_NONE()); /* 15.2.18.4.11(x) */
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(inspect), mrb_struct_to_s, MRB_ARGS_NONE()); /* 15.2.18.4.10(x) */
|
||||
|
||||
mrb_define_method(mrb, st, "size", mrb_struct_len, MRB_ARGS_NONE());
|
||||
mrb_define_method(mrb, st, "length", mrb_struct_len, MRB_ARGS_NONE());
|
||||
mrb_define_method(mrb, st, "to_a", mrb_struct_to_a, MRB_ARGS_NONE());
|
||||
mrb_define_method(mrb, st, "values", mrb_struct_to_a, MRB_ARGS_NONE());
|
||||
mrb_define_method(mrb, st, "to_h", mrb_struct_to_h, MRB_ARGS_NONE());
|
||||
mrb_define_method(mrb, st, "values_at", mrb_struct_values_at, MRB_ARGS_ANY());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(size), mrb_struct_len, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(length), mrb_struct_len, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(to_a), mrb_struct_to_a, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(values), mrb_struct_to_a, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(to_h), mrb_struct_to_h, MRB_ARGS_NONE());
|
||||
mrb_define_method_id(mrb, st, MRB_SYM(values_at), mrb_struct_values_at, MRB_ARGS_ANY());
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user