yarp 0.10.0 → 0.12.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/src/prettyprint.c CHANGED
@@ -25,17 +25,25 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
25
25
  switch (YP_NODE_TYPE(node)) {
26
26
  // We do not need to print a ScopeNode as it's not part
27
27
  // of the AST
28
- case YP_NODE_SCOPE_NODE:
28
+ case YP_SCOPE_NODE:
29
29
  return;
30
- case YP_NODE_ALIAS_NODE: {
31
- yp_buffer_append_str(buffer, "AliasNode(", 10);
32
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_node_t *)node)->new_name);
33
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_node_t *)node)->old_name);
34
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_alias_node_t *)node)->keyword_loc);
30
+ case YP_ALIAS_GLOBAL_VARIABLE_NODE: {
31
+ yp_buffer_append_str(buffer, "AliasGlobalVariableNode(", 24);
32
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_global_variable_node_t *)node)->new_name);
33
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_global_variable_node_t *)node)->old_name);
34
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_alias_global_variable_node_t *)node)->keyword_loc);
35
35
  yp_buffer_append_str(buffer, ")", 1);
36
36
  break;
37
37
  }
38
- case YP_NODE_ALTERNATION_PATTERN_NODE: {
38
+ case YP_ALIAS_METHOD_NODE: {
39
+ yp_buffer_append_str(buffer, "AliasMethodNode(", 16);
40
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_method_node_t *)node)->new_name);
41
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_alias_method_node_t *)node)->old_name);
42
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_alias_method_node_t *)node)->keyword_loc);
43
+ yp_buffer_append_str(buffer, ")", 1);
44
+ break;
45
+ }
46
+ case YP_ALTERNATION_PATTERN_NODE: {
39
47
  yp_buffer_append_str(buffer, "AlternationPatternNode(", 23);
40
48
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_alternation_pattern_node_t *)node)->left);
41
49
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_alternation_pattern_node_t *)node)->right);
@@ -43,7 +51,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
43
51
  yp_buffer_append_str(buffer, ")", 1);
44
52
  break;
45
53
  }
46
- case YP_NODE_AND_NODE: {
54
+ case YP_AND_NODE: {
47
55
  yp_buffer_append_str(buffer, "AndNode(", 8);
48
56
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_and_node_t *)node)->left);
49
57
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_and_node_t *)node)->right);
@@ -51,7 +59,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
51
59
  yp_buffer_append_str(buffer, ")", 1);
52
60
  break;
53
61
  }
54
- case YP_NODE_ARGUMENTS_NODE: {
62
+ case YP_ARGUMENTS_NODE: {
55
63
  yp_buffer_append_str(buffer, "ArgumentsNode(", 14);
56
64
  yp_buffer_append_str(buffer, "[", 1);
57
65
  for (uint32_t index = 0; index < ((yp_arguments_node_t *)node)->arguments.size; index++) {
@@ -62,7 +70,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
62
70
  yp_buffer_append_str(buffer, ")", 1);
63
71
  break;
64
72
  }
65
- case YP_NODE_ARRAY_NODE: {
73
+ case YP_ARRAY_NODE: {
66
74
  yp_buffer_append_str(buffer, "ArrayNode(", 10);
67
75
  yp_buffer_append_str(buffer, "[", 1);
68
76
  for (uint32_t index = 0; index < ((yp_array_node_t *)node)->elements.size; index++) {
@@ -83,7 +91,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
83
91
  yp_buffer_append_str(buffer, ")", 1);
84
92
  break;
85
93
  }
86
- case YP_NODE_ARRAY_PATTERN_NODE: {
94
+ case YP_ARRAY_PATTERN_NODE: {
87
95
  yp_buffer_append_str(buffer, "ArrayPatternNode(", 17);
88
96
  if (((yp_array_pattern_node_t *)node)->constant == NULL) {
89
97
  yp_buffer_append_str(buffer, "nil", 3);
@@ -120,7 +128,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
120
128
  yp_buffer_append_str(buffer, ")", 1);
121
129
  break;
122
130
  }
123
- case YP_NODE_ASSOC_NODE: {
131
+ case YP_ASSOC_NODE: {
124
132
  yp_buffer_append_str(buffer, "AssocNode(", 10);
125
133
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_assoc_node_t *)node)->key);
126
134
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_assoc_node_t *)node)->value == NULL) {
@@ -136,7 +144,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
136
144
  yp_buffer_append_str(buffer, ")", 1);
137
145
  break;
138
146
  }
139
- case YP_NODE_ASSOC_SPLAT_NODE: {
147
+ case YP_ASSOC_SPLAT_NODE: {
140
148
  yp_buffer_append_str(buffer, "AssocSplatNode(", 15);
141
149
  if (((yp_assoc_splat_node_t *)node)->value == NULL) {
142
150
  yp_buffer_append_str(buffer, "nil", 3);
@@ -147,12 +155,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
147
155
  yp_buffer_append_str(buffer, ")", 1);
148
156
  break;
149
157
  }
150
- case YP_NODE_BACK_REFERENCE_READ_NODE: {
158
+ case YP_BACK_REFERENCE_READ_NODE: {
151
159
  yp_buffer_append_str(buffer, "BackReferenceReadNode(", 22);
152
160
  yp_buffer_append_str(buffer, ")", 1);
153
161
  break;
154
162
  }
155
- case YP_NODE_BEGIN_NODE: {
163
+ case YP_BEGIN_NODE: {
156
164
  yp_buffer_append_str(buffer, "BeginNode(", 10);
157
165
  if (((yp_begin_node_t *)node)->begin_keyword_loc.start == NULL) {
158
166
  yp_buffer_append_str(buffer, "nil", 3);
@@ -187,7 +195,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
187
195
  yp_buffer_append_str(buffer, ")", 1);
188
196
  break;
189
197
  }
190
- case YP_NODE_BLOCK_ARGUMENT_NODE: {
198
+ case YP_BLOCK_ARGUMENT_NODE: {
191
199
  yp_buffer_append_str(buffer, "BlockArgumentNode(", 18);
192
200
  if (((yp_block_argument_node_t *)node)->expression == NULL) {
193
201
  yp_buffer_append_str(buffer, "nil", 3);
@@ -198,7 +206,15 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
198
206
  yp_buffer_append_str(buffer, ")", 1);
199
207
  break;
200
208
  }
201
- case YP_NODE_BLOCK_NODE: {
209
+ case YP_BLOCK_LOCAL_VARIABLE_NODE: {
210
+ yp_buffer_append_str(buffer, "BlockLocalVariableNode(", 23);
211
+ char name_buffer[12];
212
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_block_local_variable_node_t *)node)->name);
213
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
214
+ yp_buffer_append_str(buffer, ")", 1);
215
+ break;
216
+ }
217
+ case YP_BLOCK_NODE: {
202
218
  yp_buffer_append_str(buffer, "BlockNode(", 10);
203
219
  yp_buffer_append_str(buffer, "[", 1);
204
220
  for (uint32_t index = 0; index < ((yp_block_node_t *)node)->locals.size; index++) {
@@ -223,9 +239,16 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
223
239
  yp_buffer_append_str(buffer, ")", 1);
224
240
  break;
225
241
  }
226
- case YP_NODE_BLOCK_PARAMETER_NODE: {
242
+ case YP_BLOCK_PARAMETER_NODE: {
227
243
  yp_buffer_append_str(buffer, "BlockParameterNode(", 19);
228
- if (((yp_block_parameter_node_t *)node)->name_loc.start == NULL) {
244
+ if (((yp_block_parameter_node_t *)node)->name == 0) {
245
+ yp_buffer_append_str(buffer, "nil", 3);
246
+ } else {
247
+ char name_buffer[12];
248
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_block_parameter_node_t *)node)->name);
249
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
250
+ }
251
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_block_parameter_node_t *)node)->name_loc.start == NULL) {
229
252
  yp_buffer_append_str(buffer, "nil", 3);
230
253
  } else {
231
254
  prettyprint_location(buffer, parser, &((yp_block_parameter_node_t *)node)->name_loc);
@@ -234,7 +257,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
234
257
  yp_buffer_append_str(buffer, ")", 1);
235
258
  break;
236
259
  }
237
- case YP_NODE_BLOCK_PARAMETERS_NODE: {
260
+ case YP_BLOCK_PARAMETERS_NODE: {
238
261
  yp_buffer_append_str(buffer, "BlockParametersNode(", 20);
239
262
  if (((yp_block_parameters_node_t *)node)->parameters == NULL) {
240
263
  yp_buffer_append_str(buffer, "nil", 3);
@@ -244,7 +267,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
244
267
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
245
268
  for (uint32_t index = 0; index < ((yp_block_parameters_node_t *)node)->locals.size; index++) {
246
269
  if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
247
- prettyprint_location(buffer, parser, &((yp_block_parameters_node_t *)node)->locals.locations[index]);
270
+ prettyprint_node(buffer, parser, (yp_node_t *) ((yp_block_parameters_node_t *) node)->locals.nodes[index]);
248
271
  }
249
272
  yp_buffer_append_str(buffer, "]", 1);
250
273
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_block_parameters_node_t *)node)->opening_loc.start == NULL) {
@@ -260,7 +283,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
260
283
  yp_buffer_append_str(buffer, ")", 1);
261
284
  break;
262
285
  }
263
- case YP_NODE_BREAK_NODE: {
286
+ case YP_BREAK_NODE: {
264
287
  yp_buffer_append_str(buffer, "BreakNode(", 10);
265
288
  if (((yp_break_node_t *)node)->arguments == NULL) {
266
289
  yp_buffer_append_str(buffer, "nil", 3);
@@ -271,17 +294,63 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
271
294
  yp_buffer_append_str(buffer, ")", 1);
272
295
  break;
273
296
  }
274
- case YP_NODE_CALL_NODE: {
297
+ case YP_CALL_AND_WRITE_NODE: {
298
+ yp_buffer_append_str(buffer, "CallAndWriteNode(", 17);
299
+ if (((yp_call_and_write_node_t *)node)->receiver == NULL) {
300
+ yp_buffer_append_str(buffer, "nil", 3);
301
+ } else {
302
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_and_write_node_t *)node)->receiver);
303
+ }
304
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_and_write_node_t *)node)->call_operator_loc.start == NULL) {
305
+ yp_buffer_append_str(buffer, "nil", 3);
306
+ } else {
307
+ prettyprint_location(buffer, parser, &((yp_call_and_write_node_t *)node)->call_operator_loc);
308
+ }
309
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_and_write_node_t *)node)->message_loc.start == NULL) {
310
+ yp_buffer_append_str(buffer, "nil", 3);
311
+ } else {
312
+ prettyprint_location(buffer, parser, &((yp_call_and_write_node_t *)node)->message_loc);
313
+ }
314
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_and_write_node_t *)node)->opening_loc.start == NULL) {
315
+ yp_buffer_append_str(buffer, "nil", 3);
316
+ } else {
317
+ prettyprint_location(buffer, parser, &((yp_call_and_write_node_t *)node)->opening_loc);
318
+ }
319
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_and_write_node_t *)node)->arguments == NULL) {
320
+ yp_buffer_append_str(buffer, "nil", 3);
321
+ } else {
322
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_and_write_node_t *)node)->arguments);
323
+ }
324
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_and_write_node_t *)node)->closing_loc.start == NULL) {
325
+ yp_buffer_append_str(buffer, "nil", 3);
326
+ } else {
327
+ prettyprint_location(buffer, parser, &((yp_call_and_write_node_t *)node)->closing_loc);
328
+ }
329
+ yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
330
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
331
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
332
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
333
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_and_write_node_t *)node)->read_name), yp_string_length(&((yp_call_and_write_node_t *)node)->read_name));
334
+ yp_buffer_append_str(buffer, "\"", 1);
335
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
336
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_and_write_node_t *)node)->write_name), yp_string_length(&((yp_call_and_write_node_t *)node)->write_name));
337
+ yp_buffer_append_str(buffer, "\"", 1);
338
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_and_write_node_t *)node)->operator_loc);
339
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_and_write_node_t *)node)->value);
340
+ yp_buffer_append_str(buffer, ")", 1);
341
+ break;
342
+ }
343
+ case YP_CALL_NODE: {
275
344
  yp_buffer_append_str(buffer, "CallNode(", 9);
276
345
  if (((yp_call_node_t *)node)->receiver == NULL) {
277
346
  yp_buffer_append_str(buffer, "nil", 3);
278
347
  } else {
279
348
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_node_t *)node)->receiver);
280
349
  }
