summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-11-04 12:33:07 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-11-04 12:33:07 +0900
commitd6cb4f9cf2027eb20f67238aa6c051448602e7e6 (patch)
treec025d53534298097aadc3d7699de964bd8a7225f /src/kernel.c
parent388d26d77027feaa3e107abf7209e2681868bbe6 (diff)
parenta751f7f196e35cf85ac6f5c0d855edeb68b2bf53 (diff)
downloadmruby-d6cb4f9cf2027eb20f67238aa6c051448602e7e6.tar.gz
mruby-d6cb4f9cf2027eb20f67238aa6c051448602e7e6.zip
Merge branch 'pandax381-mrb_without_float'
Diffstat (limited to 'src/kernel.c')
-rw-r--r--src/kernel.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/kernel.c b/src/kernel.c
index ec95b04ba..4a20e18c1 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -442,7 +442,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;
@@ -465,7 +467,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;
@@ -894,6 +898,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:
@@ -1252,6 +1266,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"));
}