From 4e48b6428034b92c4eb23e1d50889979f8a38dfb Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 17 Nov 2014 18:20:22 +0000 Subject: [PATCH] symbol.c: symbol type predicate functions * symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym): fix ID type names. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ internal.h | 8 ++++++++ symbol.c | 42 ++++++++++++++++++++++++++++++++++++++++++ symbol.h | 14 +++++++------- 4 files changed, 62 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index fa596e6553..5d77ccc206 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Tue Nov 18 03:20:19 2014 Nobuyoshi Nakada + + * symbol.h (is_{local,global,instance,attrset,const,class,junk}_sym): + fix ID type names. + Mon Nov 17 20:17:59 2014 Masaki Suketa * ext/win32ole/win32ole_event.c: use typed data. diff --git a/internal.h b/internal.h index 0025355477..feca244ee3 100644 --- a/internal.h +++ b/internal.h @@ -827,6 +827,14 @@ int rb_is_attrset_name(VALUE name); int rb_is_local_name(VALUE name); int rb_is_method_name(VALUE name); int rb_is_junk_name(VALUE name); +int rb_is_const_sym(VALUE sym); +int rb_is_class_sym(VALUE sym); +int rb_is_global_sym(VALUE sym); +int rb_is_instance_sym(VALUE sym); +int rb_is_attrset_sym(VALUE sym); +int rb_is_local_sym(VALUE sym); +int rb_is_method_sym(VALUE sym); +int rb_is_junk_sym(VALUE sym); ID rb_make_internal_id(void); void rb_gc_free_dsymbol(VALUE); ID rb_id_attrget(ID id); diff --git a/symbol.c b/symbol.c index 8bfe95e845..a22a1d15e5 100644 --- a/symbol.c +++ b/symbol.c @@ -889,6 +889,48 @@ rb_is_junk_id(ID id) return is_junk_id(id); } +int +rb_is_const_sym(VALUE sym) +{ + return is_const_sym(sym); +} + +int +rb_is_class_sym(VALUE sym) +{ + return is_class_sym(sym); +} + +int +rb_is_global_sym(VALUE sym) +{ + return is_global_sym(sym); +} + +int +rb_is_instance_sym(VALUE sym) +{ + return is_instance_sym(sym); +} + +int +rb_is_attrset_sym(VALUE sym) +{ + return is_attrset_sym(sym); +} + +int +rb_is_local_sym(VALUE sym) +{ + return is_local_sym(sym); +} + +int +rb_is_junk_sym(VALUE sym) +{ + return is_junk_sym(sym); +} + /** * Returns ID for the given name if it is interned already, or 0. * diff --git a/symbol.h b/symbol.h index 3e14e02bdb..549eabdf61 100644 --- a/symbol.h +++ b/symbol.h @@ -65,13 +65,13 @@ sym_type(VALUE sym) return (int)(id&ID_SCOPE_MASK); } -#define is_local_sym(sym) (sym_type(sym)==SYM_LOCAL) -#define is_global_sym(sym) (sym_type(sym)==SYM_GLOBAL) -#define is_instance_sym(sym) (sym_type(sym)==SYM_INSTANCE) -#define is_attrset_sym(sym) (sym_type(sym)==SYM_ATTRSET) -#define is_const_sym(sym) (sym_type(sym)==SYM_CONST) -#define is_class_sym(sym) (sym_type(sym)==SYM_CLASS) -#define is_junk_sym(sym) (sym_type(sym)==SYM_JUNK) +#define is_local_sym(sym) (sym_type(sym)==ID_LOCAL) +#define is_global_sym(sym) (sym_type(sym)==ID_GLOBAL) +#define is_instance_sym(sym) (sym_type(sym)==ID_INSTANCE) +#define is_attrset_sym(sym) (sym_type(sym)==ID_ATTRSET) +#define is_const_sym(sym) (sym_type(sym)==ID_CONST) +#define is_class_sym(sym) (sym_type(sym)==ID_CLASS) +#define is_junk_sym(sym) (sym_type(sym)==ID_JUNK) RUBY_FUNC_EXPORTED const unsigned int ruby_global_name_punct_bits[(0x7e - 0x20 + 31) / 32];