Ruby  2.1.10p492(2016-04-01revision54464)
Macros | Enumerations
id.h File Reference

Go to the source code of this file.

Macros

#define ID_SCOPE_SHIFT   RUBY_ID_SCOPE_SHIFT
 
#define ID_SCOPE_MASK   RUBY_ID_SCOPE_MASK
 
#define ID_LOCAL   RUBY_ID_LOCAL
 
#define ID_INSTANCE   RUBY_ID_INSTANCE
 
#define ID_GLOBAL   RUBY_ID_GLOBAL
 
#define ID_ATTRSET   RUBY_ID_ATTRSET
 
#define ID_CONST   RUBY_ID_CONST
 
#define ID_CLASS   RUBY_ID_CLASS
 
#define ID_JUNK   RUBY_ID_JUNK
 
#define ID_INTERNAL   RUBY_ID_INTERNAL
 
#define ID2ATTRSET(id)   (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)
 
#define symIFUNC   ID2SYM(idIFUNC)
 
#define symCFUNC   ID2SYM(idCFUNC)
 
#define RUBY_TOKEN_DOT2   128
 
#define RUBY_TOKEN_DOT3   129
 
#define RUBY_TOKEN_UPLUS   130
 
#define RUBY_TOKEN_UMINUS   131
 
#define RUBY_TOKEN_POW   132
 
#define RUBY_TOKEN_DSTAR   133
 
#define RUBY_TOKEN_CMP   134
 
#define RUBY_TOKEN_LSHFT   135
 
#define RUBY_TOKEN_RSHFT   136
 
#define RUBY_TOKEN_LEQ   137
 
#define RUBY_TOKEN_GEQ   138
 
#define RUBY_TOKEN_EQ   139
 
#define RUBY_TOKEN_EQQ   140
 
#define RUBY_TOKEN_NEQ   141
 
#define RUBY_TOKEN_MATCH   142
 
#define RUBY_TOKEN_NMATCH   143
 
#define RUBY_TOKEN_AREF   144
 
#define RUBY_TOKEN_ASET   145
 
#define RUBY_TOKEN_COLON2   146
 
#define RUBY_TOKEN_COLON3   147
 
#define RUBY_TOKEN(t)   RUBY_TOKEN_##t
 
#define TOKEN2LOCALID(n)   id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)
 

Enumerations

enum  ruby_id_types {
  RUBY_ID_LOCAL = 0x00, RUBY_ID_INSTANCE = 0x01, RUBY_ID_GLOBAL = 0x03, RUBY_ID_ATTRSET = 0x04,
  RUBY_ID_CONST = 0x05, RUBY_ID_CLASS = 0x06, RUBY_ID_JUNK = 0x07, RUBY_ID_INTERNAL = RUBY_ID_JUNK,
  RUBY_ID_SCOPE_SHIFT = 3, RUBY_ID_SCOPE_MASK = ~(~0U<<RUBY_ID_SCOPE_SHIFT)
}
 
