summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2021-01-07 16:38:46 +0900
committerKOBAYASHI Shuji <[email protected]>2021-01-07 16:38:46 +0900
commitd35cd42dc8843cd69b7a01ebf2fe91bcea85a5a7 (patch)
tree145f9367de398f4b7c613db489c82415a163e71c /include
parentec6f46c05dfdf5bd7ef5c9a36ea1751ff564b2ef (diff)
downloadmruby-d35cd42dc8843cd69b7a01ebf2fe91bcea85a5a7.tar.gz
mruby-d35cd42dc8843cd69b7a01ebf2fe91bcea85a5a7.zip
Add scan target functions for presym
Add the following functions: - mrb_intern_cstr - mrb_define_singleton_method - mrb_define_class_under - mrb_define_module_under
Diffstat (limited to 'include')
-rw-r--r--include/mruby/presym.h4
-rw-r--r--include/mruby/presym/scanning.h5
2 files changed, 7 insertions, 2 deletions
diff --git a/include/mruby/presym.h b/include/mruby/presym.h
index fd326c758..d5ed72e72 100644
--- a/include/mruby/presym.h
+++ b/include/mruby/presym.h
@@ -29,8 +29,8 @@
* MRB_SYM(xor) //=> xor (Word characters)
*
* For `MRB_OPSYM`, specify the names corresponding to operators (see
- * `MRuby::Presym::OPERATORS` in `lib/mruby/presym.rb for the names that can
- * be specified for it). Other than that, describe only word characters
+ * `MRuby::Presym::OPERATORS` in `lib/mruby/presym.rb` for the names that
+ * can be specified for it). Other than that, describe only word characters
* excluding leading and ending punctuations.
*
* These macros are expanded to `mrb_intern_lit` if presym is disabled,
diff --git a/include/mruby/presym/scanning.h b/include/mruby/presym/scanning.h
index 11a3ba312..0a9844913 100644
--- a/include/mruby/presym/scanning.h
+++ b/include/mruby/presym/scanning.h
@@ -11,14 +11,19 @@
#undef mrb_intern_lit
#define mrb_intern_lit(mrb, name) MRB_PRESYM_SCANNING_TAGGED(name)
+#define mrb_intern_cstr(mrb, name) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_method(mrb, c, name, f, a) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_class_method(mrb, c, name, f, a) MRB_PRESYM_SCANNING_TAGGED(name)
+#define mrb_define_singleton_method(mrb, c, name, f, a) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_class(mrb, name, s) MRB_PRESYM_SCANNING_TAGGED(name)
+#define mrb_define_class_under(mrb, o, name, s) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_module(mrb, name) MRB_PRESYM_SCANNING_TAGGED(name)
+#define mrb_define_module_under(mrb, o, name) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_module_function(mrb, c, name, f, s) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_const(mrb, c, name, v) MRB_PRESYM_SCANNING_TAGGED(name)
#define mrb_define_global_const(mrb, name, v) MRB_PRESYM_SCANNING_TAGGED(name)
+
#define MRB_OPSYM(name) MRB_OPSYM__##name(mrb)
#define MRB_CVSYM(name) MRB_PRESYM_SCANNING_TAGGED("@@" #name)
#define MRB_IVSYM(name) MRB_PRESYM_SCANNING_TAGGED("@" #name)