yarp 0.10.0 → 0.11.0

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