enum  ruby_method_ids {
  idDot2 = RUBY_TOKEN(DOT2), idDot3 = RUBY_TOKEN(DOT3), idUPlus = RUBY_TOKEN(UPLUS), idUMinus = RUBY_TOKEN(UMINUS),
  idPow = RUBY_TOKEN(POW), idCmp = RUBY_TOKEN(CMP), idPLUS = '+', idMINUS = '-',
  idMULT = '*', idDIV = '/', idMOD = '', idLT = '<',
  idLTLT = RUBY_TOKEN(LSHFT), idLE = RUBY_TOKEN(LEQ), idGT = '>', idGE = RUBY_TOKEN(GEQ),
  idEq = RUBY_TOKEN(EQ), idEqq = RUBY_TOKEN(EQQ), idNeq = RUBY_TOKEN(NEQ), idNot = '!',
  idBackquote = '`', idEqTilde = RUBY_TOKEN(MATCH), idNeqTilde = RUBY_TOKEN(NMATCH), idAREF = RUBY_TOKEN(AREF),
  idASET = RUBY_TOKEN(ASET), tPRESERVED_ID_BEGIN = 147, idNULL, idEmptyP,
  idEqlP, idRespond_to, idRespond_to_missing, idIFUNC,
  idCFUNC, id_core_set_method_alias, id_core_set_variable_alias, id_core_undef_method,
  id_core_define_method, id_core_define_singleton_method, id_core_set_postexe, id_core_hash_from_ary,
  id_core_hash_merge_ary, id_core_hash_merge_ptr, id_core_hash_merge_kwd, tPRESERVED_ID_END,
  tFreeze, tInspect, tIntern, tObject_id,
  tConst_missing, tMethodMissing, tMethod_added, tSingleton_method_added,
  tMethod_removed, tSingleton_method_removed, tMethod_undefined, tSingleton_method_undefined,
  tLength, tSize, tGets, tSucc,
  tEach, tProc, tLambda, tSend,
  t__send__, t__attached__, tInitialize, tInitialize_copy,
  tInitialize_clone, tInitialize_dup, tUScore, TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze),
  TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), TOKEN2LOCALID =(Freeze), tLAST_OP_ID = tPRESERVED_ID_END-1,
  idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
}
 

Macro Definition Documentation

◆ ID2ATTRSET

#define ID2ATTRSET (   id)    (((id)&~ID_SCOPE_MASK)|ID_ATTRSET)

Definition at line 40 of file id.h.

◆ ID_ATTRSET

#define ID_ATTRSET   RUBY_ID_ATTRSET

◆ ID_CLASS

#define ID_CLASS   RUBY_ID_CLASS

◆ ID_CONST

#define ID_CONST   RUBY_ID_CONST

◆ ID_GLOBAL

#define ID_GLOBAL   RUBY_ID_GLOBAL

◆ ID_INSTANCE

#define ID_INSTANCE   RUBY_ID_INSTANCE

◆ ID_INTERNAL

#define ID_INTERNAL   RUBY_ID_INTERNAL

Definition at line 38 of file id.h.

Referenced by internal_id_gen().

◆ ID_JUNK

#define ID_JUNK   RUBY_ID_JUNK

Definition at line 37 of file id.h.

Referenced by intern_str(), rb_enc_symname_type(), rb_id2str(), rb_id_attrset(), and rb_is_method_name().

◆ ID_LOCAL

#define ID_LOCAL   RUBY_ID_LOCAL

◆ ID_SCOPE_MASK

#define ID_SCOPE_MASK   RUBY_ID_SCOPE_MASK

Definition at line 30 of file id.h.

Referenced by rb_id2str(), and rb_id_attrset().

◆ ID_SCOPE_SHIFT

#define ID_SCOPE_SHIFT   RUBY_ID_SCOPE_SHIFT

Definition at line 29 of file id.h.

Referenced by intern_str(), and internal_id_gen().

◆ RUBY_TOKEN

#define RUBY_TOKEN (   t)    RUBY_TOKEN_##t

Definition at line 65 of file id.h.

◆ RUBY_TOKEN_AREF

#define RUBY_TOKEN_AREF   144

Definition at line 61 of file id.h.

◆ RUBY_TOKEN_ASET

#define RUBY_TOKEN_ASET   145

Definition at line 62 of file id.h.

◆ RUBY_TOKEN_CMP

#define RUBY_TOKEN_CMP   134

Definition at line 51 of file id.h.

◆ RUBY_TOKEN_COLON2

#define RUBY_TOKEN_COLON2   146

Definition at line 63 of file id.h.

◆ RUBY_TOKEN_COLON3

#define RUBY_TOKEN_COLON3   147

Definition at line 64 of file id.h.

◆ RUBY_TOKEN_DOT2

#define RUBY_TOKEN_DOT2   128

Definition at line 45 of file id.h.

◆ RUBY_TOKEN_DOT3

#define RUBY_TOKEN_DOT3   129

Definition at line 46 of file id.h.

◆ RUBY_TOKEN_DSTAR

#define RUBY_TOKEN_DSTAR   133

Definition at line 50 of file id.h.

◆ RUBY_TOKEN_EQ

