prism 0.16.0 → 0.17.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +16 -1
- data/Makefile +6 -0
- data/README.md +1 -1
- data/config.yml +50 -35
- data/docs/fuzzing.md +1 -1
- data/docs/serialization.md +28 -29
- data/ext/prism/api_node.c +802 -770
- data/ext/prism/api_pack.c +20 -9
- data/ext/prism/extension.c +464 -162
- data/ext/prism/extension.h +1 -1
- data/include/prism/ast.h +3173 -763
- data/include/prism/defines.h +32 -9
- data/include/prism/diagnostic.h +36 -3
- data/include/prism/enc/pm_encoding.h +118 -28
- data/include/prism/node.h +38 -13
- data/include/prism/options.h +204 -0
- data/include/prism/pack.h +44 -33
- data/include/prism/parser.h +445 -200
- data/include/prism/prettyprint.h +12 -1
- data/include/prism/regexp.h +16 -2
- data/include/prism/util/pm_buffer.h +94 -16
- data/include/prism/util/pm_char.h +162 -48
- data/include/prism/util/pm_constant_pool.h +126 -32
- data/include/prism/util/pm_list.h +68 -38
- data/include/prism/util/pm_memchr.h +18 -3
- data/include/prism/util/pm_newline_list.h +70 -27
- data/include/prism/util/pm_state_stack.h +25 -7
- data/include/prism/util/pm_string.h +115 -27
- data/include/prism/util/pm_string_list.h +25 -6
- data/include/prism/util/pm_strncasecmp.h +32 -0
- data/include/prism/util/pm_strpbrk.h +31 -17
- data/include/prism/version.h +27 -2
- data/include/prism.h +224 -31
- data/lib/prism/compiler.rb +6 -3
- data/lib/prism/debug.rb +23 -7
- data/lib/prism/dispatcher.rb +33 -18
- data/lib/prism/dsl.rb +10 -5
- data/lib/prism/ffi.rb +132 -80
- data/lib/prism/lex_compat.rb +25 -15
- data/lib/prism/mutation_compiler.rb +10 -5
- data/lib/prism/node.rb +370 -135
- data/lib/prism/node_ext.rb +1 -1
- data/lib/prism/node_inspector.rb +1 -1
- data/lib/prism/pack.rb +79 -40
- data/lib/prism/parse_result/comments.rb +7 -2
- data/lib/prism/parse_result/newlines.rb +4 -0
- data/lib/prism/parse_result.rb +150 -30
- data/lib/prism/pattern.rb +11 -0
- data/lib/prism/ripper_compat.rb +28 -10
- data/lib/prism/serialize.rb +86 -54
- data/lib/prism/visitor.rb +10 -3
- data/lib/prism.rb +20 -2
- data/prism.gemspec +4 -2
- data/rbi/prism.rbi +104 -60
- data/rbi/prism_static.rbi +16 -2
- data/sig/prism.rbs +72 -43
- data/sig/prism_static.rbs +14 -1
- data/src/diagnostic.c +56 -53
- data/src/enc/pm_big5.c +1 -0
- data/src/enc/pm_euc_jp.c +1 -0
- data/src/enc/pm_gbk.c +1 -0
- data/src/enc/pm_shift_jis.c +1 -0
- data/src/enc/pm_tables.c +316 -80
- data/src/enc/pm_unicode.c +53 -8
- data/src/enc/pm_windows_31j.c +1 -0
- data/src/node.c +334 -321
- data/src/options.c +170 -0
- data/src/prettyprint.c +74 -47
- data/src/prism.c +1642 -856
- data/src/regexp.c +151 -95
- data/src/serialize.c +44 -20
- data/src/token_type.c +3 -1
- data/src/util/pm_buffer.c +45 -15
- data/src/util/pm_char.c +103 -57
- data/src/util/pm_constant_pool.c +51 -21
- data/src/util/pm_list.c +12 -4
- data/src/util/pm_memchr.c +5 -3
- data/src/util/pm_newline_list.c +20 -12
- data/src/util/pm_state_stack.c +9 -3
- data/src/util/pm_string.c +95 -85
- data/src/util/pm_string_list.c +14 -15
- data/src/util/pm_strncasecmp.c +10 -3
- data/src/util/pm_strpbrk.c +25 -19
- metadata +5 -3
- data/docs/prism.png +0 -0
data/src/node.c
CHANGED
@@ -8,17 +8,12 @@
|
|
8
8
|
#line 2 "node.c.erb"
|
9
9
|
#include "prism/node.h"
|
10
10
|
|
11
|
-
// Clear the node but preserves the location.
|
12
|
-
void pm_node_clear(pm_node_t *node) {
|
13
|
-
pm_location_t location = node->location;
|
14
|
-
memset(node, 0, sizeof(pm_node_t));
|
15
|
-
node->location = location;
|
16
|
-
}
|
17
|
-
|
18
11
|
static void
|
19
12
|
pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize);
|
20
13
|
|
21
|
-
|
14
|
+
/**
|
15
|
+
* Calculate the size of the node list in bytes.
|
16
|
+
*/
|
22
17
|
static size_t
|
23
18
|
pm_node_list_memsize(pm_node_list_t *node_list, pm_memsize_t *memsize) {
|
24
19
|
size_t size = sizeof(pm_node_list_t) + (node_list->capacity * sizeof(pm_node_t *));
|
@@ -28,7 +23,9 @@ pm_node_list_memsize(pm_node_list_t *node_list, pm_memsize_t *memsize) {
|
|
28
23
|
return size;
|
29
24
|
}
|
30
25
|
|
31
|
-
|
26
|
+
/**
|
27
|
+
* Append a new node onto the end of the node list.
|
28
|
+
*/
|
32
29
|
void
|
33
30
|
pm_node_list_append(pm_node_list_t *list, pm_node_t *node) {
|
34
31
|
if (list->size == list->capacity) {
|
@@ -41,8 +38,10 @@ pm_node_list_append(pm_node_list_t *list, pm_node_t *node) {
|
|
41
38
|
PRISM_EXPORTED_FUNCTION void
|
42
39
|
pm_node_destroy(pm_parser_t *parser, pm_node_t *node);
|
43
40
|
|
44
|
-
|
45
|
-
|
41
|
+
/**
|
42
|
+
* Deallocate the inner memory of a list of nodes. The parser argument is not
|
43
|
+
* used, but is here for the future possibility of pre-allocating memory pools.
|
44
|
+
*/
|
46
45
|
static void
|
47
46
|
pm_node_list_free(pm_parser_t *parser, pm_node_list_t *list) {
|
48
47
|
if (list->capacity > 0) {
|
@@ -53,53 +52,55 @@ pm_node_list_free(pm_parser_t *parser, pm_node_list_t *list) {
|
|
53
52
|
}
|
54
53
|
}
|
55
54
|
|
56
|
-
|
57
|
-
|
58
|
-
|
55
|
+
/**
|
56
|
+
* Deallocate the space for a pm_node_t. Similarly to pm_node_alloc, we're not
|
57
|
+
* using the parser argument, but it's there to allow for the future possibility
|
58
|
+
* of pre-allocating larger memory pools.
|
59
|
+
*/
|
59
60
|
PRISM_EXPORTED_FUNCTION void
|
60
61
|
pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
61
62
|
switch (PM_NODE_TYPE(node)) {
|
62
|
-
#line
|
63
|
+
#line 58 "node.c.erb"
|
63
64
|
case PM_ALIAS_GLOBAL_VARIABLE_NODE: {
|
64
65
|
pm_alias_global_variable_node_t *cast = (pm_alias_global_variable_node_t *) node;
|
65
66
|
pm_node_destroy(parser, (pm_node_t *)cast->new_name);
|
66
67
|
pm_node_destroy(parser, (pm_node_t *)cast->old_name);
|
67
68
|
break;
|
68
69
|
}
|
69
|
-
#line
|
70
|
+
#line 58 "node.c.erb"
|
70
71
|
case PM_ALIAS_METHOD_NODE: {
|
71
72
|
pm_alias_method_node_t *cast = (pm_alias_method_node_t *) node;
|
72
73
|
pm_node_destroy(parser, (pm_node_t *)cast->new_name);
|
73
74
|
pm_node_destroy(parser, (pm_node_t *)cast->old_name);
|
74
75
|
break;
|
75
76
|
}
|
76
|
-
#line
|
77
|
+
#line 58 "node.c.erb"
|
77
78
|
case PM_ALTERNATION_PATTERN_NODE: {
|
78
79
|
pm_alternation_pattern_node_t *cast = (pm_alternation_pattern_node_t *) node;
|
79
80
|
pm_node_destroy(parser, (pm_node_t *)cast->left);
|
80
81
|
pm_node_destroy(parser, (pm_node_t *)cast->right);
|
81
82
|
break;
|
82
83
|
}
|
83
|
-
#line
|
84
|
+
#line 58 "node.c.erb"
|
84
85
|
case PM_AND_NODE: {
|
85
86
|
pm_and_node_t *cast = (pm_and_node_t *) node;
|
86
87
|
pm_node_destroy(parser, (pm_node_t *)cast->left);
|
87
88
|
pm_node_destroy(parser, (pm_node_t *)cast->right);
|
88
89
|
break;
|
89
90
|
}
|
90
|
-
#line
|
91
|
+
#line 58 "node.c.erb"
|
91
92
|
case PM_ARGUMENTS_NODE: {
|
92
93
|
pm_arguments_node_t *cast = (pm_arguments_node_t *) node;
|
93
94
|
pm_node_list_free(parser, &cast->arguments);
|
94
95
|
break;
|
95
96
|
}
|
96
|
-
#line
|
97
|
+
#line 58 "node.c.erb"
|
97
98
|
case PM_ARRAY_NODE: {
|
98
99
|
pm_array_node_t *cast = (pm_array_node_t *) node;
|
99
100
|
pm_node_list_free(parser, &cast->elements);
|
100
101
|
break;
|
101
102
|
}
|
102
|
-
#line
|
103
|
+
#line 58 "node.c.erb"
|
103
104
|
case PM_ARRAY_PATTERN_NODE: {
|
104
105
|
pm_array_pattern_node_t *cast = (pm_array_pattern_node_t *) node;
|
105
106
|
if (cast->constant != NULL) {
|
@@ -112,7 +113,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
112
113
|
pm_node_list_free(parser, &cast->posts);
|
113
114
|
break;
|
114
115
|
}
|
115
|
-
#line
|
116
|
+
#line 58 "node.c.erb"
|
116
117
|
case PM_ASSOC_NODE: {
|
117
118
|
pm_assoc_node_t *cast = (pm_assoc_node_t *) node;
|
118
119
|
pm_node_destroy(parser, (pm_node_t *)cast->key);
|
@@ -121,7 +122,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
121
122
|
}
|
122
123
|
break;
|
123
124
|
}
|
124
|
-
#line
|
125
|
+
#line 58 "node.c.erb"
|
125
126
|
case PM_ASSOC_SPLAT_NODE: {
|
126
127
|
pm_assoc_splat_node_t *cast = (pm_assoc_splat_node_t *) node;
|
127
128
|
if (cast->value != NULL) {
|
@@ -129,11 +130,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
129
130
|
}
|
130
131
|
break;
|
131
132
|
}
|
132
|
-
#line
|
133
|
+
#line 58 "node.c.erb"
|
133
134
|
case PM_BACK_REFERENCE_READ_NODE: {
|
134
135
|
break;
|
135
136
|
}
|
136
|
-
#line
|
137
|
+
#line 58 "node.c.erb"
|
137
138
|
case PM_BEGIN_NODE: {
|
138
139
|
pm_begin_node_t *cast = (pm_begin_node_t *) node;
|
139
140
|
if (cast->statements != NULL) {
|
@@ -150,7 +151,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
150
151
|
}
|
151
152
|
break;
|
152
153
|
}
|
153
|
-
#line
|
154
|
+
#line 58 "node.c.erb"
|
154
155
|
case PM_BLOCK_ARGUMENT_NODE: {
|
155
156
|
pm_block_argument_node_t *cast = (pm_block_argument_node_t *) node;
|
156
157
|
if (cast->expression != NULL) {
|
@@ -158,11 +159,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
158
159
|
}
|
159
160
|
break;
|
160
161
|
}
|
161
|
-
#line
|
162
|
+
#line 58 "node.c.erb"
|
162
163
|
case PM_BLOCK_LOCAL_VARIABLE_NODE: {
|
163
164
|
break;
|
164
165
|
}
|
165
|
-
#line
|
166
|
+
#line 58 "node.c.erb"
|
166
167
|
case PM_BLOCK_NODE: {
|
167
168
|
pm_block_node_t *cast = (pm_block_node_t *) node;
|
168
169
|
pm_constant_id_list_free(&cast->locals);
|
@@ -174,11 +175,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
174
175
|
}
|
175
176
|
break;
|
176
177
|
}
|
177
|
-
#line
|
178
|
+
#line 58 "node.c.erb"
|
178
179
|
case PM_BLOCK_PARAMETER_NODE: {
|
179
180
|
break;
|
180
181
|
}
|
181
|
-
#line
|
182
|
+
#line 58 "node.c.erb"
|
182
183
|
case PM_BLOCK_PARAMETERS_NODE: {
|
183
184
|
pm_block_parameters_node_t *cast = (pm_block_parameters_node_t *) node;
|
184
185
|
if (cast->parameters != NULL) {
|
@@ -187,7 +188,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
187
188
|
pm_node_list_free(parser, &cast->locals);
|
188
189
|
break;
|
189
190
|
}
|
190
|
-
#line
|
191
|
+
#line 58 "node.c.erb"
|
191
192
|
case PM_BREAK_NODE: {
|
192
193
|
pm_break_node_t *cast = (pm_break_node_t *) node;
|
193
194
|
if (cast->arguments != NULL) {
|
@@ -195,7 +196,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
195
196
|
}
|
196
197
|
break;
|
197
198
|
}
|
198
|
-
#line
|
199
|
+
#line 58 "node.c.erb"
|
199
200
|
case PM_CALL_AND_WRITE_NODE: {
|
200
201
|
pm_call_and_write_node_t *cast = (pm_call_and_write_node_t *) node;
|
201
202
|
if (cast->receiver != NULL) {
|
@@ -204,7 +205,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
204
205
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
205
206
|
break;
|
206
207
|
}
|
207
|
-
#line
|
208
|
+
#line 58 "node.c.erb"
|
208
209
|
case PM_CALL_NODE: {
|
209
210
|
pm_call_node_t *cast = (pm_call_node_t *) node;
|
210
211
|
if (cast->receiver != NULL) {
|
@@ -218,7 +219,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
218
219
|
}
|
219
220
|
break;
|
220
221
|
}
|
221
|
-
#line
|
222
|
+
#line 58 "node.c.erb"
|
222
223
|
case PM_CALL_OPERATOR_WRITE_NODE: {
|
223
224
|
pm_call_operator_write_node_t *cast = (pm_call_operator_write_node_t *) node;
|
224
225
|
if (cast->receiver != NULL) {
|
@@ -227,7 +228,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
227
228
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
228
229
|
break;
|
229
230
|
}
|
230
|
-
#line
|
231
|
+
#line 58 "node.c.erb"
|
231
232
|
case PM_CALL_OR_WRITE_NODE: {
|
232
233
|
pm_call_or_write_node_t *cast = (pm_call_or_write_node_t *) node;
|
233
234
|
if (cast->receiver != NULL) {
|
@@ -236,14 +237,14 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
236
237
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
237
238
|
break;
|
238
239
|
}
|
239
|
-
#line
|
240
|
+
#line 58 "node.c.erb"
|
240
241
|
case PM_CAPTURE_PATTERN_NODE: {
|
241
242
|
pm_capture_pattern_node_t *cast = (pm_capture_pattern_node_t *) node;
|
242
243
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
243
244
|
pm_node_destroy(parser, (pm_node_t *)cast->target);
|
244
245
|
break;
|
245
246
|
}
|
246
|
-
#line
|
247
|
+
#line 58 "node.c.erb"
|
247
248
|
case PM_CASE_NODE: {
|
248
249
|
pm_case_node_t *cast = (pm_case_node_t *) node;
|
249
250
|
if (cast->predicate != NULL) {
|
@@ -255,7 +256,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
255
256
|
}
|
256
257
|
break;
|
257
258
|
}
|
258
|
-
#line
|
259
|
+
#line 58 "node.c.erb"
|
259
260
|
case PM_CLASS_NODE: {
|
260
261
|
pm_class_node_t *cast = (pm_class_node_t *) node;
|
261
262
|
pm_constant_id_list_free(&cast->locals);
|
@@ -268,64 +269,64 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
268
269
|
}
|
269
270
|
break;
|
270
271
|
}
|
271
|
-
#line
|
272
|
+
#line 58 "node.c.erb"
|
272
273
|
case PM_CLASS_VARIABLE_AND_WRITE_NODE: {
|
273
274
|
pm_class_variable_and_write_node_t *cast = (pm_class_variable_and_write_node_t *) node;
|
274
275
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
275
276
|
break;
|
276
277
|
}
|
277
|
-
#line
|
278
|
+
#line 58 "node.c.erb"
|
278
279
|
case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
|
279
280
|
pm_class_variable_operator_write_node_t *cast = (pm_class_variable_operator_write_node_t *) node;
|
280
281
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
281
282
|
break;
|
282
283
|
}
|
283
|
-
#line
|
284
|
+
#line 58 "node.c.erb"
|
284
285
|
case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
|
285
286
|
pm_class_variable_or_write_node_t *cast = (pm_class_variable_or_write_node_t *) node;
|
286
287
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
287
288
|
break;
|
288
289
|
}
|
289
|
-
#line
|
290
|
+
#line 58 "node.c.erb"
|
290
291
|
case PM_CLASS_VARIABLE_READ_NODE: {
|
291
292
|
break;
|
292
293
|
}
|
293
|
-
#line
|
294
|
+
#line 58 "node.c.erb"
|
294
295
|
case PM_CLASS_VARIABLE_TARGET_NODE: {
|
295
296
|
break;
|
296
297
|
}
|
297
|
-
#line
|
298
|
+
#line 58 "node.c.erb"
|
298
299
|
case PM_CLASS_VARIABLE_WRITE_NODE: {
|
299
300
|
pm_class_variable_write_node_t *cast = (pm_class_variable_write_node_t *) node;
|
300
301
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
301
302
|
break;
|
302
303
|
}
|
303
|
-
#line
|
304
|
+
#line 58 "node.c.erb"
|
304
305
|
case PM_CONSTANT_AND_WRITE_NODE: {
|
305
306
|
pm_constant_and_write_node_t *cast = (pm_constant_and_write_node_t *) node;
|
306
307
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
307
308
|
break;
|
308
309
|
}
|
309
|
-
#line
|
310
|
+
#line 58 "node.c.erb"
|
310
311
|
case PM_CONSTANT_OPERATOR_WRITE_NODE: {
|
311
312
|
pm_constant_operator_write_node_t *cast = (pm_constant_operator_write_node_t *) node;
|
312
313
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
313
314
|
break;
|
314
315
|
}
|
315
|
-
#line
|
316
|
+
#line 58 "node.c.erb"
|
316
317
|
case PM_CONSTANT_OR_WRITE_NODE: {
|
317
318
|
pm_constant_or_write_node_t *cast = (pm_constant_or_write_node_t *) node;
|
318
319
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
319
320
|
break;
|
320
321
|
}
|
321
|
-
#line
|
322
|
+
#line 58 "node.c.erb"
|
322
323
|
case PM_CONSTANT_PATH_AND_WRITE_NODE: {
|
323
324
|
pm_constant_path_and_write_node_t *cast = (pm_constant_path_and_write_node_t *) node;
|
324
325
|
pm_node_destroy(parser, (pm_node_t *)cast->target);
|
325
326
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
326
327
|
break;
|
327
328
|
}
|
328
|
-
#line
|
329
|
+
#line 58 "node.c.erb"
|
329
330
|
case PM_CONSTANT_PATH_NODE: {
|
330
331
|
pm_constant_path_node_t *cast = (pm_constant_path_node_t *) node;
|
331
332
|
if (cast->parent != NULL) {
|
@@ -334,21 +335,21 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
334
335
|
pm_node_destroy(parser, (pm_node_t *)cast->child);
|
335
336
|
break;
|
336
337
|
}
|
337
|
-
#line
|
338
|
+
#line 58 "node.c.erb"
|
338
339
|
case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
|
339
340
|
pm_constant_path_operator_write_node_t *cast = (pm_constant_path_operator_write_node_t *) node;
|
340
341
|
pm_node_destroy(parser, (pm_node_t *)cast->target);
|
341
342
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
342
343
|
break;
|
343
344
|
}
|
344
|
-
#line
|
345
|
+
#line 58 "node.c.erb"
|
345
346
|
case PM_CONSTANT_PATH_OR_WRITE_NODE: {
|
346
347
|
pm_constant_path_or_write_node_t *cast = (pm_constant_path_or_write_node_t *) node;
|
347
348
|
pm_node_destroy(parser, (pm_node_t *)cast->target);
|
348
349
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
349
350
|
break;
|
350
351
|
}
|
351
|
-
#line
|
352
|
+
#line 58 "node.c.erb"
|
352
353
|
case PM_CONSTANT_PATH_TARGET_NODE: {
|
353
354
|
pm_constant_path_target_node_t *cast = (pm_constant_path_target_node_t *) node;
|
354
355
|
if (cast->parent != NULL) {
|
@@ -357,28 +358,28 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
357
358
|
pm_node_destroy(parser, (pm_node_t *)cast->child);
|
358
359
|
break;
|
359
360
|
}
|
360
|
-
#line
|
361
|
+
#line 58 "node.c.erb"
|
361
362
|
case PM_CONSTANT_PATH_WRITE_NODE: {
|
362
363
|
pm_constant_path_write_node_t *cast = (pm_constant_path_write_node_t *) node;
|
363
364
|
pm_node_destroy(parser, (pm_node_t *)cast->target);
|
364
365
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
365
366
|
break;
|
366
367
|
}
|
367
|
-
#line
|
368
|
+
#line 58 "node.c.erb"
|
368
369
|
case PM_CONSTANT_READ_NODE: {
|
369
370
|
break;
|
370
371
|
}
|
371
|
-
#line
|
372
|
+
#line 58 "node.c.erb"
|
372
373
|
case PM_CONSTANT_TARGET_NODE: {
|
373
374
|
break;
|
374
375
|
}
|
375
|
-
#line
|
376
|
+
#line 58 "node.c.erb"
|
376
377
|
case PM_CONSTANT_WRITE_NODE: {
|
377
378
|
pm_constant_write_node_t *cast = (pm_constant_write_node_t *) node;
|
378
379
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
379
380
|
break;
|
380
381
|
}
|
381
|
-
#line
|
382
|
+
#line 58 "node.c.erb"
|
382
383
|
case PM_DEF_NODE: {
|
383
384
|
pm_def_node_t *cast = (pm_def_node_t *) node;
|
384
385
|
if (cast->receiver != NULL) {
|
@@ -393,13 +394,13 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
393
394
|
pm_constant_id_list_free(&cast->locals);
|
394
395
|
break;
|
395
396
|
}
|
396
|
-
#line
|
397
|
+
#line 58 "node.c.erb"
|
397
398
|
case PM_DEFINED_NODE: {
|
398
399
|
pm_defined_node_t *cast = (pm_defined_node_t *) node;
|
399
400
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
400
401
|
break;
|
401
402
|
}
|
402
|
-
#line
|
403
|
+
#line 58 "node.c.erb"
|
403
404
|
case PM_ELSE_NODE: {
|
404
405
|
pm_else_node_t *cast = (pm_else_node_t *) node;
|
405
406
|
if (cast->statements != NULL) {
|
@@ -407,7 +408,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
407
408
|
}
|
408
409
|
break;
|
409
410
|
}
|
410
|
-
#line
|
411
|
+
#line 58 "node.c.erb"
|
411
412
|
case PM_EMBEDDED_STATEMENTS_NODE: {
|
412
413
|
pm_embedded_statements_node_t *cast = (pm_embedded_statements_node_t *) node;
|
413
414
|
if (cast->statements != NULL) {
|
@@ -415,13 +416,13 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
415
416
|
}
|
416
417
|
break;
|
417
418
|
}
|
418
|
-
#line
|
419
|
+
#line 58 "node.c.erb"
|
419
420
|
case PM_EMBEDDED_VARIABLE_NODE: {
|
420
421
|
pm_embedded_variable_node_t *cast = (pm_embedded_variable_node_t *) node;
|
421
422
|
pm_node_destroy(parser, (pm_node_t *)cast->variable);
|
422
423
|
break;
|
423
424
|
}
|
424
|
-
#line
|
425
|
+
#line 58 "node.c.erb"
|
425
426
|
case PM_ENSURE_NODE: {
|
426
427
|
pm_ensure_node_t *cast = (pm_ensure_node_t *) node;
|
427
428
|
if (cast->statements != NULL) {
|
@@ -429,11 +430,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
429
430
|
}
|
430
431
|
break;
|
431
432
|
}
|
432
|
-
#line
|
433
|
+
#line 58 "node.c.erb"
|
433
434
|
case PM_FALSE_NODE: {
|
434
435
|
break;
|
435
436
|
}
|
436
|
-
#line
|
437
|
+
#line 58 "node.c.erb"
|
437
438
|
case PM_FIND_PATTERN_NODE: {
|
438
439
|
pm_find_pattern_node_t *cast = (pm_find_pattern_node_t *) node;
|
439
440
|
if (cast->constant != NULL) {
|
@@ -444,7 +445,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
444
445
|
pm_node_destroy(parser, (pm_node_t *)cast->right);
|
445
446
|
break;
|
446
447
|
}
|
447
|
-
#line
|
448
|
+
#line 58 "node.c.erb"
|
448
449
|
case PM_FLIP_FLOP_NODE: {
|
449
450
|
pm_flip_flop_node_t *cast = (pm_flip_flop_node_t *) node;
|
450
451
|
if (cast->left != NULL) {
|
@@ -455,11 +456,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
455
456
|
}
|
456
457
|
break;
|
457
458
|
}
|
458
|
-
#line
|
459
|
+
#line 58 "node.c.erb"
|
459
460
|
case PM_FLOAT_NODE: {
|
460
461
|
break;
|
461
462
|
}
|
462
|
-
#line
|
463
|
+
#line 58 "node.c.erb"
|
463
464
|
case PM_FOR_NODE: {
|
464
465
|
pm_for_node_t *cast = (pm_for_node_t *) node;
|
465
466
|
pm_node_destroy(parser, (pm_node_t *)cast->index);
|
@@ -469,15 +470,15 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
469
470
|
}
|
470
471
|
break;
|
471
472
|
}
|
472
|
-
#line
|
473
|
+
#line 58 "node.c.erb"
|
473
474
|
case PM_FORWARDING_ARGUMENTS_NODE: {
|
474
475
|
break;
|
475
476
|
}
|
476
|
-
#line
|
477
|
+
#line 58 "node.c.erb"
|
477
478
|
case PM_FORWARDING_PARAMETER_NODE: {
|
478
479
|
break;
|
479
480
|
}
|
480
|
-
#line
|
481
|
+
#line 58 "node.c.erb"
|
481
482
|
case PM_FORWARDING_SUPER_NODE: {
|
482
483
|
pm_forwarding_super_node_t *cast = (pm_forwarding_super_node_t *) node;
|
483
484
|
if (cast->block != NULL) {
|
@@ -485,45 +486,45 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
485
486
|
}
|
486
487
|
break;
|
487
488
|
}
|
488
|
-
#line
|
489
|
+
#line 58 "node.c.erb"
|
489
490
|
case PM_GLOBAL_VARIABLE_AND_WRITE_NODE: {
|
490
491
|
pm_global_variable_and_write_node_t *cast = (pm_global_variable_and_write_node_t *) node;
|
491
492
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
492
493
|
break;
|
493
494
|
}
|
494
|
-
#line
|
495
|
+
#line 58 "node.c.erb"
|
495
496
|
case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
496
497
|
pm_global_variable_operator_write_node_t *cast = (pm_global_variable_operator_write_node_t *) node;
|
497
498
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
498
499
|
break;
|
499
500
|
}
|
500
|
-
#line
|
501
|
+
#line 58 "node.c.erb"
|
501
502
|
case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
|
502
503
|
pm_global_variable_or_write_node_t *cast = (pm_global_variable_or_write_node_t *) node;
|
503
504
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
504
505
|
break;
|
505
506
|
}
|
506
|
-
#line
|
507
|
+
#line 58 "node.c.erb"
|
507
508
|
case PM_GLOBAL_VARIABLE_READ_NODE: {
|
508
509
|
break;
|
509
510
|
}
|
510
|
-
#line
|
511
|
+
#line 58 "node.c.erb"
|
511
512
|
case PM_GLOBAL_VARIABLE_TARGET_NODE: {
|
512
513
|
break;
|
513
514
|
}
|
514
|
-
#line
|
515
|
+
#line 58 "node.c.erb"
|
515
516
|
case PM_GLOBAL_VARIABLE_WRITE_NODE: {
|
516
517
|
pm_global_variable_write_node_t *cast = (pm_global_variable_write_node_t *) node;
|
517
518
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
518
519
|
break;
|
519
520
|
}
|
520
|
-
#line
|
521
|
+
#line 58 "node.c.erb"
|
521
522
|
case PM_HASH_NODE: {
|
522
523
|
pm_hash_node_t *cast = (pm_hash_node_t *) node;
|
523
524
|
pm_node_list_free(parser, &cast->elements);
|
524
525
|
break;
|
525
526
|
}
|
526
|
-
#line
|
527
|
+
#line 58 "node.c.erb"
|
527
528
|
case PM_HASH_PATTERN_NODE: {
|
528
529
|
pm_hash_pattern_node_t *cast = (pm_hash_pattern_node_t *) node;
|
529
530
|
if (cast->constant != NULL) {
|
@@ -535,7 +536,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
535
536
|
}
|
536
537
|
break;
|
537
538
|
}
|
538
|
-
#line
|
539
|
+
#line 58 "node.c.erb"
|
539
540
|
case PM_IF_NODE: {
|
540
541
|
pm_if_node_t *cast = (pm_if_node_t *) node;
|
541
542
|
pm_node_destroy(parser, (pm_node_t *)cast->predicate);
|
@@ -547,19 +548,19 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
547
548
|
}
|
548
549
|
break;
|
549
550
|
}
|
550
|
-
#line
|
551
|
+
#line 58 "node.c.erb"
|
551
552
|
case PM_IMAGINARY_NODE: {
|
552
553
|
pm_imaginary_node_t *cast = (pm_imaginary_node_t *) node;
|
553
554
|
pm_node_destroy(parser, (pm_node_t *)cast->numeric);
|
554
555
|
break;
|
555
556
|
}
|
556
|
-
#line
|
557
|
+
#line 58 "node.c.erb"
|
557
558
|
case PM_IMPLICIT_NODE: {
|
558
559
|
pm_implicit_node_t *cast = (pm_implicit_node_t *) node;
|
559
560
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
560
561
|
break;
|
561
562
|
}
|
562
|
-
#line
|
563
|
+
#line 58 "node.c.erb"
|
563
564
|
case PM_IN_NODE: {
|
564
565
|
pm_in_node_t *cast = (pm_in_node_t *) node;
|
565
566
|
pm_node_destroy(parser, (pm_node_t *)cast->pattern);
|
@@ -568,7 +569,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
568
569
|
}
|
569
570
|
break;
|
570
571
|
}
|
571
|
-
#line
|
572
|
+
#line 58 "node.c.erb"
|
572
573
|
case PM_INDEX_AND_WRITE_NODE: {
|
573
574
|
pm_index_and_write_node_t *cast = (pm_index_and_write_node_t *) node;
|
574
575
|
if (cast->receiver != NULL) {
|
@@ -583,7 +584,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
583
584
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
584
585
|
break;
|
585
586
|
}
|
586
|
-
#line
|
587
|
+
#line 58 "node.c.erb"
|
587
588
|
case PM_INDEX_OPERATOR_WRITE_NODE: {
|
588
589
|
pm_index_operator_write_node_t *cast = (pm_index_operator_write_node_t *) node;
|
589
590
|
if (cast->receiver != NULL) {
|
@@ -598,7 +599,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
598
599
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
599
600
|
break;
|
600
601
|
}
|
601
|
-
#line
|
602
|
+
#line 58 "node.c.erb"
|
602
603
|
case PM_INDEX_OR_WRITE_NODE: {
|
603
604
|
pm_index_or_write_node_t *cast = (pm_index_or_write_node_t *) node;
|
604
605
|
if (cast->receiver != NULL) {
|
@@ -613,91 +614,83 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
613
614
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
614
615
|
break;
|
615
616
|
}
|
616
|
-
#line
|
617
|
+
#line 58 "node.c.erb"
|
617
618
|
case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
|
618
619
|
pm_instance_variable_and_write_node_t *cast = (pm_instance_variable_and_write_node_t *) node;
|
619
620
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
620
621
|
break;
|
621
622
|
}
|
622
|
-
#line
|
623
|
+
#line 58 "node.c.erb"
|
623
624
|
case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
|
624
625
|
pm_instance_variable_operator_write_node_t *cast = (pm_instance_variable_operator_write_node_t *) node;
|
625
626
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
626
627
|
break;
|
627
628
|
}
|
628
|
-
#line
|
629
|
+
#line 58 "node.c.erb"
|
629
630
|
case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
|
630
631
|
pm_instance_variable_or_write_node_t *cast = (pm_instance_variable_or_write_node_t *) node;
|
631
632
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
632
633
|
break;
|
633
634
|
}
|
634
|
-
#line
|
635
|
+
#line 58 "node.c.erb"
|
635
636
|
case PM_INSTANCE_VARIABLE_READ_NODE: {
|
636
637
|
break;
|
637
638
|
}
|
638
|
-
#line
|
639
|
+
#line 58 "node.c.erb"
|
639
640
|
case PM_INSTANCE_VARIABLE_TARGET_NODE: {
|
640
641
|
break;
|
641
642
|
}
|
642
|
-
#line
|
643
|
+
#line 58 "node.c.erb"
|
643
644
|
case PM_INSTANCE_VARIABLE_WRITE_NODE: {
|
644
645
|
pm_instance_variable_write_node_t *cast = (pm_instance_variable_write_node_t *) node;
|
645
646
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
646
647
|
break;
|
647
648
|
}
|
648
|
-
#line
|
649
|
+
#line 58 "node.c.erb"
|
649
650
|
case PM_INTEGER_NODE: {
|
650
651
|
break;
|
651
652
|
}
|
652
|
-
#line
|
653
|
+
#line 58 "node.c.erb"
|
653
654
|
case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
|
654
655
|
pm_interpolated_match_last_line_node_t *cast = (pm_interpolated_match_last_line_node_t *) node;
|
655
656
|
pm_node_list_free(parser, &cast->parts);
|
656
657
|
break;
|
657
658
|
}
|
658
|
-
#line
|
659
|
+
#line 58 "node.c.erb"
|
659
660
|
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
|
660
661
|
pm_interpolated_regular_expression_node_t *cast = (pm_interpolated_regular_expression_node_t *) node;
|
661
662
|
pm_node_list_free(parser, &cast->parts);
|
662
663
|
break;
|
663
664
|
}
|
664
|
-
#line
|
665
|
+
#line 58 "node.c.erb"
|
665
666
|
case PM_INTERPOLATED_STRING_NODE: {
|
666
667
|
pm_interpolated_string_node_t *cast = (pm_interpolated_string_node_t *) node;
|
667
668
|
pm_node_list_free(parser, &cast->parts);
|
668
669
|
break;
|
669
670
|
}
|
670
|
-
#line
|
671
|
+
#line 58 "node.c.erb"
|
671
672
|
case PM_INTERPOLATED_SYMBOL_NODE: {
|
672
673
|
pm_interpolated_symbol_node_t *cast = (pm_interpolated_symbol_node_t *) node;
|
673
674
|
pm_node_list_free(parser, &cast->parts);
|
674
675
|
break;
|
675
676
|
}
|
676
|
-
#line
|
677
|
+
#line 58 "node.c.erb"
|
677
678
|
case PM_INTERPOLATED_X_STRING_NODE: {
|
678
679
|
pm_interpolated_x_string_node_t *cast = (pm_interpolated_x_string_node_t *) node;
|
679
680
|
pm_node_list_free(parser, &cast->parts);
|
680
681
|
break;
|
681
682
|
}
|
682
|
-
#line
|
683
|
+
#line 58 "node.c.erb"
|
683
684
|
case PM_KEYWORD_HASH_NODE: {
|
684
685
|
pm_keyword_hash_node_t *cast = (pm_keyword_hash_node_t *) node;
|
685
686
|
pm_node_list_free(parser, &cast->elements);
|
686
687
|
break;
|
687
688
|
}
|
688
|
-
#line
|
689
|
-
case PM_KEYWORD_PARAMETER_NODE: {
|
690
|
-
pm_keyword_parameter_node_t *cast = (pm_keyword_parameter_node_t *) node;
|
691
|
-
if (cast->value != NULL) {
|
692
|
-
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
693
|
-
}
|
694
|
-
break;
|
695
|
-
}
|
696
|
-
#line 57 "node.c.erb"
|
689
|
+
#line 58 "node.c.erb"
|
697
690
|
case PM_KEYWORD_REST_PARAMETER_NODE: {
|
698
691
|
break;
|
699
692
|
}
|
700
|
-
#line
|
693
|
+
#line 58 "node.c.erb"
|
701
694
|
case PM_LAMBDA_NODE: {
|
702
695
|
pm_lambda_node_t *cast = (pm_lambda_node_t *) node;
|
703
696
|
pm_constant_id_list_free(&cast->locals);
|
@@ -709,70 +702,70 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
709
702
|
}
|
710
703
|
break;
|
711
704
|
}
|
712
|
-
#line
|
705
|
+
#line 58 "node.c.erb"
|
713
706
|
case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
|
714
707
|
pm_local_variable_and_write_node_t *cast = (pm_local_variable_and_write_node_t *) node;
|
715
708
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
716
709
|
break;
|
717
710
|
}
|
718
|
-
#line
|
711
|
+
#line 58 "node.c.erb"
|
719
712
|
case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
720
713
|
pm_local_variable_operator_write_node_t *cast = (pm_local_variable_operator_write_node_t *) node;
|
721
714
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
722
715
|
break;
|
723
716
|
}
|
724
|
-
#line
|
717
|
+
#line 58 "node.c.erb"
|
725
718
|
case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
|
726
719
|
pm_local_variable_or_write_node_t *cast = (pm_local_variable_or_write_node_t *) node;
|
727
720
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
728
721
|
break;
|
729
722
|
}
|
730
|
-
#line
|
723
|
+
#line 58 "node.c.erb"
|
731
724
|
case PM_LOCAL_VARIABLE_READ_NODE: {
|
732
725
|
break;
|
733
726
|
}
|
734
|
-
#line
|
727
|
+
#line 58 "node.c.erb"
|
735
728
|
case PM_LOCAL_VARIABLE_TARGET_NODE: {
|
736
729
|
break;
|
737
730
|
}
|
738
|
-
#line
|
731
|
+
#line 58 "node.c.erb"
|
739
732
|
case PM_LOCAL_VARIABLE_WRITE_NODE: {
|
740
733
|
pm_local_variable_write_node_t *cast = (pm_local_variable_write_node_t *) node;
|
741
734
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
742
735
|
break;
|
743
736
|
}
|
744
|
-
#line
|
737
|
+
#line 58 "node.c.erb"
|
745
738
|
case PM_MATCH_LAST_LINE_NODE: {
|
746
739
|
pm_match_last_line_node_t *cast = (pm_match_last_line_node_t *) node;
|
747
740
|
pm_string_free(&cast->unescaped);
|
748
741
|
break;
|
749
742
|
}
|
750
|
-
#line
|
743
|
+
#line 58 "node.c.erb"
|
751
744
|
case PM_MATCH_PREDICATE_NODE: {
|
752
745
|
pm_match_predicate_node_t *cast = (pm_match_predicate_node_t *) node;
|
753
746
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
754
747
|
pm_node_destroy(parser, (pm_node_t *)cast->pattern);
|
755
748
|
break;
|
756
749
|
}
|
757
|
-
#line
|
750
|
+
#line 58 "node.c.erb"
|
758
751
|
case PM_MATCH_REQUIRED_NODE: {
|
759
752
|
pm_match_required_node_t *cast = (pm_match_required_node_t *) node;
|
760
753
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
761
754
|
pm_node_destroy(parser, (pm_node_t *)cast->pattern);
|
762
755
|
break;
|
763
756
|
}
|
764
|
-
#line
|
757
|
+
#line 58 "node.c.erb"
|
765
758
|
case PM_MATCH_WRITE_NODE: {
|
766
759
|
pm_match_write_node_t *cast = (pm_match_write_node_t *) node;
|
767
760
|
pm_node_destroy(parser, (pm_node_t *)cast->call);
|
768
761
|
pm_constant_id_list_free(&cast->locals);
|
769
762
|
break;
|
770
763
|
}
|
771
|
-
#line
|
764
|
+
#line 58 "node.c.erb"
|
772
765
|
case PM_MISSING_NODE: {
|
773
766
|
break;
|
774
767
|
}
|
775
|
-
#line
|
768
|
+
#line 58 "node.c.erb"
|
776
769
|
case PM_MODULE_NODE: {
|
777
770
|
pm_module_node_t *cast = (pm_module_node_t *) node;
|
778
771
|
pm_constant_id_list_free(&cast->locals);
|
@@ -782,7 +775,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
782
775
|
}
|
783
776
|
break;
|
784
777
|
}
|
785
|
-
#line
|
778
|
+
#line 58 "node.c.erb"
|
786
779
|
case PM_MULTI_TARGET_NODE: {
|
787
780
|
pm_multi_target_node_t *cast = (pm_multi_target_node_t *) node;
|
788
781
|
pm_node_list_free(parser, &cast->lefts);
|
@@ -792,7 +785,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
792
785
|
pm_node_list_free(parser, &cast->rights);
|
793
786
|
break;
|
794
787
|
}
|
795
|
-
#line
|
788
|
+
#line 58 "node.c.erb"
|
796
789
|
case PM_MULTI_WRITE_NODE: {
|
797
790
|
pm_multi_write_node_t *cast = (pm_multi_write_node_t *) node;
|
798
791
|
pm_node_list_free(parser, &cast->lefts);
|
@@ -803,7 +796,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
803
796
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
804
797
|
break;
|
805
798
|
}
|
806
|
-
#line
|
799
|
+
#line 58 "node.c.erb"
|
807
800
|
case PM_NEXT_NODE: {
|
808
801
|
pm_next_node_t *cast = (pm_next_node_t *) node;
|
809
802
|
if (cast->arguments != NULL) {
|
@@ -811,32 +804,38 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
811
804
|
}
|
812
805
|
break;
|
813
806
|
}
|
814
|
-
#line
|
807
|
+
#line 58 "node.c.erb"
|
815
808
|
case PM_NIL_NODE: {
|
816
809
|
break;
|
817
810
|
}
|
818
|
-
#line
|
811
|
+
#line 58 "node.c.erb"
|
819
812
|
case PM_NO_KEYWORDS_PARAMETER_NODE: {
|
820
813
|
break;
|
821
814
|
}
|
822
|
-
#line
|
815
|
+
#line 58 "node.c.erb"
|
823
816
|
case PM_NUMBERED_REFERENCE_READ_NODE: {
|
824
817
|
break;
|
825
818
|
}
|
826
|
-
#line
|
819
|
+
#line 58 "node.c.erb"
|
820
|
+
case PM_OPTIONAL_KEYWORD_PARAMETER_NODE: {
|
821
|
+
pm_optional_keyword_parameter_node_t *cast = (pm_optional_keyword_parameter_node_t *) node;
|
822
|
+
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
823
|
+
break;
|
824
|
+
}
|
825
|
+
#line 58 "node.c.erb"
|
827
826
|
case PM_OPTIONAL_PARAMETER_NODE: {
|
828
827
|
pm_optional_parameter_node_t *cast = (pm_optional_parameter_node_t *) node;
|
829
828
|
pm_node_destroy(parser, (pm_node_t *)cast->value);
|
830
829
|
break;
|
831
830
|
}
|
832
|
-
#line
|
831
|
+
#line 58 "node.c.erb"
|
833
832
|
case PM_OR_NODE: {
|
834
833
|
pm_or_node_t *cast = (pm_or_node_t *) node;
|
835
834
|
pm_node_destroy(parser, (pm_node_t *)cast->left);
|
836
835
|
pm_node_destroy(parser, (pm_node_t *)cast->right);
|
837
836
|
break;
|
838
837
|
}
|
839
|
-
#line
|
838
|
+
#line 58 "node.c.erb"
|
840
839
|
case PM_PARAMETERS_NODE: {
|
841
840
|
pm_parameters_node_t *cast = (pm_parameters_node_t *) node;
|
842
841
|
pm_node_list_free(parser, &cast->requireds);
|
@@ -854,7 +853,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
854
853
|
}
|
855
854
|
break;
|
856
855
|
}
|
857
|
-
#line
|
856
|
+
#line 58 "node.c.erb"
|
858
857
|
case PM_PARENTHESES_NODE: {
|
859
858
|
pm_parentheses_node_t *cast = (pm_parentheses_node_t *) node;
|
860
859
|
if (cast->body != NULL) {
|
@@ -862,19 +861,19 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
862
861
|
}
|
863
862
|
break;
|
864
863
|
}
|
865
|
-
#line
|
864
|
+
#line 58 "node.c.erb"
|
866
865
|
case PM_PINNED_EXPRESSION_NODE: {
|
867
866
|
pm_pinned_expression_node_t *cast = (pm_pinned_expression_node_t *) node;
|
868
867
|
pm_node_destroy(parser, (pm_node_t *)cast->expression);
|
869
868
|
break;
|
870
869
|
}
|
871
|
-
#line
|
870
|
+
#line 58 "node.c.erb"
|
872
871
|
case PM_PINNED_VARIABLE_NODE: {
|
873
872
|
pm_pinned_variable_node_t *cast = (pm_pinned_variable_node_t *) node;
|
874
873
|
pm_node_destroy(parser, (pm_node_t *)cast->variable);
|
875
874
|
break;
|
876
875
|
}
|
877
|
-
#line
|
876
|
+
#line 58 "node.c.erb"
|
878
877
|
case PM_POST_EXECUTION_NODE: {
|
879
878
|
pm_post_execution_node_t *cast = (pm_post_execution_node_t *) node;
|
880
879
|
if (cast->statements != NULL) {
|
@@ -882,7 +881,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
882
881
|
}
|
883
882
|
break;
|
884
883
|
}
|
885
|
-
#line
|
884
|
+
#line 58 "node.c.erb"
|
886
885
|
case PM_PRE_EXECUTION_NODE: {
|
887
886
|
pm_pre_execution_node_t *cast = (pm_pre_execution_node_t *) node;
|
888
887
|
if (cast->statements != NULL) {
|
@@ -890,14 +889,14 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
890
889
|
}
|
891
890
|
break;
|
892
891
|
}
|
893
|
-
#line
|
892
|
+
#line 58 "node.c.erb"
|
894
893
|
case PM_PROGRAM_NODE: {
|
895
894
|
pm_program_node_t *cast = (pm_program_node_t *) node;
|
896
895
|
pm_constant_id_list_free(&cast->locals);
|
897
896
|
pm_node_destroy(parser, (pm_node_t *)cast->statements);
|
898
897
|
break;
|
899
898
|
}
|
900
|
-
#line
|
899
|
+
#line 58 "node.c.erb"
|
901
900
|
case PM_RANGE_NODE: {
|
902
901
|
pm_range_node_t *cast = (pm_range_node_t *) node;
|
903
902
|
if (cast->left != NULL) {
|
@@ -908,34 +907,38 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
908
907
|
}
|
909
908
|
break;
|
910
909
|
}
|
911
|
-
#line
|
910
|
+
#line 58 "node.c.erb"
|
912
911
|
case PM_RATIONAL_NODE: {
|
913
912
|
pm_rational_node_t *cast = (pm_rational_node_t *) node;
|
914
913
|
pm_node_destroy(parser, (pm_node_t *)cast->numeric);
|
915
914
|
break;
|
916
915
|
}
|
917
|
-
#line
|
916
|
+
#line 58 "node.c.erb"
|
918
917
|
case PM_REDO_NODE: {
|
919
918
|
break;
|
920
919
|
}
|
921
|
-
#line
|
920
|
+
#line 58 "node.c.erb"
|
922
921
|
case PM_REGULAR_EXPRESSION_NODE: {
|
923
922
|
pm_regular_expression_node_t *cast = (pm_regular_expression_node_t *) node;
|
924
923
|
pm_string_free(&cast->unescaped);
|
925
924
|
break;
|
926
925
|
}
|
927
|
-
#line
|
926
|
+
#line 58 "node.c.erb"
|
927
|
+
case PM_REQUIRED_KEYWORD_PARAMETER_NODE: {
|
928
|
+
break;
|
929
|
+
}
|
930
|
+
#line 58 "node.c.erb"
|
928
931
|
case PM_REQUIRED_PARAMETER_NODE: {
|
929
932
|
break;
|
930
933
|
}
|
931
|
-
#line
|
934
|
+
#line 58 "node.c.erb"
|
932
935
|
case PM_RESCUE_MODIFIER_NODE: {
|
933
936
|
pm_rescue_modifier_node_t *cast = (pm_rescue_modifier_node_t *) node;
|
934
937
|
pm_node_destroy(parser, (pm_node_t *)cast->expression);
|
935
938
|
pm_node_destroy(parser, (pm_node_t *)cast->rescue_expression);
|
936
939
|
break;
|
937
940
|
}
|
938
|
-
#line
|
941
|
+
#line 58 "node.c.erb"
|
939
942
|
case PM_RESCUE_NODE: {
|
940
943
|
pm_rescue_node_t *cast = (pm_rescue_node_t *) node;
|
941
944
|
pm_node_list_free(parser, &cast->exceptions);
|
@@ -950,15 +953,15 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
950
953
|
}
|
951
954
|
break;
|
952
955
|
}
|
953
|
-
#line
|
956
|
+
#line 58 "node.c.erb"
|
954
957
|
case PM_REST_PARAMETER_NODE: {
|
955
958
|
break;
|
956
959
|
}
|
957
|
-
#line
|
960
|
+
#line 58 "node.c.erb"
|
958
961
|
case PM_RETRY_NODE: {
|
959
962
|
break;
|
960
963
|
}
|
961
|
-
#line
|
964
|
+
#line 58 "node.c.erb"
|
962
965
|
case PM_RETURN_NODE: {
|
963
966
|
pm_return_node_t *cast = (pm_return_node_t *) node;
|
964
967
|
if (cast->arguments != NULL) {
|
@@ -966,11 +969,11 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
966
969
|
}
|
967
970
|
break;
|
968
971
|
}
|
969
|
-
#line
|
972
|
+
#line 58 "node.c.erb"
|
970
973
|
case PM_SELF_NODE: {
|
971
974
|
break;
|
972
975
|
}
|
973
|
-
#line
|
976
|
+
#line 58 "node.c.erb"
|
974
977
|
case PM_SINGLETON_CLASS_NODE: {
|
975
978
|
pm_singleton_class_node_t *cast = (pm_singleton_class_node_t *) node;
|
976
979
|
pm_constant_id_list_free(&cast->locals);
|
@@ -980,21 +983,21 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
980
983
|
}
|
981
984
|
break;
|
982
985
|
}
|
983
|
-
#line
|
986
|
+
#line 58 "node.c.erb"
|
984
987
|
case PM_SOURCE_ENCODING_NODE: {
|
985
988
|
break;
|
986
989
|
}
|
987
|
-
#line
|
990
|
+
#line 58 "node.c.erb"
|
988
991
|
case PM_SOURCE_FILE_NODE: {
|
989
992
|
pm_source_file_node_t *cast = (pm_source_file_node_t *) node;
|
990
993
|
pm_string_free(&cast->filepath);
|
991
994
|
break;
|
992
995
|
}
|
993
|
-
#line
|
996
|
+
#line 58 "node.c.erb"
|
994
997
|
case PM_SOURCE_LINE_NODE: {
|
995
998
|
break;
|
996
999
|
}
|
997
|
-
#line
|
1000
|
+
#line 58 "node.c.erb"
|
998
1001
|
case PM_SPLAT_NODE: {
|
999
1002
|
pm_splat_node_t *cast = (pm_splat_node_t *) node;
|
1000
1003
|
if (cast->expression != NULL) {
|
@@ -1002,26 +1005,26 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1002
1005
|
}
|
1003
1006
|
break;
|
1004
1007
|
}
|
1005
|
-
#line
|
1008
|
+
#line 58 "node.c.erb"
|
1006
1009
|
case PM_STATEMENTS_NODE: {
|
1007
1010
|
pm_statements_node_t *cast = (pm_statements_node_t *) node;
|
1008
1011
|
pm_node_list_free(parser, &cast->body);
|
1009
1012
|
break;
|
1010
1013
|
}
|
1011
|
-
#line
|
1014
|
+
#line 58 "node.c.erb"
|
1012
1015
|
case PM_STRING_CONCAT_NODE: {
|
1013
1016
|
pm_string_concat_node_t *cast = (pm_string_concat_node_t *) node;
|
1014
1017
|
pm_node_destroy(parser, (pm_node_t *)cast->left);
|
1015
1018
|
pm_node_destroy(parser, (pm_node_t *)cast->right);
|
1016
1019
|
break;
|
1017
1020
|
}
|
1018
|
-
#line
|
1021
|
+
#line 58 "node.c.erb"
|
1019
1022
|
case PM_STRING_NODE: {
|
1020
1023
|
pm_string_node_t *cast = (pm_string_node_t *) node;
|
1021
1024
|
pm_string_free(&cast->unescaped);
|
1022
1025
|
break;
|
1023
1026
|
}
|
1024
|
-
#line
|
1027
|
+
#line 58 "node.c.erb"
|
1025
1028
|
case PM_SUPER_NODE: {
|
1026
1029
|
pm_super_node_t *cast = (pm_super_node_t *) node;
|
1027
1030
|
if (cast->arguments != NULL) {
|
@@ -1032,23 +1035,23 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1032
1035
|
}
|
1033
1036
|
break;
|
1034
1037
|
}
|
1035
|
-
#line
|
1038
|
+
#line 58 "node.c.erb"
|
1036
1039
|
case PM_SYMBOL_NODE: {
|
1037
1040
|
pm_symbol_node_t *cast = (pm_symbol_node_t *) node;
|
1038
1041
|
pm_string_free(&cast->unescaped);
|
1039
1042
|
break;
|
1040
1043
|
}
|
1041
|
-
#line
|
1044
|
+
#line 58 "node.c.erb"
|
1042
1045
|
case PM_TRUE_NODE: {
|
1043
1046
|
break;
|
1044
1047
|
}
|
1045
|
-
#line
|
1048
|
+
#line 58 "node.c.erb"
|
1046
1049
|
case PM_UNDEF_NODE: {
|
1047
1050
|
pm_undef_node_t *cast = (pm_undef_node_t *) node;
|
1048
1051
|
pm_node_list_free(parser, &cast->names);
|
1049
1052
|
break;
|
1050
1053
|
}
|
1051
|
-
#line
|
1054
|
+
#line 58 "node.c.erb"
|
1052
1055
|
case PM_UNLESS_NODE: {
|
1053
1056
|
pm_unless_node_t *cast = (pm_unless_node_t *) node;
|
1054
1057
|
pm_node_destroy(parser, (pm_node_t *)cast->predicate);
|
@@ -1060,7 +1063,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1060
1063
|
}
|
1061
1064
|
break;
|
1062
1065
|
}
|
1063
|
-
#line
|
1066
|
+
#line 58 "node.c.erb"
|
1064
1067
|
case PM_UNTIL_NODE: {
|
1065
1068
|
pm_until_node_t *cast = (pm_until_node_t *) node;
|
1066
1069
|
pm_node_destroy(parser, (pm_node_t *)cast->predicate);
|
@@ -1069,7 +1072,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1069
1072
|
}
|
1070
1073
|
break;
|
1071
1074
|
}
|
1072
|
-
#line
|
1075
|
+
#line 58 "node.c.erb"
|
1073
1076
|
case PM_WHEN_NODE: {
|
1074
1077
|
pm_when_node_t *cast = (pm_when_node_t *) node;
|
1075
1078
|
pm_node_list_free(parser, &cast->conditions);
|
@@ -1078,7 +1081,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1078
1081
|
}
|
1079
1082
|
break;
|
1080
1083
|
}
|
1081
|
-
#line
|
1084
|
+
#line 58 "node.c.erb"
|
1082
1085
|
case PM_WHILE_NODE: {
|
1083
1086
|
pm_while_node_t *cast = (pm_while_node_t *) node;
|
1084
1087
|
pm_node_destroy(parser, (pm_node_t *)cast->predicate);
|
@@ -1087,13 +1090,13 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1087
1090
|
}
|
1088
1091
|
break;
|
1089
1092
|
}
|
1090
|
-
#line
|
1093
|
+
#line 58 "node.c.erb"
|
1091
1094
|
case PM_X_STRING_NODE: {
|
1092
1095
|
pm_x_string_node_t *cast = (pm_x_string_node_t *) node;
|
1093
1096
|
pm_string_free(&cast->unescaped);
|
1094
1097
|
break;
|
1095
1098
|
}
|
1096
|
-
#line
|
1099
|
+
#line 58 "node.c.erb"
|
1097
1100
|
case PM_YIELD_NODE: {
|
1098
1101
|
pm_yield_node_t *cast = (pm_yield_node_t *) node;
|
1099
1102
|
if (cast->arguments != NULL) {
|
@@ -1101,7 +1104,7 @@ pm_node_destroy(pm_parser_t *parser, pm_node_t *node) {
|
|
1101
1104
|
}
|
1102
1105
|
break;
|
1103
1106
|
}
|
1104
|
-
#line
|
1107
|
+
#line 85 "node.c.erb"
|
1105
1108
|
default:
|
1106
1109
|
assert(false && "unreachable");
|
1107
1110
|
break;
|
@@ -1118,7 +1121,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1118
1121
|
// as it should never be generated
|
1119
1122
|
case PM_SCOPE_NODE:
|
1120
1123
|
return;
|
1121
|
-
#line
|
1124
|
+
#line 103 "node.c.erb"
|
1122
1125
|
case PM_ALIAS_GLOBAL_VARIABLE_NODE: {
|
1123
1126
|
pm_alias_global_variable_node_t *cast = (pm_alias_global_variable_node_t *) node;
|
1124
1127
|
memsize->memsize += sizeof(*cast);
|
@@ -1126,7 +1129,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1126
1129
|
pm_node_memsize_node((pm_node_t *)cast->old_name, memsize);
|
1127
1130
|
break;
|
1128
1131
|
}
|
1129
|
-
#line
|
1132
|
+
#line 103 "node.c.erb"
|
1130
1133
|
case PM_ALIAS_METHOD_NODE: {
|
1131
1134
|
pm_alias_method_node_t *cast = (pm_alias_method_node_t *) node;
|
1132
1135
|
memsize->memsize += sizeof(*cast);
|
@@ -1134,7 +1137,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1134
1137
|
pm_node_memsize_node((pm_node_t *)cast->old_name, memsize);
|
1135
1138
|
break;
|
1136
1139
|
}
|
1137
|
-
#line
|
1140
|
+
#line 103 "node.c.erb"
|
1138
1141
|
case PM_ALTERNATION_PATTERN_NODE: {
|
1139
1142
|
pm_alternation_pattern_node_t *cast = (pm_alternation_pattern_node_t *) node;
|
1140
1143
|
memsize->memsize += sizeof(*cast);
|
@@ -1142,7 +1145,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1142
1145
|
pm_node_memsize_node((pm_node_t *)cast->right, memsize);
|
1143
1146
|
break;
|
1144
1147
|
}
|
1145
|
-
#line
|
1148
|
+
#line 103 "node.c.erb"
|
1146
1149
|
case PM_AND_NODE: {
|
1147
1150
|
pm_and_node_t *cast = (pm_and_node_t *) node;
|
1148
1151
|
memsize->memsize += sizeof(*cast);
|
@@ -1150,7 +1153,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1150
1153
|
pm_node_memsize_node((pm_node_t *)cast->right, memsize);
|
1151
1154
|
break;
|
1152
1155
|
}
|
1153
|
-
#line
|
1156
|
+
#line 103 "node.c.erb"
|
1154
1157
|
case PM_ARGUMENTS_NODE: {
|
1155
1158
|
pm_arguments_node_t *cast = (pm_arguments_node_t *) node;
|
1156
1159
|
memsize->memsize += sizeof(*cast);
|
@@ -1159,7 +1162,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1159
1162
|
memsize->memsize += pm_node_list_memsize(&cast->arguments, memsize);
|
1160
1163
|
break;
|
1161
1164
|
}
|
1162
|
-
#line
|
1165
|
+
#line 103 "node.c.erb"
|
1163
1166
|
case PM_ARRAY_NODE: {
|
1164
1167
|
pm_array_node_t *cast = (pm_array_node_t *) node;
|
1165
1168
|
memsize->memsize += sizeof(*cast);
|
@@ -1168,7 +1171,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1168
1171
|
memsize->memsize += pm_node_list_memsize(&cast->elements, memsize);
|
1169
1172
|
break;
|
1170
1173
|
}
|
1171
|
-
#line
|
1174
|
+
#line 103 "node.c.erb"
|
1172
1175
|
case PM_ARRAY_PATTERN_NODE: {
|
1173
1176
|
pm_array_pattern_node_t *cast = (pm_array_pattern_node_t *) node;
|
1174
1177
|
memsize->memsize += sizeof(*cast);
|
@@ -1184,7 +1187,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1184
1187
|
memsize->memsize += pm_node_list_memsize(&cast->posts, memsize);
|
1185
1188
|
break;
|
1186
1189
|
}
|
1187
|
-
#line
|
1190
|
+
#line 103 "node.c.erb"
|
1188
1191
|
case PM_ASSOC_NODE: {
|
1189
1192
|
pm_assoc_node_t *cast = (pm_assoc_node_t *) node;
|
1190
1193
|
memsize->memsize += sizeof(*cast);
|
@@ -1194,7 +1197,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1194
1197
|
}
|
1195
1198
|
break;
|
1196
1199
|
}
|
1197
|
-
#line
|
1200
|
+
#line 103 "node.c.erb"
|
1198
1201
|
case PM_ASSOC_SPLAT_NODE: {
|
1199
1202
|
pm_assoc_splat_node_t *cast = (pm_assoc_splat_node_t *) node;
|
1200
1203
|
memsize->memsize += sizeof(*cast);
|
@@ -1203,13 +1206,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1203
1206
|
}
|
1204
1207
|
break;
|
1205
1208
|
}
|
1206
|
-
#line
|
1209
|
+
#line 103 "node.c.erb"
|
1207
1210
|
case PM_BACK_REFERENCE_READ_NODE: {
|
1208
1211
|
pm_back_reference_read_node_t *cast = (pm_back_reference_read_node_t *) node;
|
1209
1212
|
memsize->memsize += sizeof(*cast);
|
1210
1213
|
break;
|
1211
1214
|
}
|
1212
|
-
#line
|
1215
|
+
#line 103 "node.c.erb"
|
1213
1216
|
case PM_BEGIN_NODE: {
|
1214
1217
|
pm_begin_node_t *cast = (pm_begin_node_t *) node;
|
1215
1218
|
memsize->memsize += sizeof(*cast);
|
@@ -1227,7 +1230,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1227
1230
|
}
|
1228
1231
|
break;
|
1229
1232
|
}
|
1230
|
-
#line
|
1233
|
+
#line 103 "node.c.erb"
|
1231
1234
|
case PM_BLOCK_ARGUMENT_NODE: {
|
1232
1235
|
pm_block_argument_node_t *cast = (pm_block_argument_node_t *) node;
|
1233
1236
|
memsize->memsize += sizeof(*cast);
|
@@ -1236,13 +1239,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1236
1239
|
}
|
1237
1240
|
break;
|
1238
1241
|
}
|
1239
|
-
#line
|
1242
|
+
#line 103 "node.c.erb"
|
1240
1243
|
case PM_BLOCK_LOCAL_VARIABLE_NODE: {
|
1241
1244
|
pm_block_local_variable_node_t *cast = (pm_block_local_variable_node_t *) node;
|
1242
1245
|
memsize->memsize += sizeof(*cast);
|
1243
1246
|
break;
|
1244
1247
|
}
|
1245
|
-
#line
|
1248
|
+
#line 103 "node.c.erb"
|
1246
1249
|
case PM_BLOCK_NODE: {
|
1247
1250
|
pm_block_node_t *cast = (pm_block_node_t *) node;
|
1248
1251
|
memsize->memsize += sizeof(*cast);
|
@@ -1257,13 +1260,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1257
1260
|
}
|
1258
1261
|
break;
|
1259
1262
|
}
|
1260
|
-
#line
|
1263
|
+
#line 103 "node.c.erb"
|
1261
1264
|
case PM_BLOCK_PARAMETER_NODE: {
|
1262
1265
|
pm_block_parameter_node_t *cast = (pm_block_parameter_node_t *) node;
|
1263
1266
|
memsize->memsize += sizeof(*cast);
|
1264
1267
|
break;
|
1265
1268
|
}
|
1266
|
-
#line
|
1269
|
+
#line 103 "node.c.erb"
|
1267
1270
|
case PM_BLOCK_PARAMETERS_NODE: {
|
1268
1271
|
pm_block_parameters_node_t *cast = (pm_block_parameters_node_t *) node;
|
1269
1272
|
memsize->memsize += sizeof(*cast);
|
@@ -1275,7 +1278,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1275
1278
|
memsize->memsize += pm_node_list_memsize(&cast->locals, memsize);
|
1276
1279
|
break;
|
1277
1280
|
}
|
1278
|
-
#line
|
1281
|
+
#line 103 "node.c.erb"
|
1279
1282
|
case PM_BREAK_NODE: {
|
1280
1283
|
pm_break_node_t *cast = (pm_break_node_t *) node;
|
1281
1284
|
memsize->memsize += sizeof(*cast);
|
@@ -1284,7 +1287,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1284
1287
|
}
|
1285
1288
|
break;
|
1286
1289
|
}
|
1287
|
-
#line
|
1290
|
+
#line 103 "node.c.erb"
|
1288
1291
|
case PM_CALL_AND_WRITE_NODE: {
|
1289
1292
|
pm_call_and_write_node_t *cast = (pm_call_and_write_node_t *) node;
|
1290
1293
|
memsize->memsize += sizeof(*cast);
|
@@ -1294,7 +1297,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1294
1297
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1295
1298
|
break;
|
1296
1299
|
}
|
1297
|
-
#line
|
1300
|
+
#line 103 "node.c.erb"
|
1298
1301
|
case PM_CALL_NODE: {
|
1299
1302
|
pm_call_node_t *cast = (pm_call_node_t *) node;
|
1300
1303
|
memsize->memsize += sizeof(*cast);
|
@@ -1309,7 +1312,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1309
1312
|
}
|
1310
1313
|
break;
|
1311
1314
|
}
|
1312
|
-
#line
|
1315
|
+
#line 103 "node.c.erb"
|
1313
1316
|
case PM_CALL_OPERATOR_WRITE_NODE: {
|
1314
1317
|
pm_call_operator_write_node_t *cast = (pm_call_operator_write_node_t *) node;
|
1315
1318
|
memsize->memsize += sizeof(*cast);
|
@@ -1319,7 +1322,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1319
1322
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1320
1323
|
break;
|
1321
1324
|
}
|
1322
|
-
#line
|
1325
|
+
#line 103 "node.c.erb"
|
1323
1326
|
case PM_CALL_OR_WRITE_NODE: {
|
1324
1327
|
pm_call_or_write_node_t *cast = (pm_call_or_write_node_t *) node;
|
1325
1328
|
memsize->memsize += sizeof(*cast);
|
@@ -1329,7 +1332,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1329
1332
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1330
1333
|
break;
|
1331
1334
|
}
|
1332
|
-
#line
|
1335
|
+
#line 103 "node.c.erb"
|
1333
1336
|
case PM_CAPTURE_PATTERN_NODE: {
|
1334
1337
|
pm_capture_pattern_node_t *cast = (pm_capture_pattern_node_t *) node;
|
1335
1338
|
memsize->memsize += sizeof(*cast);
|
@@ -1337,7 +1340,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1337
1340
|
pm_node_memsize_node((pm_node_t *)cast->target, memsize);
|
1338
1341
|
break;
|
1339
1342
|
}
|
1340
|
-
#line
|
1343
|
+
#line 103 "node.c.erb"
|
1341
1344
|
case PM_CASE_NODE: {
|
1342
1345
|
pm_case_node_t *cast = (pm_case_node_t *) node;
|
1343
1346
|
memsize->memsize += sizeof(*cast);
|
@@ -1352,7 +1355,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1352
1355
|
}
|
1353
1356
|
break;
|
1354
1357
|
}
|
1355
|
-
#line
|
1358
|
+
#line 103 "node.c.erb"
|
1356
1359
|
case PM_CLASS_NODE: {
|
1357
1360
|
pm_class_node_t *cast = (pm_class_node_t *) node;
|
1358
1361
|
memsize->memsize += sizeof(*cast);
|
@@ -1368,68 +1371,68 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1368
1371
|
}
|
1369
1372
|
break;
|
1370
1373
|
}
|
1371
|
-
#line
|
1374
|
+
#line 103 "node.c.erb"
|
1372
1375
|
case PM_CLASS_VARIABLE_AND_WRITE_NODE: {
|
1373
1376
|
pm_class_variable_and_write_node_t *cast = (pm_class_variable_and_write_node_t *) node;
|
1374
1377
|
memsize->memsize += sizeof(*cast);
|
1375
1378
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1376
1379
|
break;
|
1377
1380
|
}
|
1378
|
-
#line
|
1381
|
+
#line 103 "node.c.erb"
|
1379
1382
|
case PM_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
|
1380
1383
|
pm_class_variable_operator_write_node_t *cast = (pm_class_variable_operator_write_node_t *) node;
|
1381
1384
|
memsize->memsize += sizeof(*cast);
|
1382
1385
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1383
1386
|
break;
|
1384
1387
|
}
|
1385
|
-
#line
|
1388
|
+
#line 103 "node.c.erb"
|
1386
1389
|
case PM_CLASS_VARIABLE_OR_WRITE_NODE: {
|
1387
1390
|
pm_class_variable_or_write_node_t *cast = (pm_class_variable_or_write_node_t *) node;
|
1388
1391
|
memsize->memsize += sizeof(*cast);
|
1389
1392
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1390
1393
|
break;
|
1391
1394
|
}
|
1392
|
-
#line
|
1395
|
+
#line 103 "node.c.erb"
|
1393
1396
|
case PM_CLASS_VARIABLE_READ_NODE: {
|
1394
1397
|
pm_class_variable_read_node_t *cast = (pm_class_variable_read_node_t *) node;
|
1395
1398
|
memsize->memsize += sizeof(*cast);
|
1396
1399
|
break;
|
1397
1400
|
}
|
1398
|
-
#line
|
1401
|
+
#line 103 "node.c.erb"
|
1399
1402
|
case PM_CLASS_VARIABLE_TARGET_NODE: {
|
1400
1403
|
pm_class_variable_target_node_t *cast = (pm_class_variable_target_node_t *) node;
|
1401
1404
|
memsize->memsize += sizeof(*cast);
|
1402
1405
|
break;
|
1403
1406
|
}
|
1404
|
-
#line
|
1407
|
+
#line 103 "node.c.erb"
|
1405
1408
|
case PM_CLASS_VARIABLE_WRITE_NODE: {
|
1406
1409
|
pm_class_variable_write_node_t *cast = (pm_class_variable_write_node_t *) node;
|
1407
1410
|
memsize->memsize += sizeof(*cast);
|
1408
1411
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1409
1412
|
break;
|
1410
1413
|
}
|
1411
|
-
#line
|
1414
|
+
#line 103 "node.c.erb"
|
1412
1415
|
case PM_CONSTANT_AND_WRITE_NODE: {
|
1413
1416
|
pm_constant_and_write_node_t *cast = (pm_constant_and_write_node_t *) node;
|
1414
1417
|
memsize->memsize += sizeof(*cast);
|
1415
1418
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1416
1419
|
break;
|
1417
1420
|
}
|
1418
|
-
#line
|
1421
|
+
#line 103 "node.c.erb"
|
1419
1422
|
case PM_CONSTANT_OPERATOR_WRITE_NODE: {
|
1420
1423
|
pm_constant_operator_write_node_t *cast = (pm_constant_operator_write_node_t *) node;
|
1421
1424
|
memsize->memsize += sizeof(*cast);
|
1422
1425
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1423
1426
|
break;
|
1424
1427
|
}
|
1425
|
-
#line
|
1428
|
+
#line 103 "node.c.erb"
|
1426
1429
|
case PM_CONSTANT_OR_WRITE_NODE: {
|
1427
1430
|
pm_constant_or_write_node_t *cast = (pm_constant_or_write_node_t *) node;
|
1428
1431
|
memsize->memsize += sizeof(*cast);
|
1429
1432
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1430
1433
|
break;
|
1431
1434
|
}
|
1432
|
-
#line
|
1435
|
+
#line 103 "node.c.erb"
|
1433
1436
|
case PM_CONSTANT_PATH_AND_WRITE_NODE: {
|
1434
1437
|
pm_constant_path_and_write_node_t *cast = (pm_constant_path_and_write_node_t *) node;
|
1435
1438
|
memsize->memsize += sizeof(*cast);
|
@@ -1437,7 +1440,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1437
1440
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1438
1441
|
break;
|
1439
1442
|
}
|
1440
|
-
#line
|
1443
|
+
#line 103 "node.c.erb"
|
1441
1444
|
case PM_CONSTANT_PATH_NODE: {
|
1442
1445
|
pm_constant_path_node_t *cast = (pm_constant_path_node_t *) node;
|
1443
1446
|
memsize->memsize += sizeof(*cast);
|
@@ -1447,7 +1450,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1447
1450
|
pm_node_memsize_node((pm_node_t *)cast->child, memsize);
|
1448
1451
|
break;
|
1449
1452
|
}
|
1450
|
-
#line
|
1453
|
+
#line 103 "node.c.erb"
|
1451
1454
|
case PM_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
|
1452
1455
|
pm_constant_path_operator_write_node_t *cast = (pm_constant_path_operator_write_node_t *) node;
|
1453
1456
|
memsize->memsize += sizeof(*cast);
|
@@ -1455,7 +1458,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1455
1458
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1456
1459
|
break;
|
1457
1460
|
}
|
1458
|
-
#line
|
1461
|
+
#line 103 "node.c.erb"
|
1459
1462
|
case PM_CONSTANT_PATH_OR_WRITE_NODE: {
|
1460
1463
|
pm_constant_path_or_write_node_t *cast = (pm_constant_path_or_write_node_t *) node;
|
1461
1464
|
memsize->memsize += sizeof(*cast);
|
@@ -1463,7 +1466,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1463
1466
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1464
1467
|
break;
|
1465
1468
|
}
|
1466
|
-
#line
|
1469
|
+
#line 103 "node.c.erb"
|
1467
1470
|
case PM_CONSTANT_PATH_TARGET_NODE: {
|
1468
1471
|
pm_constant_path_target_node_t *cast = (pm_constant_path_target_node_t *) node;
|
1469
1472
|
memsize->memsize += sizeof(*cast);
|
@@ -1473,7 +1476,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1473
1476
|
pm_node_memsize_node((pm_node_t *)cast->child, memsize);
|
1474
1477
|
break;
|
1475
1478
|
}
|
1476
|
-
#line
|
1479
|
+
#line 103 "node.c.erb"
|
1477
1480
|
case PM_CONSTANT_PATH_WRITE_NODE: {
|
1478
1481
|
pm_constant_path_write_node_t *cast = (pm_constant_path_write_node_t *) node;
|
1479
1482
|
memsize->memsize += sizeof(*cast);
|
@@ -1481,26 +1484,26 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1481
1484
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1482
1485
|
break;
|
1483
1486
|
}
|
1484
|
-
#line
|
1487
|
+
#line 103 "node.c.erb"
|
1485
1488
|
case PM_CONSTANT_READ_NODE: {
|
1486
1489
|
pm_constant_read_node_t *cast = (pm_constant_read_node_t *) node;
|
1487
1490
|
memsize->memsize += sizeof(*cast);
|
1488
1491
|
break;
|
1489
1492
|
}
|
1490
|
-
#line
|
1493
|
+
#line 103 "node.c.erb"
|
1491
1494
|
case PM_CONSTANT_TARGET_NODE: {
|
1492
1495
|
pm_constant_target_node_t *cast = (pm_constant_target_node_t *) node;
|
1493
1496
|
memsize->memsize += sizeof(*cast);
|
1494
1497
|
break;
|
1495
1498
|
}
|
1496
|
-
#line
|
1499
|
+
#line 103 "node.c.erb"
|
1497
1500
|
case PM_CONSTANT_WRITE_NODE: {
|
1498
1501
|
pm_constant_write_node_t *cast = (pm_constant_write_node_t *) node;
|
1499
1502
|
memsize->memsize += sizeof(*cast);
|
1500
1503
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1501
1504
|
break;
|
1502
1505
|
}
|
1503
|
-
#line
|
1506
|
+
#line 103 "node.c.erb"
|
1504
1507
|
case PM_DEF_NODE: {
|
1505
1508
|
pm_def_node_t *cast = (pm_def_node_t *) node;
|
1506
1509
|
memsize->memsize += sizeof(*cast);
|
@@ -1518,14 +1521,14 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1518
1521
|
memsize->memsize += pm_constant_id_list_memsize(&cast->locals);
|
1519
1522
|
break;
|
1520
1523
|
}
|
1521
|
-
#line
|
1524
|
+
#line 103 "node.c.erb"
|
1522
1525
|
case PM_DEFINED_NODE: {
|
1523
1526
|
pm_defined_node_t *cast = (pm_defined_node_t *) node;
|
1524
1527
|
memsize->memsize += sizeof(*cast);
|
1525
1528
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1526
1529
|
break;
|
1527
1530
|
}
|
1528
|
-
#line
|
1531
|
+
#line 103 "node.c.erb"
|
1529
1532
|
case PM_ELSE_NODE: {
|
1530
1533
|
pm_else_node_t *cast = (pm_else_node_t *) node;
|
1531
1534
|
memsize->memsize += sizeof(*cast);
|
@@ -1534,7 +1537,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1534
1537
|
}
|
1535
1538
|
break;
|
1536
1539
|
}
|
1537
|
-
#line
|
1540
|
+
#line 103 "node.c.erb"
|
1538
1541
|
case PM_EMBEDDED_STATEMENTS_NODE: {
|
1539
1542
|
pm_embedded_statements_node_t *cast = (pm_embedded_statements_node_t *) node;
|
1540
1543
|
memsize->memsize += sizeof(*cast);
|
@@ -1543,14 +1546,14 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1543
1546
|
}
|
1544
1547
|
break;
|
1545
1548
|
}
|
1546
|
-
#line
|
1549
|
+
#line 103 "node.c.erb"
|
1547
1550
|
case PM_EMBEDDED_VARIABLE_NODE: {
|
1548
1551
|
pm_embedded_variable_node_t *cast = (pm_embedded_variable_node_t *) node;
|
1549
1552
|
memsize->memsize += sizeof(*cast);
|
1550
1553
|
pm_node_memsize_node((pm_node_t *)cast->variable, memsize);
|
1551
1554
|
break;
|
1552
1555
|
}
|
1553
|
-
#line
|
1556
|
+
#line 103 "node.c.erb"
|
1554
1557
|
case PM_ENSURE_NODE: {
|
1555
1558
|
pm_ensure_node_t *cast = (pm_ensure_node_t *) node;
|
1556
1559
|
memsize->memsize += sizeof(*cast);
|
@@ -1559,13 +1562,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1559
1562
|
}
|
1560
1563
|
break;
|
1561
1564
|
}
|
1562
|
-
#line
|
1565
|
+
#line 103 "node.c.erb"
|
1563
1566
|
case PM_FALSE_NODE: {
|
1564
1567
|
pm_false_node_t *cast = (pm_false_node_t *) node;
|
1565
1568
|
memsize->memsize += sizeof(*cast);
|
1566
1569
|
break;
|
1567
1570
|
}
|
1568
|
-
#line
|
1571
|
+
#line 103 "node.c.erb"
|
1569
1572
|
case PM_FIND_PATTERN_NODE: {
|
1570
1573
|
pm_find_pattern_node_t *cast = (pm_find_pattern_node_t *) node;
|
1571
1574
|
memsize->memsize += sizeof(*cast);
|
@@ -1579,7 +1582,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1579
1582
|
pm_node_memsize_node((pm_node_t *)cast->right, memsize);
|
1580
1583
|
break;
|
1581
1584
|
}
|
1582
|
-
#line
|
1585
|
+
#line 103 "node.c.erb"
|
1583
1586
|
case PM_FLIP_FLOP_NODE: {
|
1584
1587
|
pm_flip_flop_node_t *cast = (pm_flip_flop_node_t *) node;
|
1585
1588
|
memsize->memsize += sizeof(*cast);
|
@@ -1591,13 +1594,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1591
1594
|
}
|
1592
1595
|
break;
|
1593
1596
|
}
|
1594
|
-
#line
|
1597
|
+
#line 103 "node.c.erb"
|
1595
1598
|
case PM_FLOAT_NODE: {
|
1596
1599
|
pm_float_node_t *cast = (pm_float_node_t *) node;
|
1597
1600
|
memsize->memsize += sizeof(*cast);
|
1598
1601
|
break;
|
1599
1602
|
}
|
1600
|
-
#line
|
1603
|
+
#line 103 "node.c.erb"
|
1601
1604
|
case PM_FOR_NODE: {
|
1602
1605
|
pm_for_node_t *cast = (pm_for_node_t *) node;
|
1603
1606
|
memsize->memsize += sizeof(*cast);
|
@@ -1608,19 +1611,19 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1608
1611
|
}
|
1609
1612
|
break;
|
1610
1613
|
}
|
1611
|
-
#line
|
1614
|
+
#line 103 "node.c.erb"
|
1612
1615
|
case PM_FORWARDING_ARGUMENTS_NODE: {
|
1613
1616
|
pm_forwarding_arguments_node_t *cast = (pm_forwarding_arguments_node_t *) node;
|
1614
1617
|
memsize->memsize += sizeof(*cast);
|
1615
1618
|
break;
|
1616
1619
|
}
|
1617
|
-
#line
|
1620
|
+
#line 103 "node.c.erb"
|
1618
1621
|
case PM_FORWARDING_PARAMETER_NODE: {
|
1619
1622
|
pm_forwarding_parameter_node_t *cast = (pm_forwarding_parameter_node_t *) node;
|
1620
1623
|
memsize->memsize += sizeof(*cast);
|
1621
1624
|
break;
|
1622
1625
|
}
|
1623
|
-
#line
|
1626
|
+
#line 103 "node.c.erb"
|
1624
1627
|
case PM_FORWARDING_SUPER_NODE: {
|
1625
1628
|
pm_forwarding_super_node_t *cast = (pm_forwarding_super_node_t *) node;
|
1626
1629
|
memsize->memsize += sizeof(*cast);
|
@@ -1629,47 +1632,47 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1629
1632
|
}
|
1630
1633
|
break;
|
1631
1634
|
}
|
1632
|
-
#line
|
1635
|
+
#line 103 "node.c.erb"
|
1633
1636
|
case PM_GLOBAL_VARIABLE_AND_WRITE_NODE: {
|
1634
1637
|
pm_global_variable_and_write_node_t *cast = (pm_global_variable_and_write_node_t *) node;
|
1635
1638
|
memsize->memsize += sizeof(*cast);
|
1636
1639
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1637
1640
|
break;
|
1638
1641
|
}
|
1639
|
-
#line
|
1642
|
+
#line 103 "node.c.erb"
|
1640
1643
|
case PM_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
1641
1644
|
pm_global_variable_operator_write_node_t *cast = (pm_global_variable_operator_write_node_t *) node;
|
1642
1645
|
memsize->memsize += sizeof(*cast);
|
1643
1646
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1644
1647
|
break;
|
1645
1648
|
}
|
1646
|
-
#line
|
1649
|
+
#line 103 "node.c.erb"
|
1647
1650
|
case PM_GLOBAL_VARIABLE_OR_WRITE_NODE: {
|
1648
1651
|
pm_global_variable_or_write_node_t *cast = (pm_global_variable_or_write_node_t *) node;
|
1649
1652
|
memsize->memsize += sizeof(*cast);
|
1650
1653
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1651
1654
|
break;
|
1652
1655
|
}
|
1653
|
-
#line
|
1656
|
+
#line 103 "node.c.erb"
|
1654
1657
|
case PM_GLOBAL_VARIABLE_READ_NODE: {
|
1655
1658
|
pm_global_variable_read_node_t *cast = (pm_global_variable_read_node_t *) node;
|
1656
1659
|
memsize->memsize += sizeof(*cast);
|
1657
1660
|
break;
|
1658
1661
|
}
|
1659
|
-
#line
|
1662
|
+
#line 103 "node.c.erb"
|
1660
1663
|
case PM_GLOBAL_VARIABLE_TARGET_NODE: {
|
1661
1664
|
pm_global_variable_target_node_t *cast = (pm_global_variable_target_node_t *) node;
|
1662
1665
|
memsize->memsize += sizeof(*cast);
|
1663
1666
|
break;
|
1664
1667
|
}
|
1665
|
-
#line
|
1668
|
+
#line 103 "node.c.erb"
|
1666
1669
|
case PM_GLOBAL_VARIABLE_WRITE_NODE: {
|
1667
1670
|
pm_global_variable_write_node_t *cast = (pm_global_variable_write_node_t *) node;
|
1668
1671
|
memsize->memsize += sizeof(*cast);
|
1669
1672
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1670
1673
|
break;
|
1671
1674
|
}
|
1672
|
-
#line
|
1675
|
+
#line 103 "node.c.erb"
|
1673
1676
|
case PM_HASH_NODE: {
|
1674
1677
|
pm_hash_node_t *cast = (pm_hash_node_t *) node;
|
1675
1678
|
memsize->memsize += sizeof(*cast);
|
@@ -1678,7 +1681,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1678
1681
|
memsize->memsize += pm_node_list_memsize(&cast->elements, memsize);
|
1679
1682
|
break;
|
1680
1683
|
}
|
1681
|
-
#line
|
1684
|
+
#line 103 "node.c.erb"
|
1682
1685
|
case PM_HASH_PATTERN_NODE: {
|
1683
1686
|
pm_hash_pattern_node_t *cast = (pm_hash_pattern_node_t *) node;
|
1684
1687
|
memsize->memsize += sizeof(*cast);
|
@@ -1693,7 +1696,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1693
1696
|
}
|
1694
1697
|
break;
|
1695
1698
|
}
|
1696
|
-
#line
|
1699
|
+
#line 103 "node.c.erb"
|
1697
1700
|
case PM_IF_NODE: {
|
1698
1701
|
pm_if_node_t *cast = (pm_if_node_t *) node;
|
1699
1702
|
memsize->memsize += sizeof(*cast);
|
@@ -1706,21 +1709,21 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1706
1709
|
}
|
1707
1710
|
break;
|
1708
1711
|
}
|
1709
|
-
#line
|
1712
|
+
#line 103 "node.c.erb"
|
1710
1713
|
case PM_IMAGINARY_NODE: {
|
1711
1714
|
pm_imaginary_node_t *cast = (pm_imaginary_node_t *) node;
|
1712
1715
|
memsize->memsize += sizeof(*cast);
|
1713
1716
|
pm_node_memsize_node((pm_node_t *)cast->numeric, memsize);
|
1714
1717
|
break;
|
1715
1718
|
}
|
1716
|
-
#line
|
1719
|
+
#line 103 "node.c.erb"
|
1717
1720
|
case PM_IMPLICIT_NODE: {
|
1718
1721
|
pm_implicit_node_t *cast = (pm_implicit_node_t *) node;
|
1719
1722
|
memsize->memsize += sizeof(*cast);
|
1720
1723
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1721
1724
|
break;
|
1722
1725
|
}
|
1723
|
-
#line
|
1726
|
+
#line 103 "node.c.erb"
|
1724
1727
|
case PM_IN_NODE: {
|
1725
1728
|
pm_in_node_t *cast = (pm_in_node_t *) node;
|
1726
1729
|
memsize->memsize += sizeof(*cast);
|
@@ -1730,7 +1733,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1730
1733
|
}
|
1731
1734
|
break;
|
1732
1735
|
}
|
1733
|
-
#line
|
1736
|
+
#line 103 "node.c.erb"
|
1734
1737
|
case PM_INDEX_AND_WRITE_NODE: {
|
1735
1738
|
pm_index_and_write_node_t *cast = (pm_index_and_write_node_t *) node;
|
1736
1739
|
memsize->memsize += sizeof(*cast);
|
@@ -1746,7 +1749,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1746
1749
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1747
1750
|
break;
|
1748
1751
|
}
|
1749
|
-
#line
|
1752
|
+
#line 103 "node.c.erb"
|
1750
1753
|
case PM_INDEX_OPERATOR_WRITE_NODE: {
|
1751
1754
|
pm_index_operator_write_node_t *cast = (pm_index_operator_write_node_t *) node;
|
1752
1755
|
memsize->memsize += sizeof(*cast);
|
@@ -1762,7 +1765,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1762
1765
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1763
1766
|
break;
|
1764
1767
|
}
|
1765
|
-
#line
|
1768
|
+
#line 103 "node.c.erb"
|
1766
1769
|
case PM_INDEX_OR_WRITE_NODE: {
|
1767
1770
|
pm_index_or_write_node_t *cast = (pm_index_or_write_node_t *) node;
|
1768
1771
|
memsize->memsize += sizeof(*cast);
|
@@ -1778,53 +1781,53 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1778
1781
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1779
1782
|
break;
|
1780
1783
|
}
|
1781
|
-
#line
|
1784
|
+
#line 103 "node.c.erb"
|
1782
1785
|
case PM_INSTANCE_VARIABLE_AND_WRITE_NODE: {
|
1783
1786
|
pm_instance_variable_and_write_node_t *cast = (pm_instance_variable_and_write_node_t *) node;
|
1784
1787
|
memsize->memsize += sizeof(*cast);
|
1785
1788
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1786
1789
|
break;
|
1787
1790
|
}
|
1788
|
-
#line
|
1791
|
+
#line 103 "node.c.erb"
|
1789
1792
|
case PM_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
|
1790
1793
|
pm_instance_variable_operator_write_node_t *cast = (pm_instance_variable_operator_write_node_t *) node;
|
1791
1794
|
memsize->memsize += sizeof(*cast);
|
1792
1795
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1793
1796
|
break;
|
1794
1797
|
}
|
1795
|
-
#line
|
1798
|
+
#line 103 "node.c.erb"
|
1796
1799
|
case PM_INSTANCE_VARIABLE_OR_WRITE_NODE: {
|
1797
1800
|
pm_instance_variable_or_write_node_t *cast = (pm_instance_variable_or_write_node_t *) node;
|
1798
1801
|
memsize->memsize += sizeof(*cast);
|
1799
1802
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1800
1803
|
break;
|
1801
1804
|
}
|
1802
|
-
#line
|
1805
|
+
#line 103 "node.c.erb"
|
1803
1806
|
case PM_INSTANCE_VARIABLE_READ_NODE: {
|
1804
1807
|
pm_instance_variable_read_node_t *cast = (pm_instance_variable_read_node_t *) node;
|
1805
1808
|
memsize->memsize += sizeof(*cast);
|
1806
1809
|
break;
|
1807
1810
|
}
|
1808
|
-
#line
|
1811
|
+
#line 103 "node.c.erb"
|
1809
1812
|
case PM_INSTANCE_VARIABLE_TARGET_NODE: {
|
1810
1813
|
pm_instance_variable_target_node_t *cast = (pm_instance_variable_target_node_t *) node;
|
1811
1814
|
memsize->memsize += sizeof(*cast);
|
1812
1815
|
break;
|
1813
1816
|
}
|
1814
|
-
#line
|
1817
|
+
#line 103 "node.c.erb"
|
1815
1818
|
case PM_INSTANCE_VARIABLE_WRITE_NODE: {
|
1816
1819
|
pm_instance_variable_write_node_t *cast = (pm_instance_variable_write_node_t *) node;
|
1817
1820
|
memsize->memsize += sizeof(*cast);
|
1818
1821
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1819
1822
|
break;
|
1820
1823
|
}
|
1821
|
-
#line
|
1824
|
+
#line 103 "node.c.erb"
|
1822
1825
|
case PM_INTEGER_NODE: {
|
1823
1826
|
pm_integer_node_t *cast = (pm_integer_node_t *) node;
|
1824
1827
|
memsize->memsize += sizeof(*cast);
|
1825
1828
|
break;
|
1826
1829
|
}
|
1827
|
-
#line
|
1830
|
+
#line 103 "node.c.erb"
|
1828
1831
|
case PM_INTERPOLATED_MATCH_LAST_LINE_NODE: {
|
1829
1832
|
pm_interpolated_match_last_line_node_t *cast = (pm_interpolated_match_last_line_node_t *) node;
|
1830
1833
|
memsize->memsize += sizeof(*cast);
|
@@ -1833,7 +1836,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1833
1836
|
memsize->memsize += pm_node_list_memsize(&cast->parts, memsize);
|
1834
1837
|
break;
|
1835
1838
|
}
|
1836
|
-
#line
|
1839
|
+
#line 103 "node.c.erb"
|
1837
1840
|
case PM_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
|
1838
1841
|
pm_interpolated_regular_expression_node_t *cast = (pm_interpolated_regular_expression_node_t *) node;
|
1839
1842
|
memsize->memsize += sizeof(*cast);
|
@@ -1842,7 +1845,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1842
1845
|
memsize->memsize += pm_node_list_memsize(&cast->parts, memsize);
|
1843
1846
|
break;
|
1844
1847
|
}
|
1845
|
-
#line
|
1848
|
+
#line 103 "node.c.erb"
|
1846
1849
|
case PM_INTERPOLATED_STRING_NODE: {
|
1847
1850
|
pm_interpolated_string_node_t *cast = (pm_interpolated_string_node_t *) node;
|
1848
1851
|
memsize->memsize += sizeof(*cast);
|
@@ -1851,7 +1854,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1851
1854
|
memsize->memsize += pm_node_list_memsize(&cast->parts, memsize);
|
1852
1855
|
break;
|
1853
1856
|
}
|
1854
|
-
#line
|
1857
|
+
#line 103 "node.c.erb"
|
1855
1858
|
case PM_INTERPOLATED_SYMBOL_NODE: {
|
1856
1859
|
pm_interpolated_symbol_node_t *cast = (pm_interpolated_symbol_node_t *) node;
|
1857
1860
|
memsize->memsize += sizeof(*cast);
|
@@ -1860,7 +1863,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1860
1863
|
memsize->memsize += pm_node_list_memsize(&cast->parts, memsize);
|
1861
1864
|
break;
|
1862
1865
|
}
|
1863
|
-
#line
|
1866
|
+
#line 103 "node.c.erb"
|
1864
1867
|
case PM_INTERPOLATED_X_STRING_NODE: {
|
1865
1868
|
pm_interpolated_x_string_node_t *cast = (pm_interpolated_x_string_node_t *) node;
|
1866
1869
|
memsize->memsize += sizeof(*cast);
|
@@ -1869,7 +1872,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1869
1872
|
memsize->memsize += pm_node_list_memsize(&cast->parts, memsize);
|
1870
1873
|
break;
|
1871
1874
|
}
|
1872
|
-
#line
|
1875
|
+
#line 103 "node.c.erb"
|
1873
1876
|
case PM_KEYWORD_HASH_NODE: {
|
1874
1877
|
pm_keyword_hash_node_t *cast = (pm_keyword_hash_node_t *) node;
|
1875
1878
|
memsize->memsize += sizeof(*cast);
|
@@ -1878,22 +1881,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1878
1881
|
memsize->memsize += pm_node_list_memsize(&cast->elements, memsize);
|
1879
1882
|
break;
|
1880
1883
|
}
|
1881
|
-
#line
|
1882
|
-
case PM_KEYWORD_PARAMETER_NODE: {
|
1883
|
-
pm_keyword_parameter_node_t *cast = (pm_keyword_parameter_node_t *) node;
|
1884
|
-
memsize->memsize += sizeof(*cast);
|
1885
|
-
if (cast->value != NULL) {
|
1886
|
-
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1887
|
-
}
|
1888
|
-
break;
|
1889
|
-
}
|
1890
|
-
#line 102 "node.c.erb"
|
1884
|
+
#line 103 "node.c.erb"
|
1891
1885
|
case PM_KEYWORD_REST_PARAMETER_NODE: {
|
1892
1886
|
pm_keyword_rest_parameter_node_t *cast = (pm_keyword_rest_parameter_node_t *) node;
|
1893
1887
|
memsize->memsize += sizeof(*cast);
|
1894
1888
|
break;
|
1895
1889
|
}
|
1896
|
-
#line
|
1890
|
+
#line 103 "node.c.erb"
|
1897
1891
|
case PM_LAMBDA_NODE: {
|
1898
1892
|
pm_lambda_node_t *cast = (pm_lambda_node_t *) node;
|
1899
1893
|
memsize->memsize += sizeof(*cast);
|
@@ -1908,54 +1902,54 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1908
1902
|
}
|
1909
1903
|
break;
|
1910
1904
|
}
|
1911
|
-
#line
|
1905
|
+
#line 103 "node.c.erb"
|
1912
1906
|
case PM_LOCAL_VARIABLE_AND_WRITE_NODE: {
|
1913
1907
|
pm_local_variable_and_write_node_t *cast = (pm_local_variable_and_write_node_t *) node;
|
1914
1908
|
memsize->memsize += sizeof(*cast);
|
1915
1909
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1916
1910
|
break;
|
1917
1911
|
}
|
1918
|
-
#line
|
1912
|
+
#line 103 "node.c.erb"
|
1919
1913
|
case PM_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
|
1920
1914
|
pm_local_variable_operator_write_node_t *cast = (pm_local_variable_operator_write_node_t *) node;
|
1921
1915
|
memsize->memsize += sizeof(*cast);
|
1922
1916
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1923
1917
|
break;
|
1924
1918
|
}
|
1925
|
-
#line
|
1919
|
+
#line 103 "node.c.erb"
|
1926
1920
|
case PM_LOCAL_VARIABLE_OR_WRITE_NODE: {
|
1927
1921
|
pm_local_variable_or_write_node_t *cast = (pm_local_variable_or_write_node_t *) node;
|
1928
1922
|
memsize->memsize += sizeof(*cast);
|
1929
1923
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1930
1924
|
break;
|
1931
1925
|
}
|
1932
|
-
#line
|
1926
|
+
#line 103 "node.c.erb"
|
1933
1927
|
case PM_LOCAL_VARIABLE_READ_NODE: {
|
1934
1928
|
pm_local_variable_read_node_t *cast = (pm_local_variable_read_node_t *) node;
|
1935
1929
|
memsize->memsize += sizeof(*cast);
|
1936
1930
|
break;
|
1937
1931
|
}
|
1938
|
-
#line
|
1932
|
+
#line 103 "node.c.erb"
|
1939
1933
|
case PM_LOCAL_VARIABLE_TARGET_NODE: {
|
1940
1934
|
pm_local_variable_target_node_t *cast = (pm_local_variable_target_node_t *) node;
|
1941
1935
|
memsize->memsize += sizeof(*cast);
|
1942
1936
|
break;
|
1943
1937
|
}
|
1944
|
-
#line
|
1938
|
+
#line 103 "node.c.erb"
|
1945
1939
|
case PM_LOCAL_VARIABLE_WRITE_NODE: {
|
1946
1940
|
pm_local_variable_write_node_t *cast = (pm_local_variable_write_node_t *) node;
|
1947
1941
|
memsize->memsize += sizeof(*cast);
|
1948
1942
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
1949
1943
|
break;
|
1950
1944
|
}
|
1951
|
-
#line
|
1945
|
+
#line 103 "node.c.erb"
|
1952
1946
|
case PM_MATCH_LAST_LINE_NODE: {
|
1953
1947
|
pm_match_last_line_node_t *cast = (pm_match_last_line_node_t *) node;
|
1954
1948
|
memsize->memsize += sizeof(*cast);
|
1955
1949
|
memsize->memsize += pm_string_memsize(&cast->unescaped);
|
1956
1950
|
break;
|
1957
1951
|
}
|
1958
|
-
#line
|
1952
|
+
#line 103 "node.c.erb"
|
1959
1953
|
case PM_MATCH_PREDICATE_NODE: {
|
1960
1954
|
pm_match_predicate_node_t *cast = (pm_match_predicate_node_t *) node;
|
1961
1955
|
memsize->memsize += sizeof(*cast);
|
@@ -1963,7 +1957,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1963
1957
|
pm_node_memsize_node((pm_node_t *)cast->pattern, memsize);
|
1964
1958
|
break;
|
1965
1959
|
}
|
1966
|
-
#line
|
1960
|
+
#line 103 "node.c.erb"
|
1967
1961
|
case PM_MATCH_REQUIRED_NODE: {
|
1968
1962
|
pm_match_required_node_t *cast = (pm_match_required_node_t *) node;
|
1969
1963
|
memsize->memsize += sizeof(*cast);
|
@@ -1971,7 +1965,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1971
1965
|
pm_node_memsize_node((pm_node_t *)cast->pattern, memsize);
|
1972
1966
|
break;
|
1973
1967
|
}
|
1974
|
-
#line
|
1968
|
+
#line 103 "node.c.erb"
|
1975
1969
|
case PM_MATCH_WRITE_NODE: {
|
1976
1970
|
pm_match_write_node_t *cast = (pm_match_write_node_t *) node;
|
1977
1971
|
memsize->memsize += sizeof(*cast);
|
@@ -1981,13 +1975,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
1981
1975
|
memsize->memsize += pm_constant_id_list_memsize(&cast->locals);
|
1982
1976
|
break;
|
1983
1977
|
}
|
1984
|
-
#line
|
1978
|
+
#line 103 "node.c.erb"
|
1985
1979
|
case PM_MISSING_NODE: {
|
1986
1980
|
pm_missing_node_t *cast = (pm_missing_node_t *) node;
|
1987
1981
|
memsize->memsize += sizeof(*cast);
|
1988
1982
|
break;
|
1989
1983
|
}
|
1990
|
-
#line
|
1984
|
+
#line 103 "node.c.erb"
|
1991
1985
|
case PM_MODULE_NODE: {
|
1992
1986
|
pm_module_node_t *cast = (pm_module_node_t *) node;
|
1993
1987
|
memsize->memsize += sizeof(*cast);
|
@@ -2000,7 +1994,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2000
1994
|
}
|
2001
1995
|
break;
|
2002
1996
|
}
|
2003
|
-
#line
|
1997
|
+
#line 103 "node.c.erb"
|
2004
1998
|
case PM_MULTI_TARGET_NODE: {
|
2005
1999
|
pm_multi_target_node_t *cast = (pm_multi_target_node_t *) node;
|
2006
2000
|
memsize->memsize += sizeof(*cast);
|
@@ -2013,7 +2007,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2013
2007
|
memsize->memsize += pm_node_list_memsize(&cast->rights, memsize);
|
2014
2008
|
break;
|
2015
2009
|
}
|
2016
|
-
#line
|
2010
|
+
#line 103 "node.c.erb"
|
2017
2011
|
case PM_MULTI_WRITE_NODE: {
|
2018
2012
|
pm_multi_write_node_t *cast = (pm_multi_write_node_t *) node;
|
2019
2013
|
memsize->memsize += sizeof(*cast);
|
@@ -2027,7 +2021,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2027
2021
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
2028
2022
|
break;
|
2029
2023
|
}
|
2030
|
-
#line
|
2024
|
+
#line 103 "node.c.erb"
|
2031
2025
|
case PM_NEXT_NODE: {
|
2032
2026
|
pm_next_node_t *cast = (pm_next_node_t *) node;
|
2033
2027
|
memsize->memsize += sizeof(*cast);
|
@@ -2036,32 +2030,39 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2036
2030
|
}
|
2037
2031
|
break;
|
2038
2032
|
}
|
2039
|
-
#line
|
2033
|
+
#line 103 "node.c.erb"
|
2040
2034
|
case PM_NIL_NODE: {
|
2041
2035
|
pm_nil_node_t *cast = (pm_nil_node_t *) node;
|
2042
2036
|
memsize->memsize += sizeof(*cast);
|
2043
2037
|
break;
|
2044
2038
|
}
|
2045
|
-
#line
|
2039
|
+
#line 103 "node.c.erb"
|
2046
2040
|
case PM_NO_KEYWORDS_PARAMETER_NODE: {
|
2047
2041
|
pm_no_keywords_parameter_node_t *cast = (pm_no_keywords_parameter_node_t *) node;
|
2048
2042
|
memsize->memsize += sizeof(*cast);
|
2049
2043
|
break;
|
2050
2044
|
}
|
2051
|
-
#line
|
2045
|
+
#line 103 "node.c.erb"
|
2052
2046
|
case PM_NUMBERED_REFERENCE_READ_NODE: {
|
2053
2047
|
pm_numbered_reference_read_node_t *cast = (pm_numbered_reference_read_node_t *) node;
|
2054
2048
|
memsize->memsize += sizeof(*cast);
|
2055
2049
|
break;
|
2056
2050
|
}
|
2057
|
-
#line
|
2051
|
+
#line 103 "node.c.erb"
|
2052
|
+
case PM_OPTIONAL_KEYWORD_PARAMETER_NODE: {
|
2053
|
+
pm_optional_keyword_parameter_node_t *cast = (pm_optional_keyword_parameter_node_t *) node;
|
2054
|
+
memsize->memsize += sizeof(*cast);
|
2055
|
+
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
2056
|
+
break;
|
2057
|
+
}
|
2058
|
+
#line 103 "node.c.erb"
|
2058
2059
|
case PM_OPTIONAL_PARAMETER_NODE: {
|
2059
2060
|
pm_optional_parameter_node_t *cast = (pm_optional_parameter_node_t *) node;
|
2060
2061
|
memsize->memsize += sizeof(*cast);
|
2061
2062
|
pm_node_memsize_node((pm_node_t *)cast->value, memsize);
|
2062
2063
|
break;
|
2063
2064
|
}
|
2064
|
-
#line
|
2065
|
+
#line 103 "node.c.erb"
|
2065
2066
|
case PM_OR_NODE: {
|
2066
2067
|
pm_or_node_t *cast = (pm_or_node_t *) node;
|
2067
2068
|
memsize->memsize += sizeof(*cast);
|
@@ -2069,7 +2070,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2069
2070
|
pm_node_memsize_node((pm_node_t *)cast->right, memsize);
|
2070
2071
|
break;
|
2071
2072
|
}
|
2072
|
-
#line
|
2073
|
+
#line 103 "node.c.erb"
|
2073
2074
|
case PM_PARAMETERS_NODE: {
|
2074
2075
|
pm_parameters_node_t *cast = (pm_parameters_node_t *) node;
|
2075
2076
|
memsize->memsize += sizeof(*cast);
|
@@ -2090,7 +2091,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2090
2091
|
}
|
2091
2092
|
break;
|
2092
2093
|
}
|
2093
|
-
#line
|
2094
|
+
#line 103 "node.c.erb"
|
2094
2095
|
case PM_PARENTHESES_NODE: {
|
2095
2096
|
pm_parentheses_node_t *cast = (pm_parentheses_node_t *) node;
|
2096
2097
|
memsize->memsize += sizeof(*cast);
|
@@ -2099,21 +2100,21 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2099
2100
|
}
|
2100
2101
|
break;
|
2101
2102
|
}
|
2102
|
-
#line
|
2103
|
+
#line 103 "node.c.erb"
|
2103
2104
|
case PM_PINNED_EXPRESSION_NODE: {
|
2104
2105
|
pm_pinned_expression_node_t *cast = (pm_pinned_expression_node_t *) node;
|
2105
2106
|
memsize->memsize += sizeof(*cast);
|
2106
2107
|
pm_node_memsize_node((pm_node_t *)cast->expression, memsize);
|
2107
2108
|
break;
|
2108
2109
|
}
|
2109
|
-
#line
|
2110
|
+
#line 103 "node.c.erb"
|
2110
2111
|
case PM_PINNED_VARIABLE_NODE: {
|
2111
2112
|
pm_pinned_variable_node_t *cast = (pm_pinned_variable_node_t *) node;
|
2112
2113
|
memsize->memsize += sizeof(*cast);
|
2113
2114
|
pm_node_memsize_node((pm_node_t *)cast->variable, memsize);
|
2114
2115
|
break;
|
2115
2116
|
}
|
2116
|
-
#line
|
2117
|
+
#line 103 "node.c.erb"
|
2117
2118
|
case PM_POST_EXECUTION_NODE: {
|
2118
2119
|
pm_post_execution_node_t *cast = (pm_post_execution_node_t *) node;
|
2119
2120
|
memsize->memsize += sizeof(*cast);
|
@@ -2122,7 +2123,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2122
2123
|
}
|
2123
2124
|
break;
|
2124
2125
|
}
|
2125
|
-
#line
|
2126
|
+
#line 103 "node.c.erb"
|
2126
2127
|
case PM_PRE_EXECUTION_NODE: {
|
2127
2128
|
pm_pre_execution_node_t *cast = (pm_pre_execution_node_t *) node;
|
2128
2129
|
memsize->memsize += sizeof(*cast);
|
@@ -2131,7 +2132,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2131
2132
|
}
|
2132
2133
|
break;
|
2133
2134
|
}
|
2134
|
-
#line
|
2135
|
+
#line 103 "node.c.erb"
|
2135
2136
|
case PM_PROGRAM_NODE: {
|
2136
2137
|
pm_program_node_t *cast = (pm_program_node_t *) node;
|
2137
2138
|
memsize->memsize += sizeof(*cast);
|
@@ -2141,7 +2142,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2141
2142
|
pm_node_memsize_node((pm_node_t *)cast->statements, memsize);
|
2142
2143
|
break;
|
2143
2144
|
}
|
2144
|
-
#line
|
2145
|
+
#line 103 "node.c.erb"
|
2145
2146
|
case PM_RANGE_NODE: {
|
2146
2147
|
pm_range_node_t *cast = (pm_range_node_t *) node;
|
2147
2148
|
memsize->memsize += sizeof(*cast);
|
@@ -2153,33 +2154,39 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2153
2154
|
}
|
2154
2155
|
break;
|
2155
2156
|
}
|
2156
|
-
#line
|
2157
|
+
#line 103 "node.c.erb"
|
2157
2158
|
case PM_RATIONAL_NODE: {
|
2158
2159
|
pm_rational_node_t *cast = (pm_rational_node_t *) node;
|
2159
2160
|
memsize->memsize += sizeof(*cast);
|
2160
2161
|
pm_node_memsize_node((pm_node_t *)cast->numeric, memsize);
|
2161
2162
|
break;
|
2162
2163
|
}
|
2163
|
-
#line
|
2164
|
+
#line 103 "node.c.erb"
|
2164
2165
|
case PM_REDO_NODE: {
|
2165
2166
|
pm_redo_node_t *cast = (pm_redo_node_t *) node;
|
2166
2167
|
memsize->memsize += sizeof(*cast);
|
2167
2168
|
break;
|
2168
2169
|
}
|
2169
|
-
#line
|
2170
|
+
#line 103 "node.c.erb"
|
2170
2171
|
case PM_REGULAR_EXPRESSION_NODE: {
|
2171
2172
|
pm_regular_expression_node_t *cast = (pm_regular_expression_node_t *) node;
|
2172
2173
|
memsize->memsize += sizeof(*cast);
|
2173
2174
|
memsize->memsize += pm_string_memsize(&cast->unescaped);
|
2174
2175
|
break;
|
2175
2176
|
}
|
2176
|
-
#line
|
2177
|
+
#line 103 "node.c.erb"
|
2178
|
+
case PM_REQUIRED_KEYWORD_PARAMETER_NODE: {
|
2179
|
+
pm_required_keyword_parameter_node_t *cast = (pm_required_keyword_parameter_node_t *) node;
|
2180
|
+
memsize->memsize += sizeof(*cast);
|
2181
|
+
break;
|
2182
|
+
}
|
2183
|
+
#line 103 "node.c.erb"
|
2177
2184
|
case PM_REQUIRED_PARAMETER_NODE: {
|
2178
2185
|
pm_required_parameter_node_t *cast = (pm_required_parameter_node_t *) node;
|
2179
2186
|
memsize->memsize += sizeof(*cast);
|
2180
2187
|
break;
|
2181
2188
|
}
|
2182
|
-
#line
|
2189
|
+
#line 103 "node.c.erb"
|
2183
2190
|
case PM_RESCUE_MODIFIER_NODE: {
|
2184
2191
|
pm_rescue_modifier_node_t *cast = (pm_rescue_modifier_node_t *) node;
|
2185
2192
|
memsize->memsize += sizeof(*cast);
|
@@ -2187,7 +2194,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2187
2194
|
pm_node_memsize_node((pm_node_t *)cast->rescue_expression, memsize);
|
2188
2195
|
break;
|
2189
2196
|
}
|
2190
|
-
#line
|
2197
|
+
#line 103 "node.c.erb"
|
2191
2198
|
case PM_RESCUE_NODE: {
|
2192
2199
|
pm_rescue_node_t *cast = (pm_rescue_node_t *) node;
|
2193
2200
|
memsize->memsize += sizeof(*cast);
|
@@ -2205,19 +2212,19 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2205
2212
|
}
|
2206
2213
|
break;
|
2207
2214
|
}
|
2208
|
-
#line
|
2215
|
+
#line 103 "node.c.erb"
|
2209
2216
|
case PM_REST_PARAMETER_NODE: {
|
2210
2217
|
pm_rest_parameter_node_t *cast = (pm_rest_parameter_node_t *) node;
|
2211
2218
|
memsize->memsize += sizeof(*cast);
|
2212
2219
|
break;
|
2213
2220
|
}
|
2214
|
-
#line
|
2221
|
+
#line 103 "node.c.erb"
|
2215
2222
|
case PM_RETRY_NODE: {
|
2216
2223
|
pm_retry_node_t *cast = (pm_retry_node_t *) node;
|
2217
2224
|
memsize->memsize += sizeof(*cast);
|
2218
2225
|
break;
|
2219
2226
|
}
|
2220
|
-
#line
|
2227
|
+
#line 103 "node.c.erb"
|
2221
2228
|
case PM_RETURN_NODE: {
|
2222
2229
|
pm_return_node_t *cast = (pm_return_node_t *) node;
|
2223
2230
|
memsize->memsize += sizeof(*cast);
|
@@ -2226,13 +2233,13 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2226
2233
|
}
|
2227
2234
|
break;
|
2228
2235
|
}
|
2229
|
-
#line
|
2236
|
+
#line 103 "node.c.erb"
|
2230
2237
|
case PM_SELF_NODE: {
|
2231
2238
|
pm_self_node_t *cast = (pm_self_node_t *) node;
|
2232
2239
|
memsize->memsize += sizeof(*cast);
|
2233
2240
|
break;
|
2234
2241
|
}
|
2235
|
-
#line
|
2242
|
+
#line 103 "node.c.erb"
|
2236
2243
|
case PM_SINGLETON_CLASS_NODE: {
|
2237
2244
|
pm_singleton_class_node_t *cast = (pm_singleton_class_node_t *) node;
|
2238
2245
|
memsize->memsize += sizeof(*cast);
|
@@ -2245,26 +2252,26 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2245
2252
|
}
|
2246
2253
|
break;
|
2247
2254
|
}
|
2248
|
-
#line
|
2255
|
+
#line 103 "node.c.erb"
|
2249
2256
|
case PM_SOURCE_ENCODING_NODE: {
|
2250
2257
|
pm_source_encoding_node_t *cast = (pm_source_encoding_node_t *) node;
|
2251
2258
|
memsize->memsize += sizeof(*cast);
|
2252
2259
|
break;
|
2253
2260
|
}
|
2254
|
-
#line
|
2261
|
+
#line 103 "node.c.erb"
|
2255
2262
|
case PM_SOURCE_FILE_NODE: {
|
2256
2263
|
pm_source_file_node_t *cast = (pm_source_file_node_t *) node;
|
2257
2264
|
memsize->memsize += sizeof(*cast);
|
2258
2265
|
memsize->memsize += pm_string_memsize(&cast->filepath);
|
2259
2266
|
break;
|
2260
2267
|
}
|
2261
|
-
#line
|
2268
|
+
#line 103 "node.c.erb"
|
2262
2269
|
case PM_SOURCE_LINE_NODE: {
|
2263
2270
|
pm_source_line_node_t *cast = (pm_source_line_node_t *) node;
|
2264
2271
|
memsize->memsize += sizeof(*cast);
|
2265
2272
|
break;
|
2266
2273
|
}
|
2267
|
-
#line
|
2274
|
+
#line 103 "node.c.erb"
|
2268
2275
|
case PM_SPLAT_NODE: {
|
2269
2276
|
pm_splat_node_t *cast = (pm_splat_node_t *) node;
|
2270
2277
|
memsize->memsize += sizeof(*cast);
|
@@ -2273,7 +2280,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2273
2280
|
}
|
2274
2281
|
break;
|
2275
2282
|
}
|
2276
|
-
#line
|
2283
|
+
#line 103 "node.c.erb"
|
2277
2284
|
case PM_STATEMENTS_NODE: {
|
2278
2285
|
pm_statements_node_t *cast = (pm_statements_node_t *) node;
|
2279
2286
|
memsize->memsize += sizeof(*cast);
|
@@ -2282,7 +2289,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2282
2289
|
memsize->memsize += pm_node_list_memsize(&cast->body, memsize);
|
2283
2290
|
break;
|
2284
2291
|
}
|
2285
|
-
#line
|
2292
|
+
#line 103 "node.c.erb"
|
2286
2293
|
case PM_STRING_CONCAT_NODE: {
|
2287
2294
|
pm_string_concat_node_t *cast = (pm_string_concat_node_t *) node;
|
2288
2295
|
memsize->memsize += sizeof(*cast);
|
@@ -2290,14 +2297,14 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2290
2297
|
pm_node_memsize_node((pm_node_t *)cast->right, memsize);
|
2291
2298
|
break;
|
2292
2299
|
}
|
2293
|
-
#line
|
2300
|
+
#line 103 "node.c.erb"
|
2294
2301
|
case PM_STRING_NODE: {
|
2295
2302
|
pm_string_node_t *cast = (pm_string_node_t *) node;
|
2296
2303
|
memsize->memsize += sizeof(*cast);
|
2297
2304
|
memsize->memsize += pm_string_memsize(&cast->unescaped);
|
2298
2305
|
break;
|
2299
2306
|
}
|
2300
|
-
#line
|
2307
|
+
#line 103 "node.c.erb"
|
2301
2308
|
case PM_SUPER_NODE: {
|
2302
2309
|
pm_super_node_t *cast = (pm_super_node_t *) node;
|
2303
2310
|
memsize->memsize += sizeof(*cast);
|
@@ -2309,20 +2316,20 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2309
2316
|
}
|
2310
2317
|
break;
|
2311
2318
|
}
|
2312
|
-
#line
|
2319
|
+
#line 103 "node.c.erb"
|
2313
2320
|
case PM_SYMBOL_NODE: {
|
2314
2321
|
pm_symbol_node_t *cast = (pm_symbol_node_t *) node;
|
2315
2322
|
memsize->memsize += sizeof(*cast);
|
2316
2323
|
memsize->memsize += pm_string_memsize(&cast->unescaped);
|
2317
2324
|
break;
|
2318
2325
|
}
|
2319
|
-
#line
|
2326
|
+
#line 103 "node.c.erb"
|
2320
2327
|
case PM_TRUE_NODE: {
|
2321
2328
|
pm_true_node_t *cast = (pm_true_node_t *) node;
|
2322
2329
|
memsize->memsize += sizeof(*cast);
|
2323
2330
|
break;
|
2324
2331
|
}
|
2325
|
-
#line
|
2332
|
+
#line 103 "node.c.erb"
|
2326
2333
|
case PM_UNDEF_NODE: {
|
2327
2334
|
pm_undef_node_t *cast = (pm_undef_node_t *) node;
|
2328
2335
|
memsize->memsize += sizeof(*cast);
|
@@ -2331,7 +2338,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2331
2338
|
memsize->memsize += pm_node_list_memsize(&cast->names, memsize);
|
2332
2339
|
break;
|
2333
2340
|
}
|
2334
|
-
#line
|
2341
|
+
#line 103 "node.c.erb"
|
2335
2342
|
case PM_UNLESS_NODE: {
|
2336
2343
|
pm_unless_node_t *cast = (pm_unless_node_t *) node;
|
2337
2344
|
memsize->memsize += sizeof(*cast);
|
@@ -2344,7 +2351,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2344
2351
|
}
|
2345
2352
|
break;
|
2346
2353
|
}
|
2347
|
-
#line
|
2354
|
+
#line 103 "node.c.erb"
|
2348
2355
|
case PM_UNTIL_NODE: {
|
2349
2356
|
pm_until_node_t *cast = (pm_until_node_t *) node;
|
2350
2357
|
memsize->memsize += sizeof(*cast);
|
@@ -2354,7 +2361,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2354
2361
|
}
|
2355
2362
|
break;
|
2356
2363
|
}
|
2357
|
-
#line
|
2364
|
+
#line 103 "node.c.erb"
|
2358
2365
|
case PM_WHEN_NODE: {
|
2359
2366
|
pm_when_node_t *cast = (pm_when_node_t *) node;
|
2360
2367
|
memsize->memsize += sizeof(*cast);
|
@@ -2366,7 +2373,7 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2366
2373
|
}
|
2367
2374
|
break;
|
2368
2375
|
}
|
2369
|
-
#line
|
2376
|
+
#line 103 "node.c.erb"
|
2370
2377
|
case PM_WHILE_NODE: {
|
2371
2378
|
pm_while_node_t *cast = (pm_while_node_t *) node;
|
2372
2379
|
memsize->memsize += sizeof(*cast);
|
@@ -2376,14 +2383,14 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2376
2383
|
}
|
2377
2384
|
break;
|
2378
2385
|
}
|
2379
|
-
#line
|
2386
|
+
#line 103 "node.c.erb"
|
2380
2387
|
case PM_X_STRING_NODE: {
|
2381
2388
|
pm_x_string_node_t *cast = (pm_x_string_node_t *) node;
|
2382
2389
|
memsize->memsize += sizeof(*cast);
|
2383
2390
|
memsize->memsize += pm_string_memsize(&cast->unescaped);
|
2384
2391
|
break;
|
2385
2392
|
}
|
2386
|
-
#line
|
2393
|
+
#line 103 "node.c.erb"
|
2387
2394
|
case PM_YIELD_NODE: {
|
2388
2395
|
pm_yield_node_t *cast = (pm_yield_node_t *) node;
|
2389
2396
|
memsize->memsize += sizeof(*cast);
|
@@ -2392,18 +2399,22 @@ pm_node_memsize_node(pm_node_t *node, pm_memsize_t *memsize) {
|
|
2392
2399
|
}
|
2393
2400
|
break;
|
2394
2401
|
}
|
2395
|
-
#line
|
2402
|
+
#line 137 "node.c.erb"
|
2396
2403
|
}
|
2397
2404
|
}
|
2398
2405
|
|
2399
|
-
|
2406
|
+
/**
|
2407
|
+
* Calculates the memory footprint of a given node.
|
2408
|
+
*/
|
2400
2409
|
PRISM_EXPORTED_FUNCTION void
|
2401
2410
|
pm_node_memsize(pm_node_t *node, pm_memsize_t *memsize) {
|
2402
2411
|
*memsize = (pm_memsize_t) { .memsize = 0, .node_count = 0 };
|
2403
2412
|
pm_node_memsize_node(node, memsize);
|
2404
2413
|
}
|
2405
2414
|
|
2406
|
-
|
2415
|
+
/**
|
2416
|
+
* Returns a string representation of the given node type.
|
2417
|
+
*/
|
2407
2418
|
PRISM_EXPORTED_FUNCTION const char *
|
2408
2419
|
pm_node_type_to_str(pm_node_type_t node_type)
|
2409
2420
|
{
|
@@ -2576,8 +2587,6 @@ pm_node_type_to_str(pm_node_type_t node_type)
|
|
2576
2587
|
return "PM_INTERPOLATED_X_STRING_NODE";
|
2577
2588
|
case PM_KEYWORD_HASH_NODE:
|
2578
2589
|
return "PM_KEYWORD_HASH_NODE";
|
2579
|
-
case PM_KEYWORD_PARAMETER_NODE:
|
2580
|
-
return "PM_KEYWORD_PARAMETER_NODE";
|
2581
2590
|
case PM_KEYWORD_REST_PARAMETER_NODE:
|
2582
2591
|
return "PM_KEYWORD_REST_PARAMETER_NODE";
|
2583
2592
|
case PM_LAMBDA_NODE:
|
@@ -2618,6 +2627,8 @@ pm_node_type_to_str(pm_node_type_t node_type)
|
|
2618
2627
|
return "PM_NO_KEYWORDS_PARAMETER_NODE";
|
2619
2628
|
case PM_NUMBERED_REFERENCE_READ_NODE:
|
2620
2629
|
return "PM_NUMBERED_REFERENCE_READ_NODE";
|
2630
|
+
case PM_OPTIONAL_KEYWORD_PARAMETER_NODE:
|
2631
|
+
return "PM_OPTIONAL_KEYWORD_PARAMETER_NODE";
|
2621
2632
|
case PM_OPTIONAL_PARAMETER_NODE:
|
2622
2633
|
return "PM_OPTIONAL_PARAMETER_NODE";
|
2623
2634
|
case PM_OR_NODE:
|
@@ -2644,6 +2655,8 @@ pm_node_type_to_str(pm_node_type_t node_type)
|
|
2644
2655
|
return "PM_REDO_NODE";
|
2645
2656
|
case PM_REGULAR_EXPRESSION_NODE:
|
2646
2657
|
return "PM_REGULAR_EXPRESSION_NODE";
|
2658
|
+
case PM_REQUIRED_KEYWORD_PARAMETER_NODE:
|
2659
|
+
return "PM_REQUIRED_KEYWORD_PARAMETER_NODE";
|
2647
2660
|
case PM_REQUIRED_PARAMETER_NODE:
|
2648
2661
|
return "PM_REQUIRED_PARAMETER_NODE";
|
2649
2662
|
case PM_RESCUE_MODIFIER_NODE:
|