281
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_node_t *)node)->operator_loc.start == NULL) {
350
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_node_t *)node)->call_operator_loc.start == NULL) {
282
351
  yp_buffer_append_str(buffer, "nil", 3);
283
352
  } else {
284
- prettyprint_location(buffer, parser, &((yp_call_node_t *)node)->operator_loc);
353
+ prettyprint_location(buffer, parser, &((yp_call_node_t *)node)->call_operator_loc);
285
354
  }
286
355
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_node_t *)node)->message_loc.start == NULL) {
287
356
  yp_buffer_append_str(buffer, "nil", 3);
@@ -309,7 +378,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
309
378
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_node_t *)node)->block);
310
379
  }
311
380
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
312
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
381
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
313
382
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
314
383
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
315
384
  yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_node_t *)node)->name), yp_string_length(&((yp_call_node_t *)node)->name));
@@ -317,34 +386,102 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
317
386
  yp_buffer_append_str(buffer, ")", 1);
318
387
  break;
319
388
  }
320
- case YP_NODE_CALL_OPERATOR_AND_WRITE_NODE: {
321
- yp_buffer_append_str(buffer, "CallOperatorAndWriteNode(", 25);
322
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_and_write_node_t *)node)->target);
323
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_operator_and_write_node_t *)node)->operator_loc);
324
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_and_write_node_t *)node)->value);
325
- yp_buffer_append_str(buffer, ")", 1);
326
- break;
327
- }
328
- case YP_NODE_CALL_OPERATOR_OR_WRITE_NODE: {
329
- yp_buffer_append_str(buffer, "CallOperatorOrWriteNode(", 24);
330
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_or_write_node_t *)node)->target);
331
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_or_write_node_t *)node)->value);
332
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_operator_or_write_node_t *)node)->operator_loc);
333
- yp_buffer_append_str(buffer, ")", 1);
334
- break;
335
- }
336
- case YP_NODE_CALL_OPERATOR_WRITE_NODE: {
389
+ case YP_CALL_OPERATOR_WRITE_NODE: {
337
390
  yp_buffer_append_str(buffer, "CallOperatorWriteNode(", 22);
338
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->target);
339
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->operator_loc);
340
- yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->value);
391
+ if (((yp_call_operator_write_node_t *)node)->receiver == NULL) {
392
+ yp_buffer_append_str(buffer, "nil", 3);
393
+ } else {
394
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->receiver);
395
+ }
396
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_operator_write_node_t *)node)->call_operator_loc.start == NULL) {
397
+ yp_buffer_append_str(buffer, "nil", 3);
398
+ } else {
399
+ prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->call_operator_loc);
400
+ }
401
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_operator_write_node_t *)node)->message_loc.start == NULL) {
402
+ yp_buffer_append_str(buffer, "nil", 3);
403
+ } else {
404
+ prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->message_loc);
405
+ }
406
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_operator_write_node_t *)node)->opening_loc.start == NULL) {
407
+ yp_buffer_append_str(buffer, "nil", 3);
408
+ } else {
409
+ prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->opening_loc);
410
+ }
411
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_operator_write_node_t *)node)->arguments == NULL) {
412
+ yp_buffer_append_str(buffer, "nil", 3);
413
+ } else {
414
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->arguments);
415
+ }
416
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_operator_write_node_t *)node)->closing_loc.start == NULL) {
417
+ yp_buffer_append_str(buffer, "nil", 3);
418
+ } else {
419
+ prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->closing_loc);
420
+ }
421
+ yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
422
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
423
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
424
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
425
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_operator_write_node_t *)node)->read_name), yp_string_length(&((yp_call_operator_write_node_t *)node)->read_name));
426
+ yp_buffer_append_str(buffer, "\"", 1);
427
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
428
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_operator_write_node_t *)node)->write_name), yp_string_length(&((yp_call_operator_write_node_t *)node)->write_name));
429
+ yp_buffer_append_str(buffer, "\"", 1);
341
430
  yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
342
431
  snprintf(operator_buffer, sizeof(operator_buffer), "%u", ((yp_call_operator_write_node_t *)node)->operator);
343
432
  yp_buffer_append_str(buffer, operator_buffer, strlen(operator_buffer));
433
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_operator_write_node_t *)node)->operator_loc);
434
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->value);
435
+ yp_buffer_append_str(buffer, ")", 1);
436
+ break;
437
+ }
438
+ case YP_CALL_OR_WRITE_NODE: {
439
+ yp_buffer_append_str(buffer, "CallOrWriteNode(", 16);
440
+ if (((yp_call_or_write_node_t *)node)->receiver == NULL) {
441
+ yp_buffer_append_str(buffer, "nil", 3);
442
+ } else {
443
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_or_write_node_t *)node)->receiver);
444
+ }
445
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_or_write_node_t *)node)->call_operator_loc.start == NULL) {
446
+ yp_buffer_append_str(buffer, "nil", 3);
447
+ } else {
448
+ prettyprint_location(buffer, parser, &((yp_call_or_write_node_t *)node)->call_operator_loc);
449
+ }
450
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_or_write_node_t *)node)->message_loc.start == NULL) {
451
+ yp_buffer_append_str(buffer, "nil", 3);
452
+ } else {
453
+ prettyprint_location(buffer, parser, &((yp_call_or_write_node_t *)node)->message_loc);
454
+ }
455
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_or_write_node_t *)node)->opening_loc.start == NULL) {
456
+ yp_buffer_append_str(buffer, "nil", 3);
457
+ } else {
458
+ prettyprint_location(buffer, parser, &((yp_call_or_write_node_t *)node)->opening_loc);
459
+ }
460
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_or_write_node_t *)node)->arguments == NULL) {
461
+ yp_buffer_append_str(buffer, "nil", 3);
462
+ } else {
463
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_or_write_node_t *)node)->arguments);
464
+ }
465
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_call_or_write_node_t *)node)->closing_loc.start == NULL) {
466
+ yp_buffer_append_str(buffer, "nil", 3);
467
+ } else {
468
+ prettyprint_location(buffer, parser, &((yp_call_or_write_node_t *)node)->closing_loc);
469
+ }
470
+ yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
471
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
472
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
473
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
474
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_or_write_node_t *)node)->read_name), yp_string_length(&((yp_call_or_write_node_t *)node)->read_name));
475
+ yp_buffer_append_str(buffer, "\"", 1);
476
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
477
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_call_or_write_node_t *)node)->write_name), yp_string_length(&((yp_call_or_write_node_t *)node)->write_name));
478
+ yp_buffer_append_str(buffer, "\"", 1);
479
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_call_or_write_node_t *)node)->operator_loc);
480
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_call_or_write_node_t *)node)->value);
344
481
  yp_buffer_append_str(buffer, ")", 1);
345
482
  break;
346
483
  }
347
- case YP_NODE_CAPTURE_PATTERN_NODE: {
484
+ case YP_CAPTURE_PATTERN_NODE: {
348
485
  yp_buffer_append_str(buffer, "CapturePatternNode(", 19);
349
486
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_capture_pattern_node_t *)node)->value);
350
487
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_capture_pattern_node_t *)node)->target);
@@ -352,7 +489,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
352
489
  yp_buffer_append_str(buffer, ")", 1);
353
490
  break;
354
491
  }
355
- case YP_NODE_CASE_NODE: {
492
+ case YP_CASE_NODE: {
356
493
  yp_buffer_append_str(buffer, "CaseNode(", 9);
357
494
  if (((yp_case_node_t *)node)->predicate == NULL) {
358
495
  yp_buffer_append_str(buffer, "nil", 3);
@@ -375,7 +512,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
375
512
  yp_buffer_append_str(buffer, ")", 1);
376
513
  break;
377
514
  }
378
- case YP_NODE_CLASS_NODE: {
515
+ case YP_CLASS_NODE: {
379
516
  yp_buffer_append_str(buffer, "ClassNode(", 10);
380
517
  yp_buffer_append_str(buffer, "[", 1);
381
518
  for (uint32_t index = 0; index < ((yp_class_node_t *)node)->locals.size; index++) {
@@ -403,13 +540,13 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
403
540
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_node_t *)node)->body);
404
541
  }
405
542
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_node_t *)node)->end_keyword_loc);
406
- yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
407
- yp_buffer_append_bytes(buffer, yp_string_source(&((yp_class_node_t *)node)->name), yp_string_length(&((yp_class_node_t *)node)->name));
408
- yp_buffer_append_str(buffer, "\"", 1);
543
+ yp_buffer_append_str(buffer, ", ", 2); char name_buffer[12];
544
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_node_t *)node)->name);
545
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
409
546
  yp_buffer_append_str(buffer, ")", 1);
410
547
  break;
411
548
  }
412
- case YP_NODE_CLASS_VARIABLE_AND_WRITE_NODE: {
549
+ case YP_CLASS_VARIABLE_AND_WRITE_NODE: {
413
550
  yp_buffer_append_str(buffer, "ClassVariableAndWriteNode(", 26);
414
551
  char name_buffer[12];
415
552
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_and_write_node_t *)node)->name);
@@ -420,7 +557,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
420
557
  yp_buffer_append_str(buffer, ")", 1);
421
558
  break;
422
559
  }
423
- case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
560
+ case YP_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
424
561
  yp_buffer_append_str(buffer, "ClassVariableOperatorWriteNode(", 31);
425
562
  char name_buffer[12];
426
563
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_operator_write_node_t *)node)->name);
@@ -434,7 +571,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
434
571
  yp_buffer_append_str(buffer, ")", 1);
435
572
  break;
436
573
  }
