From 42991fe092150260d893e7e558f25b5d5c3d84ab Mon Sep 17 00:00:00 2001 From: mimaki Date: Thu, 27 Jun 2013 20:18:48 +0900 Subject: fix unnecessary exception in mrb_get_args with "z" format. --- src/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index f94f9a933..6eb70dce6 100644 --- a/src/class.c +++ b/src/class.c @@ -487,7 +487,7 @@ mrb_get_args(mrb_state *mrb, const char *format, ...) if (i < argc) { ss = to_str(mrb, *sp++); s = mrb_str_ptr(ss); - if (strlen(s->ptr) != s->len) { + if (strlen(s->ptr) < s->len) { mrb_raise(mrb, E_ARGUMENT_ERROR, "String contains NUL"); } *ps = s->ptr; -- cgit v1.2.3 From 3f823a0ceeadcba48a332b5d89f867b23c2d332b Mon Sep 17 00:00:00 2001 From: h2so5 Date: Mon, 1 Jul 2013 11:42:38 +0900 Subject: Add mrb_class_get_under() --- include/mruby.h | 1 + src/class.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/class.c') diff --git a/include/mruby.h b/include/mruby.h index 568ed4876..b602ba8c9 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -178,6 +178,7 @@ struct RClass * mrb_class_new(mrb_state *mrb, struct RClass *super); struct RClass * mrb_module_new(mrb_state *mrb); int mrb_class_defined(mrb_state *mrb, const char *name); struct RClass * mrb_class_get(mrb_state *mrb, const char *name); +struct RClass * mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name); mrb_value mrb_obj_dup(mrb_state *mrb, mrb_value obj); mrb_value mrb_check_to_integer(mrb_state *mrb, mrb_value val, const char *method); diff --git a/src/class.c b/src/class.c index 6eb70dce6..e33ab0153 100644 --- a/src/class.c +++ b/src/class.c @@ -227,7 +227,13 @@ class_from_sym(mrb_state *mrb, struct RClass *klass, mrb_sym id) struct RClass * mrb_class_get(mrb_state *mrb, const char *name) { - return class_from_sym(mrb, mrb->object_class, mrb_intern(mrb, name)); + return mrb_class_get_under(mrb, mrb->object_class, name); +} + +struct RClass * +mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name) +{ + return class_from_sym(mrb, outer, mrb_intern(mrb, name)); } /*! -- cgit v1.2.3 From 799dd0b777191e539da3300145a914c6c15bed42 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Wed, 3 Jul 2013 00:13:57 +0900 Subject: Refactor mrb_define_class() method in class.c.c --- src/class.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index e33ab0153..237109936 100644 --- a/src/class.c +++ b/src/class.c @@ -159,9 +159,7 @@ mrb_define_class_id(mrb_state *mrb, mrb_sym name, struct RClass *super) struct RClass* mrb_define_class(mrb_state *mrb, const char *name, struct RClass *super) { - struct RClass *c; - c = mrb_define_class_id(mrb, mrb_intern(mrb, name), super); - return c; + return mrb_define_class_id(mrb, mrb_intern(mrb, name), super); } struct RClass* -- cgit v1.2.3 From db678329c00bd6cf08402c07e1f85f0752e9722e Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Wed, 3 Jul 2013 20:52:48 +0900 Subject: Add comments in mrb_get_args() func. --- src/class.c | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 237109936..0d71886d3 100644 --- a/src/class.c +++ b/src/class.c @@ -375,20 +375,22 @@ to_hash(mrb_state *mrb, mrb_value val) format specifiers: - o: Object [mrb_value] - S: String [mrb_value] - A: Array [mrb_value] - H: Hash [mrb_value] - s: String [char*,int] - z: String [char*] - a: Array [mrb_value*,mrb_int] - f: Float [mrb_float] - i: Integer [mrb_int] - b: Boolean [mrb_bool] - n: Symbol [mrb_sym] - &: Block [mrb_value] - *: rest argument [mrb_value*,int] - |: optional + string mruby type C type note + ---------------------------------------------------------------------------------------------- + o: Object [mrb_value] + S: String [mrb_value] + A: Array [mrb_value] + H: Hash [mrb_value] + s: String [char*,int] Receive two arguments. + z: String [char*] NUL terminated string. + a: Array [mrb_value*,mrb_int] Receive two arguments. + f: Float [mrb_float] + i: Integer [mrb_int] + b: Boolean [mrb_bool] + n: Symbol [mrb_sym] + &: Block [mrb_value] + *: rest argument [mrb_value*,int] Receive the rest of the arguments as an array. + |: optional Next argument of '|' and later are optional. */ int mrb_get_args(mrb_state *mrb, const char *format, ...) -- cgit v1.2.3 From 71fd1375d220923b888f5856de04f4d6ad2b2185 Mon Sep 17 00:00:00 2001 From: hoge Date: Sun, 7 Jul 2013 23:05:37 +0900 Subject: call Class#inherited when Class.new(klass) --- src/class.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 0d71886d3..228549b28 100644 --- a/src/class.c +++ b/src/class.c @@ -1075,6 +1075,7 @@ mrb_class_new_class(mrb_state *mrb, mrb_value cv) super = mrb_obj_value(mrb->object_class); } new_class = mrb_class_new(mrb, mrb_class_ptr(super)); + mrb_funcall(mrb, super, "inherited", 1, mrb_obj_value(new_class)); return mrb_obj_value(new_class); } -- cgit v1.2.3 From e8e0b611c65fff4c75388fd09814e59fe5b1cb0a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 10 Jul 2013 02:45:29 +0900 Subject: mrb_mod_alias to use mrb_get_args("nn") --- src/class.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 228549b28..73186c8f8 100644 --- a/src/class.c +++ b/src/class.c @@ -1417,10 +1417,10 @@ mrb_value mrb_mod_alias(mrb_state *mrb, mrb_value mod) { struct RClass *c = mrb_class_ptr(mod); - mrb_value new_value, old_value; + mrb_sym new_name, old_name; - mrb_get_args(mrb, "oo", &new_value, &old_value); - mrb_alias_method(mrb, c, mrb_symbol(new_value), mrb_symbol(old_value)); + mrb_get_args(mrb, "nn", &new_name, &old_name); + mrb_alias_method(mrb, c, new_name, old_name); return mrb_nil_value(); } -- cgit v1.2.3 From 1ffd25d5729833d9d9e80b7206486991c5d04c22 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 10 Jul 2013 09:37:24 +0900 Subject: mrb_bob_missing to use mrb_get_args("n") --- src/class.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 73186c8f8..ad683ed2b 100644 --- a/src/class.c +++ b/src/class.c @@ -1141,14 +1141,12 @@ mrb_bob_not(mrb_state *mrb, mrb_value cv) static mrb_value mrb_bob_missing(mrb_state *mrb, mrb_value mod) { - mrb_value name, *a; + mrb_sym name; + mrb_value *a; int alen; mrb_value inspect; - mrb_get_args(mrb, "o*", &name, &a, &alen); - if (!mrb_symbol_p(name)) { - mrb_raise(mrb, E_TYPE_ERROR, "name should be a symbol"); - } + mrb_get_args(mrb, "n*", &name, &a, &alen); if (mrb_respond_to(mrb,mod,mrb_intern2(mrb,"inspect",7))){ inspect = mrb_funcall(mrb, mod, "inspect", 0); @@ -1161,7 +1159,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod) } mrb_raisef(mrb, E_NOMETHOD_ERROR, "undefined method '%S' for %S", - mrb_sym2str(mrb, mrb_symbol(name)), inspect); + mrb_sym2str(mrb, name), inspect); /* not reached */ return mrb_nil_value(); } -- cgit v1.2.3 From b68ef2e634339697f1d954114fe672954def974f Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 11 Jul 2013 14:49:17 +0900 Subject: add dummy visibility methods (public/protected/private) that do nothing; ref #1357 --- src/class.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index ad683ed2b..291642654 100644 --- a/src/class.c +++ b/src/class.c @@ -908,6 +908,12 @@ mrb_mod_module_eval(mrb_state *mrb, mrb_value mod) return mrb_yield_internal(mrb, b, 0, 0, mod, c); } +mrb_value +mrb_mod_dummy_visibility(mrb_state *mrb, mrb_value mod) +{ + return mod; +} + mrb_value mrb_singleton_class(mrb_state *mrb, mrb_value v) { @@ -1909,6 +1915,9 @@ mrb_init_class(mrb_state *mrb) mrb_define_method(mrb, mod, "instance_methods", mrb_mod_instance_methods, MRB_ARGS_ANY()); /* 15.2.2.4.33 */ mrb_define_method(mrb, mod, "method_defined?", mrb_mod_method_defined, MRB_ARGS_REQ(1)); /* 15.2.2.4.34 */ mrb_define_method(mrb, mod, "module_eval", mrb_mod_module_eval, MRB_ARGS_ANY()); /* 15.2.2.4.35 */ + mrb_define_method(mrb, mod, "private", mrb_mod_dummy_visibility, MRB_ARGS_ANY()); /* 15.2.2.4.36 */ + mrb_define_method(mrb, mod, "protected", mrb_mod_dummy_visibility, MRB_ARGS_ANY()); /* 15.2.2.4.37 */ + mrb_define_method(mrb, mod, "public", mrb_mod_dummy_visibility, MRB_ARGS_ANY()); /* 15.2.2.4.38 */ mrb_define_method(mrb, mod, "remove_class_variable", mrb_mod_remove_cvar, MRB_ARGS_REQ(1)); /* 15.2.2.4.39 */ mrb_define_method(mrb, mod, "remove_method", mrb_mod_remove_method, MRB_ARGS_ANY()); /* 15.2.2.4.41 */ mrb_define_method(mrb, mod, "to_s", mrb_mod_to_s, MRB_ARGS_NONE()); -- cgit v1.2.3 From e4e51a8aaa3950bd5100f356df3775f692549692 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Thu, 11 Jul 2013 21:39:12 +0900 Subject: Replace mrb_intern() with mrb_intern_cstr(). --- src/class.c | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 291642654..a50d3d85a 100644 --- a/src/class.c +++ b/src/class.c @@ -105,7 +105,7 @@ mrb_define_module_id(mrb_state *mrb, mrb_sym name) struct RClass* mrb_define_module(mrb_state *mrb, const char *name) { - return mrb_define_module_id(mrb, mrb_intern(mrb, name)); + return mrb_define_module_id(mrb, mrb_intern_cstr(mrb, name)); } static void @@ -159,7 +159,7 @@ mrb_define_class_id(mrb_state *mrb, mrb_sym name, struct RClass *super) struct RClass* mrb_define_class(mrb_state *mrb, const char *name, struct RClass *super) { - return mrb_define_class_id(mrb, mrb_intern(mrb, name), super); + return mrb_define_class_id(mrb, mrb_intern_cstr(mrb, name), super); } struct RClass* @@ -231,7 +231,7 @@ mrb_class_get(mrb_state *mrb, const char *name) struct RClass * mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name) { - return class_from_sym(mrb, outer, mrb_intern(mrb, name)); + return class_from_sym(mrb, outer, mrb_intern_cstr(mrb, name)); } /*! @@ -254,7 +254,7 @@ struct RClass * mrb_define_class_under(mrb_state *mrb, struct RClass *outer, const char *name, struct RClass *super) { struct RClass * c; - mrb_sym id = mrb_intern(mrb, name); + mrb_sym id = mrb_intern_cstr(mrb, name); if (mrb_const_defined_at(mrb, outer, id)) { c = class_from_sym(mrb, outer, id); @@ -276,7 +276,7 @@ struct RClass * mrb_define_module_under(mrb_state *mrb, struct RClass *outer, const char *name) { struct RClass * c; - mrb_sym id = mrb_intern(mrb, name); + mrb_sym id = mrb_intern_cstr(mrb, name); if (mrb_const_defined_at(mrb, outer, id)) { c = class_from_sym(mrb, outer, id); @@ -317,7 +317,7 @@ mrb_define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t f void mrb_define_method(mrb_state *mrb, struct RClass *c, const char *name, mrb_func_t func, mrb_aspec aspec) { - mrb_define_method_id(mrb, c, mrb_intern(mrb, name), func, aspec); + mrb_define_method_id(mrb, c, mrb_intern_cstr(mrb, name), func, aspec); } void @@ -945,7 +945,7 @@ void mrb_define_singleton_method(mrb_state *mrb, struct RObject *o, const char *name, mrb_func_t func, mrb_aspec aspec) { prepare_singleton_class(mrb, (struct RBasic*)o); - mrb_define_method_id(mrb, o->c, mrb_intern(mrb, name), func, aspec); + mrb_define_method_id(mrb, o->c, mrb_intern_cstr(mrb, name), func, aspec); } void @@ -1154,7 +1154,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod) mrb_get_args(mrb, "n*", &name, &a, &alen); - if (mrb_respond_to(mrb,mod,mrb_intern2(mrb,"inspect",7))){ + if (mrb_respond_to(mrb,mod,mrb_intern2(mrb, "inspect",7))){ inspect = mrb_funcall(mrb, mod, "inspect", 0); if (RSTRING_LEN(inspect) > 64) { inspect = mrb_any_to_s(mrb, mod); @@ -1349,7 +1349,7 @@ mrb_alias_method(mrb_state *mrb, struct RClass *c, mrb_sym a, mrb_sym b) void mrb_define_alias(mrb_state *mrb, struct RClass *klass, const char *name1, const char *name2) { - mrb_alias_method(mrb, klass, mrb_intern(mrb, name1), mrb_intern(mrb, name2)); + mrb_alias_method(mrb, klass, mrb_intern_cstr(mrb, name1), mrb_intern_cstr(mrb, name2)); } /* @@ -1444,7 +1444,7 @@ undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a) void mrb_undef_method(mrb_state *mrb, struct RClass *c, const char *name) { - undef_method(mrb, c, mrb_intern(mrb, name)); + undef_method(mrb, c, mrb_intern_cstr(mrb, name)); } void @@ -1885,10 +1885,10 @@ mrb_init_class(mrb_state *mrb) mrb_define_const(mrb, obj, "Class", mrb_obj_value(cls)); /* name each classes */ - mrb_name_class(mrb, bob, mrb_intern(mrb, "BasicObject")); - mrb_name_class(mrb, obj, mrb_intern(mrb, "Object")); - mrb_name_class(mrb, mod, mrb_intern(mrb, "Module")); - mrb_name_class(mrb, cls, mrb_intern(mrb, "Class")); + mrb_name_class(mrb, bob, mrb_intern2(mrb, "BasicObject", 11)); + mrb_name_class(mrb, obj, mrb_intern2(mrb, "Object", 6)); + mrb_name_class(mrb, mod, mrb_intern2(mrb, "Module", 6)); + mrb_name_class(mrb, cls, mrb_intern2(mrb, "Class", 5)); MRB_SET_INSTANCE_TT(cls, MRB_TT_CLASS); mrb_define_method(mrb, bob, "initialize", mrb_bob_init, MRB_ARGS_NONE()); -- cgit v1.2.3 From cd05c669ca817a6847663df022a6d77ca6440fae Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 13 Jul 2013 10:41:09 +0900 Subject: make_metaclass should skip MRB_TT_ICLASS; close #1369 --- src/class.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index a50d3d85a..787e514b1 100644 --- a/src/class.c +++ b/src/class.c @@ -69,15 +69,14 @@ prepare_singleton_class(mrb_state *mrb, struct RBasic *o) sc->iv = 0; if (o->tt == MRB_TT_CLASS) { c = (struct RClass*)o; - if (!c->super) { - sc->super = mrb->class_class; - } - else { + if (c->super) { sc->super = c->super->c; } } else if (o->tt == MRB_TT_SCLASS) { c = (struct RClass*)o; + while (c->super->tt == MRB_TT_ICLASS) + c = c->super; make_metaclass(mrb, c->super); sc->super = c->super->c; } -- cgit v1.2.3 From 24fb4bf17a12188c41470d96fc1624f29868f229 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 13 Jul 2013 21:53:00 +0900 Subject: make_metaclass should skip MRB_TT_ICLASS; close #1369 --- src/class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index 787e514b1..ee5f544dd 100644 --- a/src/class.c +++ b/src/class.c @@ -55,7 +55,7 @@ mrb_name_class(mrb_state *mrb, struct RClass *c, mrb_sym name) mrb_obj_iv_set(mrb, (struct RObject*)c, mrb_intern2(mrb, "__classid__", 11), mrb_symbol_value(name)); } - + #define make_metaclass(mrb, c) prepare_singleton_class((mrb), (struct RBasic*)(c)) static void -- cgit v1.2.3 From 5b3d531d794c94c08c808a7d50309bdebe20bf56 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 13 Jul 2013 23:28:59 +0900 Subject: singleton class super initialize failed --- src/class.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/class.c') diff --git a/src/class.c b/src/class.c index ee5f544dd..9868d0080 100644 --- a/src/class.c +++ b/src/class.c @@ -69,7 +69,10 @@ prepare_singleton_class(mrb_state *mrb, struct RBasic *o) sc->iv = 0; if (o->tt == MRB_TT_CLASS) { c = (struct RClass*)o; - if (c->super) { + if (!c->super) { + sc->super = mrb->class_class; + } + else { sc->super = c->super->c; } } -- cgit v1.2.3 From 8e42868600e7adcdc5665ff9b0244150296960d6 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Mon, 15 Jul 2013 23:00:54 +0900 Subject: Repalace int with mrb_bool because a return value is boolean. --- include/mruby.h | 18 +++++++++--------- include/mruby/string.h | 2 +- mrbgems/mruby-bin-mirb/tools/mirb/mirb.c | 2 +- mrbgems/mruby-range-ext/src/range.c | 4 ++-- src/class.c | 6 +++--- src/codegen.c | 2 +- src/kernel.c | 6 +++--- src/object.c | 10 +++++----- src/range.c | 6 +++--- src/string.c | 4 ++-- src/symbol.c | 4 ++-- 11 files changed, 32 insertions(+), 32 deletions(-) (limited to 'src/class.c') diff --git a/include/mruby.h b/include/mruby.h index a7f2a49c4..85b464b8e 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -176,13 +176,13 @@ void mrb_undef_class_method(mrb_state*, struct RClass*, const char*); mrb_value mrb_instance_new(mrb_state *mrb, mrb_value cv); struct RClass * mrb_class_new(mrb_state *mrb, struct RClass *super); struct RClass * mrb_module_new(mrb_state *mrb); -int mrb_class_defined(mrb_state *mrb, const char *name); +mrb_bool mrb_class_defined(mrb_state *mrb, const char *name); struct RClass * mrb_class_get(mrb_state *mrb, const char *name); struct RClass * mrb_class_get_under(mrb_state *mrb, struct RClass *outer, const char *name); mrb_value mrb_obj_dup(mrb_state *mrb, mrb_value obj); mrb_value mrb_check_to_integer(mrb_state *mrb, mrb_value val, const char *method); -int mrb_obj_respond_to(struct RClass* c, mrb_sym mid); +mrb_bool mrb_obj_respond_to(struct RClass* c, mrb_sym mid); struct RClass * mrb_define_class_under(mrb_state *mrb, struct RClass *outer, const char *name, struct RClass *super); struct RClass * mrb_define_module_under(mrb_state *mrb, struct RClass *outer, const char *name); @@ -264,13 +264,13 @@ void mrb_p(mrb_state*, mrb_value); mrb_int mrb_obj_id(mrb_value obj); mrb_sym mrb_obj_to_sym(mrb_state *mrb, mrb_value name); -int mrb_obj_eq(mrb_state*, mrb_value, mrb_value); -int mrb_obj_equal(mrb_state*, mrb_value, mrb_value); -int mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2); +mrb_bool mrb_obj_eq(mrb_state*, mrb_value, mrb_value); +mrb_bool mrb_obj_equal(mrb_state*, mrb_value, mrb_value); +mrb_bool mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2); mrb_value mrb_Integer(mrb_state *mrb, mrb_value val); mrb_value mrb_Float(mrb_state *mrb, mrb_value val); mrb_value mrb_inspect(mrb_state *mrb, mrb_value obj); -int mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2); +mrb_bool mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2); void mrb_garbage_collect(mrb_state*); void mrb_incremental_gc(mrb_state *); @@ -292,7 +292,7 @@ const char * mrb_obj_classname(mrb_state *mrb, mrb_value obj); struct RClass* mrb_obj_class(mrb_state *mrb, mrb_value obj); mrb_value mrb_class_path(mrb_state *mrb, struct RClass *c); mrb_value mrb_convert_type(mrb_state *mrb, mrb_value val, enum mrb_vtype type, const char *tname, const char *method); -int mrb_obj_is_kind_of(mrb_state *mrb, mrb_value obj, struct RClass *c); +mrb_bool mrb_obj_is_kind_of(mrb_state *mrb, mrb_value obj, struct RClass *c); mrb_value mrb_obj_inspect(mrb_state *mrb, mrb_value self); mrb_value mrb_obj_clone(mrb_state *mrb, mrb_value self); @@ -369,8 +369,8 @@ void mrb_define_global_const(mrb_state *mrb, const char *name, mrb_value val); mrb_value mrb_block_proc(void); mrb_value mrb_attr_get(mrb_state *mrb, mrb_value obj, mrb_sym id); -int mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid); -int mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c); +mrb_bool mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid); +mrb_bool mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c); /* memory pool implementation */ typedef struct mrb_pool mrb_pool; diff --git a/include/mruby/string.h b/include/mruby/string.h index 26d1344d8..000c80b09 100644 --- a/include/mruby/string.h +++ b/include/mruby/string.h @@ -57,7 +57,7 @@ mrb_value mrb_str_to_str(mrb_state *mrb, mrb_value str); mrb_int mrb_str_hash(mrb_state *mrb, mrb_value str); mrb_value mrb_str_buf_append(mrb_state *mrb, mrb_value str, mrb_value str2); mrb_value mrb_str_inspect(mrb_state *mrb, mrb_value str); -int mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2); +mrb_bool mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2); mrb_value mrb_str_dump(mrb_state *mrb, mrb_value str); mrb_value mrb_str_cat(mrb_state *mrb, mrb_value str, const char *ptr, size_t len); mrb_value mrb_str_append(mrb_state *mrb, mrb_value str, mrb_value str2); diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index 7f2fcf282..eb7194f30 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -38,7 +38,7 @@ p(mrb_state *mrb, mrb_value obj, int prompt) /* Guess if the user might want to enter more * or if he wants an evaluation of his code now */ -int +mrb_bool is_code_block_open(struct mrb_parser_state *parser) { int code_block_open = FALSE; diff --git a/mrbgems/mruby-range-ext/src/range.c b/mrbgems/mruby-range-ext/src/range.c index 377677ffb..4e17dac8c 100644 --- a/mrbgems/mruby-range-ext/src/range.c +++ b/mrbgems/mruby-range-ext/src/range.c @@ -1,7 +1,7 @@ #include "mruby.h" #include "mruby/range.h" -static int +static mrb_bool r_le(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); /* compare result */ @@ -15,7 +15,7 @@ r_le(mrb_state *mrb, mrb_value a, mrb_value b) return FALSE; } -static int +static mrb_bool r_lt(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); diff --git a/src/class.c b/src/class.c index 9868d0080..606a54a7c 100644 --- a/src/class.c +++ b/src/class.c @@ -203,7 +203,7 @@ mrb_vm_define_class(mrb_state *mrb, mrb_value outer, mrb_value super, mrb_sym id return c; } -int +mrb_bool mrb_class_defined(mrb_state *mrb, const char *name) { mrb_value sym = mrb_check_intern_cstr(mrb, name); @@ -1172,7 +1172,7 @@ mrb_bob_missing(mrb_state *mrb, mrb_value mod) return mrb_nil_value(); } -int +mrb_bool mrb_obj_respond_to(struct RClass* c, mrb_sym mid) { khiter_t k; @@ -1196,7 +1196,7 @@ mrb_obj_respond_to(struct RClass* c, mrb_sym mid) return FALSE; /* no method */ } -int +mrb_bool mrb_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym mid) { return mrb_obj_respond_to(mrb_class(mrb, obj), mid); diff --git a/src/codegen.c b/src/codegen.c index 8dd5a124d..37176653b 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -683,7 +683,7 @@ scope_body(codegen_scope *s, node *tree) return idx - s->idx; } -static int +static mrb_bool nosplat(node *t) { while (t) { diff --git a/src/kernel.c b/src/kernel.c index 965b80b95..ae8d24710 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -26,7 +26,7 @@ typedef enum { NOEX_RESPONDS = 0x80 } mrb_method_flag_t; -int +mrb_bool mrb_obj_basic_to_s_p(mrb_state *mrb, mrb_value obj) { struct RProc *me = mrb_method_search(mrb, mrb_class(mrb, obj), mrb_intern2(mrb, "to_s", 4)); @@ -521,7 +521,7 @@ mrb_obj_instance_eval(mrb_state *mrb, mrb_value self) return mrb_yield_internal(mrb, b, 0, 0, self, c); } -int +mrb_bool mrb_obj_is_instance_of(mrb_state *mrb, mrb_value obj, struct RClass* c) { if (mrb_obj_class(mrb, obj) == c) return TRUE; @@ -938,7 +938,7 @@ mrb_obj_remove_instance_variable(mrb_state *mrb, mrb_value self) return val; } -static inline int +static inline mrb_bool basic_obj_respond_to(mrb_state *mrb, mrb_value obj, mrb_sym id, int pub) { return mrb_respond_to(mrb, obj, id); diff --git a/src/object.c b/src/object.c index 4003452cc..5b2278767 100644 --- a/src/object.c +++ b/src/object.c @@ -11,7 +11,7 @@ #include "mruby/string.h" #include "error.h" -int +mrb_bool mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2) { if (mrb_type(v1) != mrb_type(v2)) return FALSE; @@ -33,14 +33,14 @@ mrb_obj_eq(mrb_state *mrb, mrb_value v1, mrb_value v2) } } -int +mrb_bool mrb_obj_equal(mrb_state *mrb, mrb_value v1, mrb_value v2) { /* temporary definition */ return mrb_obj_eq(mrb, v1, v2); } -int +mrb_bool mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2) { mrb_value result; @@ -468,7 +468,7 @@ mrb_any_to_s(mrb_state *mrb, mrb_value obj) * b.kind_of? M #=> true */ -int +mrb_bool mrb_obj_is_kind_of(mrb_state *mrb, mrb_value obj, struct RClass *c) { struct RClass *cl = mrb_class(mrb, obj); @@ -585,7 +585,7 @@ mrb_inspect(mrb_state *mrb, mrb_value obj) return mrb_obj_as_string(mrb, mrb_funcall(mrb, obj, "inspect", 0, 0)); } -int +mrb_bool mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2) { if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE; diff --git a/src/range.c b/src/range.c index 92eddfe8c..6e313df51 100644 --- a/src/range.c +++ b/src/range.c @@ -170,7 +170,7 @@ mrb_range_eq(mrb_state *mrb, mrb_value range) return mrb_true_value(); } -static int +static mrb_bool r_le(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); /* compare result */ @@ -184,7 +184,7 @@ r_le(mrb_state *mrb, mrb_value a, mrb_value b) return FALSE; } -static int +static mrb_bool r_gt(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); @@ -197,7 +197,7 @@ r_gt(mrb_state *mrb, mrb_value a, mrb_value b) return FALSE; } -static int +static mrb_bool r_ge(mrb_state *mrb, mrb_value a, mrb_value b) { mrb_value r = mrb_funcall(mrb, a, "<=>", 1, b); /* compare result */ diff --git a/src/string.c b/src/string.c index 59a1df455..975f6cdb9 100644 --- a/src/string.c +++ b/src/string.c @@ -595,7 +595,7 @@ mrb_str_cmp_m(mrb_state *mrb, mrb_value str1) return mrb_fixnum_value(result); } -static int +static mrb_bool str_eql(mrb_state *mrb, const mrb_value str1, const mrb_value str2) { const mrb_int len = RSTRING_LEN(str1); @@ -606,7 +606,7 @@ str_eql(mrb_state *mrb, const mrb_value str1, const mrb_value str2) return FALSE; } -int +mrb_bool mrb_str_equal(mrb_state *mrb, mrb_value str1, mrb_value str2) { if (mrb_obj_equal(mrb, str1, str2)) return TRUE; diff --git a/src/symbol.c b/src/symbol.c index c29f7c6ae..bd8dce7df 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -251,7 +251,7 @@ sym_to_sym(mrb_state *mrb, mrb_value sym) #endif #define is_identchar(c) (SIGN_EXTEND_CHAR(c)!=-1&&(ISALNUM(c) || (c) == '_')) -static int +static mrb_bool is_special_global_name(const char* m) { switch (*m) { @@ -274,7 +274,7 @@ is_special_global_name(const char* m) return !*m; } -static int +static mrb_bool symname_p(const char *name) { const char *m = name; -- cgit v1.2.3 From 2daf39ddc85c7c4d36e18580a6fb60dcf1f0ecf4 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 22 Jul 2013 09:52:06 +0900 Subject: change else formatting --- src/array.c | 3 ++- src/class.c | 15 ++++++++++----- src/error.c | 9 ++++++--- src/gc.c | 3 ++- src/kernel.c | 3 ++- src/numeric.c | 9 ++++++--- 6 files changed, 28 insertions(+), 14 deletions(-) (limited to 'src/class.c') diff --git a/src/array.c b/src/array.c index b5bbdf0fa..526cf4973 100644 --- a/src/array.c +++ b/src/array.c @@ -926,7 +926,8 @@ inspect_ary(mrb_state *mrb, mrb_value ary, mrb_value list) } if (mrb_array_p(RARRAY_PTR(ary)[i])) { s = inspect_ary(mrb, RARRAY_PTR(ary)[i], list); - } else { + } + else { s = mrb_inspect(mrb, RARRAY_PTR(ary)[i]); } mrb_str_buf_cat(mrb, arystr, RSTRING_PTR(s), RSTRING_LEN(s)); diff --git a/src/class.c b/src/class.c index 606a54a7c..ad4c9eaa2 100644 --- a/src/class.c +++ b/src/class.c @@ -1437,7 +1437,8 @@ undef_method(mrb_state *mrb, struct RClass *c, mrb_sym a) if (!mrb_obj_respond_to(c, a)) { mrb_name_error(mrb, a, "undefined method '%S' for class '%S'", mrb_sym2str(mrb, a), mrb_obj_value(c)); - } else { + } + else { MRB_SET_VALUE(m, MRB_TT_PROC, value.p, 0); mrb_define_method_vm(mrb, c, a, m); } @@ -1519,7 +1520,8 @@ get_sym_or_str_arg(mrb_state *mrb) if (mrb_symbol_p(sym_or_str) || mrb_string_p(sym_or_str)) { return sym_or_str; - } else { + } + else { mrb_value obj = mrb_funcall(mrb, sym_or_str, "inspect", 0); mrb_raisef(mrb, E_TYPE_ERROR, "%S is not a symbol", obj); return mrb_nil_value(); @@ -1551,7 +1553,8 @@ mrb_mod_cvar_defined(mrb_state *mrb, mrb_value mod) if (mrb_symbol_p(id)) { check_cv_name_sym(mrb, mrb_symbol(id)); defined_p = mrb_cv_defined(mrb, mod, mrb_symbol(id)); - } else { + } + else { mrb_value sym; check_cv_name_str(mrb, id); sym = mrb_check_intern_str(mrb, id); @@ -1703,7 +1706,8 @@ mrb_mod_method_defined(mrb_state *mrb, mrb_value mod) id = get_sym_or_str_arg(mrb); if (mrb_symbol_p(id)) { method_defined_p = mrb_obj_respond_to(mrb_class_ptr(mod), mrb_symbol(id)); - } else { + } + else { mrb_value sym = mrb_check_intern_str(mrb, id); if (mrb_nil_p(sym)) { method_defined_p = FALSE; @@ -1787,7 +1791,8 @@ mrb_mod_const_defined(mrb_state *mrb, mrb_value mod) if (mrb_type(id) == MRB_TT_SYMBOL) { check_const_name_sym(mrb, mrb_symbol(id)); const_defined_p = mrb_const_defined(mrb, mod, mrb_symbol(id)); - } else { + } + else { mrb_value sym; check_const_name_str(mrb, id); sym = mrb_check_intern_str(mrb, id); diff --git a/src/error.c b/src/error.c index bd3afd2e1..9f3a86cc8 100644 --- a/src/error.c +++ b/src/error.c @@ -147,7 +147,8 @@ exc_inspect(mrb_state *mrb, mrb_value exc) if (!mrb_nil_p(mesg) && RSTRING_LEN(mesg) > 0) { mrb_str_cat(mrb, str, ": ", 2); mrb_str_append(mrb, str, mesg); - } else { + } + else { mrb_str_cat(mrb, str, ": ", 2); mrb_str_cat_cstr(mrb, str, mrb_obj_classname(mrb, exc)); } @@ -425,10 +426,12 @@ mrb_sys_fail(mrb_state *mrb, const char *mesg) sce = mrb_class_get(mrb, "SystemCallError"); if (mesg != NULL) { mrb_funcall(mrb, mrb_obj_value(sce), "_sys_fail", 2, mrb_fixnum_value(no), mrb_str_new_cstr(mrb, mesg)); - } else { + } + else { mrb_funcall(mrb, mrb_obj_value(sce), "_sys_fail", 1, mrb_fixnum_value(no)); } - } else { + } + else { mrb_raise(mrb, E_RUNTIME_ERROR, mesg); } } diff --git a/src/gc.c b/src/gc.c index a22ef1adf..581a5ff9c 100644 --- a/src/gc.c +++ b/src/gc.c @@ -212,7 +212,8 @@ mrb_calloc(mrb_state *mrb, size_t nelem, size_t len) if (p) { memset(p, 0, size); } - } else { + } + else { p = NULL; } diff --git a/src/kernel.c b/src/kernel.c index f2c7f182f..4914b7285 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -574,7 +574,8 @@ get_valid_iv_sym(mrb_state *mrb, mrb_value iv_name) if (mrb_string_p(iv_name)) { iv_name_id = mrb_intern_cstr(mrb, RSTRING_PTR(iv_name)); valid_iv_name(mrb, iv_name_id, RSTRING_PTR(iv_name), RSTRING_LEN(iv_name)); - } else if(mrb_symbol_p(iv_name)) { + } + else if(mrb_symbol_p(iv_name)) { iv_name_id = mrb_symbol(iv_name); check_iv_name(mrb, iv_name_id); } diff --git a/src/numeric.c b/src/numeric.c index e1543c089..c734a595d 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -240,7 +240,8 @@ mrb_flo_to_str(mrb_state *mrb, mrb_value flo, int max_digit) *(c++) = 'e'; if (exp > 0) { *(c++) = '+'; - } else { + } + else { *(c++) = '-'; exp = -exp; } @@ -1253,12 +1254,14 @@ mrb_fixnum_to_str(mrb_state *mrb, mrb_value x, int base) if (val == 0) { *--b = '0'; - } else if (val < 0) { + } + else if (val < 0) { do { *--b = mrb_digitmap[-(val % base)]; } while (val /= base); *--b = '-'; - } else { + } + else { do { *--b = mrb_digitmap[(int)(val % base)]; } while (val /= base); -- cgit v1.2.3