#define RUBY_TOKEN_EQ   139

Definition at line 56 of file id.h.

◆ RUBY_TOKEN_EQQ

#define RUBY_TOKEN_EQQ   140

Definition at line 57 of file id.h.

◆ RUBY_TOKEN_GEQ

#define RUBY_TOKEN_GEQ   138

Definition at line 55 of file id.h.

◆ RUBY_TOKEN_LEQ

#define RUBY_TOKEN_LEQ   137

Definition at line 54 of file id.h.

◆ RUBY_TOKEN_LSHFT

#define RUBY_TOKEN_LSHFT   135

Definition at line 52 of file id.h.

◆ RUBY_TOKEN_MATCH

#define RUBY_TOKEN_MATCH   142

Definition at line 59 of file id.h.

◆ RUBY_TOKEN_NEQ

#define RUBY_TOKEN_NEQ   141

Definition at line 58 of file id.h.

◆ RUBY_TOKEN_NMATCH

#define RUBY_TOKEN_NMATCH   143

Definition at line 60 of file id.h.

◆ RUBY_TOKEN_POW

#define RUBY_TOKEN_POW   132

Definition at line 49 of file id.h.

◆ RUBY_TOKEN_RSHFT

#define RUBY_TOKEN_RSHFT   136

Definition at line 53 of file id.h.

◆ RUBY_TOKEN_UMINUS

#define RUBY_TOKEN_UMINUS   131

Definition at line 48 of file id.h.

◆ RUBY_TOKEN_UPLUS

#define RUBY_TOKEN_UPLUS   130

Definition at line 47 of file id.h.

◆ symCFUNC

#define symCFUNC   ID2SYM(idCFUNC)

Definition at line 43 of file id.h.

◆ symIFUNC

#define symIFUNC   ID2SYM(idIFUNC)

Definition at line 42 of file id.h.

◆ TOKEN2LOCALID

#define TOKEN2LOCALID (   n)    id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL)

Definition at line 139 of file id.h.

Enumeration Type Documentation

◆ ruby_id_types

Enumerator
RUBY_ID_LOCAL 
RUBY_ID_INSTANCE 
RUBY_ID_GLOBAL 
RUBY_ID_ATTRSET 
RUBY_ID_CONST 
RUBY_ID_CLASS 
RUBY_ID_JUNK 
RUBY_ID_INTERNAL 
RUBY_ID_SCOPE_SHIFT 
RUBY_ID_SCOPE_MASK 

Definition at line 16 of file id.h.

◆ ruby_method_ids

Enumerator
idDot2 
idDot3 
idUPlus 
idUMinus 
idPow 
idCmp 
idPLUS 
idMINUS 
idMULT 
idDIV 
idMOD 
idLT 
idLTLT 
idLE 
idGT 
idGE 
idEq 
idEqq 
idNeq 
idNot 
idBackquote 
idEqTilde 
idNeqTilde 
idAREF 
idASET 
tPRESERVED_ID_BEGIN 
idNULL 
idEmptyP 
idEqlP 
idRespond_to 
idRespond_to_missing 
idIFUNC 
idCFUNC 
id_core_set_method_alias 
id_core_set_variable_alias 
id_core_undef_method 
id_core_define_method 
id_core_define_singleton_method 
id_core_set_postexe 
id_core_hash_from_ary 
id_core_hash_merge_ary 
id_core_hash_merge_ptr 
id_core_hash_merge_kwd 
tPRESERVED_ID_END 
tFreeze 
tInspect 
tIntern 
tObject_id 
tConst_missing 
tMethodMissing 
tMethod_added 
tSingleton_method_added 
tMethod_removed 
tSingleton_method_removed 
tMethod_undefined 
tSingleton_method_undefined 
tLength 
tSize 
tGets 
tSucc 
tEach 
tProc 
tLambda 
tSend 
t__send__ 
t__attached__ 
tInitialize 
tInitialize_copy 
tInitialize_clone 
tInitialize_dup 
tUScore 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
tLAST_OP_ID 
idLAST_OP_ID 

Definition at line 67 of file id.h.