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