Ruby  2.4.2p198(2017-09-14revision59899)
Macros | Enumerations
id.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define ID_STATIC_SYM   RUBY_ID_STATIC_SYM
 
#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 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_ANDOP   148
 
#define RUBY_TOKEN_OROP   149
 
#define RUBY_TOKEN_ANDDOT   150
 
#define RUBY_TOKEN(t)   RUBY_TOKEN_##t
 
#define TOKEN2LOCALID(n)   id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_LOCAL|ID_STATIC_SYM)
 
#define TOKEN2GLOBALID(n)   id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_GLOBAL|ID_STATIC_SYM)
 

Enumerations

enum  ruby_id_types {
  RUBY_ID_STATIC_SYM = 0x01, RUBY_ID_LOCAL = 0x00, RUBY_ID_INSTANCE = (0x01<<1), RUBY_ID_GLOBAL = (0x03<<1),
  RUBY_ID_ATTRSET = (0x04<<1), RUBY_ID_CONST = (0x05<<1), RUBY_ID_CLASS = (0x06<<1), RUBY_ID_JUNK = (0x07<<1),
  RUBY_ID_INTERNAL = RUBY_ID_JUNK, RUBY_ID_SCOPE_SHIFT = 4, RUBY_ID_SCOPE_MASK = (~(~0U<<(RUBY_ID_SCOPE_SHIFT-1))<<1)
}
 
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 = '', idLTLT = RUBY_TOKEN(LSHFT),
  idGTGT = RUBY_TOKEN(RSHFT), idLT = '<', 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), idCOLON2 = RUBY_TOKEN(COLON2), idANDOP = RUBY_TOKEN(ANDOP),
  idOROP = RUBY_TOKEN(OROP), idANDDOT = RUBY_TOKEN(ANDDOT), tPRESERVED_ID_BEGIN = 150, 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,
  id_debug_created_info, tPRESERVED_ID_END, tMax, tMin,
  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, tTo_int, tTo_ary,
  tTo_str, tTo_sym, tTo_hash, tTo_proc,
  tTo_io, tTo_a, tTo_s, tTo_i,
  tBt, tBt_locations, tCall, tMesg,
  tException, tUScore, tLASTLINE, tBACKREF,
  tNEXT_ID, TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max),
  TOKEN2LOCALID =(Max), TOKEN2LOCALID =(Max), TOKEN2GLOBALID =(LASTLINE), TOKEN2GLOBALID =(LASTLINE),
  TOKEN2GLOBALID =(LASTLINE), tLAST_OP_ID = tPRESERVED_ID_END-1, idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
}
 

Macro Definition Documentation

◆ ID_ATTRSET

#define ID_ATTRSET   RUBY_ID_ATTRSET

Definition at line 36 of file id.h.

Referenced by rb_enc_symname_type(), rb_id_attrset(), rb_is_attrset_name(), and rb_is_method_name().

◆ 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 40 of file id.h.

Referenced by internal_id_gen(), and rb_make_internal_id().

◆ ID_JUNK

#define ID_JUNK   RUBY_ID_JUNK

Definition at line 39 of file id.h.

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

◆ ID_LOCAL

#define ID_LOCAL   RUBY_ID_LOCAL

◆ ID_SCOPE_MASK

#define ID_SCOPE_MASK   RUBY_ID_SCOPE_MASK

Definition at line 32 of file id.h.

Referenced by cs_i(), dsymbol_check(), id_type(), lookup_str_id(), new_xstring_gen(), rb_sym2id(), and sym_type().

◆ ID_SCOPE_SHIFT

#define ID_SCOPE_SHIFT   RUBY_ID_SCOPE_SHIFT

◆ ID_STATIC_SYM

#define ID_STATIC_SYM   RUBY_ID_STATIC_SYM

Definition at line 30 of file id.h.

Referenced by intern_str(), internal_id_gen(), and rb_make_internal_id().

◆ RUBY_TOKEN

#define RUBY_TOKEN (   t)    RUBY_TOKEN_##t

Definition at line 68 of file id.h.

◆ RUBY_TOKEN_ANDDOT

#define RUBY_TOKEN_ANDDOT   150

Definition at line 67 of file id.h.

◆ RUBY_TOKEN_ANDOP

#define RUBY_TOKEN_ANDOP   148

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_OROP

#define RUBY_TOKEN_OROP   149

Definition at line 66 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.

◆ TOKEN2GLOBALID

#define TOKEN2GLOBALID (   n)    id##n = ((t##n<<ID_SCOPE_SHIFT)|ID_GLOBAL|ID_STATIC_SYM)

Definition at line 213 of file id.h.

◆ TOKEN2LOCALID

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

Definition at line 168 of file id.h.

Enumeration Type Documentation

◆ ruby_id_types

Enumerator
RUBY_ID_STATIC_SYM 
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 
idLTLT 
idGTGT 
idLT 
idLE 
idGT 
idGE 
idEq 
idEqq 
idNeq 
idNot 
idBackquote 
idEqTilde 
idNeqTilde 
idAREF 
idASET 
idCOLON2 
idANDOP 
idOROP 
idANDDOT 
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 
id_debug_created_info 
tPRESERVED_ID_END 
tMax 
tMin 
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 
tTo_int 
tTo_ary 
tTo_str 
tTo_sym 
tTo_hash 
tTo_proc 
tTo_io 
tTo_a 
tTo_s 
tTo_i 
tBt 
tBt_locations 
tCall 
tMesg 
tException 
tUScore 
tLASTLINE 
tBACKREF 
tNEXT_ID 
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 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2LOCALID 
TOKEN2GLOBALID 
TOKEN2GLOBALID 
TOKEN2GLOBALID 
tLAST_OP_ID 
idLAST_OP_ID 

Definition at line 70 of file id.h.