From acdc2d1f242f2547ca842be5d62a2b06356b39ea Mon Sep 17 00:00:00 2001 From: YAMAMOTO Masaya Date: Wed, 11 Oct 2017 17:53:17 +0900 Subject: Add MRB_WITHOUT_FLOAT --- src/kernel.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index 33d142184..c9b4e9619 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -426,7 +426,9 @@ mrb_obj_freeze(mrb_state *mrb, mrb_value self) case MRB_TT_TRUE: case MRB_TT_FIXNUM: case MRB_TT_SYMBOL: +#ifndef MRB_WITHOUT_FLOAT case MRB_TT_FLOAT: +#endif return self; default: break; @@ -449,7 +451,9 @@ mrb_obj_frozen(mrb_state *mrb, mrb_value self) case MRB_TT_TRUE: case MRB_TT_FIXNUM: case MRB_TT_SYMBOL: +#ifndef MRB_WITHOUT_FLOAT case MRB_TT_FLOAT: +#endif return mrb_true_value(); default: break; @@ -878,6 +882,16 @@ mrb_f_raise(mrb_state *mrb, mrb_value self) return mrb_nil_value(); /* not reached */ } +static mrb_value +mrb_krn_class_defined(mrb_state *mrb, mrb_value self) +{ + mrb_value str; + + mrb_get_args(mrb, "S", &str); + return mrb_bool_value(mrb_class_defined(mrb, RSTRING_PTR(str))); +} + + /* 15.3.1.3.41 */ /* * call-seq: @@ -1233,6 +1247,8 @@ mrb_init_kernel(mrb_state *mrb) mrb_define_method(mrb, krn, "to_s", mrb_any_to_s, MRB_ARGS_NONE()); /* 15.3.1.3.46 */ mrb_define_method(mrb, krn, "__case_eqq", mrb_obj_ceqq, MRB_ARGS_REQ(1)); /* internal */ + mrb_define_method(mrb, krn, "class_defined?", mrb_krn_class_defined, MRB_ARGS_REQ(1)); + mrb_include_module(mrb, mrb->object_class, mrb->kernel_module); mrb_alias_method(mrb, mrb->module_class, mrb_intern_lit(mrb, "dup"), mrb_intern_lit(mrb, "clone")); } -- cgit v1.2.3