mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
true/false should print proper inspect string
This commit is contained in:
@@ -61,9 +61,6 @@ mrb_obj_inspect(mrb_state *mrb, mrb_value obj)
|
||||
if ((mrb_type(obj) == MRB_TT_OBJECT) && mrb_obj_basic_to_s_p(mrb, obj)) {
|
||||
return mrb_obj_iv_inspect(mrb, mrb_obj_ptr(obj));
|
||||
}
|
||||
else if (mrb_nil_p(obj)) {
|
||||
return mrb_str_new(mrb, "nil", 3);
|
||||
}
|
||||
else if (mrb_type(obj) == MRB_TT_MAIN) {
|
||||
return mrb_str_new(mrb, "main", 4);
|
||||
}
|
||||
|
||||
+10
-1
@@ -82,7 +82,13 @@ mrb_true(mrb_state *mrb, mrb_value obj)
|
||||
static mrb_value
|
||||
nil_to_s(mrb_state *mrb, mrb_value obj)
|
||||
{
|
||||
return mrb_str_new(mrb, 0, 0);
|
||||
return mrb_str_new(mrb, 0, 0);
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
nil_inspect(mrb_state *mrb, mrb_value obj)
|
||||
{
|
||||
return mrb_str_new(mrb, "nil", 3);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
@@ -272,6 +278,7 @@ mrb_init_object(mrb_state *mrb)
|
||||
mrb_define_method(mrb, n, "|", false_or, ARGS_REQ(1)); /* 15.2.4.3.3 */
|
||||
mrb_define_method(mrb, n, "nil?", mrb_true, ARGS_NONE()); /* 15.2.4.3.4 */
|
||||
mrb_define_method(mrb, n, "to_s", nil_to_s, ARGS_NONE()); /* 15.2.4.3.5 */
|
||||
mrb_define_method(mrb, n, "inspect", nil_inspect, ARGS_NONE());
|
||||
|
||||
t = mrb->true_class = mrb_define_class(mrb, "TrueClass", mrb->object_class);
|
||||
mrb_undef_class_method(mrb, t, "new");
|
||||
@@ -279,6 +286,7 @@ mrb_init_object(mrb_state *mrb)
|
||||
mrb_define_method(mrb, t, "^", true_xor, ARGS_REQ(1)); /* 15.2.5.3.2 */
|
||||
mrb_define_method(mrb, t, "to_s", true_to_s, ARGS_NONE()); /* 15.2.5.3.3 */
|
||||
mrb_define_method(mrb, t, "|", true_or, ARGS_REQ(1)); /* 15.2.5.3.4 */
|
||||
mrb_define_method(mrb, t, "inspect", true_to_s, ARGS_NONE());
|
||||
|
||||
f = mrb->false_class = mrb_define_class(mrb, "FalseClass", mrb->object_class);
|
||||
mrb_undef_class_method(mrb, f, "new");
|
||||
@@ -286,6 +294,7 @@ mrb_init_object(mrb_state *mrb)
|
||||
mrb_define_method(mrb, f, "^", false_xor, ARGS_REQ(1)); /* 15.2.6.3.2 */
|
||||
mrb_define_method(mrb, f, "to_s", false_to_s, ARGS_NONE()); /* 15.2.6.3.3 */
|
||||
mrb_define_method(mrb, f, "|", false_or, ARGS_REQ(1)); /* 15.2.6.3.4 */
|
||||
mrb_define_method(mrb, f, "inspect", false_to_s, ARGS_NONE());
|
||||
}
|
||||
|
||||
static mrb_value
|
||||
|
||||
Reference in New Issue
Block a user