437
- case YP_NODE_CLASS_VARIABLE_OR_WRITE_NODE: {
574
+ case YP_CLASS_VARIABLE_OR_WRITE_NODE: {
438
575
  yp_buffer_append_str(buffer, "ClassVariableOrWriteNode(", 25);
439
576
  char name_buffer[12];
440
577
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_or_write_node_t *)node)->name);
@@ -445,7 +582,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
445
582
  yp_buffer_append_str(buffer, ")", 1);
446
583
  break;
447
584
  }
448
- case YP_NODE_CLASS_VARIABLE_READ_NODE: {
585
+ case YP_CLASS_VARIABLE_READ_NODE: {
449
586
  yp_buffer_append_str(buffer, "ClassVariableReadNode(", 22);
450
587
  char name_buffer[12];
451
588
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_read_node_t *)node)->name);
@@ -453,7 +590,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
453
590
  yp_buffer_append_str(buffer, ")", 1);
454
591
  break;
455
592
  }
456
- case YP_NODE_CLASS_VARIABLE_TARGET_NODE: {
593
+ case YP_CLASS_VARIABLE_TARGET_NODE: {
457
594
  yp_buffer_append_str(buffer, "ClassVariableTargetNode(", 24);
458
595
  char name_buffer[12];
459
596
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_target_node_t *)node)->name);
@@ -461,17 +598,13 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
461
598
  yp_buffer_append_str(buffer, ")", 1);
462
599
  break;
463
600
  }
464
- case YP_NODE_CLASS_VARIABLE_WRITE_NODE: {
601
+ case YP_CLASS_VARIABLE_WRITE_NODE: {
465
602
  yp_buffer_append_str(buffer, "ClassVariableWriteNode(", 23);
466
603
  char name_buffer[12];
467
604
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_class_variable_write_node_t *)node)->name);
468
605
  yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
469
606
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_class_variable_write_node_t *)node)->name_loc);
470
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_class_variable_write_node_t *)node)->value == NULL) {
471
- yp_buffer_append_str(buffer, "nil", 3);
472
- } else {
473
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_write_node_t *)node)->value);
474
- }
607
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_class_variable_write_node_t *)node)->value);
475
608
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_class_variable_write_node_t *)node)->operator_loc.start == NULL) {
476
609
  yp_buffer_append_str(buffer, "nil", 3);
477
610
  } else {
@@ -480,17 +613,23 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
480
613
  yp_buffer_append_str(buffer, ")", 1);
481
614
  break;
482
615
  }
483
- case YP_NODE_CONSTANT_AND_WRITE_NODE: {
616
+ case YP_CONSTANT_AND_WRITE_NODE: {
484
617
  yp_buffer_append_str(buffer, "ConstantAndWriteNode(", 21);
485
- prettyprint_location(buffer, parser, &((yp_constant_and_write_node_t *)node)->name_loc);
618
+ char name_buffer[12];
619
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_and_write_node_t *)node)->name);
620
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
621
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_and_write_node_t *)node)->name_loc);
486
622
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_and_write_node_t *)node)->operator_loc);
487
623
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_and_write_node_t *)node)->value);
488
624
  yp_buffer_append_str(buffer, ")", 1);
489
625
  break;
490
626
  }
491
- case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE: {
627
+ case YP_CONSTANT_OPERATOR_WRITE_NODE: {
492
628
  yp_buffer_append_str(buffer, "ConstantOperatorWriteNode(", 26);
493
- prettyprint_location(buffer, parser, &((yp_constant_operator_write_node_t *)node)->name_loc);
629
+ char name_buffer[12];
630
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_operator_write_node_t *)node)->name);
631
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
632
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_operator_write_node_t *)node)->name_loc);
494
633
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_operator_write_node_t *)node)->operator_loc);
495
634
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_operator_write_node_t *)node)->value);
496
635
  yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
@@ -499,15 +638,18 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
499
638
  yp_buffer_append_str(buffer, ")", 1);
500
639
  break;
501
640
  }
502
- case YP_NODE_CONSTANT_OR_WRITE_NODE: {
641
+ case YP_CONSTANT_OR_WRITE_NODE: {
503
642
  yp_buffer_append_str(buffer, "ConstantOrWriteNode(", 20);
504
- prettyprint_location(buffer, parser, &((yp_constant_or_write_node_t *)node)->name_loc);
643
+ char name_buffer[12];
644
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_or_write_node_t *)node)->name);
645
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
646
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_or_write_node_t *)node)->name_loc);
505
647
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_or_write_node_t *)node)->operator_loc);
506
648
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_or_write_node_t *)node)->value);
507
649
  yp_buffer_append_str(buffer, ")", 1);
508
650
  break;
509
651
  }
510
- case YP_NODE_CONSTANT_PATH_AND_WRITE_NODE: {
652
+ case YP_CONSTANT_PATH_AND_WRITE_NODE: {
511
653
  yp_buffer_append_str(buffer, "ConstantPathAndWriteNode(", 25);
512
654
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_and_write_node_t *)node)->target);
513
655
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_and_write_node_t *)node)->operator_loc);
@@ -515,7 +657,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
515
657
  yp_buffer_append_str(buffer, ")", 1);
516
658
  break;
517
659
  }
518
- case YP_NODE_CONSTANT_PATH_NODE: {
660
+ case YP_CONSTANT_PATH_NODE: {
519
661
  yp_buffer_append_str(buffer, "ConstantPathNode(", 17);
520
662
  if (((yp_constant_path_node_t *)node)->parent == NULL) {
521
663
  yp_buffer_append_str(buffer, "nil", 3);
@@ -527,7 +669,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
527
669
  yp_buffer_append_str(buffer, ")", 1);
528
670
  break;
529
671
  }
530
- case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
672
+ case YP_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
531
673
  yp_buffer_append_str(buffer, "ConstantPathOperatorWriteNode(", 30);
532
674
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
533
675
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_operator_write_node_t *)node)->operator_loc);
@@ -538,7 +680,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
538
680
  yp_buffer_append_str(buffer, ")", 1);
539
681
  break;
540
682
  }
541
- case YP_NODE_CONSTANT_PATH_OR_WRITE_NODE: {
683
+ case YP_CONSTANT_PATH_OR_WRITE_NODE: {
542
684
  yp_buffer_append_str(buffer, "ConstantPathOrWriteNode(", 24);
543
685
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_or_write_node_t *)node)->target);
544
686
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_or_write_node_t *)node)->operator_loc);
@@ -546,7 +688,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
546
688
  yp_buffer_append_str(buffer, ")", 1);
547
689
  break;
548
690
  }
549
- case YP_NODE_CONSTANT_PATH_TARGET_NODE: {
691
+ case YP_CONSTANT_PATH_TARGET_NODE: {
550
692
  yp_buffer_append_str(buffer, "ConstantPathTargetNode(", 23);
551
693
  if (((yp_constant_path_target_node_t *)node)->parent == NULL) {
552
694
  yp_buffer_append_str(buffer, "nil", 3);
@@ -558,7 +700,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
558
700
  yp_buffer_append_str(buffer, ")", 1);
559
701
  break;
560
702
  }
561
- case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
703
+ case YP_CONSTANT_PATH_WRITE_NODE: {
562
704
  yp_buffer_append_str(buffer, "ConstantPathWriteNode(", 22);
563
705
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
564
706
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_path_write_node_t *)node)->operator_loc);
@@ -566,27 +708,39 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
566
708
  yp_buffer_append_str(buffer, ")", 1);
567
709
  break;
568
710
  }
569
- case YP_NODE_CONSTANT_READ_NODE: {
711
+ case YP_CONSTANT_READ_NODE: {
570
712
  yp_buffer_append_str(buffer, "ConstantReadNode(", 17);
713
+ char name_buffer[12];
714
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_read_node_t *)node)->name);
715
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
571
716
  yp_buffer_append_str(buffer, ")", 1);
572
717
  break;
573
718
  }
574
- case YP_NODE_CONSTANT_TARGET_NODE: {
719
+ case YP_CONSTANT_TARGET_NODE: {
575
720
  yp_buffer_append_str(buffer, "ConstantTargetNode(", 19);
721
+ char name_buffer[12];
722
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_target_node_t *)node)->name);
723
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
576
724
  yp_buffer_append_str(buffer, ")", 1);
577
725
  break;
578
726
  }
579
- case YP_NODE_CONSTANT_WRITE_NODE: {
727
+ case YP_CONSTANT_WRITE_NODE: {
580
728
  yp_buffer_append_str(buffer, "ConstantWriteNode(", 18);
581
- prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->name_loc);
729
+ char name_buffer[12];
730
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_constant_write_node_t *)node)->name);
731
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
732
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->name_loc);
582
733
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
583
734
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_constant_write_node_t *)node)->operator_loc);
584
735
  yp_buffer_append_str(buffer, ")", 1);
585
736
  break;
586
737
  }
587
- case YP_NODE_DEF_NODE: {
738
+ case YP_DEF_NODE: {
588
739
  yp_buffer_append_str(buffer, "DefNode(", 8);
589
- prettyprint_location(buffer, parser, &((yp_def_node_t *)node)->name_loc);
740
+ char name_buffer[12];
741
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_def_node_t *)node)->name);
742
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
743
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_def_node_t *)node)->name_loc);
590
744
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_def_node_t *)node)->receiver == NULL) {
591
745
  yp_buffer_append_str(buffer, "nil", 3);
592
746
  } else {
@@ -639,7 +793,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
639
793
  yp_buffer_append_str(buffer, ")", 1);
640
794
  break;
641
795
  }
642
- case YP_NODE_DEFINED_NODE: {
796
+ case YP_DEFINED_NODE: {
643
797
  yp_buffer_append_str(buffer, "DefinedNode(", 12);
644
798
  if (((yp_defined_node_t *)node)->lparen_loc.start == NULL) {
645
799
  yp_buffer_append_str(buffer, "nil", 3);
@@ -656,7 +810,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
656
810
  yp_buffer_append_str(buffer, ")", 1);
657
811
  break;
658
812
  }
659
- case YP_NODE_ELSE_NODE: {
813
+ case YP_ELSE_NODE: {
660
814
  yp_buffer_append_str(buffer, "ElseNode(", 9);
661
815
  prettyprint_location(buffer, parser, &((yp_else_node_t *)node)->else_keyword_loc);
662
816
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_else_node_t *)node)->statements == NULL) {
@@ -672,7 +826,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
672
826
  yp_buffer_append_str(buffer, ")", 1);
673
827
  break;
674
828
  }
675
- case YP_NODE_EMBEDDED_STATEMENTS_NODE: {
829
+ case YP_EMBEDDED_STATEMENTS_NODE: {
676
830
  yp_buffer_append_str(buffer, "EmbeddedStatementsNode(", 23);
677
831
  prettyprint_location(buffer, parser, &((yp_embedded_statements_node_t *)node)->opening_loc);
678
832
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_embedded_statements_node_t *)node)->statements == NULL) {
@@ -684,14 +838,14 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
684
838
  yp_buffer_append_str(buffer, ")", 1);
685
839
  break;
686
840
  }
687
- case YP_NODE_EMBEDDED_VARIABLE_NODE: {
841
+ case YP_EMBEDDED_VARIABLE_NODE: {
688
842
  yp_buffer_append_str(buffer, "EmbeddedVariableNode(", 21);
689
843
  prettyprint_location(buffer, parser, &((yp_embedded_variable_node_t *)node)->operator_loc);
690
844
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_embedded_variable_node_t *)node)->variable);
691
845
  yp_buffer_append_str(buffer, ")", 1);
