Ruby: id.h Source File

Ruby 3.2.5p208 (2024-07-26 revision 31d0f1a2e7dbfb60731d1f05b868e1d578cda493)

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_added,
140 tConst_missing,
141 tMethodMissing,
142 tMethod_added,
143 tSingleton_method_added,
144 tMethod_removed,
145 tSingleton_method_removed,
146 tMethod_undefined,
147 tSingleton_method_undefined,
148 tLength,
149 tSize,
150 tGets,
151 tSucc,
152 tEach,
153 tProc,
154 tLambda,
155 tSend,
156 t__send__,
157 t__attached__,
158 t__recursive_key__,
159 tInitialize,
160 tInitialize_copy,
161 tInitialize_clone,
162 tInitialize_dup,
163 tTo_int,
164 tTo_ary,
165 tTo_str,
166 tTo_sym,
167 tTo_hash,
168 tTo_proc,
169 tTo_io,
170 tTo_a,
171 tTo_s,
172 tTo_i,
173 tTo_f,
174 tTo_r,
175 tBt,
176 tBt_locations,
177 tCall,
178 tMesg,
179 tException,
180 tLocals,
181 tNOT,
182 tAND,
183 tOR,
184 tDiv,
185 tDivmod,
186 tFdiv,
187 tQuo,
188 tName,
189 tNil,
190 tPath,
191 tUScore,
192 tNUMPARAM_1,
193 tNUMPARAM_2,
194 tNUMPARAM_3,
195 tNUMPARAM_4,
196 tNUMPARAM_5,
197 tNUMPARAM_6,
198 tNUMPARAM_7,
199 tNUMPARAM_8,
200 tNUMPARAM_9,
201 tDefault,
202 tTOKEN_LOCAL_END,
203 tTOKEN_INSTANCE_BEGIN = tTOKEN_LOCAL_END-1,
204 tTOKEN_INSTANCE_END,
205 tTOKEN_GLOBAL_BEGIN = tTOKEN_INSTANCE_END-1,
206 tLASTLINE,
207 tBACKREF,
208 tERROR_INFO,
209 tTOKEN_GLOBAL_END,
210 tTOKEN_CONST_BEGIN = tTOKEN_GLOBAL_END-1,
211 tTOKEN_CONST_END,
212 tTOKEN_CLASS_BEGIN = tTOKEN_CONST_END-1,
213 tTOKEN_CLASS_END,
214 tTOKEN_ATTRSET_BEGIN = tTOKEN_CLASS_END-1,
215 tTOKEN_ATTRSET_END,
216 tNEXT_ID = tTOKEN_ATTRSET_END,
217#define DEFINE_LOCALID_FROM_TOKEN(n) id##n = TOKEN2LOCALID(t##n)
218 DEFINE_LOCALID_FROM_TOKEN(Max),
219 DEFINE_LOCALID_FROM_TOKEN(Min),
220 DEFINE_LOCALID_FROM_TOKEN(Freeze),
221 DEFINE_LOCALID_FROM_TOKEN(Inspect),
222 DEFINE_LOCALID_FROM_TOKEN(Intern),
223 DEFINE_LOCALID_FROM_TOKEN(Object_id),
224 DEFINE_LOCALID_FROM_TOKEN(Const_added),
225 DEFINE_LOCALID_FROM_TOKEN(Const_missing),
226 DEFINE_LOCALID_FROM_TOKEN(MethodMissing),
227 DEFINE_LOCALID_FROM_TOKEN(Method_added),
228 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_added),
229 DEFINE_LOCALID_FROM_TOKEN(Method_removed),
230 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_removed),
231 DEFINE_LOCALID_FROM_TOKEN(Method_undefined),
232 DEFINE_LOCALID_FROM_TOKEN(Singleton_method_undefined),
233 DEFINE_LOCALID_FROM_TOKEN(Length),
234 DEFINE_LOCALID_FROM_TOKEN(Size),
235 DEFINE_LOCALID_FROM_TOKEN(Gets),
236 DEFINE_LOCALID_FROM_TOKEN(Succ),
237 DEFINE_LOCALID_FROM_TOKEN(Each),
238 DEFINE_LOCALID_FROM_TOKEN(Proc),
239 DEFINE_LOCALID_FROM_TOKEN(Lambda),
240 DEFINE_LOCALID_FROM_TOKEN(Send),
241 DEFINE_LOCALID_FROM_TOKEN(__send__),
242 DEFINE_LOCALID_FROM_TOKEN(__attached__),
243 DEFINE_LOCALID_FROM_TOKEN(__recursive_key__),
244 DEFINE_LOCALID_FROM_TOKEN(Initialize),
245 DEFINE_LOCALID_FROM_TOKEN(Initialize_copy),
246 DEFINE_LOCALID_FROM_TOKEN(Initialize_clone),
247 DEFINE_LOCALID_FROM_TOKEN(Initialize_dup),
248 DEFINE_LOCALID_FROM_TOKEN(To_int),
249 DEFINE_LOCALID_FROM_TOKEN(To_ary),
250 DEFINE_LOCALID_FROM_TOKEN(To_str),
251 DEFINE_LOCALID_FROM_TOKEN(To_sym),
252 DEFINE_LOCALID_FROM_TOKEN(To_hash),
253 DEFINE_LOCALID_FROM_TOKEN(To_proc),
254 DEFINE_LOCALID_FROM_TOKEN(To_io),
255 DEFINE_LOCALID_FROM_TOKEN(To_a),
256 DEFINE_LOCALID_FROM_TOKEN(To_s),
257 DEFINE_LOCALID_FROM_TOKEN(To_i),
258 DEFINE_LOCALID_FROM_TOKEN(To_f),
259 DEFINE_LOCALID_FROM_TOKEN(To_r),
260 DEFINE_LOCALID_FROM_TOKEN(Bt),
261 DEFINE_LOCALID_FROM_TOKEN(Bt_locations),
262 DEFINE_LOCALID_FROM_TOKEN(Call),
263 DEFINE_LOCALID_FROM_TOKEN(Mesg),
264 DEFINE_LOCALID_FROM_TOKEN(Exception),
265 DEFINE_LOCALID_FROM_TOKEN(Locals),
266 DEFINE_LOCALID_FROM_TOKEN(NOT),
267 DEFINE_LOCALID_FROM_TOKEN(AND),
268 DEFINE_LOCALID_FROM_TOKEN(OR),
269 DEFINE_LOCALID_FROM_TOKEN(Div),
270 DEFINE_LOCALID_FROM_TOKEN(Divmod),
271 DEFINE_LOCALID_FROM_TOKEN(Fdiv),
272 DEFINE_LOCALID_FROM_TOKEN(Quo),
273 DEFINE_LOCALID_FROM_TOKEN(Name),
274 DEFINE_LOCALID_FROM_TOKEN(Nil),
275 DEFINE_LOCALID_FROM_TOKEN(Path),
276 DEFINE_LOCALID_FROM_TOKEN(UScore),
277 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_1),
278 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_2),
279 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_3),
280 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_4),
281 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_5),
282 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_6),
283 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_7),
284 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_8),
285 DEFINE_LOCALID_FROM_TOKEN(NUMPARAM_9),
286 DEFINE_LOCALID_FROM_TOKEN(Default),
287#define DEFINE_INSTANCEID_FROM_TOKEN(n) id##n = TOKEN2INSTANCEID(t##n)
288#define DEFINE_GLOBALID_FROM_TOKEN(n) id##n = TOKEN2GLOBALID(t##n)
289 DEFINE_GLOBALID_FROM_TOKEN(LASTLINE),
290 DEFINE_GLOBALID_FROM_TOKEN(BACKREF),
291 DEFINE_GLOBALID_FROM_TOKEN(ERROR_INFO),
292#define DEFINE_CONSTID_FROM_TOKEN(n) id##n = TOKEN2CONSTID(t##n)
293#define DEFINE_CLASSID_FROM_TOKEN(n) id##n = TOKEN2CLASSID(t##n)
294#define DEFINE_ATTRSETID_FROM_TOKEN(n) id##n = TOKEN2ATTRSETID(t##n)
295 tLAST_OP_ID = tPRESERVED_ID_END-1,
296 idLAST_OP_ID = tLAST_OP_ID >> ID_SCOPE_SHIFT
297};
298
299#endif /* RUBY_ID_H */
U
Definition dtoa.c:302