Ruby 3.1.3p185 (2022-11-24 revision 1a6b16756e0ba6b95ab71a441357ed5484e33498)
id.h
1/* DO NOT EDIT THIS FILE DIRECTLY */
2/**********************************************************************
3
4 id.h -
5
6 $Author$
7 created at: Sun Oct 19 21:12:51 2008
8
9 Copyright (C) 2007 Koichi Sasada
10
11**********************************************************************/
12
13#ifndef RUBY_ID_H
14#define RUBY_ID_H
15
16enum ruby_id_types {
17 RUBY_ID_STATIC_SYM = 0x01,
18 RUBY_ID_LOCAL = 0x00,
19 RUBY_ID_INSTANCE = (0x01<<1),
20 RUBY_ID_GLOBAL = (0x03<<1),
21 RUBY_ID_ATTRSET = (0x04<<1),
22 RUBY_ID_CONST = (0x05<<1),
23 RUBY_ID_CLASS = (0x06<<1),
24 RUBY_ID_JUNK = (0x07<<1),
25 RUBY_ID_INTERNAL = RUBY_ID_JUNK,
26 RUBY_ID_SCOPE_SHIFT = 4,
27 RUBY_ID_SCOPE_MASK = (~(~0U<<(RUBY_ID_SCOPE_SHIFT-1))<<1)
28};
29
30#define ID_STATIC_SYM RUBY_ID_STATIC_SYM
31#define ID_SCOPE_SHIFT RUBY_ID_SCOPE_SHIFT
32#define ID_SCOPE_MASK RUBY_ID_SCOPE_MASK
33#define ID_LOCAL RUBY_ID_LOCAL
34#define ID_INSTANCE RUBY_ID_INSTANCE
35#define ID_GLOBAL RUBY_ID_GLOBAL
36#define ID_ATTRSET RUBY_ID_ATTRSET
37#define ID_CONST RUBY_ID_CONST
38#define ID_CLASS RUBY_ID_CLASS
39#define ID_JUNK RUBY_ID_JUNK
40#define ID_INTERNAL RUBY_ID_INTERNAL
41
42#define symIFUNC ID2SYM(idIFUNC)
43#define symCFUNC ID2SYM(idCFUNC)
44
45#define RUBY_TOKEN_DOT2 128
46#define RUBY_TOKEN_DOT3 129
47#define RUBY_TOKEN_BDOT2 130
48#define RUBY_TOKEN_BDOT3 131
49#define RUBY_TOKEN_UPLUS 132
50#define RUBY_TOKEN_UMINUS 133
51#define RUBY_TOKEN_POW 134
52#define RUBY_TOKEN_CMP 135
53#define RUBY_TOKEN_LSHFT 136
54#define RUBY_TOKEN_RSHFT 137
55#define RUBY_TOKEN_LEQ 138
56#define RUBY_TOKEN_GEQ 139
57#define RUBY_TOKEN_EQ 140
58#define RUBY_TOKEN_EQQ 141
59#define RUBY_TOKEN_NEQ 142
60#define RUBY_TOKEN_MATCH 143
61#define RUBY_TOKEN_NMATCH 144
62#define RUBY_TOKEN_AREF 145
63#define RUBY_TOKEN_ASET 146
64#define RUBY_TOKEN_COLON2 147
65#define RUBY_TOKEN_ANDOP 148
66#define RUBY_TOKEN_OROP 149
67#define RUBY_TOKEN_ANDDOT 150
68#define RUBY_TOKEN(t) RUBY_TOKEN_##t
69
70#define RUBY_TOKEN2ID_TYPE(tok, type) ((tok<<RUBY_ID_SCOPE_SHIFT)|type|RUBY_ID_STATIC_SYM)
71#define TOKEN2LOCALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_LOCAL)
72#define TOKEN2INSTANCEID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_INSTANCE)
73#define TOKEN2GLOBALID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_GLOBAL)
74#define TOKEN2CONSTID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CONST)
75#define TOKEN2CLASSID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_CLASS)
76#define TOKEN2ATTRSETID(tok) RUBY_TOKEN2ID_TYPE(tok, RUBY_ID_ATTRSET)
77
78enum ruby_method_ids {
79 idDot2 = RUBY_TOKEN(DOT2),
80 idDot3 = RUBY_TOKEN(DOT3),
81 idUPlus = RUBY_TOKEN(UPLUS),
82 idUMinus = RUBY_TOKEN(UMINUS),
83 idPow = RUBY_TOKEN(POW),
84 idCmp = RUBY_TOKEN(CMP),
85 idPLUS = '+',
86 idMINUS = '-',
87 idMULT = '*',
88 idDIV = '/',
89 idMOD = '%',
90 idLTLT = RUBY_TOKEN(LSHFT),
91 idGTGT = RUBY_TOKEN(RSHFT),
92 idLT = '<',
93 idLE = RUBY_TOKEN(LEQ),
94 idGT = '>',
95 idGE = RUBY_TOKEN(GEQ),
96 idEq = RUBY_TOKEN(EQ),
97 idEqq = RUBY_TOKEN(EQQ),
98 idNeq = RUBY_TOKEN(NEQ),
99 idNot = '!',
100 idAnd = '&',
101 idOr = '|',
102 idBackquote = '`',
103 idEqTilde = RUBY_TOKEN(MATCH),
104 idNeqTilde = RUBY_TOKEN(NMATCH),
105 idAREF = RUBY_TOKEN(AREF),
106 idASET = RUBY_TOKEN(ASET),
107 idCOLON2 = RUBY_TOKEN(COLON2),
108 idANDOP = RUBY_TOKEN(ANDOP),
109 idOROP = RUBY_TOKEN(OROP),
110 idANDDOT = RUBY_TOKEN(ANDDOT),
111 tPRESERVED_ID_BEGIN = 150,
112 idNilP,
113 idNULL,
114 idEmptyP,
115 idEqlP,
116 idRespond_to,
117 idRespond_to_missing,
118 idIFUNC,
119 idCFUNC,
120 id_core_set_method_alias,
121 id_core_set_variable_alias,
122 id_core_undef_method,
123 id_core_define_method,
124 id_core_define_singleton_method,
125 id_core_set_postexe,
126 id_core_hash_merge_ptr,
127 id_core_hash_merge_kwd,
128 id_core_raise,
129 id_core_sprintf,
130 id_debug_created_info,
131 tPRESERVED_ID_END,
132 tTOKEN_LOCAL_BEGIN = tPRESERVED_ID_END-1,
133 tMax,
134 tMin,
135 tFreeze,
136 tInspect,
137 tIntern,
138 tObject_id,
139 tConst_missing,
140 tMethodMissing,
141 tMethod_added,
142 tSingleton_method_added,
143 tMethod_removed,
144 tSingleton_method_removed,
145 tMethod_undefined,
146 tSingleton_method_undefined,
147 tLength,
148 tSize,
149 tGets,
150 tSucc,
151 tEach,
152 tProc,
153 tLambda,
154 tSend,
155 t__send__,
156 t__attached__,
157 t__recursive_key__,
158 tInitialize,
159 tInitialize_copy,
160 tInitialize_clone,
161 tInitialize_dup,
162 tTo_int,
163 tTo_ary,
164 tTo_str,
165 tTo_sym,
166 tTo_hash,
167 tTo_proc,
168 tTo_io,
169 tTo_a,
170 tTo_s,
171 tTo_i,
172 tTo_f,
173 tTo_r,
174 tBt,
175 tBt_locations,
176 tCall,
177 tMesg,
178 tException,
179 tLocals,
180 tNOT,
181 tAND,
182 tOR,
183 tDiv,
184 tDivmod,
185 tFdiv,
186 tQuo,
187 tName,
188 tNil,
189 tUScore,
190 tNUMPARAM_1,
191 tNUMPARAM_2,
192 tNUMPARAM_3,
193 tNUMPARAM_4,
194 tNUMPARAM_5,
195 tNUMPARAM_6,
196 tNUMPARAM_7,
197 tNUMPARAM_8,
198 tNUMPARAM_9,
199 tTOKEN_LOCAL_END,
200 tTOKEN_INSTANCE_BEGIN = tTOKEN_LOCAL_END-1,
201 tTOKEN_INSTANCE_END,
202 tTOKEN_GLOBAL_BEGIN = tTOKEN_INSTANCE_END-1,
203 tLASTLINE,
204 tBACKREF,
205 tERROR_INFO,
206 tTOKEN_GLOBAL_END,
207 tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
208 tTOKEN_CONST_END,
209 tTOKEN_CLASS_BEGIN = tTOKEN_CONST_END-1,
210 tTOKEN_CLASS_END,
211 tTOKEN_ATTRSET_BEGIN = tTOKEN_CLASS_END-1,
212 tTOKEN_ATTRSET_END,
213 tNEXT_ID = tTOKEN_ATTRSET_END,
214#define DEFINE_LOCALID_FROM_TOKEN(n) id##n = TOKEN2LOCALID(t##n)
215 DEFINE_LOCALID_FROM_TOKEN(Max),
216 DEFINE_LOCALID_FROM_TOKEN(Min),
217 DEFINE_LOCALID_FROM_TOKEN(Freeze),
218 DEFINE_LOCALID_FROM_TOKEN(Inspect),
219 DEFINE_LOCALID_FROM_TOKEN(Intern),
220 DEFINE_LOCALID_FROM_TOKEN(Object_id),
221 DEFINE_LOCALID_FROM_TOKEN(Const_missing),
222 DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
223 DEFINE_LOCALID_FROM_TOKEN(Method_added),
224 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_added),
225 DEFINE_LOCALID_FROM_TOKEN(Method_removed),
226 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_removed),
227 DEFINE_LOCALID_FROM_TOKEN(Method_undefined),
228 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_undefined),
229 DEFINE_LOCALID_FROM_TOKEN(Length),
230 DEFINE_LOCALID_FROM_TOKEN(Size),
231 DEFINE_LOCALID_FROM_TOKEN(Gets),
232 DEFINE_LOCALID_FROM_TOKEN(Succ),
233 DEFINE_LOCALID_FROM_TOKEN(Each),
234 DEFINE_LOCALID_FROM_TOKEN(Proc),
235 DEFINE_LOCALID_FROM_TOKEN(Lambda),
236 DEFINE_LOCALID_FROM_TOKEN(Send),
237 DEFINE_LOCALID_FROM_TOKEN(__send__),
238 DEFINE_LOCALID_FROM_TOKEN(__attached__),
239 DEFINE_LOCALID_FROM_TOKEN(__recursive_key__),
240 DEFINE_LOCALID_FROM_TOKEN(Initialize),
241 DEFINE_LOCALID_FROM_TOKEN(Initialize_copy),
242 DEFINE_LOCALID_FROM_TOKEN(Initialize_clone),
243 DEFINE_LOCALID_FROM_TOKEN(Initialize_dup),
244 DEFINE_LOCALID_FROM_TOKEN(To_int),
245 DEFINE_LOCALID_FROM_TOKEN(To_ary),
246 DEFINE_LOCALID_FROM_TOKEN(To_str),
247 DEFINE_LOCALID_FROM_TOKEN(To_sym),
248 DEFINE_LOCALID_FROM_TOKEN(To_hash),
249 DEFINE_LOCALID_FROM_TOKEN(To_proc),
250 DEFINE_LOCALID_FROM_TOKEN(To_io),
251 DEFINE_LOCALID_FROM_TOKEN(To_a),
252 DEFINE_LOCALID_FROM_TOKEN(To_s),
253 DEFINE_LOCALID_FROM_TOKEN(To_i),
254 DEFINE_LOCALID_FROM_TOKEN(To_f),
255 DEFINE_LOCALID_FROM_TOKEN(To_r),
256 DEFINE_LOCALID_FROM_TOKEN(Bt),
257 DEFINE_LOCALID_FROM_TOKEN(Bt_locations),
258 DEFINE_LOCALID_FROM_TOKEN(Call),
259 DEFINE_LOCALID_FROM_TOKEN(Mesg),
260 DEFINE_LOCALID_FROM_TOKEN(Exception),
261 DEFINE_LOCALID_FROM_TOKEN(Locals),
262 DEFINE_LOCALID_FROM_TOKEN(NOT),
263 DEFINE_LOCALID_FROM_TOKEN(AND),
264 DEFINE_LOCALID_FROM_TOKEN(OR),
265 DEFINE_LOCALID_FROM_TOKEN(Div),
266 DEFINE_LOCALID_FROM_TOKEN(Divmod),
267 DEFINE_LOCALID_FROM_TOKEN(Fdiv),
268 DEFINE_LOCALID_FROM_TOKEN(Quo),
269 DEFINE_LOCALID_FROM_TOKEN(Name),
270 DEFINE_LOCALID_FROM_TOKEN(Nil),
271 DEFINE_LOCALID_FROM_TOKEN(UScore),
272 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
273 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
274 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_3),
275 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_4),
276 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_5),
277 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_6),
278 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_7),
279 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_8),
280 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_9),
281#define DEFINE_INSTANCEID_FROM_TOKEN(n) id##n = TOKEN2INSTANCEID(t##n)
282#define DEFINE_GLOBALID_FROM_TOKEN(n) id##n = TOKEN2GLOBALID(t##n)
283 DEFINE_GLOBALID_FROM_TOKEN(LASTLINE),
284 DEFINE_GLOBALID_FROM_TOKEN(BACKREF),
285 DEFINE_GLOBALID_FROM_TOKEN(ERROR_INFO),
286#define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
287#define DEFINE_CLASSID_FROM_TOKEN(n) id##n = TOKEN2CLASSID(t##n)
288#define DEFINE_ATTRSETID_FROM_TOKEN(n) id##n = TOKEN2ATTRSETID(t##n)
289 tLAST_OP_ID = tPRESERVED_ID_END-1,
290 idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
291};
292
293#endif /* RUBY_ID_H */
Definition: dtoa.c:302