692
846
  break;
693
847
  }
694
- case YP_NODE_ENSURE_NODE: {
848
+ case YP_ENSURE_NODE: {
695
849
  yp_buffer_append_str(buffer, "EnsureNode(", 11);
696
850
  prettyprint_location(buffer, parser, &((yp_ensure_node_t *)node)->ensure_keyword_loc);
697
851
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_ensure_node_t *)node)->statements == NULL) {
@@ -703,12 +857,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
703
857
  yp_buffer_append_str(buffer, ")", 1);
704
858
  break;
705
859
  }
706
- case YP_NODE_FALSE_NODE: {
860
+ case YP_FALSE_NODE: {
707
861
  yp_buffer_append_str(buffer, "FalseNode(", 10);
708
862
  yp_buffer_append_str(buffer, ")", 1);
709
863
  break;
710
864
  }
711
- case YP_NODE_FIND_PATTERN_NODE: {
865
+ case YP_FIND_PATTERN_NODE: {
712
866
  yp_buffer_append_str(buffer, "FindPatternNode(", 16);
713
867
  if (((yp_find_pattern_node_t *)node)->constant == NULL) {
714
868
  yp_buffer_append_str(buffer, "nil", 3);
@@ -736,7 +890,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
736
890
  yp_buffer_append_str(buffer, ")", 1);
737
891
  break;
738
892
  }
739
- case YP_NODE_FLIP_FLOP_NODE: {
893
+ case YP_FLIP_FLOP_NODE: {
740
894
  yp_buffer_append_str(buffer, "FlipFlopNode(", 13);
741
895
  if (((yp_flip_flop_node_t *)node)->left == NULL) {
742
896
  yp_buffer_append_str(buffer, "nil", 3);
@@ -750,17 +904,17 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
750
904
  }
751
905
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_flip_flop_node_t *)node)->operator_loc);
752
906
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
753
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
907
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
754
908
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
755
909
  yp_buffer_append_str(buffer, ")", 1);
756
910
  break;
757
911
  }
758
- case YP_NODE_FLOAT_NODE: {
912
+ case YP_FLOAT_NODE: {
759
913
  yp_buffer_append_str(buffer, "FloatNode(", 10);
760
914
  yp_buffer_append_str(buffer, ")", 1);
761
915
  break;
762
916
  }
763
- case YP_NODE_FOR_NODE: {
917
+ case YP_FOR_NODE: {
764
918
  yp_buffer_append_str(buffer, "ForNode(", 8);
765
919
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_for_node_t *)node)->index);
766
920
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_for_node_t *)node)->collection);
@@ -780,17 +934,17 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
780
934
  yp_buffer_append_str(buffer, ")", 1);
781
935
  break;
782
936
  }
783
- case YP_NODE_FORWARDING_ARGUMENTS_NODE: {
937
+ case YP_FORWARDING_ARGUMENTS_NODE: {
784
938
  yp_buffer_append_str(buffer, "ForwardingArgumentsNode(", 24);
785
939
  yp_buffer_append_str(buffer, ")", 1);
786
940
  break;
787
941
  }
788
- case YP_NODE_FORWARDING_PARAMETER_NODE: {
942
+ case YP_FORWARDING_PARAMETER_NODE: {
789
943
  yp_buffer_append_str(buffer, "ForwardingParameterNode(", 24);
790
944
  yp_buffer_append_str(buffer, ")", 1);
791
945
  break;
792
946
  }
793
- case YP_NODE_FORWARDING_SUPER_NODE: {
947
+ case YP_FORWARDING_SUPER_NODE: {
794
948
  yp_buffer_append_str(buffer, "ForwardingSuperNode(", 20);
795
949
  if (((yp_forwarding_super_node_t *)node)->block == NULL) {
796
950
  yp_buffer_append_str(buffer, "nil", 3);
@@ -800,17 +954,23 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
800
954
  yp_buffer_append_str(buffer, ")", 1);
801
955
  break;
802
956
  }
803
- case YP_NODE_GLOBAL_VARIABLE_AND_WRITE_NODE: {
957
+ case YP_GLOBAL_VARIABLE_AND_WRITE_NODE: {
804
958
  yp_buffer_append_str(buffer, "GlobalVariableAndWriteNode(", 27);
805
- prettyprint_location(buffer, parser, &((yp_global_variable_and_write_node_t *)node)->name_loc);
959
+ char name_buffer[12];
960
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_and_write_node_t *)node)->name);
961
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
962
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_and_write_node_t *)node)->name_loc);
806
963
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_and_write_node_t *)node)->operator_loc);
807
964
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_and_write_node_t *)node)->value);
808
965
  yp_buffer_append_str(buffer, ")", 1);
809
966
  break;
810
967
  }
811
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
968
+ case YP_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
812
969
  yp_buffer_append_str(buffer, "GlobalVariableOperatorWriteNode(", 32);
813
- prettyprint_location(buffer, parser, &((yp_global_variable_operator_write_node_t *)node)->name_loc);
970
+ char name_buffer[12];
971
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_operator_write_node_t *)node)->name);
972
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
973
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_operator_write_node_t *)node)->name_loc);
814
974
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_operator_write_node_t *)node)->operator_loc);
815
975
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value);
816
976
  yp_buffer_append_str(buffer, ", ", 2); char operator_buffer[12];
@@ -819,33 +979,45 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
819
979
  yp_buffer_append_str(buffer, ")", 1);
820
980
  break;
821
981
  }
822
- case YP_NODE_GLOBAL_VARIABLE_OR_WRITE_NODE: {
982
+ case YP_GLOBAL_VARIABLE_OR_WRITE_NODE: {
823
983
  yp_buffer_append_str(buffer, "GlobalVariableOrWriteNode(", 26);
824
- prettyprint_location(buffer, parser, &((yp_global_variable_or_write_node_t *)node)->name_loc);
984
+ char name_buffer[12];
985
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_or_write_node_t *)node)->name);
986
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
987
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_or_write_node_t *)node)->name_loc);
825
988
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_or_write_node_t *)node)->operator_loc);
826
989
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_or_write_node_t *)node)->value);
827
990
  yp_buffer_append_str(buffer, ")", 1);
828
991
  break;
829
992
  }
830
- case YP_NODE_GLOBAL_VARIABLE_READ_NODE: {
993
+ case YP_GLOBAL_VARIABLE_READ_NODE: {
831
994
  yp_buffer_append_str(buffer, "GlobalVariableReadNode(", 23);
995
+ char name_buffer[12];
996
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_read_node_t *)node)->name);
997
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
832
998
  yp_buffer_append_str(buffer, ")", 1);
833
999
  break;
834
1000
  }
835
- case YP_NODE_GLOBAL_VARIABLE_TARGET_NODE: {
1001
+ case YP_GLOBAL_VARIABLE_TARGET_NODE: {
836
1002
  yp_buffer_append_str(buffer, "GlobalVariableTargetNode(", 25);
1003
+ char name_buffer[12];
1004
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_target_node_t *)node)->name);
1005
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
837
1006
  yp_buffer_append_str(buffer, ")", 1);
838
1007
  break;
839
1008
  }
840
- case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE: {
1009
+ case YP_GLOBAL_VARIABLE_WRITE_NODE: {
841
1010
  yp_buffer_append_str(buffer, "GlobalVariableWriteNode(", 24);
842
- prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->name_loc);
1011
+ char name_buffer[12];
1012
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_global_variable_write_node_t *)node)->name);
1013
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
1014
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->name_loc);
843
1015
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
844
1016
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_global_variable_write_node_t *)node)->operator_loc);
845
1017
  yp_buffer_append_str(buffer, ")", 1);
846
1018
  break;
847
1019
  }
848
- case YP_NODE_HASH_NODE: {
1020
+ case YP_HASH_NODE: {
849
1021
  yp_buffer_append_str(buffer, "HashNode(", 9);
850
1022
  prettyprint_location(buffer, parser, &((yp_hash_node_t *)node)->opening_loc);
851
1023
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
@@ -858,7 +1030,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
858
1030
  yp_buffer_append_str(buffer, ")", 1);
859
1031
  break;
860
1032
  }
861
- case YP_NODE_HASH_PATTERN_NODE: {
1033
+ case YP_HASH_PATTERN_NODE: {
862
1034
  yp_buffer_append_str(buffer, "HashPatternNode(", 16);
863
1035
  if (((yp_hash_pattern_node_t *)node)->constant == NULL) {
864
1036
  yp_buffer_append_str(buffer, "nil", 3);
@@ -889,7 +1061,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
889
1061
  yp_buffer_append_str(buffer, ")", 1);
890
1062
  break;
891
1063
  }
892
- case YP_NODE_IF_NODE: {
1064
+ case YP_IF_NODE: {
893
1065
  yp_buffer_append_str(buffer, "IfNode(", 7);
894
1066
  if (((yp_if_node_t *)node)->if_keyword_loc.start == NULL) {
895
1067
  yp_buffer_append_str(buffer, "nil", 3);
@@ -915,13 +1087,19 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
915
1087
  yp_buffer_append_str(buffer, ")", 1);
916
1088
  break;
917
1089
  }
918
- case YP_NODE_IMAGINARY_NODE: {
1090
+ case YP_IMAGINARY_NODE: {
919
1091
  yp_buffer_append_str(buffer, "ImaginaryNode(", 14);
920
1092
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_imaginary_node_t *)node)->numeric);
921
1093
  yp_buffer_append_str(buffer, ")", 1);
922
1094
  break;
923
1095
  }
924
- case YP_NODE_IN_NODE: {
1096
+ case YP_IMPLICIT_NODE: {
1097
+ yp_buffer_append_str(buffer, "ImplicitNode(", 13);
1098
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_implicit_node_t *)node)->value);
1099
+ yp_buffer_append_str(buffer, ")", 1);
1100
+ break;
1101
+ }
1102
+ case YP_IN_NODE: {
925
1103
  yp_buffer_append_str(buffer, "InNode(", 7);
926
1104
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_in_node_t *)node)->pattern);
927
1105
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_in_node_t *)node)->statements == NULL) {
@@ -938,7 +1116,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
938
1116
  yp_buffer_append_str(buffer, ")", 1);
939
1117
  break;
940
1118
  }
941
- case YP_NODE_INSTANCE_VARIABLE_AND_WRITE_NODE: {
1119
+ case YP_INSTANCE_VARIABLE_AND_WRITE_NODE: {
942
1120
  yp_buffer_append_str(buffer, "InstanceVariableAndWriteNode(", 29);
943
1121
  char name_buffer[12];
944
1122
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_and_write_node_t *)node)->name);
@@ -949,7 +1127,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
949
1127
  yp_buffer_append_str(buffer, ")", 1);
950
1128
  break;
951
1129
  }
952
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
1130
+ case YP_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
953
1131
  yp_buffer_append_str(buffer, "InstanceVariableOperatorWriteNode(", 34);
954
1132
  char name_buffer[12];
