yarp 0.9.0 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +39 -1
- data/CONTRIBUTING.md +7 -0
- data/Makefile +5 -1
- data/config.yml +308 -166
- data/docs/configuration.md +0 -1
- data/docs/encoding.md +5 -5
- data/docs/mapping.md +91 -91
- data/docs/serialization.md +25 -22
- data/ext/yarp/api_node.c +1210 -483
- data/ext/yarp/extension.c +22 -8
- data/ext/yarp/extension.h +2 -2
- data/include/yarp/ast.h +692 -183
- data/include/yarp/defines.h +2 -1
- data/include/yarp/diagnostic.h +200 -3
- data/include/yarp/enc/yp_encoding.h +10 -10
- data/include/yarp/node.h +0 -4
- data/include/yarp/parser.h +19 -19
- data/include/yarp/regexp.h +1 -1
- data/include/yarp/unescape.h +4 -4
- data/include/yarp/util/yp_buffer.h +3 -0
- data/include/yarp/util/yp_char.h +16 -16
- data/include/yarp/util/yp_constant_pool.h +12 -5
- data/include/yarp/util/yp_newline_list.h +5 -5
- data/include/yarp/util/yp_string.h +4 -4
- data/include/yarp/util/yp_string_list.h +0 -3
- data/include/yarp/util/yp_strpbrk.h +1 -1
- data/include/yarp/version.h +2 -2
- data/include/yarp.h +5 -4
- data/lib/yarp/desugar_visitor.rb +59 -122
- data/lib/yarp/mutation_visitor.rb +22 -12
- data/lib/yarp/node.rb +3081 -501
- data/lib/yarp/parse_result/comments.rb +172 -0
- data/lib/yarp/parse_result/newlines.rb +60 -0
- data/lib/yarp/pattern.rb +239 -0
- data/lib/yarp/serialize.rb +152 -129
- data/lib/yarp.rb +109 -49
- data/src/diagnostic.c +254 -2
- data/src/enc/yp_big5.c +15 -42
- data/src/enc/yp_euc_jp.c +16 -43
- data/src/enc/yp_gbk.c +19 -46
- data/src/enc/yp_shift_jis.c +16 -43
- data/src/enc/yp_tables.c +36 -38
- data/src/enc/yp_unicode.c +20 -25
- data/src/enc/yp_windows_31j.c +16 -43
- data/src/node.c +1871 -1466
- data/src/prettyprint.c +463 -230
- data/src/regexp.c +21 -21
- data/src/serialize.c +352 -184
- data/src/unescape.c +152 -122
- data/src/util/yp_buffer.c +7 -2
- data/src/util/yp_char.c +35 -40
- data/src/util/yp_constant_pool.c +45 -12
- data/src/util/yp_memchr.c +1 -1
- data/src/util/yp_newline_list.c +10 -5
- data/src/util/yp_string.c +22 -20
- data/src/util/yp_string_list.c +4 -7
- data/src/util/yp_strncasecmp.c +3 -6
- data/src/util/yp_strpbrk.c +8 -8
- data/src/yarp.c +1288 -1021
- data/yarp.gemspec +4 -1
- metadata +6 -3
data/include/yarp/ast.h
CHANGED
@@ -188,23 +188,17 @@ typedef enum yp_token_type {
|
|
188
188
|
// type and location information.
|
189
189
|
typedef struct {
|
190
190
|
yp_token_type_t type;
|
191
|
-
const
|
192
|
-
const
|
191
|
+
const uint8_t *start;
|
192
|
+
const uint8_t *end;
|
193
193
|
} yp_token_t;
|
194
194
|
|
195
195
|
// This represents a range of bytes in the source string to which a node or
|
196
196
|
// token corresponds.
|
197
197
|
typedef struct {
|
198
|
-
const
|
199
|
-
const
|
198
|
+
const uint8_t *start;
|
199
|
+
const uint8_t *end;
|
200
200
|
} yp_location_t;
|
201
201
|
|
202
|
-
typedef struct {
|
203
|
-
yp_location_t *locations;
|
204
|
-
size_t size;
|
205
|
-
size_t capacity;
|
206
|
-
} yp_location_list_t;
|
207
|
-
|
208
202
|
struct yp_node;
|
209
203
|
|
210
204
|
typedef struct yp_node_list {
|
@@ -214,143 +208,284 @@ typedef struct yp_node_list {
|
|
214
208
|
} yp_node_list_t;
|
215
209
|
|
216
210
|
enum yp_node_type {
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
346
|
-
|
347
|
-
|
348
|
-
|
349
|
-
|
350
|
-
|
351
|
-
|
211
|
+
YP_ALIAS_NODE = 1,
|
212
|
+
YP_ALTERNATION_PATTERN_NODE = 2,
|
213
|
+
YP_AND_NODE = 3,
|
214
|
+
YP_ARGUMENTS_NODE = 4,
|
215
|
+
YP_ARRAY_NODE = 5,
|
216
|
+
YP_ARRAY_PATTERN_NODE = 6,
|
217
|
+
YP_ASSOC_NODE = 7,
|
218
|
+
YP_ASSOC_SPLAT_NODE = 8,
|
219
|
+
YP_BACK_REFERENCE_READ_NODE = 9,
|
220
|
+
YP_BEGIN_NODE = 10,
|
221
|
+
YP_BLOCK_ARGUMENT_NODE = 11,
|
222
|
+
YP_BLOCK_LOCAL_VARIABLE_NODE = 12,
|
223
|
+
YP_BLOCK_NODE = 13,
|
224
|
+
YP_BLOCK_PARAMETER_NODE = 14,
|
225
|
+
YP_BLOCK_PARAMETERS_NODE = 15,
|
226
|
+
YP_BREAK_NODE = 16,
|
227
|
+
YP_CALL_AND_WRITE_NODE = 17,
|
228
|
+
YP_CALL_NODE = 18,
|
229
|
+
YP_CALL_OPERATOR_WRITE_NODE = 19,
|
230
|
+
YP_CALL_OR_WRITE_NODE = 20,
|
231
|
+
YP_CAPTURE_PATTERN_NODE = 21,
|
232
|
+
YP_CASE_NODE = 22,
|
233
|
+
YP_CLASS_NODE = 23,
|
234
|
+
YP_CLASS_VARIABLE_AND_WRITE_NODE = 24,
|
235
|
+
YP_CLASS_VARIABLE_OPERATOR_WRITE_NODE = 25,
|
236
|
+
YP_CLASS_VARIABLE_OR_WRITE_NODE = 26,
|
237
|
+
YP_CLASS_VARIABLE_READ_NODE = 27,
|
238
|
+
YP_CLASS_VARIABLE_TARGET_NODE = 28,
|
239
|
+
YP_CLASS_VARIABLE_WRITE_NODE = 29,
|
240
|
+
YP_CONSTANT_AND_WRITE_NODE = 30,
|
241
|
+
YP_CONSTANT_OPERATOR_WRITE_NODE = 31,
|
242
|
+
YP_CONSTANT_OR_WRITE_NODE = 32,
|
243
|
+
YP_CONSTANT_PATH_AND_WRITE_NODE = 33,
|
244
|
+
YP_CONSTANT_PATH_NODE = 34,
|
245
|
+
YP_CONSTANT_PATH_OPERATOR_WRITE_NODE = 35,
|
246
|
+
YP_CONSTANT_PATH_OR_WRITE_NODE = 36,
|
247
|
+
YP_CONSTANT_PATH_TARGET_NODE = 37,
|
248
|
+
YP_CONSTANT_PATH_WRITE_NODE = 38,
|
249
|
+
YP_CONSTANT_READ_NODE = 39,
|
250
|
+
YP_CONSTANT_TARGET_NODE = 40,
|
251
|
+
YP_CONSTANT_WRITE_NODE = 41,
|
252
|
+
YP_DEF_NODE = 42,
|
253
|
+
YP_DEFINED_NODE = 43,
|
254
|
+
YP_ELSE_NODE = 44,
|
255
|
+
YP_EMBEDDED_STATEMENTS_NODE = 45,
|
256
|
+
YP_EMBEDDED_VARIABLE_NODE = 46,
|
257
|
+
YP_ENSURE_NODE = 47,
|
258
|
+
YP_FALSE_NODE = 48,
|
259
|
+
YP_FIND_PATTERN_NODE = 49,
|
260
|
+
YP_FLIP_FLOP_NODE = 50,
|
261
|
+
YP_FLOAT_NODE = 51,
|
262
|
+
YP_FOR_NODE = 52,
|
263
|
+
YP_FORWARDING_ARGUMENTS_NODE = 53,
|
264
|
+
YP_FORWARDING_PARAMETER_NODE = 54,
|
265
|
+
YP_FORWARDING_SUPER_NODE = 55,
|
266
|
+
YP_GLOBAL_VARIABLE_AND_WRITE_NODE = 56,
|
267
|
+
YP_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE = 57,
|
268
|
+
YP_GLOBAL_VARIABLE_OR_WRITE_NODE = 58,
|
269
|
+
YP_GLOBAL_VARIABLE_READ_NODE = 59,
|
270
|
+
YP_GLOBAL_VARIABLE_TARGET_NODE = 60,
|
271
|
+
YP_GLOBAL_VARIABLE_WRITE_NODE = 61,
|
272
|
+
YP_HASH_NODE = 62,
|
273
|
+
YP_HASH_PATTERN_NODE = 63,
|
274
|
+
YP_IF_NODE = 64,
|
275
|
+
YP_IMAGINARY_NODE = 65,
|
276
|
+
YP_IN_NODE = 66,
|
277
|
+
YP_INSTANCE_VARIABLE_AND_WRITE_NODE = 67,
|
278
|
+
YP_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE = 68,
|
279
|
+
YP_INSTANCE_VARIABLE_OR_WRITE_NODE = 69,
|
280
|
+
YP_INSTANCE_VARIABLE_READ_NODE = 70,
|
281
|
+
YP_INSTANCE_VARIABLE_TARGET_NODE = 71,
|
282
|
+
YP_INSTANCE_VARIABLE_WRITE_NODE = 72,
|
283
|
+
YP_INTEGER_NODE = 73,
|
284
|
+
YP_INTERPOLATED_REGULAR_EXPRESSION_NODE = 74,
|
285
|
+
YP_INTERPOLATED_STRING_NODE = 75,
|
286
|
+
YP_INTERPOLATED_SYMBOL_NODE = 76,
|
287
|
+
YP_INTERPOLATED_X_STRING_NODE = 77,
|
288
|
+
YP_KEYWORD_HASH_NODE = 78,
|
289
|
+
YP_KEYWORD_PARAMETER_NODE = 79,
|
290
|
+
YP_KEYWORD_REST_PARAMETER_NODE = 80,
|
291
|
+
YP_LAMBDA_NODE = 81,
|
292
|
+
YP_LOCAL_VARIABLE_AND_WRITE_NODE = 82,
|
293
|
+
YP_LOCAL_VARIABLE_OPERATOR_WRITE_NODE = 83,
|
294
|
+
YP_LOCAL_VARIABLE_OR_WRITE_NODE = 84,
|
295
|
+
YP_LOCAL_VARIABLE_READ_NODE = 85,
|
296
|
+
YP_LOCAL_VARIABLE_TARGET_NODE = 86,
|
297
|
+
YP_LOCAL_VARIABLE_WRITE_NODE = 87,
|
298
|
+
YP_MATCH_PREDICATE_NODE = 88,
|
299
|
+
YP_MATCH_REQUIRED_NODE = 89,
|
300
|
+
YP_MISSING_NODE = 90,
|
301
|
+
YP_MODULE_NODE = 91,
|
302
|
+
YP_MULTI_TARGET_NODE = 92,
|
303
|
+
YP_MULTI_WRITE_NODE = 93,
|
304
|
+
YP_NEXT_NODE = 94,
|
305
|
+
YP_NIL_NODE = 95,
|
306
|
+
YP_NO_KEYWORDS_PARAMETER_NODE = 96,
|
307
|
+
YP_NUMBERED_REFERENCE_READ_NODE = 97,
|
308
|
+
YP_OPTIONAL_PARAMETER_NODE = 98,
|
309
|
+
YP_OR_NODE = 99,
|
310
|
+
YP_PARAMETERS_NODE = 100,
|
311
|
+
YP_PARENTHESES_NODE = 101,
|
312
|
+
YP_PINNED_EXPRESSION_NODE = 102,
|
313
|
+
YP_PINNED_VARIABLE_NODE = 103,
|
314
|
+
YP_POST_EXECUTION_NODE = 104,
|
315
|
+
YP_PRE_EXECUTION_NODE = 105,
|
316
|
+
YP_PROGRAM_NODE = 106,
|
317
|
+
YP_RANGE_NODE = 107,
|
318
|
+
YP_RATIONAL_NODE = 108,
|
319
|
+
YP_REDO_NODE = 109,
|
320
|
+
YP_REGULAR_EXPRESSION_NODE = 110,
|
321
|
+
YP_REQUIRED_DESTRUCTURED_PARAMETER_NODE = 111,
|
322
|
+
YP_REQUIRED_PARAMETER_NODE = 112,
|
323
|
+
YP_RESCUE_MODIFIER_NODE = 113,
|
324
|
+
YP_RESCUE_NODE = 114,
|
325
|
+
YP_REST_PARAMETER_NODE = 115,
|
326
|
+
YP_RETRY_NODE = 116,
|
327
|
+
YP_RETURN_NODE = 117,
|
328
|
+
YP_SELF_NODE = 118,
|
329
|
+
YP_SINGLETON_CLASS_NODE = 119,
|
330
|
+
YP_SOURCE_ENCODING_NODE = 120,
|
331
|
+
YP_SOURCE_FILE_NODE = 121,
|
332
|
+
YP_SOURCE_LINE_NODE = 122,
|
333
|
+
YP_SPLAT_NODE = 123,
|
334
|
+
YP_STATEMENTS_NODE = 124,
|
335
|
+
YP_STRING_CONCAT_NODE = 125,
|
336
|
+
YP_STRING_NODE = 126,
|
337
|
+
YP_SUPER_NODE = 127,
|
338
|
+
YP_SYMBOL_NODE = 128,
|
339
|
+
YP_TRUE_NODE = 129,
|
340
|
+
YP_UNDEF_NODE = 130,
|
341
|
+
YP_UNLESS_NODE = 131,
|
342
|
+
YP_UNTIL_NODE = 132,
|
343
|
+
YP_WHEN_NODE = 133,
|
344
|
+
YP_WHILE_NODE = 134,
|
345
|
+
YP_X_STRING_NODE = 135,
|
346
|
+
YP_YIELD_NODE = 136,
|
347
|
+
YP_SCOPE_NODE
|
352
348
|
};
|
353
349
|
|
350
|
+
// Deprecated aliases
|
351
|
+
#define YP_NODE_SCOPE_NODE YP_SCOPE_NODE
|
352
|
+
#define YP_NODE_ALIAS_NODE YP_ALIAS_NODE
|
353
|
+
#define YP_NODE_ALTERNATION_PATTERN_NODE YP_ALTERNATION_PATTERN_NODE
|
354
|
+
#define YP_NODE_AND_NODE YP_AND_NODE
|
355
|
+
#define YP_NODE_ARGUMENTS_NODE YP_ARGUMENTS_NODE
|
356
|
+
#define YP_NODE_ARRAY_NODE YP_ARRAY_NODE
|
357
|
+
#define YP_NODE_ARRAY_PATTERN_NODE YP_ARRAY_PATTERN_NODE
|
358
|
+
#define YP_NODE_ASSOC_NODE YP_ASSOC_NODE
|
359
|
+
#define YP_NODE_ASSOC_SPLAT_NODE YP_ASSOC_SPLAT_NODE
|
360
|
+
#define YP_NODE_BACK_REFERENCE_READ_NODE YP_BACK_REFERENCE_READ_NODE
|
361
|
+
#define YP_NODE_BEGIN_NODE YP_BEGIN_NODE
|
362
|
+
#define YP_NODE_BLOCK_ARGUMENT_NODE YP_BLOCK_ARGUMENT_NODE
|
363
|
+
#define YP_NODE_BLOCK_LOCAL_VARIABLE_NODE YP_BLOCK_LOCAL_VARIABLE_NODE
|
364
|
+
#define YP_NODE_BLOCK_NODE YP_BLOCK_NODE
|
365
|
+
#define YP_NODE_BLOCK_PARAMETER_NODE YP_BLOCK_PARAMETER_NODE
|
366
|
+
#define YP_NODE_BLOCK_PARAMETERS_NODE YP_BLOCK_PARAMETERS_NODE
|
367
|
+
#define YP_NODE_BREAK_NODE YP_BREAK_NODE
|
368
|
+
#define YP_NODE_CALL_AND_WRITE_NODE YP_CALL_AND_WRITE_NODE
|
369
|
+
#define YP_NODE_CALL_NODE YP_CALL_NODE
|
370
|
+
#define YP_NODE_CALL_OPERATOR_WRITE_NODE YP_CALL_OPERATOR_WRITE_NODE
|
371
|
+
#define YP_NODE_CALL_OR_WRITE_NODE YP_CALL_OR_WRITE_NODE
|
372
|
+
#define YP_NODE_CAPTURE_PATTERN_NODE YP_CAPTURE_PATTERN_NODE
|
373
|
+
#define YP_NODE_CASE_NODE YP_CASE_NODE
|
374
|
+
#define YP_NODE_CLASS_NODE YP_CLASS_NODE
|
375
|
+
#define YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE YP_CLASS_VARIABLE_AND_WRITE_NODE
|
376
|
+
#define YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE YP_CLASS_VARIABLE_OPERATOR_WRITE_NODE
|
377
|
+
#define YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE YP_CLASS_VARIABLE_OR_WRITE_NODE
|
378
|
+
#define YP_NODE_CLASS_VARIABLE_READ_NODE YP_CLASS_VARIABLE_READ_NODE
|
379
|
+
#define YP_NODE_CLASS_VARIABLE_TARGET_NODE YP_CLASS_VARIABLE_TARGET_NODE
|
380
|
+
#define YP_NODE_CLASS_VARIABLE_WRITE_NODE YP_CLASS_VARIABLE_WRITE_NODE
|
381
|
+
#define YP_NODE_CONSTANT_AND_WRITE_NODE YP_CONSTANT_AND_WRITE_NODE
|
382
|
+
#define YP_NODE_CONSTANT_OPERATOR_WRITE_NODE YP_CONSTANT_OPERATOR_WRITE_NODE
|
383
|
+
#define YP_NODE_CONSTANT_OR_WRITE_NODE YP_CONSTANT_OR_WRITE_NODE
|
384
|
+
#define YP_NODE_CONSTANT_PATH_AND_WRITE_NODE YP_CONSTANT_PATH_AND_WRITE_NODE
|
385
|
+
#define YP_NODE_CONSTANT_PATH_NODE YP_CONSTANT_PATH_NODE
|
386
|
+
#define YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE YP_CONSTANT_PATH_OPERATOR_WRITE_NODE
|
387
|
+
#define YP_NODE_CONSTANT_PATH_OR_WRITE_NODE YP_CONSTANT_PATH_OR_WRITE_NODE
|
388
|
+
#define YP_NODE_CONSTANT_PATH_TARGET_NODE YP_CONSTANT_PATH_TARGET_NODE
|
389
|
+
#define YP_NODE_CONSTANT_PATH_WRITE_NODE YP_CONSTANT_PATH_WRITE_NODE
|
390
|
+
#define YP_NODE_CONSTANT_READ_NODE YP_CONSTANT_READ_NODE
|
391
|
+
#define YP_NODE_CONSTANT_TARGET_NODE YP_CONSTANT_TARGET_NODE
|
392
|
+
#define YP_NODE_CONSTANT_WRITE_NODE YP_CONSTANT_WRITE_NODE
|
393
|
+
#define YP_NODE_DEF_NODE YP_DEF_NODE
|
394
|
+
#define YP_NODE_DEFINED_NODE YP_DEFINED_NODE
|
395
|
+
#define YP_NODE_ELSE_NODE YP_ELSE_NODE
|
396
|
+
#define YP_NODE_EMBEDDED_STATEMENTS_NODE YP_EMBEDDED_STATEMENTS_NODE
|
397
|
+
#define YP_NODE_EMBEDDED_VARIABLE_NODE YP_EMBEDDED_VARIABLE_NODE
|
398
|
+
#define YP_NODE_ENSURE_NODE YP_ENSURE_NODE
|
399
|
+
#define YP_NODE_FALSE_NODE YP_FALSE_NODE
|
400
|
+
#define YP_NODE_FIND_PATTERN_NODE YP_FIND_PATTERN_NODE
|
401
|
+
#define YP_NODE_FLIP_FLOP_NODE YP_FLIP_FLOP_NODE
|
402
|
+
#define YP_NODE_FLOAT_NODE YP_FLOAT_NODE
|
403
|
+
#define YP_NODE_FOR_NODE YP_FOR_NODE
|
404
|
+
#define YP_NODE_FORWARDING_ARGUMENTS_NODE YP_FORWARDING_ARGUMENTS_NODE
|
405
|
+
#define YP_NODE_FORWARDING_PARAMETER_NODE YP_FORWARDING_PARAMETER_NODE
|
406
|
+
#define YP_NODE_FORWARDING_SUPER_NODE YP_FORWARDING_SUPER_NODE
|
407
|
+
#define YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE YP_GLOBAL_VARIABLE_AND_WRITE_NODE
|
408
|
+
#define YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE YP_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
|
409
|
+
#define YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE YP_GLOBAL_VARIABLE_OR_WRITE_NODE
|
410
|
+
#define YP_NODE_GLOBAL_VARIABLE_READ_NODE YP_GLOBAL_VARIABLE_READ_NODE
|
411
|
+
#define YP_NODE_GLOBAL_VARIABLE_TARGET_NODE YP_GLOBAL_VARIABLE_TARGET_NODE
|
412
|
+
#define YP_NODE_GLOBAL_VARIABLE_WRITE_NODE YP_GLOBAL_VARIABLE_WRITE_NODE
|
413
|
+
#define YP_NODE_HASH_NODE YP_HASH_NODE
|
414
|
+
#define YP_NODE_HASH_PATTERN_NODE YP_HASH_PATTERN_NODE
|
415
|
+
#define YP_NODE_IF_NODE YP_IF_NODE
|
416
|
+
#define YP_NODE_IMAGINARY_NODE YP_IMAGINARY_NODE
|
417
|
+
#define YP_NODE_IN_NODE YP_IN_NODE
|
418
|
+
#define YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE YP_INSTANCE_VARIABLE_AND_WRITE_NODE
|
419
|
+
#define YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE YP_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
|
420
|
+
#define YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE YP_INSTANCE_VARIABLE_OR_WRITE_NODE
|
421
|
+
#define YP_NODE_INSTANCE_VARIABLE_READ_NODE YP_INSTANCE_VARIABLE_READ_NODE
|
422
|
+
#define YP_NODE_INSTANCE_VARIABLE_TARGET_NODE YP_INSTANCE_VARIABLE_TARGET_NODE
|
423
|
+
#define YP_NODE_INSTANCE_VARIABLE_WRITE_NODE YP_INSTANCE_VARIABLE_WRITE_NODE
|
424
|
+
#define YP_NODE_INTEGER_NODE YP_INTEGER_NODE
|
425
|
+
#define YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE YP_INTERPOLATED_REGULAR_EXPRESSION_NODE
|
426
|
+
#define YP_NODE_INTERPOLATED_STRING_NODE YP_INTERPOLATED_STRING_NODE
|
427
|
+
#define YP_NODE_INTERPOLATED_SYMBOL_NODE YP_INTERPOLATED_SYMBOL_NODE
|
428
|
+
#define YP_NODE_INTERPOLATED_X_STRING_NODE YP_INTERPOLATED_X_STRING_NODE
|
429
|
+
#define YP_NODE_KEYWORD_HASH_NODE YP_KEYWORD_HASH_NODE
|
430
|
+
#define YP_NODE_KEYWORD_PARAMETER_NODE YP_KEYWORD_PARAMETER_NODE
|
431
|
+
#define YP_NODE_KEYWORD_REST_PARAMETER_NODE YP_KEYWORD_REST_PARAMETER_NODE
|
432
|
+
#define YP_NODE_LAMBDA_NODE YP_LAMBDA_NODE
|
433
|
+
#define YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE YP_LOCAL_VARIABLE_AND_WRITE_NODE
|
434
|
+
#define YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE YP_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
|
435
|
+
#define YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE YP_LOCAL_VARIABLE_OR_WRITE_NODE
|
436
|
+
#define YP_NODE_LOCAL_VARIABLE_READ_NODE YP_LOCAL_VARIABLE_READ_NODE
|
437
|
+
#define YP_NODE_LOCAL_VARIABLE_TARGET_NODE YP_LOCAL_VARIABLE_TARGET_NODE
|
438
|
+
#define YP_NODE_LOCAL_VARIABLE_WRITE_NODE YP_LOCAL_VARIABLE_WRITE_NODE
|
439
|
+
#define YP_NODE_MATCH_PREDICATE_NODE YP_MATCH_PREDICATE_NODE
|
440
|
+
#define YP_NODE_MATCH_REQUIRED_NODE YP_MATCH_REQUIRED_NODE
|
441
|
+
#define YP_NODE_MISSING_NODE YP_MISSING_NODE
|
442
|
+
#define YP_NODE_MODULE_NODE YP_MODULE_NODE
|
443
|
+
#define YP_NODE_MULTI_TARGET_NODE YP_MULTI_TARGET_NODE
|
444
|
+
#define YP_NODE_MULTI_WRITE_NODE YP_MULTI_WRITE_NODE
|
445
|
+
#define YP_NODE_NEXT_NODE YP_NEXT_NODE
|
446
|
+
#define YP_NODE_NIL_NODE YP_NIL_NODE
|
447
|
+
#define YP_NODE_NO_KEYWORDS_PARAMETER_NODE YP_NO_KEYWORDS_PARAMETER_NODE
|
448
|
+
#define YP_NODE_NUMBERED_REFERENCE_READ_NODE YP_NUMBERED_REFERENCE_READ_NODE
|
449
|
+
#define YP_NODE_OPTIONAL_PARAMETER_NODE YP_OPTIONAL_PARAMETER_NODE
|
450
|
+
#define YP_NODE_OR_NODE YP_OR_NODE
|
451
|
+
#define YP_NODE_PARAMETERS_NODE YP_PARAMETERS_NODE
|
452
|
+
#define YP_NODE_PARENTHESES_NODE YP_PARENTHESES_NODE
|
453
|
+
#define YP_NODE_PINNED_EXPRESSION_NODE YP_PINNED_EXPRESSION_NODE
|
454
|
+
#define YP_NODE_PINNED_VARIABLE_NODE YP_PINNED_VARIABLE_NODE
|
455
|
+
#define YP_NODE_POST_EXECUTION_NODE YP_POST_EXECUTION_NODE
|
456
|
+
#define YP_NODE_PRE_EXECUTION_NODE YP_PRE_EXECUTION_NODE
|
457
|
+
#define YP_NODE_PROGRAM_NODE YP_PROGRAM_NODE
|
458
|
+
#define YP_NODE_RANGE_NODE YP_RANGE_NODE
|
459
|
+
#define YP_NODE_RATIONAL_NODE YP_RATIONAL_NODE
|
460
|
+
#define YP_NODE_REDO_NODE YP_REDO_NODE
|
461
|
+
#define YP_NODE_REGULAR_EXPRESSION_NODE YP_REGULAR_EXPRESSION_NODE
|
462
|
+
#define YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE YP_REQUIRED_DESTRUCTURED_PARAMETER_NODE
|
463
|
+
#define YP_NODE_REQUIRED_PARAMETER_NODE YP_REQUIRED_PARAMETER_NODE
|
464
|
+
#define YP_NODE_RESCUE_MODIFIER_NODE YP_RESCUE_MODIFIER_NODE
|
465
|
+
#define YP_NODE_RESCUE_NODE YP_RESCUE_NODE
|
466
|
+
#define YP_NODE_REST_PARAMETER_NODE YP_REST_PARAMETER_NODE
|
467
|
+
#define YP_NODE_RETRY_NODE YP_RETRY_NODE
|
468
|
+
#define YP_NODE_RETURN_NODE YP_RETURN_NODE
|
469
|
+
#define YP_NODE_SELF_NODE YP_SELF_NODE
|
470
|
+
#define YP_NODE_SINGLETON_CLASS_NODE YP_SINGLETON_CLASS_NODE
|
471
|
+
#define YP_NODE_SOURCE_ENCODING_NODE YP_SOURCE_ENCODING_NODE
|
472
|
+
#define YP_NODE_SOURCE_FILE_NODE YP_SOURCE_FILE_NODE
|
473
|
+
#define YP_NODE_SOURCE_LINE_NODE YP_SOURCE_LINE_NODE
|
474
|
+
#define YP_NODE_SPLAT_NODE YP_SPLAT_NODE
|
475
|
+
#define YP_NODE_STATEMENTS_NODE YP_STATEMENTS_NODE
|
476
|
+
#define YP_NODE_STRING_CONCAT_NODE YP_STRING_CONCAT_NODE
|
477
|
+
#define YP_NODE_STRING_NODE YP_STRING_NODE
|
478
|
+
#define YP_NODE_SUPER_NODE YP_SUPER_NODE
|
479
|
+
#define YP_NODE_SYMBOL_NODE YP_SYMBOL_NODE
|
480
|
+
#define YP_NODE_TRUE_NODE YP_TRUE_NODE
|
481
|
+
#define YP_NODE_UNDEF_NODE YP_UNDEF_NODE
|
482
|
+
#define YP_NODE_UNLESS_NODE YP_UNLESS_NODE
|
483
|
+
#define YP_NODE_UNTIL_NODE YP_UNTIL_NODE
|
484
|
+
#define YP_NODE_WHEN_NODE YP_WHEN_NODE
|
485
|
+
#define YP_NODE_WHILE_NODE YP_WHILE_NODE
|
486
|
+
#define YP_NODE_X_STRING_NODE YP_X_STRING_NODE
|
487
|
+
#define YP_NODE_YIELD_NODE YP_YIELD_NODE
|
488
|
+
|
354
489
|
typedef uint16_t yp_node_type_t;
|
355
490
|
typedef uint16_t yp_node_flags_t;
|
356
491
|
|
@@ -368,8 +503,7 @@ typedef struct yp_node {
|
|
368
503
|
// existed in the original grammar and ripper, but it's not a 1:1 mapping.
|
369
504
|
yp_node_type_t type;
|
370
505
|
|
371
|
-
// This represents any flags on the node
|
372
|
-
// flag
|
506
|
+
// This represents any flags on the node
|
373
507
|
yp_node_flags_t flags;
|
374
508
|
|
375
509
|
// This is the location of the node in the source. It's a range of bytes
|
@@ -378,6 +512,8 @@ typedef struct yp_node {
|
|
378
512
|
} yp_node_t;
|
379
513
|
|
380
514
|
// AliasNode
|
515
|
+
//
|
516
|
+
// Type: YP_ALIAS_NODE
|
381
517
|
typedef struct yp_alias_node {
|
382
518
|
yp_node_t base;
|
383
519
|
struct yp_node *new_name;
|
@@ -386,6 +522,8 @@ typedef struct yp_alias_node {
|
|
386
522
|
} yp_alias_node_t;
|
387
523
|
|
388
524
|
// AlternationPatternNode
|
525
|
+
//
|
526
|
+
// Type: YP_ALTERNATION_PATTERN_NODE
|
389
527
|
typedef struct yp_alternation_pattern_node {
|
390
528
|
yp_node_t base;
|
391
529
|
struct yp_node *left;
|
@@ -394,6 +532,8 @@ typedef struct yp_alternation_pattern_node {
|
|
394
532
|
} yp_alternation_pattern_node_t;
|
395
533
|
|
396
534
|
// AndNode
|
535
|
+
//
|
536
|
+
// Type: YP_AND_NODE
|
397
537
|
typedef struct yp_and_node {
|
398
538
|
yp_node_t base;
|
399
539
|
struct yp_node *left;
|
@@ -402,12 +542,16 @@ typedef struct yp_and_node {
|
|
402
542
|
} yp_and_node_t;
|
403
543
|
|
404
544
|
// ArgumentsNode
|
545
|
+
//
|
546
|
+
// Type: YP_ARGUMENTS_NODE
|
405
547
|
typedef struct yp_arguments_node {
|
406
548
|
yp_node_t base;
|
407
549
|
struct yp_node_list arguments;
|
408
550
|
} yp_arguments_node_t;
|
409
551
|
|
410
552
|
// ArrayNode
|
553
|
+
//
|
554
|
+
// Type: YP_ARRAY_NODE
|
411
555
|
typedef struct yp_array_node {
|
412
556
|
yp_node_t base;
|
413
557
|
struct yp_node_list elements;
|
@@ -416,6 +560,8 @@ typedef struct yp_array_node {
|
|
416
560
|
} yp_array_node_t;
|
417
561
|
|
418
562
|
// ArrayPatternNode
|
563
|
+
//
|
564
|
+
// Type: YP_ARRAY_PATTERN_NODE
|
419
565
|
typedef struct yp_array_pattern_node {
|
420
566
|
yp_node_t base;
|
421
567
|
struct yp_node *constant;
|
@@ -427,6 +573,8 @@ typedef struct yp_array_pattern_node {
|
|
427
573
|
} yp_array_pattern_node_t;
|
428
574
|
|
429
575
|
// AssocNode
|
576
|
+
//
|
577
|
+
// Type: YP_ASSOC_NODE
|
430
578
|
typedef struct yp_assoc_node {
|
431
579
|
yp_node_t base;
|
432
580
|
struct yp_node *key;
|
@@ -435,6 +583,8 @@ typedef struct yp_assoc_node {
|
|
435
583
|
} yp_assoc_node_t;
|
436
584
|
|
437
585
|
// AssocSplatNode
|
586
|
+
//
|
587
|
+
// Type: YP_ASSOC_SPLAT_NODE
|
438
588
|
typedef struct yp_assoc_splat_node {
|
439
589
|
yp_node_t base;
|
440
590
|
struct yp_node *value;
|
@@ -442,11 +592,15 @@ typedef struct yp_assoc_splat_node {
|
|
442
592
|
} yp_assoc_splat_node_t;
|
443
593
|
|
444
594
|
// BackReferenceReadNode
|
595
|
+
//
|
596
|
+
// Type: YP_BACK_REFERENCE_READ_NODE
|
445
597
|
typedef struct yp_back_reference_read_node {
|
446
598
|
yp_node_t base;
|
447
599
|
} yp_back_reference_read_node_t;
|
448
600
|
|
449
601
|
// BeginNode
|
602
|
+
//
|
603
|
+
// Type: YP_BEGIN_NODE
|
450
604
|
typedef struct yp_begin_node {
|
451
605
|
yp_node_t base;
|
452
606
|
yp_location_t begin_keyword_loc;
|
@@ -458,13 +612,25 @@ typedef struct yp_begin_node {
|
|
458
612
|
} yp_begin_node_t;
|
459
613
|
|
460
614
|
// BlockArgumentNode
|
615
|
+
//
|
616
|
+
// Type: YP_BLOCK_ARGUMENT_NODE
|
461
617
|
typedef struct yp_block_argument_node {
|
462
618
|
yp_node_t base;
|
463
619
|
struct yp_node *expression;
|
464
620
|
yp_location_t operator_loc;
|
465
621
|
} yp_block_argument_node_t;
|
466
622
|
|
623
|
+
// BlockLocalVariableNode
|
624
|
+
//
|
625
|
+
// Type: YP_BLOCK_LOCAL_VARIABLE_NODE
|
626
|
+
typedef struct yp_block_local_variable_node {
|
627
|
+
yp_node_t base;
|
628
|
+
yp_constant_id_t name;
|
629
|
+
} yp_block_local_variable_node_t;
|
630
|
+
|
467
631
|
// BlockNode
|
632
|
+
//
|
633
|
+
// Type: YP_BLOCK_NODE
|
468
634
|
typedef struct yp_block_node {
|
469
635
|
yp_node_t base;
|
470
636
|
yp_constant_id_list_t locals;
|
@@ -475,33 +641,65 @@ typedef struct yp_block_node {
|
|
475
641
|
} yp_block_node_t;
|
476
642
|
|
477
643
|
// BlockParameterNode
|
644
|
+
//
|
645
|
+
// Type: YP_BLOCK_PARAMETER_NODE
|
478
646
|
typedef struct yp_block_parameter_node {
|
479
647
|
yp_node_t base;
|
648
|
+
yp_constant_id_t name;
|
480
649
|
yp_location_t name_loc;
|
481
650
|
yp_location_t operator_loc;
|
482
651
|
} yp_block_parameter_node_t;
|
483
652
|
|
484
653
|
// BlockParametersNode
|
654
|
+
//
|
655
|
+
// Type: YP_BLOCK_PARAMETERS_NODE
|
485
656
|
typedef struct yp_block_parameters_node {
|
486
657
|
yp_node_t base;
|
487
658
|
struct yp_parameters_node *parameters;
|
488
|
-
|
659
|
+
struct yp_node_list locals;
|
489
660
|
yp_location_t opening_loc;
|
490
661
|
yp_location_t closing_loc;
|
491
662
|
} yp_block_parameters_node_t;
|
492
663
|
|
493
664
|
// BreakNode
|
665
|
+
//
|
666
|
+
// Type: YP_BREAK_NODE
|
494
667
|
typedef struct yp_break_node {
|
495
668
|
yp_node_t base;
|
496
669
|
struct yp_arguments_node *arguments;
|
497
670
|
yp_location_t keyword_loc;
|
498
671
|
} yp_break_node_t;
|
499
672
|
|
673
|
+
// CallAndWriteNode
|
674
|
+
//
|
675
|
+
// Type: YP_CALL_AND_WRITE_NODE
|
676
|
+
// Flags:
|
677
|
+
// YP_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
678
|
+
// YP_CALL_NODE_FLAGS_VARIABLE_CALL
|
679
|
+
typedef struct yp_call_and_write_node {
|
680
|
+
yp_node_t base;
|
681
|
+
struct yp_node *receiver;
|
682
|
+
yp_location_t call_operator_loc;
|
683
|
+
yp_location_t message_loc;
|
684
|
+
yp_location_t opening_loc;
|
685
|
+
struct yp_arguments_node *arguments;
|
686
|
+
yp_location_t closing_loc;
|
687
|
+
yp_string_t read_name;
|
688
|
+
yp_string_t write_name;
|
689
|
+
yp_location_t operator_loc;
|
690
|
+
struct yp_node *value;
|
691
|
+
} yp_call_and_write_node_t;
|
692
|
+
|
500
693
|
// CallNode
|
694
|
+
//
|
695
|
+
// Type: YP_CALL_NODE
|
696
|
+
// Flags:
|
697
|
+
// YP_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
698
|
+
// YP_CALL_NODE_FLAGS_VARIABLE_CALL
|
501
699
|
typedef struct yp_call_node {
|
502
700
|
yp_node_t base;
|
503
701
|
struct yp_node *receiver;
|
504
|
-
yp_location_t
|
702
|
+
yp_location_t call_operator_loc;
|
505
703
|
yp_location_t message_loc;
|
506
704
|
yp_location_t opening_loc;
|
507
705
|
struct yp_arguments_node *arguments;
|
@@ -510,32 +708,50 @@ typedef struct yp_call_node {
|
|
510
708
|
yp_string_t name;
|
511
709
|
} yp_call_node_t;
|
512
710
|
|
513
|
-
//
|
514
|
-
|
711
|
+
// CallOperatorWriteNode
|
712
|
+
//
|
713
|
+
// Type: YP_CALL_OPERATOR_WRITE_NODE
|
714
|
+
// Flags:
|
715
|
+
// YP_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
716
|
+
// YP_CALL_NODE_FLAGS_VARIABLE_CALL
|
717
|
+
typedef struct yp_call_operator_write_node {
|
515
718
|
yp_node_t base;
|
516
|
-
struct
|
719
|
+
struct yp_node *receiver;
|
720
|
+
yp_location_t call_operator_loc;
|
721
|
+
yp_location_t message_loc;
|
722
|
+
yp_location_t opening_loc;
|
723
|
+
struct yp_arguments_node *arguments;
|
724
|
+
yp_location_t closing_loc;
|
725
|
+
yp_string_t read_name;
|
726
|
+
yp_string_t write_name;
|
727
|
+
yp_constant_id_t operator;
|
517
728
|
yp_location_t operator_loc;
|
518
729
|
struct yp_node *value;
|
519
|
-
}
|
520
|
-
|
521
|
-
// CallOperatorOrWriteNode
|
522
|
-
typedef struct yp_call_operator_or_write_node {
|
523
|
-
yp_node_t base;
|
524
|
-
struct yp_call_node *target;
|
525
|
-
struct yp_node *value;
|
526
|
-
yp_location_t operator_loc;
|
527
|
-
} yp_call_operator_or_write_node_t;
|
730
|
+
} yp_call_operator_write_node_t;
|
528
731
|
|
529
|
-
//
|
530
|
-
|
732
|
+
// CallOrWriteNode
|
733
|
+
//
|
734
|
+
// Type: YP_CALL_OR_WRITE_NODE
|
735
|
+
// Flags:
|
736
|
+
// YP_CALL_NODE_FLAGS_SAFE_NAVIGATION
|
737
|
+
// YP_CALL_NODE_FLAGS_VARIABLE_CALL
|
738
|
+
typedef struct yp_call_or_write_node {
|
531
739
|
yp_node_t base;
|
532
|
-
struct
|
740
|
+
struct yp_node *receiver;
|
741
|
+
yp_location_t call_operator_loc;
|
742
|
+
yp_location_t message_loc;
|
743
|
+
yp_location_t opening_loc;
|
744
|
+
struct yp_arguments_node *arguments;
|
745
|
+
yp_location_t closing_loc;
|
746
|
+
yp_string_t read_name;
|
747
|
+
yp_string_t write_name;
|
533
748
|
yp_location_t operator_loc;
|
534
749
|
struct yp_node *value;
|
535
|
-
|
536
|
-
} yp_call_operator_write_node_t;
|
750
|
+
} yp_call_or_write_node_t;
|
537
751
|
|
538
752
|
// CapturePatternNode
|
753
|
+
//
|
754
|
+
// Type: YP_CAPTURE_PATTERN_NODE
|
539
755
|
typedef struct yp_capture_pattern_node {
|
540
756
|
yp_node_t base;
|
541
757
|
struct yp_node *value;
|
@@ -544,6 +760,8 @@ typedef struct yp_capture_pattern_node {
|
|
544
760
|
} yp_capture_pattern_node_t;
|
545
761
|
|
546
762
|
// CaseNode
|
763
|
+
//
|
764
|
+
// Type: YP_CASE_NODE
|
547
765
|
typedef struct yp_case_node {
|
548
766
|
yp_node_t base;
|
549
767
|
struct yp_node *predicate;
|
@@ -554,6 +772,8 @@ typedef struct yp_case_node {
|
|
554
772
|
} yp_case_node_t;
|
555
773
|
|
556
774
|
// ClassNode
|
775
|
+
//
|
776
|
+
// Type: YP_CLASS_NODE
|
557
777
|
typedef struct yp_class_node {
|
558
778
|
yp_node_t base;
|
559
779
|
yp_constant_id_list_t locals;
|
@@ -563,20 +783,26 @@ typedef struct yp_class_node {
|
|
563
783
|
struct yp_node *superclass;
|
564
784
|
struct yp_node *body;
|
565
785
|
yp_location_t end_keyword_loc;
|
566
|
-
|
786
|
+
yp_constant_id_t name;
|
567
787
|
} yp_class_node_t;
|
568
788
|
|
569
789
|
// ClassVariableAndWriteNode
|
790
|
+
//
|
791
|
+
// Type: YP_CLASS_VARIABLE_AND_WRITE_NODE
|
570
792
|
typedef struct yp_class_variable_and_write_node {
|
571
793
|
yp_node_t base;
|
794
|
+
yp_constant_id_t name;
|
572
795
|
yp_location_t name_loc;
|
573
796
|
yp_location_t operator_loc;
|
574
797
|
struct yp_node *value;
|
575
798
|
} yp_class_variable_and_write_node_t;
|
576
799
|
|
577
800
|
// ClassVariableOperatorWriteNode
|
801
|
+
//
|
802
|
+
// Type: YP_CLASS_VARIABLE_OPERATOR_WRITE_NODE
|
578
803
|
typedef struct yp_class_variable_operator_write_node {
|
579
804
|
yp_node_t base;
|
805
|
+
yp_constant_id_t name;
|
580
806
|
yp_location_t name_loc;
|
581
807
|
yp_location_t operator_loc;
|
582
808
|
struct yp_node *value;
|
@@ -584,42 +810,60 @@ typedef struct yp_class_variable_operator_write_node {
|
|
584
810
|
} yp_class_variable_operator_write_node_t;
|
585
811
|
|
586
812
|
// ClassVariableOrWriteNode
|
813
|
+
//
|
814
|
+
// Type: YP_CLASS_VARIABLE_OR_WRITE_NODE
|
587
815
|
typedef struct yp_class_variable_or_write_node {
|
588
816
|
yp_node_t base;
|
817
|
+
yp_constant_id_t name;
|
589
818
|
yp_location_t name_loc;
|
590
819
|
yp_location_t operator_loc;
|
591
820
|
struct yp_node *value;
|
592
821
|
} yp_class_variable_or_write_node_t;
|
593
822
|
|
594
823
|
// ClassVariableReadNode
|
824
|
+
//
|
825
|
+
// Type: YP_CLASS_VARIABLE_READ_NODE
|
595
826
|
typedef struct yp_class_variable_read_node {
|
596
827
|
yp_node_t base;
|
828
|
+
yp_constant_id_t name;
|
597
829
|
} yp_class_variable_read_node_t;
|
598
830
|
|
599
831
|
// ClassVariableTargetNode
|
832
|
+
//
|
833
|
+
// Type: YP_CLASS_VARIABLE_TARGET_NODE
|
600
834
|
typedef struct yp_class_variable_target_node {
|
601
835
|
yp_node_t base;
|
836
|
+
yp_constant_id_t name;
|
602
837
|
} yp_class_variable_target_node_t;
|
603
838
|
|
604
839
|
// ClassVariableWriteNode
|
840
|
+
//
|
841
|
+
// Type: YP_CLASS_VARIABLE_WRITE_NODE
|
605
842
|
typedef struct yp_class_variable_write_node {
|
606
843
|
yp_node_t base;
|
844
|
+
yp_constant_id_t name;
|
607
845
|
yp_location_t name_loc;
|
608
846
|
struct yp_node *value;
|
609
847
|
yp_location_t operator_loc;
|
610
848
|
} yp_class_variable_write_node_t;
|
611
849
|
|
612
850
|
// ConstantAndWriteNode
|
851
|
+
//
|
852
|
+
// Type: YP_CONSTANT_AND_WRITE_NODE
|
613
853
|
typedef struct yp_constant_and_write_node {
|
614
854
|
yp_node_t base;
|
855
|
+
yp_constant_id_t name;
|
615
856
|
yp_location_t name_loc;
|
616
857
|
yp_location_t operator_loc;
|
617
858
|
struct yp_node *value;
|
618
859
|
} yp_constant_and_write_node_t;
|
619
860
|
|
620
861
|
// ConstantOperatorWriteNode
|
862
|
+
//
|
863
|
+
// Type: YP_CONSTANT_OPERATOR_WRITE_NODE
|
621
864
|
typedef struct yp_constant_operator_write_node {
|
622
865
|
yp_node_t base;
|
866
|
+
yp_constant_id_t name;
|
623
867
|
yp_location_t name_loc;
|
624
868
|
yp_location_t operator_loc;
|
625
869
|
struct yp_node *value;
|
@@ -627,14 +871,19 @@ typedef struct yp_constant_operator_write_node {
|
|
627
871
|
} yp_constant_operator_write_node_t;
|
628
872
|
|
629
873
|
// ConstantOrWriteNode
|
874
|
+
//
|
875
|
+
// Type: YP_CONSTANT_OR_WRITE_NODE
|
630
876
|
typedef struct yp_constant_or_write_node {
|
631
877
|
yp_node_t base;
|
878
|
+
yp_constant_id_t name;
|
632
879
|
yp_location_t name_loc;
|
633
880
|
yp_location_t operator_loc;
|
634
881
|
struct yp_node *value;
|
635
882
|
} yp_constant_or_write_node_t;
|
636
883
|
|
637
884
|
// ConstantPathAndWriteNode
|
885
|
+
//
|
886
|
+
// Type: YP_CONSTANT_PATH_AND_WRITE_NODE
|
638
887
|
typedef struct yp_constant_path_and_write_node {
|
639
888
|
yp_node_t base;
|
640
889
|
struct yp_constant_path_node *target;
|
@@ -643,6 +892,8 @@ typedef struct yp_constant_path_and_write_node {
|
|
643
892
|
} yp_constant_path_and_write_node_t;
|
644
893
|
|
645
894
|
// ConstantPathNode
|
895
|
+
//
|
896
|
+
// Type: YP_CONSTANT_PATH_NODE
|
646
897
|
typedef struct yp_constant_path_node {
|
647
898
|
yp_node_t base;
|
648
899
|
struct yp_node *parent;
|
@@ -651,6 +902,8 @@ typedef struct yp_constant_path_node {
|
|
651
902
|
} yp_constant_path_node_t;
|
652
903
|
|
653
904
|
// ConstantPathOperatorWriteNode
|
905
|
+
//
|
906
|
+
// Type: YP_CONSTANT_PATH_OPERATOR_WRITE_NODE
|
654
907
|
typedef struct yp_constant_path_operator_write_node {
|
655
908
|
yp_node_t base;
|
656
909
|
struct yp_constant_path_node *target;
|
@@ -660,6 +913,8 @@ typedef struct yp_constant_path_operator_write_node {
|
|
660
913
|
} yp_constant_path_operator_write_node_t;
|
661
914
|
|
662
915
|
// ConstantPathOrWriteNode
|
916
|
+
//
|
917
|
+
// Type: YP_CONSTANT_PATH_OR_WRITE_NODE
|
663
918
|
typedef struct yp_constant_path_or_write_node {
|
664
919
|
yp_node_t base;
|
665
920
|
struct yp_constant_path_node *target;
|
@@ -668,6 +923,8 @@ typedef struct yp_constant_path_or_write_node {
|
|
668
923
|
} yp_constant_path_or_write_node_t;
|
669
924
|
|
670
925
|
// ConstantPathTargetNode
|
926
|
+
//
|
927
|
+
// Type: YP_CONSTANT_PATH_TARGET_NODE
|
671
928
|
typedef struct yp_constant_path_target_node {
|
672
929
|
yp_node_t base;
|
673
930
|
struct yp_node *parent;
|
@@ -676,6 +933,8 @@ typedef struct yp_constant_path_target_node {
|
|
676
933
|
} yp_constant_path_target_node_t;
|
677
934
|
|
678
935
|
// ConstantPathWriteNode
|
936
|
+
//
|
937
|
+
// Type: YP_CONSTANT_PATH_WRITE_NODE
|
679
938
|
typedef struct yp_constant_path_write_node {
|
680
939
|
yp_node_t base;
|
681
940
|
struct yp_constant_path_node *target;
|
@@ -684,26 +943,38 @@ typedef struct yp_constant_path_write_node {
|
|
684
943
|
} yp_constant_path_write_node_t;
|
685
944
|
|
686
945
|
// ConstantReadNode
|
946
|
+
//
|
947
|
+
// Type: YP_CONSTANT_READ_NODE
|
687
948
|
typedef struct yp_constant_read_node {
|
688
949
|
yp_node_t base;
|
950
|
+
yp_constant_id_t name;
|
689
951
|
} yp_constant_read_node_t;
|
690
952
|
|
691
953
|
// ConstantTargetNode
|
954
|
+
//
|
955
|
+
// Type: YP_CONSTANT_TARGET_NODE
|
692
956
|
typedef struct yp_constant_target_node {
|
693
957
|
yp_node_t base;
|
958
|
+
yp_constant_id_t name;
|
694
959
|
} yp_constant_target_node_t;
|
695
960
|
|
696
961
|
// ConstantWriteNode
|
962
|
+
//
|
963
|
+
// Type: YP_CONSTANT_WRITE_NODE
|
697
964
|
typedef struct yp_constant_write_node {
|
698
965
|
yp_node_t base;
|
966
|
+
yp_constant_id_t name;
|
699
967
|
yp_location_t name_loc;
|
700
968
|
struct yp_node *value;
|
701
969
|
yp_location_t operator_loc;
|
702
970
|
} yp_constant_write_node_t;
|
703
971
|
|
704
972
|
// DefNode
|
973
|
+
//
|
974
|
+
// Type: YP_DEF_NODE
|
705
975
|
typedef struct yp_def_node {
|
706
976
|
yp_node_t base;
|
977
|
+
yp_constant_id_t name;
|
707
978
|
yp_location_t name_loc;
|
708
979
|
struct yp_node *receiver;
|
709
980
|
struct yp_parameters_node *parameters;
|
@@ -718,6 +989,8 @@ typedef struct yp_def_node {
|
|
718
989
|
} yp_def_node_t;
|
719
990
|
|
720
991
|
// DefinedNode
|
992
|
+
//
|
993
|
+
// Type: YP_DEFINED_NODE
|
721
994
|
typedef struct yp_defined_node {
|
722
995
|
yp_node_t base;
|
723
996
|
yp_location_t lparen_loc;
|
@@ -727,6 +1000,8 @@ typedef struct yp_defined_node {
|
|
727
1000
|
} yp_defined_node_t;
|
728
1001
|
|
729
1002
|
// ElseNode
|
1003
|
+
//
|
1004
|
+
// Type: YP_ELSE_NODE
|
730
1005
|
typedef struct yp_else_node {
|
731
1006
|
yp_node_t base;
|
732
1007
|
yp_location_t else_keyword_loc;
|
@@ -735,6 +1010,8 @@ typedef struct yp_else_node {
|
|
735
1010
|
} yp_else_node_t;
|
736
1011
|
|
737
1012
|
// EmbeddedStatementsNode
|
1013
|
+
//
|
1014
|
+
// Type: YP_EMBEDDED_STATEMENTS_NODE
|
738
1015
|
typedef struct yp_embedded_statements_node {
|
739
1016
|
yp_node_t base;
|
740
1017
|
yp_location_t opening_loc;
|
@@ -743,6 +1020,8 @@ typedef struct yp_embedded_statements_node {
|
|
743
1020
|
} yp_embedded_statements_node_t;
|
744
1021
|
|
745
1022
|
// EmbeddedVariableNode
|
1023
|
+
//
|
1024
|
+
// Type: YP_EMBEDDED_VARIABLE_NODE
|
746
1025
|
typedef struct yp_embedded_variable_node {
|
747
1026
|
yp_node_t base;
|
748
1027
|
yp_location_t operator_loc;
|
@@ -750,6 +1029,8 @@ typedef struct yp_embedded_variable_node {
|
|
750
1029
|
} yp_embedded_variable_node_t;
|
751
1030
|
|
752
1031
|
// EnsureNode
|
1032
|
+
//
|
1033
|
+
// Type: YP_ENSURE_NODE
|
753
1034
|
typedef struct yp_ensure_node {
|
754
1035
|
yp_node_t base;
|
755
1036
|
yp_location_t ensure_keyword_loc;
|
@@ -758,11 +1039,15 @@ typedef struct yp_ensure_node {
|
|
758
1039
|
} yp_ensure_node_t;
|
759
1040
|
|
760
1041
|
// FalseNode
|
1042
|
+
//
|
1043
|
+
// Type: YP_FALSE_NODE
|
761
1044
|
typedef struct yp_false_node {
|
762
1045
|
yp_node_t base;
|
763
1046
|
} yp_false_node_t;
|
764
1047
|
|
765
1048
|
// FindPatternNode
|
1049
|
+
//
|
1050
|
+
// Type: YP_FIND_PATTERN_NODE
|
766
1051
|
typedef struct yp_find_pattern_node {
|
767
1052
|
yp_node_t base;
|
768
1053
|
struct yp_node *constant;
|
@@ -774,6 +1059,10 @@ typedef struct yp_find_pattern_node {
|
|
774
1059
|
} yp_find_pattern_node_t;
|
775
1060
|
|
776
1061
|
// FlipFlopNode
|
1062
|
+
//
|
1063
|
+
// Type: YP_FLIP_FLOP_NODE
|
1064
|
+
// Flags:
|
1065
|
+
// YP_RANGE_FLAGS_EXCLUDE_END
|
777
1066
|
typedef struct yp_flip_flop_node {
|
778
1067
|
yp_node_t base;
|
779
1068
|
struct yp_node *left;
|
@@ -782,11 +1071,15 @@ typedef struct yp_flip_flop_node {
|
|
782
1071
|
} yp_flip_flop_node_t;
|
783
1072
|
|
784
1073
|
// FloatNode
|
1074
|
+
//
|
1075
|
+
// Type: YP_FLOAT_NODE
|
785
1076
|
typedef struct yp_float_node {
|
786
1077
|
yp_node_t base;
|
787
1078
|
} yp_float_node_t;
|
788
1079
|
|
789
1080
|
// ForNode
|
1081
|
+
//
|
1082
|
+
// Type: YP_FOR_NODE
|
790
1083
|
typedef struct yp_for_node {
|
791
1084
|
yp_node_t base;
|
792
1085
|
struct yp_node *index;
|
@@ -799,32 +1092,44 @@ typedef struct yp_for_node {
|
|
799
1092
|
} yp_for_node_t;
|
800
1093
|
|
801
1094
|
// ForwardingArgumentsNode
|
1095
|
+
//
|
1096
|
+
// Type: YP_FORWARDING_ARGUMENTS_NODE
|
802
1097
|
typedef struct yp_forwarding_arguments_node {
|
803
1098
|
yp_node_t base;
|
804
1099
|
} yp_forwarding_arguments_node_t;
|
805
1100
|
|
806
1101
|
// ForwardingParameterNode
|
1102
|
+
//
|
1103
|
+
// Type: YP_FORWARDING_PARAMETER_NODE
|
807
1104
|
typedef struct yp_forwarding_parameter_node {
|
808
1105
|
yp_node_t base;
|
809
1106
|
} yp_forwarding_parameter_node_t;
|
810
1107
|
|
811
1108
|
// ForwardingSuperNode
|
1109
|
+
//
|
1110
|
+
// Type: YP_FORWARDING_SUPER_NODE
|
812
1111
|
typedef struct yp_forwarding_super_node {
|
813
1112
|
yp_node_t base;
|
814
1113
|
struct yp_block_node *block;
|
815
1114
|
} yp_forwarding_super_node_t;
|
816
1115
|
|
817
1116
|
// GlobalVariableAndWriteNode
|
1117
|
+
//
|
1118
|
+
// Type: YP_GLOBAL_VARIABLE_AND_WRITE_NODE
|
818
1119
|
typedef struct yp_global_variable_and_write_node {
|
819
1120
|
yp_node_t base;
|
1121
|
+
yp_constant_id_t name;
|
820
1122
|
yp_location_t name_loc;
|
821
1123
|
yp_location_t operator_loc;
|
822
1124
|
struct yp_node *value;
|
823
1125
|
} yp_global_variable_and_write_node_t;
|
824
1126
|
|
825
1127
|
// GlobalVariableOperatorWriteNode
|
1128
|
+
//
|
1129
|
+
// Type: YP_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE
|
826
1130
|
typedef struct yp_global_variable_operator_write_node {
|
827
1131
|
yp_node_t base;
|
1132
|
+
yp_constant_id_t name;
|
828
1133
|
yp_location_t name_loc;
|
829
1134
|
yp_location_t operator_loc;
|
830
1135
|
struct yp_node *value;
|
@@ -832,32 +1137,46 @@ typedef struct yp_global_variable_operator_write_node {
|
|
832
1137
|
} yp_global_variable_operator_write_node_t;
|
833
1138
|
|
834
1139
|
// GlobalVariableOrWriteNode
|
1140
|
+
//
|
1141
|
+
// Type: YP_GLOBAL_VARIABLE_OR_WRITE_NODE
|
835
1142
|
typedef struct yp_global_variable_or_write_node {
|
836
1143
|
yp_node_t base;
|
1144
|
+
yp_constant_id_t name;
|
837
1145
|
yp_location_t name_loc;
|
838
1146
|
yp_location_t operator_loc;
|
839
1147
|
struct yp_node *value;
|
840
1148
|
} yp_global_variable_or_write_node_t;
|
841
1149
|
|
842
1150
|
// GlobalVariableReadNode
|
1151
|
+
//
|
1152
|
+
// Type: YP_GLOBAL_VARIABLE_READ_NODE
|
843
1153
|
typedef struct yp_global_variable_read_node {
|
844
1154
|
yp_node_t base;
|
1155
|
+
yp_constant_id_t name;
|
845
1156
|
} yp_global_variable_read_node_t;
|
846
1157
|
|
847
1158
|
// GlobalVariableTargetNode
|
1159
|
+
//
|
1160
|
+
// Type: YP_GLOBAL_VARIABLE_TARGET_NODE
|
848
1161
|
typedef struct yp_global_variable_target_node {
|
849
1162
|
yp_node_t base;
|
1163
|
+
yp_constant_id_t name;
|
850
1164
|
} yp_global_variable_target_node_t;
|
851
1165
|
|
852
1166
|
// GlobalVariableWriteNode
|
1167
|
+
//
|
1168
|
+
// Type: YP_GLOBAL_VARIABLE_WRITE_NODE
|
853
1169
|
typedef struct yp_global_variable_write_node {
|
854
1170
|
yp_node_t base;
|
1171
|
+
yp_constant_id_t name;
|
855
1172
|
yp_location_t name_loc;
|
856
|
-
yp_location_t operator_loc;
|
857
1173
|
struct yp_node *value;
|
1174
|
+
yp_location_t operator_loc;
|
858
1175
|
} yp_global_variable_write_node_t;
|
859
1176
|
|
860
1177
|
// HashNode
|
1178
|
+
//
|
1179
|
+
// Type: YP_HASH_NODE
|
861
1180
|
typedef struct yp_hash_node {
|
862
1181
|
yp_node_t base;
|
863
1182
|
yp_location_t opening_loc;
|
@@ -866,6 +1185,8 @@ typedef struct yp_hash_node {
|
|
866
1185
|
} yp_hash_node_t;
|
867
1186
|
|
868
1187
|
// HashPatternNode
|
1188
|
+
//
|
1189
|
+
// Type: YP_HASH_PATTERN_NODE
|
869
1190
|
typedef struct yp_hash_pattern_node {
|
870
1191
|
yp_node_t base;
|
871
1192
|
struct yp_node *constant;
|
@@ -876,6 +1197,8 @@ typedef struct yp_hash_pattern_node {
|
|
876
1197
|
} yp_hash_pattern_node_t;
|
877
1198
|
|
878
1199
|
// IfNode
|
1200
|
+
//
|
1201
|
+
// Type: YP_IF_NODE
|
879
1202
|
typedef struct yp_if_node {
|
880
1203
|
yp_node_t base;
|
881
1204
|
yp_location_t if_keyword_loc;
|
@@ -886,12 +1209,16 @@ typedef struct yp_if_node {
|
|
886
1209
|
} yp_if_node_t;
|
887
1210
|
|
888
1211
|
// ImaginaryNode
|
1212
|
+
//
|
1213
|
+
// Type: YP_IMAGINARY_NODE
|
889
1214
|
typedef struct yp_imaginary_node {
|
890
1215
|
yp_node_t base;
|
891
1216
|
struct yp_node *numeric;
|
892
1217
|
} yp_imaginary_node_t;
|
893
1218
|
|
894
1219
|
// InNode
|
1220
|
+
//
|
1221
|
+
// Type: YP_IN_NODE
|
895
1222
|
typedef struct yp_in_node {
|
896
1223
|
yp_node_t base;
|
897
1224
|
struct yp_node *pattern;
|
@@ -901,16 +1228,22 @@ typedef struct yp_in_node {
|
|
901
1228
|
} yp_in_node_t;
|
902
1229
|
|
903
1230
|
// InstanceVariableAndWriteNode
|
1231
|
+
//
|
1232
|
+
// Type: YP_INSTANCE_VARIABLE_AND_WRITE_NODE
|
904
1233
|
typedef struct yp_instance_variable_and_write_node {
|
905
1234
|
yp_node_t base;
|
1235
|
+
yp_constant_id_t name;
|
906
1236
|
yp_location_t name_loc;
|
907
1237
|
yp_location_t operator_loc;
|
908
1238
|
struct yp_node *value;
|
909
1239
|
} yp_instance_variable_and_write_node_t;
|
910
1240
|
|
911
1241
|
// InstanceVariableOperatorWriteNode
|
1242
|
+
//
|
1243
|
+
// Type: YP_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE
|
912
1244
|
typedef struct yp_instance_variable_operator_write_node {
|
913
1245
|
yp_node_t base;
|
1246
|
+
yp_constant_id_t name;
|
914
1247
|
yp_location_t name_loc;
|
915
1248
|
yp_location_t operator_loc;
|
916
1249
|
struct yp_node *value;
|
@@ -918,37 +1251,62 @@ typedef struct yp_instance_variable_operator_write_node {
|
|
918
1251
|
} yp_instance_variable_operator_write_node_t;
|
919
1252
|
|
920
1253
|
// InstanceVariableOrWriteNode
|
1254
|
+
//
|
1255
|
+
// Type: YP_INSTANCE_VARIABLE_OR_WRITE_NODE
|
921
1256
|
typedef struct yp_instance_variable_or_write_node {
|
922
1257
|
yp_node_t base;
|
1258
|
+
yp_constant_id_t name;
|
923
1259
|
yp_location_t name_loc;
|
924
1260
|
yp_location_t operator_loc;
|
925
1261
|
struct yp_node *value;
|
926
1262
|
} yp_instance_variable_or_write_node_t;
|
927
1263
|
|
928
1264
|
// InstanceVariableReadNode
|
1265
|
+
//
|
1266
|
+
// Type: YP_INSTANCE_VARIABLE_READ_NODE
|
929
1267
|
typedef struct yp_instance_variable_read_node {
|
930
1268
|
yp_node_t base;
|
1269
|
+
yp_constant_id_t name;
|
931
1270
|
} yp_instance_variable_read_node_t;
|
932
1271
|
|
933
1272
|
// InstanceVariableTargetNode
|
1273
|
+
//
|
1274
|
+
// Type: YP_INSTANCE_VARIABLE_TARGET_NODE
|
934
1275
|
typedef struct yp_instance_variable_target_node {
|
935
1276
|
yp_node_t base;
|
1277
|
+
yp_constant_id_t name;
|
936
1278
|
} yp_instance_variable_target_node_t;
|
937
1279
|
|
938
1280
|
// InstanceVariableWriteNode
|
1281
|
+
//
|
1282
|
+
// Type: YP_INSTANCE_VARIABLE_WRITE_NODE
|
939
1283
|
typedef struct yp_instance_variable_write_node {
|
940
1284
|
yp_node_t base;
|
1285
|
+
yp_constant_id_t name;
|
941
1286
|
yp_location_t name_loc;
|
942
1287
|
struct yp_node *value;
|
943
1288
|
yp_location_t operator_loc;
|
944
1289
|
} yp_instance_variable_write_node_t;
|
945
1290
|
|
946
1291
|
// IntegerNode
|
1292
|
+
//
|
1293
|
+
// Type: YP_INTEGER_NODE
|
947
1294
|
typedef struct yp_integer_node {
|
948
1295
|
yp_node_t base;
|
949
1296
|
} yp_integer_node_t;
|
950
1297
|
|
951
1298
|
// InterpolatedRegularExpressionNode
|
1299
|
+
//
|
1300
|
+
// Type: YP_INTERPOLATED_REGULAR_EXPRESSION_NODE
|
1301
|
+
// Flags:
|
1302
|
+
// YP_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
1303
|
+
// YP_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
1304
|
+
// YP_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
1305
|
+
// YP_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
1306
|
+
// YP_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
1307
|
+
// YP_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
1308
|
+
// YP_REGULAR_EXPRESSION_FLAGS_UTF_8
|
1309
|
+
// YP_REGULAR_EXPRESSION_FLAGS_ONCE
|
952
1310
|
typedef struct yp_interpolated_regular_expression_node {
|
953
1311
|
yp_node_t base;
|
954
1312
|
yp_location_t opening_loc;
|
@@ -957,6 +1315,8 @@ typedef struct yp_interpolated_regular_expression_node {
|
|
957
1315
|
} yp_interpolated_regular_expression_node_t;
|
958
1316
|
|
959
1317
|
// InterpolatedStringNode
|
1318
|
+
//
|
1319
|
+
// Type: YP_INTERPOLATED_STRING_NODE
|
960
1320
|
typedef struct yp_interpolated_string_node {
|
961
1321
|
yp_node_t base;
|
962
1322
|
yp_location_t opening_loc;
|
@@ -965,6 +1325,8 @@ typedef struct yp_interpolated_string_node {
|
|
965
1325
|
} yp_interpolated_string_node_t;
|
966
1326
|
|
967
1327
|
// InterpolatedSymbolNode
|
1328
|
+
//
|
1329
|
+
// Type: YP_INTERPOLATED_SYMBOL_NODE
|
968
1330
|
typedef struct yp_interpolated_symbol_node {
|
969
1331
|
yp_node_t base;
|
970
1332
|
yp_location_t opening_loc;
|
@@ -973,6 +1335,8 @@ typedef struct yp_interpolated_symbol_node {
|
|
973
1335
|
} yp_interpolated_symbol_node_t;
|
974
1336
|
|
975
1337
|
// InterpolatedXStringNode
|
1338
|
+
//
|
1339
|
+
// Type: YP_INTERPOLATED_X_STRING_NODE
|
976
1340
|
typedef struct yp_interpolated_x_string_node {
|
977
1341
|
yp_node_t base;
|
978
1342
|
yp_location_t opening_loc;
|
@@ -981,26 +1345,36 @@ typedef struct yp_interpolated_x_string_node {
|
|
981
1345
|
} yp_interpolated_x_string_node_t;
|
982
1346
|
|
983
1347
|
// KeywordHashNode
|
1348
|
+
//
|
1349
|
+
// Type: YP_KEYWORD_HASH_NODE
|
984
1350
|
typedef struct yp_keyword_hash_node {
|
985
1351
|
yp_node_t base;
|
986
1352
|
struct yp_node_list elements;
|
987
1353
|
} yp_keyword_hash_node_t;
|
988
1354
|
|
989
1355
|
// KeywordParameterNode
|
1356
|
+
//
|
1357
|
+
// Type: YP_KEYWORD_PARAMETER_NODE
|
990
1358
|
typedef struct yp_keyword_parameter_node {
|
991
1359
|
yp_node_t base;
|
1360
|
+
yp_constant_id_t name;
|
992
1361
|
yp_location_t name_loc;
|
993
1362
|
struct yp_node *value;
|
994
1363
|
} yp_keyword_parameter_node_t;
|
995
1364
|
|
996
1365
|
// KeywordRestParameterNode
|
1366
|
+
//
|
1367
|
+
// Type: YP_KEYWORD_REST_PARAMETER_NODE
|
997
1368
|
typedef struct yp_keyword_rest_parameter_node {
|
998
1369
|
yp_node_t base;
|
999
|
-
|
1370
|
+
yp_constant_id_t name;
|
1000
1371
|
yp_location_t name_loc;
|
1372
|
+
yp_location_t operator_loc;
|
1001
1373
|
} yp_keyword_rest_parameter_node_t;
|
1002
1374
|
|
1003
1375
|
// LambdaNode
|
1376
|
+
//
|
1377
|
+
// Type: YP_LAMBDA_NODE
|
1004
1378
|
typedef struct yp_lambda_node {
|
1005
1379
|
yp_node_t base;
|
1006
1380
|
yp_constant_id_list_t locals;
|
@@ -1012,61 +1386,75 @@ typedef struct yp_lambda_node {
|
|
1012
1386
|
} yp_lambda_node_t;
|
1013
1387
|
|
1014
1388
|
// LocalVariableAndWriteNode
|
1389
|
+
//
|
1390
|
+
// Type: YP_LOCAL_VARIABLE_AND_WRITE_NODE
|
1015
1391
|
typedef struct yp_local_variable_and_write_node {
|
1016
1392
|
yp_node_t base;
|
1017
1393
|
yp_location_t name_loc;
|
1018
1394
|
yp_location_t operator_loc;
|
1019
1395
|
struct yp_node *value;
|
1020
|
-
yp_constant_id_t
|
1396
|
+
yp_constant_id_t name;
|
1021
1397
|
uint32_t depth;
|
1022
1398
|
} yp_local_variable_and_write_node_t;
|
1023
1399
|
|
1024
1400
|
// LocalVariableOperatorWriteNode
|
1401
|
+
//
|
1402
|
+
// Type: YP_LOCAL_VARIABLE_OPERATOR_WRITE_NODE
|
1025
1403
|
typedef struct yp_local_variable_operator_write_node {
|
1026
1404
|
yp_node_t base;
|
1027
1405
|
yp_location_t name_loc;
|
1028
1406
|
yp_location_t operator_loc;
|
1029
1407
|
struct yp_node *value;
|
1030
|
-
yp_constant_id_t
|
1031
|
-
yp_constant_id_t
|
1408
|
+
yp_constant_id_t name;
|
1409
|
+
yp_constant_id_t operator;
|
1032
1410
|
uint32_t depth;
|
1033
1411
|
} yp_local_variable_operator_write_node_t;
|
1034
1412
|
|
1035
1413
|
// LocalVariableOrWriteNode
|
1414
|
+
//
|
1415
|
+
// Type: YP_LOCAL_VARIABLE_OR_WRITE_NODE
|
1036
1416
|
typedef struct yp_local_variable_or_write_node {
|
1037
1417
|
yp_node_t base;
|
1038
1418
|
yp_location_t name_loc;
|
1039
1419
|
yp_location_t operator_loc;
|
1040
1420
|
struct yp_node *value;
|
1041
|
-
yp_constant_id_t
|
1421
|
+
yp_constant_id_t name;
|
1042
1422
|
uint32_t depth;
|
1043
1423
|
} yp_local_variable_or_write_node_t;
|
1044
1424
|
|
1045
1425
|
// LocalVariableReadNode
|
1426
|
+
//
|
1427
|
+
// Type: YP_LOCAL_VARIABLE_READ_NODE
|
1046
1428
|
typedef struct yp_local_variable_read_node {
|
1047
1429
|
yp_node_t base;
|
1048
|
-
yp_constant_id_t
|
1430
|
+
yp_constant_id_t name;
|
1049
1431
|
uint32_t depth;
|
1050
1432
|
} yp_local_variable_read_node_t;
|
1051
1433
|
|
1052
1434
|
// LocalVariableTargetNode
|
1435
|
+
//
|
1436
|
+
// Type: YP_LOCAL_VARIABLE_TARGET_NODE
|
1053
1437
|
typedef struct yp_local_variable_target_node {
|
1054
1438
|
yp_node_t base;
|
1055
|
-
yp_constant_id_t
|
1439
|
+
yp_constant_id_t name;
|
1056
1440
|
uint32_t depth;
|
1057
1441
|
} yp_local_variable_target_node_t;
|
1058
1442
|
|
1059
1443
|
// LocalVariableWriteNode
|
1444
|
+
//
|
1445
|
+
// Type: YP_LOCAL_VARIABLE_WRITE_NODE
|
1060
1446
|
typedef struct yp_local_variable_write_node {
|
1061
1447
|
yp_node_t base;
|
1062
|
-
yp_constant_id_t
|
1448
|
+
yp_constant_id_t name;
|
1063
1449
|
uint32_t depth;
|
1064
|
-
struct yp_node *value;
|
1065
1450
|
yp_location_t name_loc;
|
1451
|
+
struct yp_node *value;
|
1066
1452
|
yp_location_t operator_loc;
|
1067
1453
|
} yp_local_variable_write_node_t;
|
1068
1454
|
|
1069
1455
|
// MatchPredicateNode
|
1456
|
+
//
|
1457
|
+
// Type: YP_MATCH_PREDICATE_NODE
|
1070
1458
|
typedef struct yp_match_predicate_node {
|
1071
1459
|
yp_node_t base;
|
1072
1460
|
struct yp_node *value;
|
@@ -1075,6 +1463,8 @@ typedef struct yp_match_predicate_node {
|
|
1075
1463
|
} yp_match_predicate_node_t;
|
1076
1464
|
|
1077
1465
|
// MatchRequiredNode
|
1466
|
+
//
|
1467
|
+
// Type: YP_MATCH_REQUIRED_NODE
|
1078
1468
|
typedef struct yp_match_required_node {
|
1079
1469
|
yp_node_t base;
|
1080
1470
|
struct yp_node *value;
|
@@ -1083,11 +1473,15 @@ typedef struct yp_match_required_node {
|
|
1083
1473
|
} yp_match_required_node_t;
|
1084
1474
|
|
1085
1475
|
// MissingNode
|
1476
|
+
//
|
1477
|
+
// Type: YP_MISSING_NODE
|
1086
1478
|
typedef struct yp_missing_node {
|
1087
1479
|
yp_node_t base;
|
1088
1480
|
} yp_missing_node_t;
|
1089
1481
|
|
1090
1482
|
// ModuleNode
|
1483
|
+
//
|
1484
|
+
// Type: YP_MODULE_NODE
|
1091
1485
|
typedef struct yp_module_node {
|
1092
1486
|
yp_node_t base;
|
1093
1487
|
yp_constant_id_list_t locals;
|
@@ -1095,20 +1489,34 @@ typedef struct yp_module_node {
|
|
1095
1489
|
struct yp_node *constant_path;
|
1096
1490
|
struct yp_node *body;
|
1097
1491
|
yp_location_t end_keyword_loc;
|
1098
|
-
|
1492
|
+
yp_constant_id_t name;
|
1099
1493
|
} yp_module_node_t;
|
1100
1494
|
|
1495
|
+
// MultiTargetNode
|
1496
|
+
//
|
1497
|
+
// Type: YP_MULTI_TARGET_NODE
|
1498
|
+
typedef struct yp_multi_target_node {
|
1499
|
+
yp_node_t base;
|
1500
|
+
struct yp_node_list targets;
|
1501
|
+
yp_location_t lparen_loc;
|
1502
|
+
yp_location_t rparen_loc;
|
1503
|
+
} yp_multi_target_node_t;
|
1504
|
+
|
1101
1505
|
// MultiWriteNode
|
1506
|
+
//
|
1507
|
+
// Type: YP_MULTI_WRITE_NODE
|
1102
1508
|
typedef struct yp_multi_write_node {
|
1103
1509
|
yp_node_t base;
|
1104
1510
|
struct yp_node_list targets;
|
1105
|
-
yp_location_t operator_loc;
|
1106
|
-
struct yp_node *value;
|
1107
1511
|
yp_location_t lparen_loc;
|
1108
1512
|
yp_location_t rparen_loc;
|
1513
|
+
yp_location_t operator_loc;
|
1514
|
+
struct yp_node *value;
|
1109
1515
|
} yp_multi_write_node_t;
|
1110
1516
|
|
1111
1517
|
// NextNode
|
1518
|
+
//
|
1519
|
+
// Type: YP_NEXT_NODE
|
1112
1520
|
typedef struct yp_next_node {
|
1113
1521
|
yp_node_t base;
|
1114
1522
|
struct yp_arguments_node *arguments;
|
@@ -1116,11 +1524,15 @@ typedef struct yp_next_node {
|
|
1116
1524
|
} yp_next_node_t;
|
1117
1525
|
|
1118
1526
|
// NilNode
|
1527
|
+
//
|
1528
|
+
// Type: YP_NIL_NODE
|
1119
1529
|
typedef struct yp_nil_node {
|
1120
1530
|
yp_node_t base;
|
1121
1531
|
} yp_nil_node_t;
|
1122
1532
|
|
1123
1533
|
// NoKeywordsParameterNode
|
1534
|
+
//
|
1535
|
+
// Type: YP_NO_KEYWORDS_PARAMETER_NODE
|
1124
1536
|
typedef struct yp_no_keywords_parameter_node {
|
1125
1537
|
yp_node_t base;
|
1126
1538
|
yp_location_t operator_loc;
|
@@ -1128,20 +1540,27 @@ typedef struct yp_no_keywords_parameter_node {
|
|
1128
1540
|
} yp_no_keywords_parameter_node_t;
|
1129
1541
|
|
1130
1542
|
// NumberedReferenceReadNode
|
1543
|
+
//
|
1544
|
+
// Type: YP_NUMBERED_REFERENCE_READ_NODE
|
1131
1545
|
typedef struct yp_numbered_reference_read_node {
|
1132
1546
|
yp_node_t base;
|
1547
|
+
uint32_t number;
|
1133
1548
|
} yp_numbered_reference_read_node_t;
|
1134
1549
|
|
1135
1550
|
// OptionalParameterNode
|
1551
|
+
//
|
1552
|
+
// Type: YP_OPTIONAL_PARAMETER_NODE
|
1136
1553
|
typedef struct yp_optional_parameter_node {
|
1137
1554
|
yp_node_t base;
|
1138
|
-
yp_constant_id_t
|
1555
|
+
yp_constant_id_t name;
|
1139
1556
|
yp_location_t name_loc;
|
1140
1557
|
yp_location_t operator_loc;
|
1141
1558
|
struct yp_node *value;
|
1142
1559
|
} yp_optional_parameter_node_t;
|
1143
1560
|
|
1144
1561
|
// OrNode
|
1562
|
+
//
|
1563
|
+
// Type: YP_OR_NODE
|
1145
1564
|
typedef struct yp_or_node {
|
1146
1565
|
yp_node_t base;
|
1147
1566
|
struct yp_node *left;
|
@@ -1150,6 +1569,8 @@ typedef struct yp_or_node {
|
|
1150
1569
|
} yp_or_node_t;
|
1151
1570
|
|
1152
1571
|
// ParametersNode
|
1572
|
+
//
|
1573
|
+
// Type: YP_PARAMETERS_NODE
|
1153
1574
|
typedef struct yp_parameters_node {
|
1154
1575
|
yp_node_t base;
|
1155
1576
|
struct yp_node_list requireds;
|
@@ -1162,6 +1583,8 @@ typedef struct yp_parameters_node {
|
|
1162
1583
|
} yp_parameters_node_t;
|
1163
1584
|
|
1164
1585
|
// ParenthesesNode
|
1586
|
+
//
|
1587
|
+
// Type: YP_PARENTHESES_NODE
|
1165
1588
|
typedef struct yp_parentheses_node {
|
1166
1589
|
yp_node_t base;
|
1167
1590
|
struct yp_node *body;
|
@@ -1170,6 +1593,8 @@ typedef struct yp_parentheses_node {
|
|
1170
1593
|
} yp_parentheses_node_t;
|
1171
1594
|
|
1172
1595
|
// PinnedExpressionNode
|
1596
|
+
//
|
1597
|
+
// Type: YP_PINNED_EXPRESSION_NODE
|
1173
1598
|
typedef struct yp_pinned_expression_node {
|
1174
1599
|
yp_node_t base;
|
1175
1600
|
struct yp_node *expression;
|
@@ -1179,6 +1604,8 @@ typedef struct yp_pinned_expression_node {
|
|
1179
1604
|
} yp_pinned_expression_node_t;
|
1180
1605
|
|
1181
1606
|
// PinnedVariableNode
|
1607
|
+
//
|
1608
|
+
// Type: YP_PINNED_VARIABLE_NODE
|
1182
1609
|
typedef struct yp_pinned_variable_node {
|
1183
1610
|
yp_node_t base;
|
1184
1611
|
struct yp_node *variable;
|
@@ -1186,6 +1613,8 @@ typedef struct yp_pinned_variable_node {
|
|
1186
1613
|
} yp_pinned_variable_node_t;
|
1187
1614
|
|
1188
1615
|
// PostExecutionNode
|
1616
|
+
//
|
1617
|
+
// Type: YP_POST_EXECUTION_NODE
|
1189
1618
|
typedef struct yp_post_execution_node {
|
1190
1619
|
yp_node_t base;
|
1191
1620
|
struct yp_statements_node *statements;
|
@@ -1195,6 +1624,8 @@ typedef struct yp_post_execution_node {
|
|
1195
1624
|
} yp_post_execution_node_t;
|
1196
1625
|
|
1197
1626
|
// PreExecutionNode
|
1627
|
+
//
|
1628
|
+
// Type: YP_PRE_EXECUTION_NODE
|
1198
1629
|
typedef struct yp_pre_execution_node {
|
1199
1630
|
yp_node_t base;
|
1200
1631
|
struct yp_statements_node *statements;
|
@@ -1204,6 +1635,8 @@ typedef struct yp_pre_execution_node {
|
|
1204
1635
|
} yp_pre_execution_node_t;
|
1205
1636
|
|
1206
1637
|
// ProgramNode
|
1638
|
+
//
|
1639
|
+
// Type: YP_PROGRAM_NODE
|
1207
1640
|
typedef struct yp_program_node {
|
1208
1641
|
yp_node_t base;
|
1209
1642
|
yp_constant_id_list_t locals;
|
@@ -1211,6 +1644,10 @@ typedef struct yp_program_node {
|
|
1211
1644
|
} yp_program_node_t;
|
1212
1645
|
|
1213
1646
|
// RangeNode
|
1647
|
+
//
|
1648
|
+
// Type: YP_RANGE_NODE
|
1649
|
+
// Flags:
|
1650
|
+
// YP_RANGE_FLAGS_EXCLUDE_END
|
1214
1651
|
typedef struct yp_range_node {
|
1215
1652
|
yp_node_t base;
|
1216
1653
|
struct yp_node *left;
|
@@ -1219,17 +1656,32 @@ typedef struct yp_range_node {
|
|
1219
1656
|
} yp_range_node_t;
|
1220
1657
|
|
1221
1658
|
// RationalNode
|
1659
|
+
//
|
1660
|
+
// Type: YP_RATIONAL_NODE
|
1222
1661
|
typedef struct yp_rational_node {
|
1223
1662
|
yp_node_t base;
|
1224
1663
|
struct yp_node *numeric;
|
1225
1664
|
} yp_rational_node_t;
|
1226
1665
|
|
1227
1666
|
// RedoNode
|
1667
|
+
//
|
1668
|
+
// Type: YP_REDO_NODE
|
1228
1669
|
typedef struct yp_redo_node {
|
1229
1670
|
yp_node_t base;
|
1230
1671
|
} yp_redo_node_t;
|
1231
1672
|
|
1232
1673
|
// RegularExpressionNode
|
1674
|
+
//
|
1675
|
+
// Type: YP_REGULAR_EXPRESSION_NODE
|
1676
|
+
// Flags:
|
1677
|
+
// YP_REGULAR_EXPRESSION_FLAGS_IGNORE_CASE
|
1678
|
+
// YP_REGULAR_EXPRESSION_FLAGS_MULTI_LINE
|
1679
|
+
// YP_REGULAR_EXPRESSION_FLAGS_EXTENDED
|
1680
|
+
// YP_REGULAR_EXPRESSION_FLAGS_EUC_JP
|
1681
|
+
// YP_REGULAR_EXPRESSION_FLAGS_ASCII_8BIT
|
1682
|
+
// YP_REGULAR_EXPRESSION_FLAGS_WINDOWS_31J
|
1683
|
+
// YP_REGULAR_EXPRESSION_FLAGS_UTF_8
|
1684
|
+
// YP_REGULAR_EXPRESSION_FLAGS_ONCE
|
1233
1685
|
typedef struct yp_regular_expression_node {
|
1234
1686
|
yp_node_t base;
|
1235
1687
|
yp_location_t opening_loc;
|
@@ -1239,6 +1691,8 @@ typedef struct yp_regular_expression_node {
|
|
1239
1691
|
} yp_regular_expression_node_t;
|
1240
1692
|
|
1241
1693
|
// RequiredDestructuredParameterNode
|
1694
|
+
//
|
1695
|
+
// Type: YP_REQUIRED_DESTRUCTURED_PARAMETER_NODE
|
1242
1696
|
typedef struct yp_required_destructured_parameter_node {
|
1243
1697
|
yp_node_t base;
|
1244
1698
|
struct yp_node_list parameters;
|
@@ -1247,12 +1701,16 @@ typedef struct yp_required_destructured_parameter_node {
|
|
1247
1701
|
} yp_required_destructured_parameter_node_t;
|
1248
1702
|
|
1249
1703
|
// RequiredParameterNode
|
1704
|
+
//
|
1705
|
+
// Type: YP_REQUIRED_PARAMETER_NODE
|
1250
1706
|
typedef struct yp_required_parameter_node {
|
1251
1707
|
yp_node_t base;
|
1252
|
-
yp_constant_id_t
|
1708
|
+
yp_constant_id_t name;
|
1253
1709
|
} yp_required_parameter_node_t;
|
1254
1710
|
|
1255
1711
|
// RescueModifierNode
|
1712
|
+
//
|
1713
|
+
// Type: YP_RESCUE_MODIFIER_NODE
|
1256
1714
|
typedef struct yp_rescue_modifier_node {
|
1257
1715
|
yp_node_t base;
|
1258
1716
|
struct yp_node *expression;
|
@@ -1261,6 +1719,8 @@ typedef struct yp_rescue_modifier_node {
|
|
1261
1719
|
} yp_rescue_modifier_node_t;
|
1262
1720
|
|
1263
1721
|
// RescueNode
|
1722
|
+
//
|
1723
|
+
// Type: YP_RESCUE_NODE
|
1264
1724
|
typedef struct yp_rescue_node {
|
1265
1725
|
yp_node_t base;
|
1266
1726
|
yp_location_t keyword_loc;
|
@@ -1272,18 +1732,25 @@ typedef struct yp_rescue_node {
|
|
1272
1732
|
} yp_rescue_node_t;
|
1273
1733
|
|
1274
1734
|
// RestParameterNode
|
1735
|
+
//
|
1736
|
+
// Type: YP_REST_PARAMETER_NODE
|
1275
1737
|
typedef struct yp_rest_parameter_node {
|
1276
1738
|
yp_node_t base;
|
1277
|
-
|
1739
|
+
yp_constant_id_t name;
|
1278
1740
|
yp_location_t name_loc;
|
1741
|
+
yp_location_t operator_loc;
|
1279
1742
|
} yp_rest_parameter_node_t;
|
1280
1743
|
|
1281
1744
|
// RetryNode
|
1745
|
+
//
|
1746
|
+
// Type: YP_RETRY_NODE
|
1282
1747
|
typedef struct yp_retry_node {
|
1283
1748
|
yp_node_t base;
|
1284
1749
|
} yp_retry_node_t;
|
1285
1750
|
|
1286
1751
|
// ReturnNode
|
1752
|
+
//
|
1753
|
+
// Type: YP_RETURN_NODE
|
1287
1754
|
typedef struct yp_return_node {
|
1288
1755
|
yp_node_t base;
|
1289
1756
|
yp_location_t keyword_loc;
|
@@ -1291,11 +1758,15 @@ typedef struct yp_return_node {
|
|
1291
1758
|
} yp_return_node_t;
|
1292
1759
|
|
1293
1760
|
// SelfNode
|
1761
|
+
//
|
1762
|
+
// Type: YP_SELF_NODE
|
1294
1763
|
typedef struct yp_self_node {
|
1295
1764
|
yp_node_t base;
|
1296
1765
|
} yp_self_node_t;
|
1297
1766
|
|
1298
1767
|
// SingletonClassNode
|
1768
|
+
//
|
1769
|
+
// Type: YP_SINGLETON_CLASS_NODE
|
1299
1770
|
typedef struct yp_singleton_class_node {
|
1300
1771
|
yp_node_t base;
|
1301
1772
|
yp_constant_id_list_t locals;
|
@@ -1307,22 +1778,30 @@ typedef struct yp_singleton_class_node {
|
|
1307
1778
|
} yp_singleton_class_node_t;
|
1308
1779
|
|
1309
1780
|
// SourceEncodingNode
|
1781
|
+
//
|
1782
|
+
// Type: YP_SOURCE_ENCODING_NODE
|
1310
1783
|
typedef struct yp_source_encoding_node {
|
1311
1784
|
yp_node_t base;
|
1312
1785
|
} yp_source_encoding_node_t;
|
1313
1786
|
|
1314
1787
|
// SourceFileNode
|
1788
|
+
//
|
1789
|
+
// Type: YP_SOURCE_FILE_NODE
|
1315
1790
|
typedef struct yp_source_file_node {
|
1316
1791
|
yp_node_t base;
|
1317
1792
|
yp_string_t filepath;
|
1318
1793
|
} yp_source_file_node_t;
|
1319
1794
|
|
1320
1795
|
// SourceLineNode
|
1796
|
+
//
|
1797
|
+
// Type: YP_SOURCE_LINE_NODE
|
1321
1798
|
typedef struct yp_source_line_node {
|
1322
1799
|
yp_node_t base;
|
1323
1800
|
} yp_source_line_node_t;
|
1324
1801
|
|
1325
1802
|
// SplatNode
|
1803
|
+
//
|
1804
|
+
// Type: YP_SPLAT_NODE
|
1326
1805
|
typedef struct yp_splat_node {
|
1327
1806
|
yp_node_t base;
|
1328
1807
|
yp_location_t operator_loc;
|
@@ -1330,12 +1809,16 @@ typedef struct yp_splat_node {
|
|
1330
1809
|
} yp_splat_node_t;
|
1331
1810
|
|
1332
1811
|
// StatementsNode
|
1812
|
+
//
|
1813
|
+
// Type: YP_STATEMENTS_NODE
|
1333
1814
|
typedef struct yp_statements_node {
|
1334
1815
|
yp_node_t base;
|
1335
1816
|
struct yp_node_list body;
|
1336
1817
|
} yp_statements_node_t;
|
1337
1818
|
|
1338
1819
|
// StringConcatNode
|
1820
|
+
//
|
1821
|
+
// Type: YP_STRING_CONCAT_NODE
|
1339
1822
|
typedef struct yp_string_concat_node {
|
1340
1823
|
yp_node_t base;
|
1341
1824
|
struct yp_node *left;
|
@@ -1343,6 +1826,8 @@ typedef struct yp_string_concat_node {
|
|
1343
1826
|
} yp_string_concat_node_t;
|
1344
1827
|
|
1345
1828
|
// StringNode
|
1829
|
+
//
|
1830
|
+
// Type: YP_STRING_NODE
|
1346
1831
|
typedef struct yp_string_node {
|
1347
1832
|
yp_node_t base;
|
1348
1833
|
yp_location_t opening_loc;
|
@@ -1352,6 +1837,8 @@ typedef struct yp_string_node {
|
|
1352
1837
|
} yp_string_node_t;
|
1353
1838
|
|
1354
1839
|
// SuperNode
|
1840
|
+
//
|
1841
|
+
// Type: YP_SUPER_NODE
|
1355
1842
|
typedef struct yp_super_node {
|
1356
1843
|
yp_node_t base;
|
1357
1844
|
yp_location_t keyword_loc;
|
@@ -1362,6 +1849,8 @@ typedef struct yp_super_node {
|
|
1362
1849
|
} yp_super_node_t;
|
1363
1850
|
|
1364
1851
|
// SymbolNode
|
1852
|
+
//
|
1853
|
+
// Type: YP_SYMBOL_NODE
|
1365
1854
|
typedef struct yp_symbol_node {
|
1366
1855
|
yp_node_t base;
|
1367
1856
|
yp_location_t opening_loc;
|
@@ -1371,11 +1860,15 @@ typedef struct yp_symbol_node {
|
|
1371
1860
|
} yp_symbol_node_t;
|
1372
1861
|
|
1373
1862
|
// TrueNode
|
1863
|
+
//
|
1864
|
+
// Type: YP_TRUE_NODE
|
1374
1865
|
typedef struct yp_true_node {
|
1375
1866
|
yp_node_t base;
|
1376
1867
|
} yp_true_node_t;
|
1377
1868
|
|
1378
1869
|
// UndefNode
|
1870
|
+
//
|
1871
|
+
// Type: YP_UNDEF_NODE
|
1379
1872
|
typedef struct yp_undef_node {
|
1380
1873
|
yp_node_t base;
|
1381
1874
|
struct yp_node_list names;
|
@@ -1383,6 +1876,8 @@ typedef struct yp_undef_node {
|
|
1383
1876
|
} yp_undef_node_t;
|
1384
1877
|
|
1385
1878
|
// UnlessNode
|
1879
|
+
//
|
1880
|
+
// Type: YP_UNLESS_NODE
|
1386
1881
|
typedef struct yp_unless_node {
|
1387
1882
|
yp_node_t base;
|
1388
1883
|
yp_location_t keyword_loc;
|
@@ -1393,6 +1888,10 @@ typedef struct yp_unless_node {
|
|
1393
1888
|
} yp_unless_node_t;
|
1394
1889
|
|
1395
1890
|
// UntilNode
|
1891
|
+
//
|
1892
|
+
// Type: YP_UNTIL_NODE
|
1893
|
+
// Flags:
|
1894
|
+
// YP_LOOP_FLAGS_BEGIN_MODIFIER
|
1396
1895
|
typedef struct yp_until_node {
|
1397
1896
|
yp_node_t base;
|
1398
1897
|
yp_location_t keyword_loc;
|
@@ -1402,6 +1901,8 @@ typedef struct yp_until_node {
|
|
1402
1901
|
} yp_until_node_t;
|
1403
1902
|
|
1404
1903
|
// WhenNode
|
1904
|
+
//
|
1905
|
+
// Type: YP_WHEN_NODE
|
1405
1906
|
typedef struct yp_when_node {
|
1406
1907
|
yp_node_t base;
|
1407
1908
|
yp_location_t keyword_loc;
|
@@ -1410,6 +1911,10 @@ typedef struct yp_when_node {
|
|
1410
1911
|
} yp_when_node_t;
|
1411
1912
|
|
1412
1913
|
// WhileNode
|
1914
|
+
//
|
1915
|
+
// Type: YP_WHILE_NODE
|
1916
|
+
// Flags:
|
1917
|
+
// YP_LOOP_FLAGS_BEGIN_MODIFIER
|
1413
1918
|
typedef struct yp_while_node {
|
1414
1919
|
yp_node_t base;
|
1415
1920
|
yp_location_t keyword_loc;
|
@@ -1419,6 +1924,8 @@ typedef struct yp_while_node {
|
|
1419
1924
|
} yp_while_node_t;
|
1420
1925
|
|
1421
1926
|
// XStringNode
|
1927
|
+
//
|
1928
|
+
// Type: YP_X_STRING_NODE
|
1422
1929
|
typedef struct yp_x_string_node {
|
1423
1930
|
yp_node_t base;
|
1424
1931
|
yp_location_t opening_loc;
|
@@ -1428,6 +1935,8 @@ typedef struct yp_x_string_node {
|
|
1428
1935
|
} yp_x_string_node_t;
|
1429
1936
|
|
1430
1937
|
// YieldNode
|
1938
|
+
//
|
1939
|
+
// Type: YP_YIELD_NODE
|
1431
1940
|
typedef struct yp_yield_node {
|
1432
1941
|
yp_node_t base;
|
1433
1942
|
yp_location_t keyword_loc;
|