summaryrefslogtreecommitdiff
path: root/ruby_2_2/ext/-test-/symbol/type.c
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_2_2/ext/-test-/symbol/type.c')
-rw-r--r--ruby_2_2/ext/-test-/symbol/type.c78
1 files changed, 0 insertions, 78 deletions
diff --git a/ruby_2_2/ext/-test-/symbol/type.c b/ruby_2_2/ext/-test-/symbol/type.c
deleted file mode 100644
index e51e09eb26..0000000000
--- a/ruby_2_2/ext/-test-/symbol/type.c
+++ /dev/null
@@ -1,78 +0,0 @@
-#include "ruby.h"
-
-#ifdef HAVE_RB_IS_CONST_NAME
-# define get_symbol_type(type, t, name) do { \
- ID id = rb_check_id(&name); \
- t = (id ? rb_is_##type##_id(id) : rb_is_##type##_name(name)); \
- } while (0)
-#else
-# define get_symbol_type(type, t, name) do { \
- t = rb_is_##type##_id(rb_to_id(name)); \
- } while (0)
-#endif
-
-#define define_symbol_type_p(type) \
-static VALUE \
-bug_sym_##type##_p(VALUE self, VALUE name) \
-{ \
- int t; \
- get_symbol_type(type, t, name); \
- return (t ? Qtrue : Qfalse); \
-}
-
-#define declare_symbol_type_p(type) \
- rb_define_singleton_method(klass, #type"?", bug_sym_##type##_p, 1);
-
-#define FOREACH_ID_TYPES(x) x(const) x(class) x(global) x(instance) x(attrset) x(local) x(junk)
-
-FOREACH_ID_TYPES(define_symbol_type_p)
-
-static VALUE
-bug_sym_attrset(VALUE self, VALUE name)
-{
- ID id = rb_to_id(name);
- id = rb_id_attrset(id);
- return ID2SYM(id);
-}
-
-static VALUE
-bug_id2str(VALUE self, VALUE sym)
-{
- return rb_sym2str(sym);
-}
-
-static VALUE
-bug_static_p(VALUE self, VALUE sym)
-{
- return STATIC_SYM_P(sym) ? Qtrue : Qfalse;
-}
-
-static VALUE
-bug_dynamic_p(VALUE self, VALUE sym)
-{
- return DYNAMIC_SYM_P(sym) ? Qtrue : Qfalse;
-}
-
-#ifdef HAVE_RB_PIN_DYNAMIC_SYMBOL
-ID rb_pin_dynamic_symbol(VALUE);
-
-static VALUE
-bug_pindown(VALUE self, VALUE sym)
-{
- rb_pin_dynamic_symbol(sym);
- return sym;
-}
-#endif
-
-void
-Init_type(VALUE klass)
-{
- FOREACH_ID_TYPES(declare_symbol_type_p);
- rb_define_singleton_method(klass, "attrset", bug_sym_attrset, 1);
- rb_define_singleton_method(klass, "id2str", bug_id2str, 1);
- rb_define_singleton_method(klass, "static?", bug_static_p, 1);
- rb_define_singleton_method(klass, "dynamic?", bug_dynamic_p, 1);
-#ifdef HAVE_RB_PIN_DYNAMIC_SYMBOL
- rb_define_singleton_method(klass, "pindown", bug_pindown, 1);
-#endif
-}