955
1133
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_operator_write_node_t *)node)->name);
@@ -963,7 +1141,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
963
1141
  yp_buffer_append_str(buffer, ")", 1);
964
1142
  break;
965
1143
  }
966
- case YP_NODE_INSTANCE_VARIABLE_OR_WRITE_NODE: {
1144
+ case YP_INSTANCE_VARIABLE_OR_WRITE_NODE: {
967
1145
  yp_buffer_append_str(buffer, "InstanceVariableOrWriteNode(", 28);
968
1146
  char name_buffer[12];
969
1147
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_or_write_node_t *)node)->name);
@@ -974,7 +1152,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
974
1152
  yp_buffer_append_str(buffer, ")", 1);
975
1153
  break;
976
1154
  }
977
- case YP_NODE_INSTANCE_VARIABLE_READ_NODE: {
1155
+ case YP_INSTANCE_VARIABLE_READ_NODE: {
978
1156
  yp_buffer_append_str(buffer, "InstanceVariableReadNode(", 25);
979
1157
  char name_buffer[12];
980
1158
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_read_node_t *)node)->name);
@@ -982,7 +1160,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
982
1160
  yp_buffer_append_str(buffer, ")", 1);
983
1161
  break;
984
1162
  }
985
- case YP_NODE_INSTANCE_VARIABLE_TARGET_NODE: {
1163
+ case YP_INSTANCE_VARIABLE_TARGET_NODE: {
986
1164
  yp_buffer_append_str(buffer, "InstanceVariableTargetNode(", 27);
987
1165
  char name_buffer[12];
988
1166
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_target_node_t *)node)->name);
@@ -990,7 +1168,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
990
1168
  yp_buffer_append_str(buffer, ")", 1);
991
1169
  break;
992
1170
  }
993
- case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE: {
1171
+ case YP_INSTANCE_VARIABLE_WRITE_NODE: {
994
1172
  yp_buffer_append_str(buffer, "InstanceVariableWriteNode(", 26);
995
1173
  char name_buffer[12];
996
1174
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_instance_variable_write_node_t *)node)->name);
@@ -1001,12 +1179,31 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1001
1179
  yp_buffer_append_str(buffer, ")", 1);
1002
1180
  break;
1003
1181
  }
1004
- case YP_NODE_INTEGER_NODE: {
1182
+ case YP_INTEGER_NODE: {
1005
1183
  yp_buffer_append_str(buffer, "IntegerNode(", 12);
1184
+ char flags_buffer[12];
1185
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1186
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1006
1187
  yp_buffer_append_str(buffer, ")", 1);
1007
1188
  break;
1008
1189
  }
1009
- case YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
1190
+ case YP_INTERPOLATED_MATCH_LAST_LINE_NODE: {
1191
+ yp_buffer_append_str(buffer, "InterpolatedMatchLastLineNode(", 30);
1192
+ prettyprint_location(buffer, parser, &((yp_interpolated_match_last_line_node_t *)node)->opening_loc);
1193
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
1194
+ for (uint32_t index = 0; index < ((yp_interpolated_match_last_line_node_t *)node)->parts.size; index++) {
1195
+ if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
1196
+ prettyprint_node(buffer, parser, (yp_node_t *) ((yp_interpolated_match_last_line_node_t *) node)->parts.nodes[index]);
1197
+ }
1198
+ yp_buffer_append_str(buffer, "]", 1);
1199
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_interpolated_match_last_line_node_t *)node)->closing_loc);
1200
+ yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1201
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1202
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1203
+ yp_buffer_append_str(buffer, ")", 1);
1204
+ break;
1205
+ }
1206
+ case YP_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
1010
1207
  yp_buffer_append_str(buffer, "InterpolatedRegularExpressionNode(", 34);
1011
1208
  prettyprint_location(buffer, parser, &((yp_interpolated_regular_expression_node_t *)node)->opening_loc);
1012
1209
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
@@ -1017,12 +1214,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1017
1214
  yp_buffer_append_str(buffer, "]", 1);
1018
1215
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_interpolated_regular_expression_node_t *)node)->closing_loc);
1019
1216
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1020
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
1217
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1021
1218
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1022
1219
  yp_buffer_append_str(buffer, ")", 1);
1023
1220
  break;
1024
1221
  }
1025
- case YP_NODE_INTERPOLATED_STRING_NODE: {
1222
+ case YP_INTERPOLATED_STRING_NODE: {
1026
1223
  yp_buffer_append_str(buffer, "InterpolatedStringNode(", 23);
1027
1224
  if (((yp_interpolated_string_node_t *)node)->opening_loc.start == NULL) {
1028
1225
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1043,7 +1240,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1043
1240
  yp_buffer_append_str(buffer, ")", 1);
1044
1241
  break;
1045
1242
  }
1046
- case YP_NODE_INTERPOLATED_SYMBOL_NODE: {
1243
+ case YP_INTERPOLATED_SYMBOL_NODE: {
1047
1244
  yp_buffer_append_str(buffer, "InterpolatedSymbolNode(", 23);
1048
1245
  if (((yp_interpolated_symbol_node_t *)node)->opening_loc.start == NULL) {
1049
1246
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1064,7 +1261,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1064
1261
  yp_buffer_append_str(buffer, ")", 1);
1065
1262
  break;
1066
1263
  }
1067
- case YP_NODE_INTERPOLATED_X_STRING_NODE: {
1264
+ case YP_INTERPOLATED_X_STRING_NODE: {
1068
1265
  yp_buffer_append_str(buffer, "InterpolatedXStringNode(", 24);
1069
1266
  prettyprint_location(buffer, parser, &((yp_interpolated_x_string_node_t *)node)->opening_loc);
1070
1267
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
@@ -1077,7 +1274,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1077
1274
  yp_buffer_append_str(buffer, ")", 1);
1078
1275
  break;
1079
1276
  }
1080
- case YP_NODE_KEYWORD_HASH_NODE: {
1277
+ case YP_KEYWORD_HASH_NODE: {
1081
1278
  yp_buffer_append_str(buffer, "KeywordHashNode(", 16);
1082
1279
  yp_buffer_append_str(buffer, "[", 1);
1083
1280
  for (uint32_t index = 0; index < ((yp_keyword_hash_node_t *)node)->elements.size; index++) {
@@ -1088,9 +1285,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1088
1285
  yp_buffer_append_str(buffer, ")", 1);
1089
1286
  break;
1090
1287
  }
1091
- case YP_NODE_KEYWORD_PARAMETER_NODE: {
1288
+ case YP_KEYWORD_PARAMETER_NODE: {
1092
1289
  yp_buffer_append_str(buffer, "KeywordParameterNode(", 21);
1093
- prettyprint_location(buffer, parser, &((yp_keyword_parameter_node_t *)node)->name_loc);
1290
+ char name_buffer[12];
1291
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_keyword_parameter_node_t *)node)->name);
1292
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
1293
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_keyword_parameter_node_t *)node)->name_loc);
1094
1294
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_keyword_parameter_node_t *)node)->value == NULL) {
1095
1295
  yp_buffer_append_str(buffer, "nil", 3);
1096
1296
  } else {
@@ -1099,18 +1299,25 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1099
1299
  yp_buffer_append_str(buffer, ")", 1);
1100
1300
  break;
1101
1301
  }
1102
- case YP_NODE_KEYWORD_REST_PARAMETER_NODE: {
1302
+ case YP_KEYWORD_REST_PARAMETER_NODE: {
1103
1303
  yp_buffer_append_str(buffer, "KeywordRestParameterNode(", 25);
1104
- prettyprint_location(buffer, parser, &((yp_keyword_rest_parameter_node_t *)node)->operator_loc);
1304
+ if (((yp_keyword_rest_parameter_node_t *)node)->name == 0) {
1305
+ yp_buffer_append_str(buffer, "nil", 3);
1306
+ } else {
1307
+ char name_buffer[12];
1308
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_keyword_rest_parameter_node_t *)node)->name);
1309
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
1310
+ }
1105
1311
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_keyword_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1106
1312
  yp_buffer_append_str(buffer, "nil", 3);
1107
1313
  } else {
1108
1314
  prettyprint_location(buffer, parser, &((yp_keyword_rest_parameter_node_t *)node)->name_loc);
1109
1315
  }
1316
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_keyword_rest_parameter_node_t *)node)->operator_loc);
1110
1317
  yp_buffer_append_str(buffer, ")", 1);
1111
1318
  break;
1112
1319
  }
1113
- case YP_NODE_LAMBDA_NODE: {
1320
+ case YP_LAMBDA_NODE: {
1114
1321
  yp_buffer_append_str(buffer, "LambdaNode(", 11);
1115
1322
  yp_buffer_append_str(buffer, "[", 1);
1116
1323
  for (uint32_t index = 0; index < ((yp_lambda_node_t *)node)->locals.size; index++) {
@@ -1136,7 +1343,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1136
1343
  yp_buffer_append_str(buffer, ")", 1);
1137
1344
  break;
1138
1345
  }
1139
- case YP_NODE_LOCAL_VARIABLE_AND_WRITE_NODE: {
1346
+ case YP_LOCAL_VARIABLE_AND_WRITE_NODE: {
1140
1347
  yp_buffer_append_str(buffer, "LocalVariableAndWriteNode(", 26);
1141
1348
  prettyprint_location(buffer, parser, &((yp_local_variable_and_write_node_t *)node)->name_loc);
1142
1349
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_and_write_node_t *)node)->operator_loc);
@@ -1150,7 +1357,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1150
1357
  yp_buffer_append_str(buffer, ")", 1);
1151
1358
  break;
1152
1359
  }
1153
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1360
+ case YP_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
1154
1361
  yp_buffer_append_str(buffer, "LocalVariableOperatorWriteNode(", 31);
1155
1362
  prettyprint_location(buffer, parser, &((yp_local_variable_operator_write_node_t *)node)->name_loc);
1156
1363
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_operator_write_node_t *)node)->operator_loc);
@@ -1167,7 +1374,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1167
1374
  yp_buffer_append_str(buffer, ")", 1);
1168
1375
  break;
1169
1376
  }
1170
- case YP_NODE_LOCAL_VARIABLE_OR_WRITE_NODE: {
1377
+ case YP_LOCAL_VARIABLE_OR_WRITE_NODE: {
1171
1378
  yp_buffer_append_str(buffer, "LocalVariableOrWriteNode(", 25);
1172
1379
  prettyprint_location(buffer, parser, &((yp_local_variable_or_write_node_t *)node)->name_loc);
1173
1380
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_local_variable_or_write_node_t *)node)->operator_loc);
@@ -1181,7 +1388,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1181
1388
  yp_buffer_append_str(buffer, ")", 1);
1182
1389
  break;
1183
1390
  }
1184
- case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
1391
+ case YP_LOCAL_VARIABLE_READ_NODE: {
1185
1392
  yp_buffer_append_str(buffer, "LocalVariableReadNode(", 22);
1186
1393
  char name_buffer[12];
1187
1394
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_local_variable_read_node_t *)node)->name);
@@ -1192,7 +1399,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1192
1399
  yp_buffer_append_str(buffer, ")", 1);
