Ruby  2.0.0p648(2015-12-16revision53162)
Macros | Enumerations
id.h File Reference

Go to the source code of this file.

Macros

#define ID_SCOPE_SHIFT   3
 
#define ID_SCOPE_MASK   0x07
 
#define ID_LOCAL   0x00
 
#define ID_INSTANCE   0x01
 
#define ID_GLOBAL   0x03
 
#define ID_ATTRSET   0x04
 
#define ID_CONST   0x05
 
#define ID_CLASS   0x06
 
#define ID_JUNK   0x07
 
#define ID_INTERNAL   ID_JUNK
 
#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_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,
  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, tIntern,
  tMethodMissing, tLength, tSize, tGets,
  tSucc, tEach, tProc, tLambda,
  tSend, t__send__, tInitialize, tInitialize_copy,
  tInitialize_clone, tInitialize_dup, tUScore, TOKEN2LOCALID =(Intern),
  TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern),
  TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern),
  TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern),
  TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern), TOKEN2LOCALID =(Intern),
  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 27 of file id.h.

◆ ID_ATTRSET

#define ID_ATTRSET   0x04

◆ ID_CLASS

#define ID_CLASS   0x06

◆ ID_CONST

#define ID_CONST   0x05

◆ ID_GLOBAL

#define ID_GLOBAL   0x03

◆ ID_INSTANCE

#define ID_INSTANCE   0x01

◆ ID_INTERNAL

#define ID_INTERNAL   ID_JUNK

Definition at line 25 of file id.h.

Referenced by internal_id_gen().

◆ ID_JUNK

#define ID_JUNK   0x07

◆ ID_LOCAL

#define ID_LOCAL   0x00

◆ ID_SCOPE_MASK

#define ID_SCOPE_MASK   0x07

Definition at line 17 of file id.h.

Referenced by iseq_set_arguments(), rb_id2str(), and rb_id_attrset().

◆ ID_SCOPE_SHIFT

#define ID_SCOPE_SHIFT   3

Definition at line 16 of file id.h.

Referenced by intern_str(), and internal_id_gen().

◆ RUBY_TOKEN

#define RUBY_TOKEN (   t)    RUBY_TOKEN_##t

Definition at line 52 of file id.h.

◆ RUBY_TOKEN_AREF

#define RUBY_TOKEN_AREF   144

Definition at line 48 of file id.h.

◆ RUBY_TOKEN_ASET

#define RUBY_TOKEN_ASET   145

Definition at line 49 of file id.h.

◆ RUBY_TOKEN_CMP

#define RUBY_TOKEN_CMP   134

Definition at line 38 of file id.h.

◆ RUBY_TOKEN_COLON2

#define RUBY_TOKEN_COLON2   146

Definition at line 50 of file id.h.

◆ RUBY_TOKEN_COLON3

#define RUBY_TOKEN_COLON3   147

Definition at line 51 of file id.h.

◆ RUBY_TOKEN_DOT2

#define RUBY_TOKEN_DOT2   128

Definition at line 32 of file id.h.

◆ RUBY_TOKEN_DOT3

#define RUBY_TOKEN_DOT3   129

Definition at line 33 of file id.h.

◆ RUBY_TOKEN_DSTAR

#define RUBY_TOKEN_DSTAR   133

Definition at line 37 of file id.h.

◆ RUBY_TOKEN_EQ

#define RUBY_TOKEN_EQ   139

Definition at line 43 of file id.h.

◆ RUBY_TOKEN_EQQ

#define RUBY_TOKEN_EQQ   140

Definition at line 44 of file id.h.

◆ RUBY_TOKEN_GEQ

#define RUBY_TOKEN_GEQ   138

Definition at line 42 of file id.h.

◆ RUBY_TOKEN_LEQ

#define RUBY_TOKEN_LEQ   137

Definition at line 41 of file id.h.

◆ RUBY_TOKEN_LSHFT

#define RUBY_TOKEN_LSHFT   135

Definition at line 39 of file id.h.

◆ RUBY_TOKEN_MATCH

#define RUBY_TOKEN_MATCH   142

Definition at line 46 of file id.h.

◆ RUBY_TOKEN_NEQ

#define RUBY_TOKEN_NEQ   141

Definition at line 45 of file id.h.

◆ RUBY_TOKEN_NMATCH

#define RUBY_TOKEN_NMATCH   143

Definition at line 47 of file id.h.

◆ RUBY_TOKEN_POW

#define RUBY_TOKEN_POW   132

Definition at line 36 of file id.h.

◆ RUBY_TOKEN_RSHFT

#define RUBY_TOKEN_RSHFT   136

Definition at line 40 of file id.h.

◆ RUBY_TOKEN_UMINUS

#define RUBY_TOKEN_UMINUS   131

Definition at line 35 of file id.h.

◆ RUBY_TOKEN_UPLUS

#define RUBY_TOKEN_UPLUS   130

Definition at line 34 of file id.h.

◆ symCFUNC

#define symCFUNC   ID2SYM(idCFUNC)

Definition at line 30 of file id.h.

◆ symIFUNC

#define symIFUNC   ID2SYM(idIFUNC)

Definition at line 29 of file id.h.

◆ TOKEN2LOCALID

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

Definition at line 114 of file id.h.

Enumeration Type Documentation

◆ 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 
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 
tIntern 
tMethodMissing 
tLength 
tSize 
tGets 
tSucc 
tEach 
tProc 
tLambda 
tSend 
t__send__ 
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 
tLAST_OP_ID 
idLAST_OP_ID 

Definition at line 54 of file id.h.