yarp 0.10.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.
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;