1193
1400
  break;
1194
1401
  }
1195
- case YP_NODE_LOCAL_VARIABLE_TARGET_NODE: {
1402
+ case YP_LOCAL_VARIABLE_TARGET_NODE: {
1196
1403
  yp_buffer_append_str(buffer, "LocalVariableTargetNode(", 24);
1197
1404
  char name_buffer[12];
1198
1405
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_local_variable_target_node_t *)node)->name);
@@ -1203,7 +1410,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1203
1410
  yp_buffer_append_str(buffer, ")", 1);
1204
1411
  break;
1205
1412
  }
1206
- case YP_NODE_LOCAL_VARIABLE_WRITE_NODE: {
1413
+ case YP_LOCAL_VARIABLE_WRITE_NODE: {
1207
1414
  yp_buffer_append_str(buffer, "LocalVariableWriteNode(", 23);
1208
1415
  char name_buffer[12];
1209
1416
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_local_variable_write_node_t *)node)->name);
@@ -1217,7 +1424,21 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1217
1424
  yp_buffer_append_str(buffer, ")", 1);
1218
1425
  break;
1219
1426
  }
1220
- case YP_NODE_MATCH_PREDICATE_NODE: {
1427
+ case YP_MATCH_LAST_LINE_NODE: {
1428
+ yp_buffer_append_str(buffer, "MatchLastLineNode(", 18);
1429
+ prettyprint_location(buffer, parser, &((yp_match_last_line_node_t *)node)->opening_loc);
1430
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_match_last_line_node_t *)node)->content_loc);
1431
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_match_last_line_node_t *)node)->closing_loc);
1432
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
1433
+ yp_buffer_append_bytes(buffer, yp_string_source(&((yp_match_last_line_node_t *)node)->unescaped), yp_string_length(&((yp_match_last_line_node_t *)node)->unescaped));
1434
+ yp_buffer_append_str(buffer, "\"", 1);
1435
+ yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1436
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1437
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1438
+ yp_buffer_append_str(buffer, ")", 1);
1439
+ break;
1440
+ }
1441
+ case YP_MATCH_PREDICATE_NODE: {
1221
1442
  yp_buffer_append_str(buffer, "MatchPredicateNode(", 19);
1222
1443
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_match_predicate_node_t *)node)->value);
1223
1444
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_match_predicate_node_t *)node)->pattern);
@@ -1225,7 +1446,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1225
1446
  yp_buffer_append_str(buffer, ")", 1);
1226
1447
  break;
1227
1448
  }
1228
- case YP_NODE_MATCH_REQUIRED_NODE: {
1449
+ case YP_MATCH_REQUIRED_NODE: {
1229
1450
  yp_buffer_append_str(buffer, "MatchRequiredNode(", 18);
1230
1451
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_match_required_node_t *)node)->value);
1231
1452
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_match_required_node_t *)node)->pattern);
@@ -1233,12 +1454,26 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1233
1454
  yp_buffer_append_str(buffer, ")", 1);
1234
1455
  break;
1235
1456
  }
1236
- case YP_NODE_MISSING_NODE: {
1457
+ case YP_MATCH_WRITE_NODE: {
1458
+ yp_buffer_append_str(buffer, "MatchWriteNode(", 15);
1459
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_match_write_node_t *)node)->call);
1460
+ yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
1461
+ for (uint32_t index = 0; index < ((yp_match_write_node_t *)node)->locals.size; index++) {
1462
+ if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
1463
+ char locals_buffer[12];
1464
+ snprintf(locals_buffer, sizeof(locals_buffer), "%u", ((yp_match_write_node_t *)node)->locals.ids[index]);
1465
+ yp_buffer_append_str(buffer, locals_buffer, strlen(locals_buffer));
1466
+ }
1467
+ yp_buffer_append_str(buffer, "]", 1);
1468
+ yp_buffer_append_str(buffer, ")", 1);
1469
+ break;
1470
+ }
1471
+ case YP_MISSING_NODE: {
1237
1472
  yp_buffer_append_str(buffer, "MissingNode(", 12);
1238
1473
  yp_buffer_append_str(buffer, ")", 1);
1239
1474
  break;
1240
1475
  }
1241
- case YP_NODE_MODULE_NODE: {
1476
+ case YP_MODULE_NODE: {
1242
1477
  yp_buffer_append_str(buffer, "ModuleNode(", 11);
1243
1478
  yp_buffer_append_str(buffer, "[", 1);
1244
1479
  for (uint32_t index = 0; index < ((yp_module_node_t *)node)->locals.size; index++) {
@@ -1256,30 +1491,41 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1256
1491
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_module_node_t *)node)->body);
1257
1492
  }
1258
1493
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_module_node_t *)node)->end_keyword_loc);
1259
- yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "\"", 1);
1260
- yp_buffer_append_bytes(buffer, yp_string_source(&((yp_module_node_t *)node)->name), yp_string_length(&((yp_module_node_t *)node)->name));
1261
- yp_buffer_append_str(buffer, "\"", 1);
1494
+ yp_buffer_append_str(buffer, ", ", 2); char name_buffer[12];
1495
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_module_node_t *)node)->name);
1496
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
1262
1497
  yp_buffer_append_str(buffer, ")", 1);
1263
1498
  break;
1264
1499
  }
1265
- case YP_NODE_MULTI_WRITE_NODE: {
1266
- yp_buffer_append_str(buffer, "MultiWriteNode(", 15);
1500
+ case YP_MULTI_TARGET_NODE: {
1501
+ yp_buffer_append_str(buffer, "MultiTargetNode(", 16);
1267
1502
  yp_buffer_append_str(buffer, "[", 1);
1268
- for (uint32_t index = 0; index < ((yp_multi_write_node_t *)node)->targets.size; index++) {
1503
+ for (uint32_t index = 0; index < ((yp_multi_target_node_t *)node)->targets.size; index++) {
1269
1504
  if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
1270
- prettyprint_node(buffer, parser, (yp_node_t *) ((yp_multi_write_node_t *) node)->targets.nodes[index]);
1505
+ prettyprint_node(buffer, parser, (yp_node_t *) ((yp_multi_target_node_t *) node)->targets.nodes[index]);
1271
1506
  }
1272
1507
  yp_buffer_append_str(buffer, "]", 1);
1273
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_multi_write_node_t *)node)->operator_loc.start == NULL) {
1508
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_multi_target_node_t *)node)->lparen_loc.start == NULL) {
1274
1509
  yp_buffer_append_str(buffer, "nil", 3);
1275
1510
  } else {
1276
- prettyprint_location(buffer, parser, &((yp_multi_write_node_t *)node)->operator_loc);
1511
+ prettyprint_location(buffer, parser, &((yp_multi_target_node_t *)node)->lparen_loc);
1277
1512
  }
1278
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_multi_write_node_t *)node)->value == NULL) {
1513
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_multi_target_node_t *)node)->rparen_loc.start == NULL) {
1279
1514
  yp_buffer_append_str(buffer, "nil", 3);
1280
1515
  } else {
1281
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_multi_write_node_t *)node)->value);
1516
+ prettyprint_location(buffer, parser, &((yp_multi_target_node_t *)node)->rparen_loc);
1282
1517
  }
1518
+ yp_buffer_append_str(buffer, ")", 1);
1519
+ break;
1520
+ }
1521
+ case YP_MULTI_WRITE_NODE: {
1522
+ yp_buffer_append_str(buffer, "MultiWriteNode(", 15);
1523
+ yp_buffer_append_str(buffer, "[", 1);
1524
+ for (uint32_t index = 0; index < ((yp_multi_write_node_t *)node)->targets.size; index++) {
1525
+ if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
1526
+ prettyprint_node(buffer, parser, (yp_node_t *) ((yp_multi_write_node_t *) node)->targets.nodes[index]);
1527
+ }
1528
+ yp_buffer_append_str(buffer, "]", 1);
1283
1529
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_multi_write_node_t *)node)->lparen_loc.start == NULL) {
1284
1530
  yp_buffer_append_str(buffer, "nil", 3);
1285
1531
  } else {
@@ -1290,10 +1536,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1290
1536
  } else {
1291
1537
  prettyprint_location(buffer, parser, &((yp_multi_write_node_t *)node)->rparen_loc);
1292
1538
  }
1539
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_multi_write_node_t *)node)->operator_loc);
1540
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_multi_write_node_t *)node)->value);
1293
1541
  yp_buffer_append_str(buffer, ")", 1);
1294
1542
  break;
1295
1543
  }
1296
- case YP_NODE_NEXT_NODE: {
1544
+ case YP_NEXT_NODE: {
1297
1545
  yp_buffer_append_str(buffer, "NextNode(", 9);
1298
1546
  if (((yp_next_node_t *)node)->arguments == NULL) {
1299
1547
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1304,19 +1552,19 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1304
1552
  yp_buffer_append_str(buffer, ")", 1);
1305
1553
  break;
1306
1554
  }
1307
- case YP_NODE_NIL_NODE: {
1555
+ case YP_NIL_NODE: {
1308
1556
  yp_buffer_append_str(buffer, "NilNode(", 8);
1309
1557
  yp_buffer_append_str(buffer, ")", 1);
1310
1558
  break;
1311
1559
  }
1312
- case YP_NODE_NO_KEYWORDS_PARAMETER_NODE: {
1560
+ case YP_NO_KEYWORDS_PARAMETER_NODE: {
1313
1561
  yp_buffer_append_str(buffer, "NoKeywordsParameterNode(", 24);
1314
1562
  prettyprint_location(buffer, parser, &((yp_no_keywords_parameter_node_t *)node)->operator_loc);
1315
1563
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_no_keywords_parameter_node_t *)node)->keyword_loc);
1316
1564
  yp_buffer_append_str(buffer, ")", 1);
1317
1565
  break;
1318
1566
  }
1319
- case YP_NODE_NUMBERED_REFERENCE_READ_NODE: {
1567
+ case YP_NUMBERED_REFERENCE_READ_NODE: {
1320
1568
  yp_buffer_append_str(buffer, "NumberedReferenceReadNode(", 26);
1321
1569
  char number_buffer[12];
1322
1570
  snprintf(number_buffer, sizeof(number_buffer), "+%d", ((yp_numbered_reference_read_node_t *)node)->number);
@@ -1324,7 +1572,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1324
1572
  yp_buffer_append_str(buffer, ")", 1);
1325
1573
  break;
1326
1574
  }
1327
- case YP_NODE_OPTIONAL_PARAMETER_NODE: {
1575
+ case YP_OPTIONAL_PARAMETER_NODE: {
1328
1576
  yp_buffer_append_str(buffer, "OptionalParameterNode(", 22);
1329
1577
  char name_buffer[12];
1330
1578
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_optional_parameter_node_t *)node)->name);
@@ -1335,7 +1583,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1335
1583
  yp_buffer_append_str(buffer, ")", 1);
1336
1584
  break;
1337
1585
  }
1338
- case YP_NODE_OR_NODE: {
1586
+ case YP_OR_NODE: {
1339
1587
  yp_buffer_append_str(buffer, "OrNode(", 7);
1340
1588
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_or_node_t *)node)->left);
1341
1589
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_or_node_t *)node)->right);
@@ -1343,7 +1591,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1343
1591
  yp_buffer_append_str(buffer, ")", 1);
