prism 0.30.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +31 -1
- data/README.md +3 -1
- data/config.yml +185 -126
- data/docs/serialization.md +3 -0
- data/ext/prism/api_node.c +2843 -2085
- data/ext/prism/extconf.rb +1 -1
- data/ext/prism/extension.c +35 -25
- data/ext/prism/extension.h +2 -2
- data/include/prism/ast.h +1048 -69
- data/include/prism/defines.h +9 -0
- data/include/prism/diagnostic.h +11 -3
- data/include/prism/options.h +55 -1
- data/include/prism/parser.h +27 -3
- data/include/prism/regexp.h +2 -1
- data/include/prism/util/pm_integer.h +6 -6
- data/include/prism/util/pm_newline_list.h +11 -0
- data/include/prism/util/pm_string.h +1 -0
- data/include/prism/version.h +3 -3
- data/lib/prism/desugar_compiler.rb +111 -74
- data/lib/prism/dispatcher.rb +2 -1
- data/lib/prism/dot_visitor.rb +21 -31
- data/lib/prism/dsl.rb +656 -471
- data/lib/prism/ffi.rb +3 -0
- data/lib/prism/inspect_visitor.rb +285 -57
- data/lib/prism/mutation_compiler.rb +5 -5
- data/lib/prism/node.rb +2282 -4754
- data/lib/prism/node_ext.rb +72 -11
- data/lib/prism/parse_result/errors.rb +65 -0
- data/lib/prism/parse_result/newlines.rb +28 -28
- data/lib/prism/parse_result.rb +25 -2
- data/lib/prism/reflection.rb +7 -7
- data/lib/prism/serialize.rb +468 -610
- data/lib/prism/translation/parser/compiler.rb +18 -18
- data/lib/prism/translation/parser/lexer.rb +1 -1
- data/lib/prism/translation/parser.rb +3 -3
- data/lib/prism/translation/ripper.rb +14 -14
- data/lib/prism/translation/ruby_parser.rb +43 -7
- data/prism.gemspec +3 -1
- data/rbi/prism/dsl.rbi +521 -0
- data/rbi/prism/node.rbi +1456 -5616
- data/rbi/prism.rbi +16 -16
- data/sig/prism/dsl.rbs +189 -305
- data/sig/prism/node.rbs +702 -603
- data/sig/prism/parse_result.rbs +2 -0
- data/src/diagnostic.c +22 -6
- data/src/node.c +277 -284
- data/src/options.c +18 -0
- data/src/prettyprint.c +99 -108
- data/src/prism.c +1282 -760
- data/src/regexp.c +72 -4
- data/src/serialize.c +165 -50
- data/src/token_type.c +2 -2
- data/src/util/pm_integer.c +14 -14
- data/src/util/pm_newline_list.c +29 -0
- data/src/util/pm_string.c +9 -5
- metadata +4 -2
data/src/serialize.c
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
|
1
|
+
/*----------------------------------------------------------------------------*/
|
2
2
|
/* This file is generated by the templates/template.rb script and should not */
|
3
3
|
/* be modified manually. See */
|
4
4
|
/* templates/src/serialize.c.erb */
|
5
5
|
/* if you are looking to modify the */
|
6
6
|
/* template */
|
7
|
-
|
7
|
+
/*----------------------------------------------------------------------------*/
|
8
8
|
|
9
9
|
#include "prism.h"
|
10
10
|
|
@@ -82,6 +82,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
82
82
|
|
83
83
|
size_t offset = buffer->length;
|
84
84
|
|
85
|
+
pm_buffer_append_varuint(buffer, node->node_id);
|
85
86
|
pm_serialize_location(parser, &node->location, buffer);
|
86
87
|
|
87
88
|
switch (PM_NODE_TYPE(node)) {
|
@@ -90,31 +91,35 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
90
91
|
case PM_SCOPE_NODE:
|
91
92
|
return;
|
92
93
|
case PM_ALIAS_GLOBAL_VARIABLE_NODE: {
|
94
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
93
95
|
pm_serialize_node(parser, (pm_node_t *)((pm_alias_global_variable_node_t *)node)->new_name, buffer);
|
94
96
|
pm_serialize_node(parser, (pm_node_t *)((pm_alias_global_variable_node_t *)node)->old_name, buffer);
|
95
97
|
pm_serialize_location(parser, &((pm_alias_global_variable_node_t *)node)->keyword_loc, buffer);
|
96
98
|
break;
|
97
99
|
}
|
98
100
|
case PM_ALIAS_METHOD_NODE: {
|
101
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
99
102
|
pm_serialize_node(parser, (pm_node_t *)((pm_alias_method_node_t *)node)->new_name, buffer);
|
100
103
|
pm_serialize_node(parser, (pm_node_t *)((pm_alias_method_node_t *)node)->old_name, buffer);
|
101
104
|
pm_serialize_location(parser, &((pm_alias_method_node_t *)node)->keyword_loc, buffer);
|
102
105
|
break;
|
103
106
|
}
|
104
107
|
case PM_ALTERNATION_PATTERN_NODE: {
|
108
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
105
109
|
pm_serialize_node(parser, (pm_node_t *)((pm_alternation_pattern_node_t *)node)->left, buffer);
|
106
110
|
pm_serialize_node(parser, (pm_node_t *)((pm_alternation_pattern_node_t *)node)->right, buffer);
|
107
111
|
pm_serialize_location(parser, &((pm_alternation_pattern_node_t *)node)->operator_loc, buffer);
|
108
112
|
break;
|
109
113
|
}
|
110
114
|
case PM_AND_NODE: {
|
115
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
111
116
|
pm_serialize_node(parser, (pm_node_t *)((pm_and_node_t *)node)->left, buffer);
|
112
117
|
pm_serialize_node(parser, (pm_node_t *)((pm_and_node_t *)node)->right, buffer);
|
113
118
|
pm_serialize_location(parser, &((pm_and_node_t *)node)->operator_loc, buffer);
|
114
119
|
break;
|
115
120
|
}
|
116
121
|
case PM_ARGUMENTS_NODE: {
|
117
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
122
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
118
123
|
uint32_t arguments_size = pm_sizet_to_u32(((pm_arguments_node_t *)node)->arguments.size);
|
119
124
|
pm_buffer_append_varuint(buffer, arguments_size);
|
120
125
|
for (uint32_t index = 0; index < arguments_size; index++) {
|
@@ -123,7 +128,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
123
128
|
break;
|
124
129
|
}
|
125
130
|
case PM_ARRAY_NODE: {
|
126
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
131
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
127
132
|
uint32_t elements_size = pm_sizet_to_u32(((pm_array_node_t *)node)->elements.size);
|
128
133
|
pm_buffer_append_varuint(buffer, elements_size);
|
129
134
|
for (uint32_t index = 0; index < elements_size; index++) {
|
@@ -144,6 +149,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
144
149
|
break;
|
145
150
|
}
|
146
151
|
case PM_ARRAY_PATTERN_NODE: {
|
152
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
147
153
|
if (((pm_array_pattern_node_t *)node)->constant == NULL) {
|
148
154
|
pm_buffer_append_byte(buffer, 0);
|
149
155
|
} else {
|
@@ -179,6 +185,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
179
185
|
break;
|
180
186
|
}
|
181
187
|
case PM_ASSOC_NODE: {
|
188
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
182
189
|
pm_serialize_node(parser, (pm_node_t *)((pm_assoc_node_t *)node)->key, buffer);
|
183
190
|
pm_serialize_node(parser, (pm_node_t *)((pm_assoc_node_t *)node)->value, buffer);
|
184
191
|
if (((pm_assoc_node_t *)node)->operator_loc.start == NULL) {
|
@@ -190,6 +197,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
190
197
|
break;
|
191
198
|
}
|
192
199
|
case PM_ASSOC_SPLAT_NODE: {
|
200
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
193
201
|
if (((pm_assoc_splat_node_t *)node)->value == NULL) {
|
194
202
|
pm_buffer_append_byte(buffer, 0);
|
195
203
|
} else {
|
@@ -199,10 +207,12 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
199
207
|
break;
|
200
208
|
}
|
201
209
|
case PM_BACK_REFERENCE_READ_NODE: {
|
210
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
202
211
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_back_reference_read_node_t *)node)->name));
|
203
212
|
break;
|
204
213
|
}
|
205
214
|
case PM_BEGIN_NODE: {
|
215
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
206
216
|
if (((pm_begin_node_t *)node)->begin_keyword_loc.start == NULL) {
|
207
217
|
pm_buffer_append_byte(buffer, 0);
|
208
218
|
} else {
|
@@ -238,6 +248,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
238
248
|
break;
|
239
249
|
}
|
240
250
|
case PM_BLOCK_ARGUMENT_NODE: {
|
251
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
241
252
|
if (((pm_block_argument_node_t *)node)->expression == NULL) {
|
242
253
|
pm_buffer_append_byte(buffer, 0);
|
243
254
|
} else {
|
@@ -247,11 +258,12 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
247
258
|
break;
|
248
259
|
}
|
249
260
|
case PM_BLOCK_LOCAL_VARIABLE_NODE: {
|
250
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
261
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
251
262
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_block_local_variable_node_t *)node)->name));
|
252
263
|
break;
|
253
264
|
}
|
254
265
|
case PM_BLOCK_NODE: {
|
266
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
255
267
|
uint32_t locals_size = pm_sizet_to_u32(((pm_block_node_t *)node)->locals.size);
|
256
268
|
pm_buffer_append_varuint(buffer, locals_size);
|
257
269
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -272,7 +284,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
272
284
|
break;
|
273
285
|
}
|
274
286
|
case PM_BLOCK_PARAMETER_NODE: {
|
275
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
287
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
276
288
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_block_parameter_node_t *)node)->name));
|
277
289
|
if (((pm_block_parameter_node_t *)node)->name_loc.start == NULL) {
|
278
290
|
pm_buffer_append_byte(buffer, 0);
|
@@ -284,6 +296,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
284
296
|
break;
|
285
297
|
}
|
286
298
|
case PM_BLOCK_PARAMETERS_NODE: {
|
299
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
287
300
|
if (((pm_block_parameters_node_t *)node)->parameters == NULL) {
|
288
301
|
pm_buffer_append_byte(buffer, 0);
|
289
302
|
} else {
|
@@ -309,6 +322,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
309
322
|
break;
|
310
323
|
}
|
311
324
|
case PM_BREAK_NODE: {
|
325
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
312
326
|
if (((pm_break_node_t *)node)->arguments == NULL) {
|
313
327
|
pm_buffer_append_byte(buffer, 0);
|
314
328
|
} else {
|
@@ -318,7 +332,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
318
332
|
break;
|
319
333
|
}
|
320
334
|
case PM_CALL_AND_WRITE_NODE: {
|
321
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
335
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
322
336
|
if (((pm_call_and_write_node_t *)node)->receiver == NULL) {
|
323
337
|
pm_buffer_append_byte(buffer, 0);
|
324
338
|
} else {
|
@@ -343,7 +357,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
343
357
|
break;
|
344
358
|
}
|
345
359
|
case PM_CALL_NODE: {
|
346
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
360
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
347
361
|
if (((pm_call_node_t *)node)->receiver == NULL) {
|
348
362
|
pm_buffer_append_byte(buffer, 0);
|
349
363
|
} else {
|
@@ -387,7 +401,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
387
401
|
break;
|
388
402
|
}
|
389
403
|
case PM_CALL_OPERATOR_WRITE_NODE: {
|
390
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
404
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
391
405
|
if (((pm_call_operator_write_node_t *)node)->receiver == NULL) {
|
392
406
|
pm_buffer_append_byte(buffer, 0);
|
393
407
|
} else {
|
@@ -413,7 +427,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
413
427
|
break;
|
414
428
|
}
|
415
429
|
case PM_CALL_OR_WRITE_NODE: {
|
416
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
430
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
417
431
|
if (((pm_call_or_write_node_t *)node)->receiver == NULL) {
|
418
432
|
pm_buffer_append_byte(buffer, 0);
|
419
433
|
} else {
|
@@ -438,7 +452,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
438
452
|
break;
|
439
453
|
}
|
440
454
|
case PM_CALL_TARGET_NODE: {
|
441
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
455
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
442
456
|
pm_serialize_node(parser, (pm_node_t *)((pm_call_target_node_t *)node)->receiver, buffer);
|
443
457
|
pm_serialize_location(parser, &((pm_call_target_node_t *)node)->call_operator_loc, buffer);
|
444
458
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_call_target_node_t *)node)->name));
|
@@ -446,12 +460,14 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
446
460
|
break;
|
447
461
|
}
|
448
462
|
case PM_CAPTURE_PATTERN_NODE: {
|
463
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
449
464
|
pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->value, buffer);
|
450
465
|
pm_serialize_node(parser, (pm_node_t *)((pm_capture_pattern_node_t *)node)->target, buffer);
|
451
466
|
pm_serialize_location(parser, &((pm_capture_pattern_node_t *)node)->operator_loc, buffer);
|
452
467
|
break;
|
453
468
|
}
|
454
469
|
case PM_CASE_MATCH_NODE: {
|
470
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
455
471
|
if (((pm_case_match_node_t *)node)->predicate == NULL) {
|
456
472
|
pm_buffer_append_byte(buffer, 0);
|
457
473
|
} else {
|
@@ -462,16 +478,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
462
478
|
for (uint32_t index = 0; index < conditions_size; index++) {
|
463
479
|
pm_serialize_node(parser, (pm_node_t *) ((pm_case_match_node_t *)node)->conditions.nodes[index], buffer);
|
464
480
|
}
|
465
|
-
if (((pm_case_match_node_t *)node)->
|
481
|
+
if (((pm_case_match_node_t *)node)->else_clause == NULL) {
|
466
482
|
pm_buffer_append_byte(buffer, 0);
|
467
483
|
} else {
|
468
|
-
pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->
|
484
|
+
pm_serialize_node(parser, (pm_node_t *)((pm_case_match_node_t *)node)->else_clause, buffer);
|
469
485
|
}
|
470
486
|
pm_serialize_location(parser, &((pm_case_match_node_t *)node)->case_keyword_loc, buffer);
|
471
487
|
pm_serialize_location(parser, &((pm_case_match_node_t *)node)->end_keyword_loc, buffer);
|
472
488
|
break;
|
473
489
|
}
|
474
490
|
case PM_CASE_NODE: {
|
491
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
475
492
|
if (((pm_case_node_t *)node)->predicate == NULL) {
|
476
493
|
pm_buffer_append_byte(buffer, 0);
|
477
494
|
} else {
|
@@ -482,16 +499,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
482
499
|
for (uint32_t index = 0; index < conditions_size; index++) {
|
483
500
|
pm_serialize_node(parser, (pm_node_t *) ((pm_case_node_t *)node)->conditions.nodes[index], buffer);
|
484
501
|
}
|
485
|
-
if (((pm_case_node_t *)node)->
|
502
|
+
if (((pm_case_node_t *)node)->else_clause == NULL) {
|
486
503
|
pm_buffer_append_byte(buffer, 0);
|
487
504
|
} else {
|
488
|
-
pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->
|
505
|
+
pm_serialize_node(parser, (pm_node_t *)((pm_case_node_t *)node)->else_clause, buffer);
|
489
506
|
}
|
490
507
|
pm_serialize_location(parser, &((pm_case_node_t *)node)->case_keyword_loc, buffer);
|
491
508
|
pm_serialize_location(parser, &((pm_case_node_t *)node)->end_keyword_loc, buffer);
|
492
509
|
break;
|
493
510
|
}
|
494
511
|
case PM_CLASS_NODE: {
|
512
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
495
513
|
uint32_t locals_size = pm_sizet_to_u32(((pm_class_node_t *)node)->locals.size);
|
496
514
|
pm_buffer_append_varuint(buffer, locals_size);
|
497
515
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -520,6 +538,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
520
538
|
break;
|
521
539
|
}
|
522
540
|
case PM_CLASS_VARIABLE_AND_WRITE_NODE: {
|
541
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
523
542
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_and_write_node_t *)node)->name));
|
524
543
|
pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->name_loc, buffer);
|
525
544
|
pm_serialize_location(parser, &((pm_class_variable_and_write_node_t *)node)->operator_loc, buffer);
|
@@ -527,6 +546,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
527
546
|
break;
|
528
547
|
}
|
529
548
|
case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
|
549
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
530
550
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_operator_write_node_t *)node)->name));
|
531
551
|
pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->name_loc, buffer);
|
532
552
|
pm_serialize_location(parser, &((pm_class_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
@@ -535,6 +555,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
535
555
|
break;
|
536
556
|
}
|
537
557
|
case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
|
558
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
538
559
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_or_write_node_t *)node)->name));
|
539
560
|
pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->name_loc, buffer);
|
540
561
|
pm_serialize_location(parser, &((pm_class_variable_or_write_node_t *)node)->operator_loc, buffer);
|
@@ -542,14 +563,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
542
563
|
break;
|
543
564
|
}
|
544
565
|
case PM_CLASS_VARIABLE_READ_NODE: {
|
566
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
545
567
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_read_node_t *)node)->name));
|
546
568
|
break;
|
547
569
|
}
|
548
570
|
case PM_CLASS_VARIABLE_TARGET_NODE: {
|
571
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
549
572
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_target_node_t *)node)->name));
|
550
573
|
break;
|
551
574
|
}
|
552
575
|
case PM_CLASS_VARIABLE_WRITE_NODE: {
|
576
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
553
577
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_class_variable_write_node_t *)node)->name));
|
554
578
|
pm_serialize_location(parser, &((pm_class_variable_write_node_t *)node)->name_loc, buffer);
|
555
579
|
pm_serialize_node(parser, (pm_node_t *)((pm_class_variable_write_node_t *)node)->value, buffer);
|
@@ -557,6 +581,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
557
581
|
break;
|
558
582
|
}
|
559
583
|
case PM_CONSTANT_AND_WRITE_NODE: {
|
584
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
560
585
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_and_write_node_t *)node)->name));
|
561
586
|
pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->name_loc, buffer);
|
562
587
|
pm_serialize_location(parser, &((pm_constant_and_write_node_t *)node)->operator_loc, buffer);
|
@@ -564,6 +589,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
564
589
|
break;
|
565
590
|
}
|
566
591
|
case PM_CONSTANT_OPERATOR_WRITE_NODE: {
|
592
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
567
593
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_operator_write_node_t *)node)->name));
|
568
594
|
pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->name_loc, buffer);
|
569
595
|
pm_serialize_location(parser, &((pm_constant_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
@@ -572,6 +598,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
572
598
|
break;
|
573
599
|
}
|
574
600
|
case PM_CONSTANT_OR_WRITE_NODE: {
|
601
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
575
602
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_or_write_node_t *)node)->name));
|
576
603
|
pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->name_loc, buffer);
|
577
604
|
pm_serialize_location(parser, &((pm_constant_or_write_node_t *)node)->operator_loc, buffer);
|
@@ -579,12 +606,14 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
579
606
|
break;
|
580
607
|
}
|
581
608
|
case PM_CONSTANT_PATH_AND_WRITE_NODE: {
|
609
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
582
610
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->target, buffer);
|
583
611
|
pm_serialize_location(parser, &((pm_constant_path_and_write_node_t *)node)->operator_loc, buffer);
|
584
612
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_and_write_node_t *)node)->value, buffer);
|
585
613
|
break;
|
586
614
|
}
|
587
615
|
case PM_CONSTANT_PATH_NODE: {
|
616
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
588
617
|
if (((pm_constant_path_node_t *)node)->parent == NULL) {
|
589
618
|
pm_buffer_append_byte(buffer, 0);
|
590
619
|
} else {
|
@@ -596,6 +625,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
596
625
|
break;
|
597
626
|
}
|
598
627
|
case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
|
628
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
599
629
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->target, buffer);
|
600
630
|
pm_serialize_location(parser, &((pm_constant_path_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
601
631
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_operator_write_node_t *)node)->value, buffer);
|
@@ -603,12 +633,14 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
603
633
|
break;
|
604
634
|
}
|
605
635
|
case PM_CONSTANT_PATH_OR_WRITE_NODE: {
|
636
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
606
637
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->target, buffer);
|
607
638
|
pm_serialize_location(parser, &((pm_constant_path_or_write_node_t *)node)->operator_loc, buffer);
|
608
639
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_or_write_node_t *)node)->value, buffer);
|
609
640
|
break;
|
610
641
|
}
|
611
642
|
case PM_CONSTANT_PATH_TARGET_NODE: {
|
643
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
612
644
|
if (((pm_constant_path_target_node_t *)node)->parent == NULL) {
|
613
645
|
pm_buffer_append_byte(buffer, 0);
|
614
646
|
} else {
|
@@ -620,20 +652,24 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
620
652
|
break;
|
621
653
|
}
|
622
654
|
case PM_CONSTANT_PATH_WRITE_NODE: {
|
655
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
623
656
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->target, buffer);
|
624
657
|
pm_serialize_location(parser, &((pm_constant_path_write_node_t *)node)->operator_loc, buffer);
|
625
658
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_path_write_node_t *)node)->value, buffer);
|
626
659
|
break;
|
627
660
|
}
|
628
661
|
case PM_CONSTANT_READ_NODE: {
|
662
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
629
663
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_read_node_t *)node)->name));
|
630
664
|
break;
|
631
665
|
}
|
632
666
|
case PM_CONSTANT_TARGET_NODE: {
|
667
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
633
668
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_target_node_t *)node)->name));
|
634
669
|
break;
|
635
670
|
}
|
636
671
|
case PM_CONSTANT_WRITE_NODE: {
|
672
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
637
673
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_constant_write_node_t *)node)->name));
|
638
674
|
pm_serialize_location(parser, &((pm_constant_write_node_t *)node)->name_loc, buffer);
|
639
675
|
pm_serialize_node(parser, (pm_node_t *)((pm_constant_write_node_t *)node)->value, buffer);
|
@@ -645,6 +681,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
645
681
|
// encoding of location u32s make us need to save this offset.
|
646
682
|
size_t length_offset = buffer->length;
|
647
683
|
pm_buffer_append_string(buffer, "\0\0\0\0", 4); /* consume 4 bytes, updated below */
|
684
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
648
685
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_def_node_t *)node)->name));
|
649
686
|
pm_serialize_location(parser, &((pm_def_node_t *)node)->name_loc, buffer);
|
650
687
|
if (((pm_def_node_t *)node)->receiver == NULL) {
|
@@ -704,6 +741,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
704
741
|
break;
|
705
742
|
}
|
706
743
|
case PM_DEFINED_NODE: {
|
744
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
707
745
|
if (((pm_defined_node_t *)node)->lparen_loc.start == NULL) {
|
708
746
|
pm_buffer_append_byte(buffer, 0);
|
709
747
|
} else {
|
@@ -721,6 +759,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
721
759
|
break;
|
722
760
|
}
|
723
761
|
case PM_ELSE_NODE: {
|
762
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
724
763
|
pm_serialize_location(parser, &((pm_else_node_t *)node)->else_keyword_loc, buffer);
|
725
764
|
if (((pm_else_node_t *)node)->statements == NULL) {
|
726
765
|
pm_buffer_append_byte(buffer, 0);
|
@@ -736,6 +775,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
736
775
|
break;
|
737
776
|
}
|
738
777
|
case PM_EMBEDDED_STATEMENTS_NODE: {
|
778
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
739
779
|
pm_serialize_location(parser, &((pm_embedded_statements_node_t *)node)->opening_loc, buffer);
|
740
780
|
if (((pm_embedded_statements_node_t *)node)->statements == NULL) {
|
741
781
|
pm_buffer_append_byte(buffer, 0);
|
@@ -746,11 +786,13 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
746
786
|
break;
|
747
787
|
}
|
748
788
|
case PM_EMBEDDED_VARIABLE_NODE: {
|
789
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
749
790
|
pm_serialize_location(parser, &((pm_embedded_variable_node_t *)node)->operator_loc, buffer);
|
750
791
|
pm_serialize_node(parser, (pm_node_t *)((pm_embedded_variable_node_t *)node)->variable, buffer);
|
751
792
|
break;
|
752
793
|
}
|
753
794
|
case PM_ENSURE_NODE: {
|
795
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
754
796
|
pm_serialize_location(parser, &((pm_ensure_node_t *)node)->ensure_keyword_loc, buffer);
|
755
797
|
if (((pm_ensure_node_t *)node)->statements == NULL) {
|
756
798
|
pm_buffer_append_byte(buffer, 0);
|
@@ -761,9 +803,11 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
761
803
|
break;
|
762
804
|
}
|
763
805
|
case PM_FALSE_NODE: {
|
806
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
764
807
|
break;
|
765
808
|
}
|
766
809
|
case PM_FIND_PATTERN_NODE: {
|
810
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
767
811
|
if (((pm_find_pattern_node_t *)node)->constant == NULL) {
|
768
812
|
pm_buffer_append_byte(buffer, 0);
|
769
813
|
} else {
|
@@ -791,7 +835,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
791
835
|
break;
|
792
836
|
}
|
793
837
|
case PM_FLIP_FLOP_NODE: {
|
794
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
838
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
795
839
|
if (((pm_flip_flop_node_t *)node)->left == NULL) {
|
796
840
|
pm_buffer_append_byte(buffer, 0);
|
797
841
|
} else {
|
@@ -806,10 +850,12 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
806
850
|
break;
|
807
851
|
}
|
808
852
|
case PM_FLOAT_NODE: {
|
853
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
809
854
|
pm_buffer_append_double(buffer, ((pm_float_node_t *)node)->value);
|
810
855
|
break;
|
811
856
|
}
|
812
857
|
case PM_FOR_NODE: {
|
858
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
813
859
|
pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->index, buffer);
|
814
860
|
pm_serialize_node(parser, (pm_node_t *)((pm_for_node_t *)node)->collection, buffer);
|
815
861
|
if (((pm_for_node_t *)node)->statements == NULL) {
|
@@ -829,12 +875,15 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
829
875
|
break;
|
830
876
|
}
|
831
877
|
case PM_FORWARDING_ARGUMENTS_NODE: {
|
878
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
832
879
|
break;
|
833
880
|
}
|
834
881
|
case PM_FORWARDING_PARAMETER_NODE: {
|
882
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
835
883
|
break;
|
836
884
|
}
|
837
885
|
case PM_FORWARDING_SUPER_NODE: {
|
886
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
838
887
|
if (((pm_forwarding_super_node_t *)node)->block == NULL) {
|
839
888
|
pm_buffer_append_byte(buffer, 0);
|
840
889
|
} else {
|
@@ -843,6 +892,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
843
892
|
break;
|
844
893
|
}
|
845
894
|
case PM_GLOBAL_VARIABLE_AND_WRITE_NODE: {
|
895
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
846
896
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_and_write_node_t *)node)->name));
|
847
897
|
pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->name_loc, buffer);
|
848
898
|
pm_serialize_location(parser, &((pm_global_variable_and_write_node_t *)node)->operator_loc, buffer);
|
@@ -850,6 +900,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
850
900
|
break;
|
851
901
|
}
|
852
902
|
case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
903
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
853
904
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_operator_write_node_t *)node)->name));
|
854
905
|
pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->name_loc, buffer);
|
855
906
|
pm_serialize_location(parser, &((pm_global_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
@@ -858,6 +909,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
858
909
|
break;
|
859
910
|
}
|
860
911
|
case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
|
912
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
861
913
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_or_write_node_t *)node)->name));
|
862
914
|
pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->name_loc, buffer);
|
863
915
|
pm_serialize_location(parser, &((pm_global_variable_or_write_node_t *)node)->operator_loc, buffer);
|
@@ -865,14 +917,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
865
917
|
break;
|
866
918
|
}
|
867
919
|
case PM_GLOBAL_VARIABLE_READ_NODE: {
|
920
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
868
921
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_read_node_t *)node)->name));
|
869
922
|
break;
|
870
923
|
}
|
871
924
|
case PM_GLOBAL_VARIABLE_TARGET_NODE: {
|
925
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
872
926
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_target_node_t *)node)->name));
|
873
927
|
break;
|
874
928
|
}
|
875
929
|
case PM_GLOBAL_VARIABLE_WRITE_NODE: {
|
930
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
876
931
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_global_variable_write_node_t *)node)->name));
|
877
932
|
pm_serialize_location(parser, &((pm_global_variable_write_node_t *)node)->name_loc, buffer);
|
878
933
|
pm_serialize_node(parser, (pm_node_t *)((pm_global_variable_write_node_t *)node)->value, buffer);
|
@@ -880,6 +935,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
880
935
|
break;
|
881
936
|
}
|
882
937
|
case PM_HASH_NODE: {
|
938
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
883
939
|
pm_serialize_location(parser, &((pm_hash_node_t *)node)->opening_loc, buffer);
|
884
940
|
uint32_t elements_size = pm_sizet_to_u32(((pm_hash_node_t *)node)->elements.size);
|
885
941
|
pm_buffer_append_varuint(buffer, elements_size);
|
@@ -890,6 +946,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
890
946
|
break;
|
891
947
|
}
|
892
948
|
case PM_HASH_PATTERN_NODE: {
|
949
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
893
950
|
if (((pm_hash_pattern_node_t *)node)->constant == NULL) {
|
894
951
|
pm_buffer_append_byte(buffer, 0);
|
895
952
|
} else {
|
@@ -920,6 +977,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
920
977
|
break;
|
921
978
|
}
|
922
979
|
case PM_IF_NODE: {
|
980
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
923
981
|
if (((pm_if_node_t *)node)->if_keyword_loc.start == NULL) {
|
924
982
|
pm_buffer_append_byte(buffer, 0);
|
925
983
|
} else {
|
@@ -938,10 +996,10 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
938
996
|
} else {
|
939
997
|
pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->statements, buffer);
|
940
998
|
}
|
941
|
-
if (((pm_if_node_t *)node)->
|
999
|
+
if (((pm_if_node_t *)node)->subsequent == NULL) {
|
942
1000
|
pm_buffer_append_byte(buffer, 0);
|
943
1001
|
} else {
|
944
|
-
pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->
|
1002
|
+
pm_serialize_node(parser, (pm_node_t *)((pm_if_node_t *)node)->subsequent, buffer);
|
945
1003
|
}
|
946
1004
|
if (((pm_if_node_t *)node)->end_keyword_loc.start == NULL) {
|
947
1005
|
pm_buffer_append_byte(buffer, 0);
|
@@ -952,17 +1010,21 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
952
1010
|
break;
|
953
1011
|
}
|
954
1012
|
case PM_IMAGINARY_NODE: {
|
1013
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
955
1014
|
pm_serialize_node(parser, (pm_node_t *)((pm_imaginary_node_t *)node)->numeric, buffer);
|
956
1015
|
break;
|
957
1016
|
}
|
958
1017
|
case PM_IMPLICIT_NODE: {
|
1018
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
959
1019
|
pm_serialize_node(parser, (pm_node_t *)((pm_implicit_node_t *)node)->value, buffer);
|
960
1020
|
break;
|
961
1021
|
}
|
962
1022
|
case PM_IMPLICIT_REST_NODE: {
|
1023
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
963
1024
|
break;
|
964
1025
|
}
|
965
1026
|
case PM_IN_NODE: {
|
1027
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
966
1028
|
pm_serialize_node(parser, (pm_node_t *)((pm_in_node_t *)node)->pattern, buffer);
|
967
1029
|
if (((pm_in_node_t *)node)->statements == NULL) {
|
968
1030
|
pm_buffer_append_byte(buffer, 0);
|
@@ -979,7 +1041,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
979
1041
|
break;
|
980
1042
|
}
|
981
1043
|
case PM_INDEX_AND_WRITE_NODE: {
|
982
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1044
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
983
1045
|
if (((pm_index_and_write_node_t *)node)->receiver == NULL) {
|
984
1046
|
pm_buffer_append_byte(buffer, 0);
|
985
1047
|
} else {
|
@@ -1008,7 +1070,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1008
1070
|
break;
|
1009
1071
|
}
|
1010
1072
|
case PM_INDEX_OPERATOR_WRITE_NODE: {
|
1011
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1073
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1012
1074
|
if (((pm_index_operator_write_node_t *)node)->receiver == NULL) {
|
1013
1075
|
pm_buffer_append_byte(buffer, 0);
|
1014
1076
|
} else {
|
@@ -1038,7 +1100,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1038
1100
|
break;
|
1039
1101
|
}
|
1040
1102
|
case PM_INDEX_OR_WRITE_NODE: {
|
1041
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1103
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1042
1104
|
if (((pm_index_or_write_node_t *)node)->receiver == NULL) {
|
1043
1105
|
pm_buffer_append_byte(buffer, 0);
|
1044
1106
|
} else {
|
@@ -1067,7 +1129,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1067
1129
|
break;
|
1068
1130
|
}
|
1069
1131
|
case PM_INDEX_TARGET_NODE: {
|
1070
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1132
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1071
1133
|
pm_serialize_node(parser, (pm_node_t *)((pm_index_target_node_t *)node)->receiver, buffer);
|
1072
1134
|
pm_serialize_location(parser, &((pm_index_target_node_t *)node)->opening_loc, buffer);
|
1073
1135
|
if (((pm_index_target_node_t *)node)->arguments == NULL) {
|
@@ -1084,6 +1146,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1084
1146
|
break;
|
1085
1147
|
}
|
1086
1148
|
case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
|
1149
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1087
1150
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_and_write_node_t *)node)->name));
|
1088
1151
|
pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->name_loc, buffer);
|
1089
1152
|
pm_serialize_location(parser, &((pm_instance_variable_and_write_node_t *)node)->operator_loc, buffer);
|
@@ -1091,6 +1154,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1091
1154
|
break;
|
1092
1155
|
}
|
1093
1156
|
case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
|
1157
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1094
1158
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_operator_write_node_t *)node)->name));
|
1095
1159
|
pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->name_loc, buffer);
|
1096
1160
|
pm_serialize_location(parser, &((pm_instance_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
@@ -1099,6 +1163,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1099
1163
|
break;
|
1100
1164
|
}
|
1101
1165
|
case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
|
1166
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1102
1167
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_or_write_node_t *)node)->name));
|
1103
1168
|
pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->name_loc, buffer);
|
1104
1169
|
pm_serialize_location(parser, &((pm_instance_variable_or_write_node_t *)node)->operator_loc, buffer);
|
@@ -1106,14 +1171,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1106
1171
|
break;
|
1107
1172
|
}
|
1108
1173
|
case PM_INSTANCE_VARIABLE_READ_NODE: {
|
1174
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1109
1175
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_read_node_t *)node)->name));
|
1110
1176
|
break;
|
1111
1177
|
}
|
1112
1178
|
case PM_INSTANCE_VARIABLE_TARGET_NODE: {
|
1179
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1113
1180
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_target_node_t *)node)->name));
|
1114
1181
|
break;
|
1115
1182
|
}
|
1116
1183
|
case PM_INSTANCE_VARIABLE_WRITE_NODE: {
|
1184
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1117
1185
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_instance_variable_write_node_t *)node)->name));
|
1118
1186
|
pm_serialize_location(parser, &((pm_instance_variable_write_node_t *)node)->name_loc, buffer);
|
1119
1187
|
pm_serialize_node(parser, (pm_node_t *)((pm_instance_variable_write_node_t *)node)->value, buffer);
|
@@ -1121,12 +1189,12 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1121
1189
|
break;
|
1122
1190
|
}
|
1123
1191
|
case PM_INTEGER_NODE: {
|
1124
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1192
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1125
1193
|
pm_serialize_integer(&((pm_integer_node_t *)node)->value, buffer);
|
1126
1194
|
break;
|
1127
1195
|
}
|
1128
1196
|
case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
|
1129
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1197
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1130
1198
|
pm_serialize_location(parser, &((pm_interpolated_match_last_line_node_t *)node)->opening_loc, buffer);
|
1131
1199
|
uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_match_last_line_node_t *)node)->parts.size);
|
1132
1200
|
pm_buffer_append_varuint(buffer, parts_size);
|
@@ -1137,7 +1205,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1137
1205
|
break;
|
1138
1206
|
}
|
1139
1207
|
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
|
1140
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1208
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1141
1209
|
pm_serialize_location(parser, &((pm_interpolated_regular_expression_node_t *)node)->opening_loc, buffer);
|
1142
1210
|
uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_regular_expression_node_t *)node)->parts.size);
|
1143
1211
|
pm_buffer_append_varuint(buffer, parts_size);
|
@@ -1148,7 +1216,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1148
1216
|
break;
|
1149
1217
|
}
|
1150
1218
|
case PM_INTERPOLATED_STRING_NODE: {
|
1151
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1219
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1152
1220
|
if (((pm_interpolated_string_node_t *)node)->opening_loc.start == NULL) {
|
1153
1221
|
pm_buffer_append_byte(buffer, 0);
|
1154
1222
|
} else {
|
@@ -1169,6 +1237,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1169
1237
|
break;
|
1170
1238
|
}
|
1171
1239
|
case PM_INTERPOLATED_SYMBOL_NODE: {
|
1240
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1172
1241
|
if (((pm_interpolated_symbol_node_t *)node)->opening_loc.start == NULL) {
|
1173
1242
|
pm_buffer_append_byte(buffer, 0);
|
1174
1243
|
} else {
|
@@ -1189,6 +1258,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1189
1258
|
break;
|
1190
1259
|
}
|
1191
1260
|
case PM_INTERPOLATED_X_STRING_NODE: {
|
1261
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1192
1262
|
pm_serialize_location(parser, &((pm_interpolated_x_string_node_t *)node)->opening_loc, buffer);
|
1193
1263
|
uint32_t parts_size = pm_sizet_to_u32(((pm_interpolated_x_string_node_t *)node)->parts.size);
|
1194
1264
|
pm_buffer_append_varuint(buffer, parts_size);
|
@@ -1199,13 +1269,15 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1199
1269
|
break;
|
1200
1270
|
}
|
1201
1271
|
case PM_IT_LOCAL_VARIABLE_READ_NODE: {
|
1272
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1202
1273
|
break;
|
1203
1274
|
}
|
1204
1275
|
case PM_IT_PARAMETERS_NODE: {
|
1276
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1205
1277
|
break;
|
1206
1278
|
}
|
1207
1279
|
case PM_KEYWORD_HASH_NODE: {
|
1208
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1280
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1209
1281
|
uint32_t elements_size = pm_sizet_to_u32(((pm_keyword_hash_node_t *)node)->elements.size);
|
1210
1282
|
pm_buffer_append_varuint(buffer, elements_size);
|
1211
1283
|
for (uint32_t index = 0; index < elements_size; index++) {
|
@@ -1214,7 +1286,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1214
1286
|
break;
|
1215
1287
|
}
|
1216
1288
|
case PM_KEYWORD_REST_PARAMETER_NODE: {
|
1217
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1289
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1218
1290
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_keyword_rest_parameter_node_t *)node)->name));
|
1219
1291
|
if (((pm_keyword_rest_parameter_node_t *)node)->name_loc.start == NULL) {
|
1220
1292
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1226,6 +1298,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1226
1298
|
break;
|
1227
1299
|
}
|
1228
1300
|
case PM_LAMBDA_NODE: {
|
1301
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1229
1302
|
uint32_t locals_size = pm_sizet_to_u32(((pm_lambda_node_t *)node)->locals.size);
|
1230
1303
|
pm_buffer_append_varuint(buffer, locals_size);
|
1231
1304
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -1247,6 +1320,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1247
1320
|
break;
|
1248
1321
|
}
|
1249
1322
|
case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
|
1323
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1250
1324
|
pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->name_loc, buffer);
|
1251
1325
|
pm_serialize_location(parser, &((pm_local_variable_and_write_node_t *)node)->operator_loc, buffer);
|
1252
1326
|
pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_and_write_node_t *)node)->value, buffer);
|
@@ -1255,6 +1329,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1255
1329
|
break;
|
1256
1330
|
}
|
1257
1331
|
case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
1332
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1258
1333
|
pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->name_loc, buffer);
|
1259
1334
|
pm_serialize_location(parser, &((pm_local_variable_operator_write_node_t *)node)->binary_operator_loc, buffer);
|
1260
1335
|
pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_operator_write_node_t *)node)->value, buffer);
|
@@ -1264,6 +1339,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1264
1339
|
break;
|
1265
1340
|
}
|
1266
1341
|
case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
|
1342
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1267
1343
|
pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->name_loc, buffer);
|
1268
1344
|
pm_serialize_location(parser, &((pm_local_variable_or_write_node_t *)node)->operator_loc, buffer);
|
1269
1345
|
pm_serialize_node(parser, (pm_node_t *)((pm_local_variable_or_write_node_t *)node)->value, buffer);
|
@@ -1272,16 +1348,19 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1272
1348
|
break;
|
1273
1349
|
}
|
1274
1350
|
case PM_LOCAL_VARIABLE_READ_NODE: {
|
1351
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1275
1352
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_read_node_t *)node)->name));
|
1276
1353
|
pm_buffer_append_varuint(buffer, ((pm_local_variable_read_node_t *)node)->depth);
|
1277
1354
|
break;
|
1278
1355
|
}
|
1279
1356
|
case PM_LOCAL_VARIABLE_TARGET_NODE: {
|
1357
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1280
1358
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_target_node_t *)node)->name));
|
1281
1359
|
pm_buffer_append_varuint(buffer, ((pm_local_variable_target_node_t *)node)->depth);
|
1282
1360
|
break;
|
1283
1361
|
}
|
1284
1362
|
case PM_LOCAL_VARIABLE_WRITE_NODE: {
|
1363
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1285
1364
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_local_variable_write_node_t *)node)->name));
|
1286
1365
|
pm_buffer_append_varuint(buffer, ((pm_local_variable_write_node_t *)node)->depth);
|
1287
1366
|
pm_serialize_location(parser, &((pm_local_variable_write_node_t *)node)->name_loc, buffer);
|
@@ -1290,7 +1369,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1290
1369
|
break;
|
1291
1370
|
}
|
1292
1371
|
case PM_MATCH_LAST_LINE_NODE: {
|
1293
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1372
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1294
1373
|
pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->opening_loc, buffer);
|
1295
1374
|
pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->content_loc, buffer);
|
1296
1375
|
pm_serialize_location(parser, &((pm_match_last_line_node_t *)node)->closing_loc, buffer);
|
@@ -1298,18 +1377,21 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1298
1377
|
break;
|
1299
1378
|
}
|
1300
1379
|
case PM_MATCH_PREDICATE_NODE: {
|
1380
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1301
1381
|
pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->value, buffer);
|
1302
1382
|
pm_serialize_node(parser, (pm_node_t *)((pm_match_predicate_node_t *)node)->pattern, buffer);
|
1303
1383
|
pm_serialize_location(parser, &((pm_match_predicate_node_t *)node)->operator_loc, buffer);
|
1304
1384
|
break;
|
1305
1385
|
}
|
1306
1386
|
case PM_MATCH_REQUIRED_NODE: {
|
1387
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1307
1388
|
pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->value, buffer);
|
1308
1389
|
pm_serialize_node(parser, (pm_node_t *)((pm_match_required_node_t *)node)->pattern, buffer);
|
1309
1390
|
pm_serialize_location(parser, &((pm_match_required_node_t *)node)->operator_loc, buffer);
|
1310
1391
|
break;
|
1311
1392
|
}
|
1312
1393
|
case PM_MATCH_WRITE_NODE: {
|
1394
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1313
1395
|
pm_serialize_node(parser, (pm_node_t *)((pm_match_write_node_t *)node)->call, buffer);
|
1314
1396
|
uint32_t targets_size = pm_sizet_to_u32(((pm_match_write_node_t *)node)->targets.size);
|
1315
1397
|
pm_buffer_append_varuint(buffer, targets_size);
|
@@ -1319,9 +1401,11 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1319
1401
|
break;
|
1320
1402
|
}
|
1321
1403
|
case PM_MISSING_NODE: {
|
1404
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1322
1405
|
break;
|
1323
1406
|
}
|
1324
1407
|
case PM_MODULE_NODE: {
|
1408
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1325
1409
|
uint32_t locals_size = pm_sizet_to_u32(((pm_module_node_t *)node)->locals.size);
|
1326
1410
|
pm_buffer_append_varuint(buffer, locals_size);
|
1327
1411
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -1339,6 +1423,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1339
1423
|
break;
|
1340
1424
|
}
|
1341
1425
|
case PM_MULTI_TARGET_NODE: {
|
1426
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1342
1427
|
uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_target_node_t *)node)->lefts.size);
|
1343
1428
|
pm_buffer_append_varuint(buffer, lefts_size);
|
1344
1429
|
for (uint32_t index = 0; index < lefts_size; index++) {
|
@@ -1369,6 +1454,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1369
1454
|
break;
|
1370
1455
|
}
|
1371
1456
|
case PM_MULTI_WRITE_NODE: {
|
1457
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1372
1458
|
uint32_t lefts_size = pm_sizet_to_u32(((pm_multi_write_node_t *)node)->lefts.size);
|
1373
1459
|
pm_buffer_append_varuint(buffer, lefts_size);
|
1374
1460
|
for (uint32_t index = 0; index < lefts_size; index++) {
|
@@ -1401,6 +1487,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1401
1487
|
break;
|
1402
1488
|
}
|
1403
1489
|
case PM_NEXT_NODE: {
|
1490
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1404
1491
|
if (((pm_next_node_t *)node)->arguments == NULL) {
|
1405
1492
|
pm_buffer_append_byte(buffer, 0);
|
1406
1493
|
} else {
|
@@ -1410,30 +1497,34 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1410
1497
|
break;
|
1411
1498
|
}
|
1412
1499
|
case PM_NIL_NODE: {
|
1500
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1413
1501
|
break;
|
1414
1502
|
}
|
1415
1503
|
case PM_NO_KEYWORDS_PARAMETER_NODE: {
|
1504
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1416
1505
|
pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->operator_loc, buffer);
|
1417
1506
|
pm_serialize_location(parser, &((pm_no_keywords_parameter_node_t *)node)->keyword_loc, buffer);
|
1418
1507
|
break;
|
1419
1508
|
}
|
1420
1509
|
case PM_NUMBERED_PARAMETERS_NODE: {
|
1510
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1421
1511
|
pm_buffer_append_byte(buffer, ((pm_numbered_parameters_node_t *)node)->maximum);
|
1422
1512
|
break;
|
1423
1513
|
}
|
1424
1514
|
case PM_NUMBERED_REFERENCE_READ_NODE: {
|
1515
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1425
1516
|
pm_buffer_append_varuint(buffer, ((pm_numbered_reference_read_node_t *)node)->number);
|
1426
1517
|
break;
|
1427
1518
|
}
|
1428
1519
|
case PM_OPTIONAL_KEYWORD_PARAMETER_NODE: {
|
1429
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1520
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1430
1521
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_keyword_parameter_node_t *)node)->name));
|
1431
1522
|
pm_serialize_location(parser, &((pm_optional_keyword_parameter_node_t *)node)->name_loc, buffer);
|
1432
1523
|
pm_serialize_node(parser, (pm_node_t *)((pm_optional_keyword_parameter_node_t *)node)->value, buffer);
|
1433
1524
|
break;
|
1434
1525
|
}
|
1435
1526
|
case PM_OPTIONAL_PARAMETER_NODE: {
|
1436
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1527
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1437
1528
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_optional_parameter_node_t *)node)->name));
|
1438
1529
|
pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->name_loc, buffer);
|
1439
1530
|
pm_serialize_location(parser, &((pm_optional_parameter_node_t *)node)->operator_loc, buffer);
|
@@ -1441,12 +1532,14 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1441
1532
|
break;
|
1442
1533
|
}
|
1443
1534
|
case PM_OR_NODE: {
|
1535
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1444
1536
|
pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->left, buffer);
|
1445
1537
|
pm_serialize_node(parser, (pm_node_t *)((pm_or_node_t *)node)->right, buffer);
|
1446
1538
|
pm_serialize_location(parser, &((pm_or_node_t *)node)->operator_loc, buffer);
|
1447
1539
|
break;
|
1448
1540
|
}
|
1449
1541
|
case PM_PARAMETERS_NODE: {
|
1542
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1450
1543
|
uint32_t requireds_size = pm_sizet_to_u32(((pm_parameters_node_t *)node)->requireds.size);
|
1451
1544
|
pm_buffer_append_varuint(buffer, requireds_size);
|
1452
1545
|
for (uint32_t index = 0; index < requireds_size; index++) {
|
@@ -1485,6 +1578,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1485
1578
|
break;
|
1486
1579
|
}
|
1487
1580
|
case PM_PARENTHESES_NODE: {
|
1581
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1488
1582
|
if (((pm_parentheses_node_t *)node)->body == NULL) {
|
1489
1583
|
pm_buffer_append_byte(buffer, 0);
|
1490
1584
|
} else {
|
@@ -1495,6 +1589,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1495
1589
|
break;
|
1496
1590
|
}
|
1497
1591
|
case PM_PINNED_EXPRESSION_NODE: {
|
1592
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1498
1593
|
pm_serialize_node(parser, (pm_node_t *)((pm_pinned_expression_node_t *)node)->expression, buffer);
|
1499
1594
|
pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->operator_loc, buffer);
|
1500
1595
|
pm_serialize_location(parser, &((pm_pinned_expression_node_t *)node)->lparen_loc, buffer);
|
@@ -1502,11 +1597,13 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1502
1597
|
break;
|
1503
1598
|
}
|
1504
1599
|
case PM_PINNED_VARIABLE_NODE: {
|
1600
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1505
1601
|
pm_serialize_node(parser, (pm_node_t *)((pm_pinned_variable_node_t *)node)->variable, buffer);
|
1506
1602
|
pm_serialize_location(parser, &((pm_pinned_variable_node_t *)node)->operator_loc, buffer);
|
1507
1603
|
break;
|
1508
1604
|
}
|
1509
1605
|
case PM_POST_EXECUTION_NODE: {
|
1606
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1510
1607
|
if (((pm_post_execution_node_t *)node)->statements == NULL) {
|
1511
1608
|
pm_buffer_append_byte(buffer, 0);
|
1512
1609
|
} else {
|
@@ -1518,6 +1615,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1518
1615
|
break;
|
1519
1616
|
}
|
1520
1617
|
case PM_PRE_EXECUTION_NODE: {
|
1618
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1521
1619
|
if (((pm_pre_execution_node_t *)node)->statements == NULL) {
|
1522
1620
|
pm_buffer_append_byte(buffer, 0);
|
1523
1621
|
} else {
|
@@ -1529,6 +1627,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1529
1627
|
break;
|
1530
1628
|
}
|
1531
1629
|
case PM_PROGRAM_NODE: {
|
1630
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1532
1631
|
uint32_t locals_size = pm_sizet_to_u32(((pm_program_node_t *)node)->locals.size);
|
1533
1632
|
pm_buffer_append_varuint(buffer, locals_size);
|
1534
1633
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -1538,7 +1637,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1538
1637
|
break;
|
1539
1638
|
}
|
1540
1639
|
case PM_RANGE_NODE: {
|
1541
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1640
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1542
1641
|
if (((pm_range_node_t *)node)->left == NULL) {
|
1543
1642
|
pm_buffer_append_byte(buffer, 0);
|
1544
1643
|
} else {
|
@@ -1553,16 +1652,17 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1553
1652
|
break;
|
1554
1653
|
}
|
1555
1654
|
case PM_RATIONAL_NODE: {
|
1556
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1655
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1557
1656
|
pm_serialize_integer(&((pm_rational_node_t *)node)->numerator, buffer);
|
1558
1657
|
pm_serialize_integer(&((pm_rational_node_t *)node)->denominator, buffer);
|
1559
1658
|
break;
|
1560
1659
|
}
|
1561
1660
|
case PM_REDO_NODE: {
|
1661
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1562
1662
|
break;
|
1563
1663
|
}
|
1564
1664
|
case PM_REGULAR_EXPRESSION_NODE: {
|
1565
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1665
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1566
1666
|
pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->opening_loc, buffer);
|
1567
1667
|
pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->content_loc, buffer);
|
1568
1668
|
pm_serialize_location(parser, &((pm_regular_expression_node_t *)node)->closing_loc, buffer);
|
@@ -1570,23 +1670,25 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1570
1670
|
break;
|
1571
1671
|
}
|
1572
1672
|
case PM_REQUIRED_KEYWORD_PARAMETER_NODE: {
|
1573
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1673
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1574
1674
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_keyword_parameter_node_t *)node)->name));
|
1575
1675
|
pm_serialize_location(parser, &((pm_required_keyword_parameter_node_t *)node)->name_loc, buffer);
|
1576
1676
|
break;
|
1577
1677
|
}
|
1578
1678
|
case PM_REQUIRED_PARAMETER_NODE: {
|
1579
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1679
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1580
1680
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_required_parameter_node_t *)node)->name));
|
1581
1681
|
break;
|
1582
1682
|
}
|
1583
1683
|
case PM_RESCUE_MODIFIER_NODE: {
|
1684
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1584
1685
|
pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->expression, buffer);
|
1585
1686
|
pm_serialize_location(parser, &((pm_rescue_modifier_node_t *)node)->keyword_loc, buffer);
|
1586
1687
|
pm_serialize_node(parser, (pm_node_t *)((pm_rescue_modifier_node_t *)node)->rescue_expression, buffer);
|
1587
1688
|
break;
|
1588
1689
|
}
|
1589
1690
|
case PM_RESCUE_NODE: {
|
1691
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1590
1692
|
pm_serialize_location(parser, &((pm_rescue_node_t *)node)->keyword_loc, buffer);
|
1591
1693
|
uint32_t exceptions_size = pm_sizet_to_u32(((pm_rescue_node_t *)node)->exceptions.size);
|
1592
1694
|
pm_buffer_append_varuint(buffer, exceptions_size);
|
@@ -1609,15 +1711,15 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1609
1711
|
} else {
|
1610
1712
|
pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->statements, buffer);
|
1611
1713
|
}
|
1612
|
-
if (((pm_rescue_node_t *)node)->
|
1714
|
+
if (((pm_rescue_node_t *)node)->subsequent == NULL) {
|
1613
1715
|
pm_buffer_append_byte(buffer, 0);
|
1614
1716
|
} else {
|
1615
|
-
pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->
|
1717
|
+
pm_serialize_node(parser, (pm_node_t *)((pm_rescue_node_t *)node)->subsequent, buffer);
|
1616
1718
|
}
|
1617
1719
|
break;
|
1618
1720
|
}
|
1619
1721
|
case PM_REST_PARAMETER_NODE: {
|
1620
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1722
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1621
1723
|
pm_buffer_append_varuint(buffer, pm_sizet_to_u32(((pm_rest_parameter_node_t *)node)->name));
|
1622
1724
|
if (((pm_rest_parameter_node_t *)node)->name_loc.start == NULL) {
|
1623
1725
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1629,10 +1731,11 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1629
1731
|
break;
|
1630
1732
|
}
|
1631
1733
|
case PM_RETRY_NODE: {
|
1734
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1632
1735
|
break;
|
1633
1736
|
}
|
1634
1737
|
case PM_RETURN_NODE: {
|
1635
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1738
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1636
1739
|
pm_serialize_location(parser, &((pm_return_node_t *)node)->keyword_loc, buffer);
|
1637
1740
|
if (((pm_return_node_t *)node)->arguments == NULL) {
|
1638
1741
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1642,14 +1745,16 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1642
1745
|
break;
|
1643
1746
|
}
|
1644
1747
|
case PM_SELF_NODE: {
|
1748
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1645
1749
|
break;
|
1646
1750
|
}
|
1647
1751
|
case PM_SHAREABLE_CONSTANT_NODE: {
|
1648
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1752
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1649
1753
|
pm_serialize_node(parser, (pm_node_t *)((pm_shareable_constant_node_t *)node)->write, buffer);
|
1650
1754
|
break;
|
1651
1755
|
}
|
1652
1756
|
case PM_SINGLETON_CLASS_NODE: {
|
1757
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1653
1758
|
uint32_t locals_size = pm_sizet_to_u32(((pm_singleton_class_node_t *)node)->locals.size);
|
1654
1759
|
pm_buffer_append_varuint(buffer, locals_size);
|
1655
1760
|
for (uint32_t index = 0; index < locals_size; index++) {
|
@@ -1667,17 +1772,20 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1667
1772
|
break;
|
1668
1773
|
}
|
1669
1774
|
case PM_SOURCE_ENCODING_NODE: {
|
1775
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1670
1776
|
break;
|
1671
1777
|
}
|
1672
1778
|
case PM_SOURCE_FILE_NODE: {
|
1673
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1779
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1674
1780
|
pm_serialize_string(parser, &((pm_source_file_node_t *)node)->filepath, buffer);
|
1675
1781
|
break;
|
1676
1782
|
}
|
1677
1783
|
case PM_SOURCE_LINE_NODE: {
|
1784
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1678
1785
|
break;
|
1679
1786
|
}
|
1680
1787
|
case PM_SPLAT_NODE: {
|
1788
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1681
1789
|
pm_serialize_location(parser, &((pm_splat_node_t *)node)->operator_loc, buffer);
|
1682
1790
|
if (((pm_splat_node_t *)node)->expression == NULL) {
|
1683
1791
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1687,6 +1795,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1687
1795
|
break;
|
1688
1796
|
}
|
1689
1797
|
case PM_STATEMENTS_NODE: {
|
1798
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1690
1799
|
uint32_t body_size = pm_sizet_to_u32(((pm_statements_node_t *)node)->body.size);
|
1691
1800
|
pm_buffer_append_varuint(buffer, body_size);
|
1692
1801
|
for (uint32_t index = 0; index < body_size; index++) {
|
@@ -1695,7 +1804,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1695
1804
|
break;
|
1696
1805
|
}
|
1697
1806
|
case PM_STRING_NODE: {
|
1698
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1807
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1699
1808
|
if (((pm_string_node_t *)node)->opening_loc.start == NULL) {
|
1700
1809
|
pm_buffer_append_byte(buffer, 0);
|
1701
1810
|
} else {
|
@@ -1713,6 +1822,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1713
1822
|
break;
|
1714
1823
|
}
|
1715
1824
|
case PM_SUPER_NODE: {
|
1825
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1716
1826
|
pm_serialize_location(parser, &((pm_super_node_t *)node)->keyword_loc, buffer);
|
1717
1827
|
if (((pm_super_node_t *)node)->lparen_loc.start == NULL) {
|
1718
1828
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1739,7 +1849,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1739
1849
|
break;
|
1740
1850
|
}
|
1741
1851
|
case PM_SYMBOL_NODE: {
|
1742
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1852
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1743
1853
|
if (((pm_symbol_node_t *)node)->opening_loc.start == NULL) {
|
1744
1854
|
pm_buffer_append_byte(buffer, 0);
|
1745
1855
|
} else {
|
@@ -1762,9 +1872,11 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1762
1872
|
break;
|
1763
1873
|
}
|
1764
1874
|
case PM_TRUE_NODE: {
|
1875
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1765
1876
|
break;
|
1766
1877
|
}
|
1767
1878
|
case PM_UNDEF_NODE: {
|
1879
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1768
1880
|
uint32_t names_size = pm_sizet_to_u32(((pm_undef_node_t *)node)->names.size);
|
1769
1881
|
pm_buffer_append_varuint(buffer, names_size);
|
1770
1882
|
for (uint32_t index = 0; index < names_size; index++) {
|
@@ -1774,6 +1886,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1774
1886
|
break;
|
1775
1887
|
}
|
1776
1888
|
case PM_UNLESS_NODE: {
|
1889
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1777
1890
|
pm_serialize_location(parser, &((pm_unless_node_t *)node)->keyword_loc, buffer);
|
1778
1891
|
pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->predicate, buffer);
|
1779
1892
|
if (((pm_unless_node_t *)node)->then_keyword_loc.start == NULL) {
|
@@ -1787,10 +1900,10 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1787
1900
|
} else {
|
1788
1901
|
pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->statements, buffer);
|
1789
1902
|
}
|
1790
|
-
if (((pm_unless_node_t *)node)->
|
1903
|
+
if (((pm_unless_node_t *)node)->else_clause == NULL) {
|
1791
1904
|
pm_buffer_append_byte(buffer, 0);
|
1792
1905
|
} else {
|
1793
|
-
pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->
|
1906
|
+
pm_serialize_node(parser, (pm_node_t *)((pm_unless_node_t *)node)->else_clause, buffer);
|
1794
1907
|
}
|
1795
1908
|
if (((pm_unless_node_t *)node)->end_keyword_loc.start == NULL) {
|
1796
1909
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1801,7 +1914,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1801
1914
|
break;
|
1802
1915
|
}
|
1803
1916
|
case PM_UNTIL_NODE: {
|
1804
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1917
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1805
1918
|
pm_serialize_location(parser, &((pm_until_node_t *)node)->keyword_loc, buffer);
|
1806
1919
|
if (((pm_until_node_t *)node)->closing_loc.start == NULL) {
|
1807
1920
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1818,6 +1931,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1818
1931
|
break;
|
1819
1932
|
}
|
1820
1933
|
case PM_WHEN_NODE: {
|
1934
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1821
1935
|
pm_serialize_location(parser, &((pm_when_node_t *)node)->keyword_loc, buffer);
|
1822
1936
|
uint32_t conditions_size = pm_sizet_to_u32(((pm_when_node_t *)node)->conditions.size);
|
1823
1937
|
pm_buffer_append_varuint(buffer, conditions_size);
|
@@ -1838,7 +1952,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1838
1952
|
break;
|
1839
1953
|
}
|
1840
1954
|
case PM_WHILE_NODE: {
|
1841
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1955
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1842
1956
|
pm_serialize_location(parser, &((pm_while_node_t *)node)->keyword_loc, buffer);
|
1843
1957
|
if (((pm_while_node_t *)node)->closing_loc.start == NULL) {
|
1844
1958
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1855,7 +1969,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1855
1969
|
break;
|
1856
1970
|
}
|
1857
1971
|
case PM_X_STRING_NODE: {
|
1858
|
-
pm_buffer_append_varuint(buffer, (uint32_t)
|
1972
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1859
1973
|
pm_serialize_location(parser, &((pm_x_string_node_t *)node)->opening_loc, buffer);
|
1860
1974
|
pm_serialize_location(parser, &((pm_x_string_node_t *)node)->content_loc, buffer);
|
1861
1975
|
pm_serialize_location(parser, &((pm_x_string_node_t *)node)->closing_loc, buffer);
|
@@ -1863,6 +1977,7 @@ pm_serialize_node(pm_parser_t *parser, pm_node_t *node, pm_buffer_t *buffer) {
|
|
1863
1977
|
break;
|
1864
1978
|
}
|
1865
1979
|
case PM_YIELD_NODE: {
|
1980
|
+
pm_buffer_append_varuint(buffer, (uint32_t) node->flags);
|
1866
1981
|
pm_serialize_location(parser, &((pm_yield_node_t *)node)->keyword_loc, buffer);
|
1867
1982
|
if (((pm_yield_node_t *)node)->lparen_loc.start == NULL) {
|
1868
1983
|
pm_buffer_append_byte(buffer, 0);
|
@@ -1998,7 +2113,7 @@ pm_serialize_metadata(pm_parser_t *parser, pm_buffer_t *buffer) {
|
|
1998
2113
|
pm_serialize_diagnostic_list(parser, &parser->warning_list, buffer);
|
1999
2114
|
}
|
2000
2115
|
|
2001
|
-
#line
|
2116
|
+
#line 275 "prism/templates/src/serialize.c.erb"
|
2002
2117
|
/**
|
2003
2118
|
* Serialize the metadata, nodes, and constant pool.
|
2004
2119
|
*/
|