1344
1592
  break;
1345
1593
  }
1346
- case YP_NODE_PARAMETERS_NODE: {
1594
+ case YP_PARAMETERS_NODE: {
1347
1595
  yp_buffer_append_str(buffer, "ParametersNode(", 15);
1348
1596
  yp_buffer_append_str(buffer, "[", 1);
1349
1597
  for (uint32_t index = 0; index < ((yp_parameters_node_t *)node)->requireds.size; index++) {
@@ -1357,17 +1605,17 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1357
1605
  prettyprint_node(buffer, parser, (yp_node_t *) ((yp_parameters_node_t *) node)->optionals.nodes[index]);
1358
1606
  }
1359
1607
  yp_buffer_append_str(buffer, "]", 1);
1608
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_parameters_node_t *)node)->rest == NULL) {
1609
+ yp_buffer_append_str(buffer, "nil", 3);
1610
+ } else {
1611
+ prettyprint_node(buffer, parser, (yp_node_t *)((yp_parameters_node_t *)node)->rest);
1612
+ }
1360
1613
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
1361
1614
  for (uint32_t index = 0; index < ((yp_parameters_node_t *)node)->posts.size; index++) {
1362
1615
  if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
1363
1616
  prettyprint_node(buffer, parser, (yp_node_t *) ((yp_parameters_node_t *) node)->posts.nodes[index]);
1364
1617
  }
1365
1618
  yp_buffer_append_str(buffer, "]", 1);
1366
- yp_buffer_append_str(buffer, ", ", 2); if (((yp_parameters_node_t *)node)->rest == NULL) {
1367
- yp_buffer_append_str(buffer, "nil", 3);
1368
- } else {
1369
- prettyprint_node(buffer, parser, (yp_node_t *)((yp_parameters_node_t *)node)->rest);
1370
- }
1371
1619
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
1372
1620
  for (uint32_t index = 0; index < ((yp_parameters_node_t *)node)->keywords.size; index++) {
1373
1621
  if (index != 0) yp_buffer_append_str(buffer, ", ", 2);
@@ -1387,7 +1635,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1387
1635
  yp_buffer_append_str(buffer, ")", 1);
1388
1636
  break;
1389
1637
  }
1390
- case YP_NODE_PARENTHESES_NODE: {
1638
+ case YP_PARENTHESES_NODE: {
1391
1639
  yp_buffer_append_str(buffer, "ParenthesesNode(", 16);
1392
1640
  if (((yp_parentheses_node_t *)node)->body == NULL) {
1393
1641
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1399,7 +1647,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1399
1647
  yp_buffer_append_str(buffer, ")", 1);
1400
1648
  break;
1401
1649
  }
1402
- case YP_NODE_PINNED_EXPRESSION_NODE: {
1650
+ case YP_PINNED_EXPRESSION_NODE: {
1403
1651
  yp_buffer_append_str(buffer, "PinnedExpressionNode(", 21);
1404
1652
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_pinned_expression_node_t *)node)->expression);
1405
1653
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_pinned_expression_node_t *)node)->operator_loc);
@@ -1408,14 +1656,14 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1408
1656
  yp_buffer_append_str(buffer, ")", 1);
1409
1657
  break;
1410
1658
  }
1411
- case YP_NODE_PINNED_VARIABLE_NODE: {
1659
+ case YP_PINNED_VARIABLE_NODE: {
1412
1660
  yp_buffer_append_str(buffer, "PinnedVariableNode(", 19);
1413
1661
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_pinned_variable_node_t *)node)->variable);
1414
1662
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_pinned_variable_node_t *)node)->operator_loc);
1415
1663
  yp_buffer_append_str(buffer, ")", 1);
1416
1664
  break;
1417
1665
  }
1418
- case YP_NODE_POST_EXECUTION_NODE: {
1666
+ case YP_POST_EXECUTION_NODE: {
1419
1667
  yp_buffer_append_str(buffer, "PostExecutionNode(", 18);
1420
1668
  if (((yp_post_execution_node_t *)node)->statements == NULL) {
1421
1669
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1428,7 +1676,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1428
1676
  yp_buffer_append_str(buffer, ")", 1);
1429
1677
  break;
1430
1678
  }
1431
- case YP_NODE_PRE_EXECUTION_NODE: {
1679
+ case YP_PRE_EXECUTION_NODE: {
1432
1680
  yp_buffer_append_str(buffer, "PreExecutionNode(", 17);
1433
1681
  if (((yp_pre_execution_node_t *)node)->statements == NULL) {
1434
1682
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1441,7 +1689,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1441
1689
  yp_buffer_append_str(buffer, ")", 1);
1442
1690
  break;
1443
1691
  }
1444
- case YP_NODE_PROGRAM_NODE: {
1692
+ case YP_PROGRAM_NODE: {
1445
1693
  yp_buffer_append_str(buffer, "ProgramNode(", 12);
1446
1694
  yp_buffer_append_str(buffer, "[", 1);
1447
1695
  for (uint32_t index = 0; index < ((yp_program_node_t *)node)->locals.size; index++) {
@@ -1455,7 +1703,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1455
1703
  yp_buffer_append_str(buffer, ")", 1);
1456
1704
  break;
1457
1705
  }
1458
- case YP_NODE_RANGE_NODE: {
1706
+ case YP_RANGE_NODE: {
1459
1707
  yp_buffer_append_str(buffer, "RangeNode(", 10);
1460
1708
  if (((yp_range_node_t *)node)->left == NULL) {
1461
1709
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1469,23 +1717,23 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1469
1717
  }
1470
1718
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_range_node_t *)node)->operator_loc);
1471
1719
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1472
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
1720
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1473
1721
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1474
1722
  yp_buffer_append_str(buffer, ")", 1);
1475
1723
  break;
1476
1724
  }
1477
- case YP_NODE_RATIONAL_NODE: {
1725
+ case YP_RATIONAL_NODE: {
1478
1726
  yp_buffer_append_str(buffer, "RationalNode(", 13);
1479
1727
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_rational_node_t *)node)->numeric);
1480
1728
  yp_buffer_append_str(buffer, ")", 1);
1481
1729
  break;
1482
1730
  }
1483
- case YP_NODE_REDO_NODE: {
1731
+ case YP_REDO_NODE: {
1484
1732
  yp_buffer_append_str(buffer, "RedoNode(", 9);
1485
1733
  yp_buffer_append_str(buffer, ")", 1);
1486
1734
  break;
1487
1735
  }
1488
- case YP_NODE_REGULAR_EXPRESSION_NODE: {
1736
+ case YP_REGULAR_EXPRESSION_NODE: {
1489
1737
  yp_buffer_append_str(buffer, "RegularExpressionNode(", 22);
1490
1738
  prettyprint_location(buffer, parser, &((yp_regular_expression_node_t *)node)->opening_loc);
1491
1739
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_regular_expression_node_t *)node)->content_loc);
@@ -1494,12 +1742,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1494
1742
  yp_buffer_append_bytes(buffer, yp_string_source(&((yp_regular_expression_node_t *)node)->unescaped), yp_string_length(&((yp_regular_expression_node_t *)node)->unescaped));
1495
1743
  yp_buffer_append_str(buffer, "\"", 1);
1496
1744
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1497
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
1745
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1498
1746
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1499
1747
  yp_buffer_append_str(buffer, ")", 1);
1500
1748
  break;
1501
1749
  }
1502
- case YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE: {
1750
+ case YP_REQUIRED_DESTRUCTURED_PARAMETER_NODE: {
1503
1751
  yp_buffer_append_str(buffer, "RequiredDestructuredParameterNode(", 34);
1504
1752
  yp_buffer_append_str(buffer, "[", 1);
1505
1753
  for (uint32_t index = 0; index < ((yp_required_destructured_parameter_node_t *)node)->parameters.size; index++) {
@@ -1512,7 +1760,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1512
1760
  yp_buffer_append_str(buffer, ")", 1);
1513
1761
  break;
1514
1762
  }
1515
- case YP_NODE_REQUIRED_PARAMETER_NODE: {
1763
+ case YP_REQUIRED_PARAMETER_NODE: {
1516
1764
  yp_buffer_append_str(buffer, "RequiredParameterNode(", 22);
1517
1765
  char name_buffer[12];
1518
1766
  snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_required_parameter_node_t *)node)->name);
@@ -1520,7 +1768,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1520
1768
  yp_buffer_append_str(buffer, ")", 1);
1521
1769
  break;
1522
1770
  }
1523
- case YP_NODE_RESCUE_MODIFIER_NODE: {
1771
+ case YP_RESCUE_MODIFIER_NODE: {
1524
1772
  yp_buffer_append_str(buffer, "RescueModifierNode(", 19);
1525
1773
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_rescue_modifier_node_t *)node)->expression);
1526
1774
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_rescue_modifier_node_t *)node)->keyword_loc);
@@ -1528,7 +1776,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1528
1776
  yp_buffer_append_str(buffer, ")", 1);
1529
1777
  break;
1530
1778
  }
1531
- case YP_NODE_RESCUE_NODE: {
1779
+ case YP_RESCUE_NODE: {
1532
1780
  yp_buffer_append_str(buffer, "RescueNode(", 11);
1533
1781
  prettyprint_location(buffer, parser, &((yp_rescue_node_t *)node)->keyword_loc);
1534
1782
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
@@ -1560,23 +1808,30 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1560
1808
  yp_buffer_append_str(buffer, ")", 1);
1561
1809
  break;
1562
1810
  }
1563
- case YP_NODE_REST_PARAMETER_NODE: {
1811
+ case YP_REST_PARAMETER_NODE: {
1564
1812
  yp_buffer_append_str(buffer, "RestParameterNode(", 18);
1565
- prettyprint_location(buffer, parser, &((yp_rest_parameter_node_t *)node)->operator_loc);
1813
+ if (((yp_rest_parameter_node_t *)node)->name == 0) {
1814
+ yp_buffer_append_str(buffer, "nil", 3);
1815
+ } else {
1816
+ char name_buffer[12];
1817
+ snprintf(name_buffer, sizeof(name_buffer), "%u", ((yp_rest_parameter_node_t *)node)->name);
1818
+ yp_buffer_append_str(buffer, name_buffer, strlen(name_buffer));
1819
+ }
1566
1820
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_rest_parameter_node_t *)node)->name_loc.start == NULL) {
1567
1821
  yp_buffer_append_str(buffer, "nil", 3);
1568
1822
  } else {
1569
1823
  prettyprint_location(buffer, parser, &((yp_rest_parameter_node_t *)node)->name_loc);
1570
1824
  }
1825
+ yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_rest_parameter_node_t *)node)->operator_loc);
1571
1826
  yp_buffer_append_str(buffer, ")", 1);
1572
1827
  break;
1573
1828
  }
1574
- case YP_NODE_RETRY_NODE: {
1829
+ case YP_RETRY_NODE: {
1575
1830
  yp_buffer_append_str(buffer, "RetryNode(", 10);
1576
1831
  yp_buffer_append_str(buffer, ")", 1);
1577
1832
  break;
1578
1833
  }
1579
- case YP_NODE_RETURN_NODE: {
1834
+ case YP_RETURN_NODE: {
1580
1835
  yp_buffer_append_str(buffer, "ReturnNode(", 11);
1581
1836
  prettyprint_location(buffer, parser, &((yp_return_node_t *)node)->keyword_loc);
1582
1837
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_return_node_t *)node)->arguments == NULL) {
@@ -1587,12 +1842,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1587
1842
  yp_buffer_append_str(buffer, ")", 1);
1588
1843
  break;
1589
1844
  }
1590
- case YP_NODE_SELF_NODE: {
1845
+ case YP_SELF_NODE: {
1591
1846
  yp_buffer_append_str(buffer, "SelfNode(", 9);
1592
1847
  yp_buffer_append_str(buffer, ")", 1);
1593
1848
  break;
1594
1849
  }
1595
- case YP_NODE_SINGLETON_CLASS_NODE: {
1850
+ case YP_SINGLETON_CLASS_NODE: {
1596
1851
  yp_buffer_append_str(buffer, "SingletonClassNode(", 19);
1597
1852
  yp_buffer_append_str(buffer, "[", 1);
1598
1853
  for (uint32_t index = 0; index < ((yp_singleton_class_node_t *)node)->locals.size; index++) {
@@ -1614,12 +1869,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1614
1869
  yp_buffer_append_str(buffer, ")", 1);
1615
1870
  break;
1616
1871
  }
1617
- case YP_NODE_SOURCE_ENCODING_NODE: {
1872
+ case YP_SOURCE_ENCODING_NODE: {
1618
1873
  yp_buffer_append_str(buffer, "SourceEncodingNode(", 19);
1619
1874
  yp_buffer_append_str(buffer, ")", 1);
1620
1875
  break;
1621
1876
  }
1622
- case YP_NODE_SOURCE_FILE_NODE: {
1877
+ case YP_SOURCE_FILE_NODE: {
1623
1878
  yp_buffer_append_str(buffer, "SourceFileNode(", 15);
1624
1879
  yp_buffer_append_str(buffer, "\"", 1);
1625
1880
  yp_buffer_append_bytes(buffer, yp_string_source(&((yp_source_file_node_t *)node)->filepath), yp_string_length(&((yp_source_file_node_t *)node)->filepath));
@@ -1627,12 +1882,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1627
1882
  yp_buffer_append_str(buffer, ")", 1);
1628
1883
  break;
1629
1884
  }
1630
- case YP_NODE_SOURCE_LINE_NODE: {
1885
+ case YP_SOURCE_LINE_NODE: {
1631
1886
  yp_buffer_append_str(buffer, "SourceLineNode(", 15);
1632
1887
  yp_buffer_append_str(buffer, ")", 1);
1633
1888
  break;
1634
1889
  }
1635
- case YP_NODE_SPLAT_NODE: {
1890
+ case YP_SPLAT_NODE: {
1636
1891
  yp_buffer_append_str(buffer, "SplatNode(", 10);
1637
1892
  prettyprint_location(buffer, parser, &((yp_splat_node_t *)node)->operator_loc);
1638
1893
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_splat_node_t *)node)->expression == NULL) {
@@ -1643,7 +1898,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1643
1898
  yp_buffer_append_str(buffer, ")", 1);
1644
1899
  break;
1645
1900
  }
1646
- case YP_NODE_STATEMENTS_NODE: {
1901
+ case YP_STATEMENTS_NODE: {
1647
1902
  yp_buffer_append_str(buffer, "StatementsNode(", 15);
1648
1903
  yp_buffer_append_str(buffer, "[", 1);
1649
1904
  for (uint32_t index = 0; index < ((yp_statements_node_t *)node)->body.size; index++) {
@@ -1654,16 +1909,19 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1654
1909
  yp_buffer_append_str(buffer, ")", 1);
1655
1910
  break;
1656
1911
  }
1657
- case YP_NODE_STRING_CONCAT_NODE: {
1912
+ case YP_STRING_CONCAT_NODE: {
1658
1913
  yp_buffer_append_str(buffer, "StringConcatNode(", 17);
1659
1914
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_string_concat_node_t *)node)->left);
1660
1915
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_string_concat_node_t *)node)->right);
1661
1916
  yp_buffer_append_str(buffer, ")", 1);
1662
1917
  break;
1663
1918
  }
1664
- case YP_NODE_STRING_NODE: {
1919
+ case YP_STRING_NODE: {
1665
1920
  yp_buffer_append_str(buffer, "StringNode(", 11);
1666
- if (((yp_string_node_t *)node)->opening_loc.start == NULL) {
1921
+ char flags_buffer[12];
1922
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1923
+ yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1924
+ yp_buffer_append_str(buffer, ", ", 2); if (((yp_string_node_t *)node)->opening_loc.start == NULL) {
1667
1925
  yp_buffer_append_str(buffer, "nil", 3);
1668
1926
  } else {
1669
1927
  prettyprint_location(buffer, parser, &((yp_string_node_t *)node)->opening_loc);
@@ -1680,7 +1938,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1680
1938
  yp_buffer_append_str(buffer, ")", 1);
1681
1939
  break;
1682
1940
  }
1683
- case YP_NODE_SUPER_NODE: {
1941
+ case YP_SUPER_NODE: {
1684
1942
  yp_buffer_append_str(buffer, "SuperNode(", 10);
1685
1943
  prettyprint_location(buffer, parser, &((yp_super_node_t *)node)->keyword_loc);
1686
1944
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_super_node_t *)node)->lparen_loc.start == NULL) {
@@ -1706,7 +1964,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1706
1964
  yp_buffer_append_str(buffer, ")", 1);
1707
1965
  break;
1708
1966
  }
1709
- case YP_NODE_SYMBOL_NODE: {
1967
+ case YP_SYMBOL_NODE: {
1710
1968
  yp_buffer_append_str(buffer, "SymbolNode(", 11);
1711
1969
  if (((yp_symbol_node_t *)node)->opening_loc.start == NULL) {
1712
1970
  yp_buffer_append_str(buffer, "nil", 3);
@@ -1729,12 +1987,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1729
1987
  yp_buffer_append_str(buffer, ")", 1);
1730
1988
  break;
1731
1989
  }
1732
- case YP_NODE_TRUE_NODE: {
1990
+ case YP_TRUE_NODE: {
1733
1991
  yp_buffer_append_str(buffer, "TrueNode(", 9);
1734
1992
  yp_buffer_append_str(buffer, ")", 1);
1735
1993
  break;
1736
1994
  }
1737
- case YP_NODE_UNDEF_NODE: {
1995
+ case YP_UNDEF_NODE: {
1738
1996
  yp_buffer_append_str(buffer, "UndefNode(", 10);
1739
1997
  yp_buffer_append_str(buffer, "[", 1);
1740
1998
  for (uint32_t index = 0; index < ((yp_undef_node_t *)node)->names.size; index++) {
@@ -1746,7 +2004,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1746
2004
  yp_buffer_append_str(buffer, ")", 1);
1747
2005
  break;
1748
2006
  }
1749
- case YP_NODE_UNLESS_NODE: {
2007
+ case YP_UNLESS_NODE: {
1750
2008
  yp_buffer_append_str(buffer, "UnlessNode(", 11);
1751
2009
  prettyprint_location(buffer, parser, &((yp_unless_node_t *)node)->keyword_loc);
1752
2010
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_node(buffer, parser, (yp_node_t *)((yp_unless_node_t *)node)->predicate);
@@ -1768,7 +2026,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1768
2026
  yp_buffer_append_str(buffer, ")", 1);
1769
2027
  break;
1770
2028
  }
1771
- case YP_NODE_UNTIL_NODE: {
2029
+ case YP_UNTIL_NODE: {
1772
2030
  yp_buffer_append_str(buffer, "UntilNode(", 10);
1773
2031
  prettyprint_location(buffer, parser, &((yp_until_node_t *)node)->keyword_loc);
1774
2032
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_until_node_t *)node)->closing_loc.start == NULL) {
@@ -1783,12 +2041,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1783
2041
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_until_node_t *)node)->statements);
1784
2042
  }
1785
2043
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1786
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
2044
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1787
2045
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1788
2046
  yp_buffer_append_str(buffer, ")", 1);
1789
2047
  break;
1790
2048
  }
1791
- case YP_NODE_WHEN_NODE: {
2049
+ case YP_WHEN_NODE: {
1792
2050
  yp_buffer_append_str(buffer, "WhenNode(", 9);
1793
2051
  prettyprint_location(buffer, parser, &((yp_when_node_t *)node)->keyword_loc);
1794
2052
  yp_buffer_append_str(buffer, ", ", 2); yp_buffer_append_str(buffer, "[", 1);
@@ -1805,7 +2063,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1805
2063
  yp_buffer_append_str(buffer, ")", 1);
1806
2064
  break;
1807
2065
  }
1808
- case YP_NODE_WHILE_NODE: {
2066
+ case YP_WHILE_NODE: {
1809
2067
  yp_buffer_append_str(buffer, "WhileNode(", 10);
1810
2068
  prettyprint_location(buffer, parser, &((yp_while_node_t *)node)->keyword_loc);
1811
2069
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_while_node_t *)node)->closing_loc.start == NULL) {
@@ -1820,12 +2078,12 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1820
2078
  prettyprint_node(buffer, parser, (yp_node_t *)((yp_while_node_t *)node)->statements);
1821
2079
  }
1822
2080
  yp_buffer_append_str(buffer, ", ", 2); char flags_buffer[12];
1823
- snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 1);
2081
+ snprintf(flags_buffer, sizeof(flags_buffer), "+%d", node->flags >> 2);
1824
2082
  yp_buffer_append_str(buffer, flags_buffer, strlen(flags_buffer));
1825
2083
  yp_buffer_append_str(buffer, ")", 1);
1826
2084
  break;
1827
2085
  }
1828
- case YP_NODE_X_STRING_NODE: {
2086
+ case YP_X_STRING_NODE: {
1829
2087
  yp_buffer_append_str(buffer, "XStringNode(", 12);
1830
2088
  prettyprint_location(buffer, parser, &((yp_x_string_node_t *)node)->opening_loc);
1831
2089
  yp_buffer_append_str(buffer, ", ", 2); prettyprint_location(buffer, parser, &((yp_x_string_node_t *)node)->content_loc);
@@ -1836,7 +2094,7 @@ prettyprint_node(yp_buffer_t *buffer, yp_parser_t *parser, yp_node_t *node) {
1836
2094
  yp_buffer_append_str(buffer, ")", 1);
1837
2095
  break;
1838
2096
  }
1839
- case YP_NODE_YIELD_NODE: {
2097
+ case YP_YIELD_NODE: {
1840
2098
  yp_buffer_append_str(buffer, "YieldNode(", 10);
1841
2099
  prettyprint_location(buffer, parser, &((yp_yield_node_t *)node)->keyword_loc);
1842
2100
  yp_buffer_append_str(buffer, ", ", 2); if (((yp_yield_node_t *)node)->lparen_loc.start == NULL) {