aboutsummaryrefslogtreecommitdiffstats
path: root/yarp/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'yarp/node.c')
-rw-r--r--yarp/node.c2033
1 files changed, 0 insertions, 2033 deletions
diff --git a/yarp/node.c b/yarp/node.c
deleted file mode 100644
index 46e24d1ee7..0000000000
--- a/yarp/node.c
+++ /dev/null
@@ -1,2033 +0,0 @@
-/******************************************************************************/
-/* This file is generated by the bin/template script and should not be */
-/* modified manually. See */
-/* templates/src/node.c.erb */
-/* if you are looking to modify the */
-/* template */
-/******************************************************************************/
-#line 2 "node.c.erb"
-#include "yarp/node.h"
-
-// Clear the node but preserves the location.
-void yp_node_clear(yp_node_t *node) {
- yp_location_t location = node->location;
- memset(node, 0, sizeof(yp_node_t));
- node->location = location;
-}
-
-// Calculate the size of the token list in bytes.
-static size_t
-yp_location_list_memsize(yp_location_list_t *list) {
- return sizeof(yp_location_list_t) + (list->capacity * sizeof(yp_location_t));
-}
-
-// Append a token to the given list.
-void
-yp_location_list_append(yp_location_list_t *list, const yp_token_t *token) {
- if (list->size == list->capacity) {
- list->capacity = list->capacity == 0 ? 2 : list->capacity * 2;
- list->locations = (yp_location_t *) realloc(list->locations, sizeof(yp_location_t) * list->capacity);
- }
- list->locations[list->size++] = (yp_location_t) { .start = token->start, .end = token->end };
-}
-
-// Free the memory associated with the token list.
-static void
-yp_location_list_free(yp_location_list_t *list) {
- if (list->locations != NULL) {
- free(list->locations);
- }
-}
-
-static void
-yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize);
-
-// Calculate the size of the node list in bytes.
-static size_t
-yp_node_list_memsize(yp_node_list_t *node_list, yp_memsize_t *memsize) {
- size_t size = sizeof(yp_node_list_t) + (node_list->capacity * sizeof(yp_node_t *));
- for (size_t index = 0; index < node_list->size; index++) {
- yp_node_memsize_node(node_list->nodes[index], memsize);
- }
- return size;
-}
-
-// Append a new node onto the end of the node list.
-void
-yp_node_list_append(yp_node_list_t *list, yp_node_t *node) {
- if (list->size == list->capacity) {
- list->capacity = list->capacity == 0 ? 4 : list->capacity * 2;
- list->nodes = (yp_node_t **) realloc(list->nodes, sizeof(yp_node_t *) * list->capacity);
- }
- list->nodes[list->size++] = node;
-}
-
-YP_EXPORTED_FUNCTION void
-yp_node_destroy(yp_parser_t *parser, yp_node_t *node);
-
-// Deallocate the inner memory of a list of nodes. The parser argument is not
-// used, but is here for the future possibility of pre-allocating memory pools.
-static void
-yp_node_list_free(yp_parser_t *parser, yp_node_list_t *list) {
- if (list->capacity > 0) {
- for (size_t index = 0; index < list->size; index++) {
- yp_node_destroy(parser, list->nodes[index]);
- }
- free(list->nodes);
- }
-}
-
-// Deallocate the space for a yp_node_t. Similarly to yp_node_alloc, we're not
-// using the parser argument, but it's there to allow for the future possibility
-// of pre-allocating larger memory pools.
-YP_EXPORTED_FUNCTION void
-yp_node_destroy(yp_parser_t *parser, yp_node_t *node) {
- switch (YP_NODE_TYPE(node)) {
-#line 81 "node.c.erb"
- case YP_NODE_ALIAS_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_alias_node_t *)node)->new_name);
- yp_node_destroy(parser, (yp_node_t *)((yp_alias_node_t *)node)->old_name);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ALTERNATION_PATTERN_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_alternation_pattern_node_t *)node)->left);
- yp_node_destroy(parser, (yp_node_t *)((yp_alternation_pattern_node_t *)node)->right);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_AND_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_and_node_t *)node)->left);
- yp_node_destroy(parser, (yp_node_t *)((yp_and_node_t *)node)->right);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ARGUMENTS_NODE:
- yp_node_list_free(parser, &((yp_arguments_node_t *)node)->arguments);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ARRAY_NODE:
- yp_node_list_free(parser, &((yp_array_node_t *)node)->elements);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ARRAY_PATTERN_NODE:
- if (((yp_array_pattern_node_t *)node)->constant != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_array_pattern_node_t *)node)->constant);
- }
- yp_node_list_free(parser, &((yp_array_pattern_node_t *)node)->requireds);
- if (((yp_array_pattern_node_t *)node)->rest != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_array_pattern_node_t *)node)->rest);
- }
- yp_node_list_free(parser, &((yp_array_pattern_node_t *)node)->posts);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ASSOC_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_assoc_node_t *)node)->key);
- if (((yp_assoc_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_assoc_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ASSOC_SPLAT_NODE:
- if (((yp_assoc_splat_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_assoc_splat_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BACK_REFERENCE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BEGIN_NODE:
- if (((yp_begin_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_begin_node_t *)node)->statements);
- }
- if (((yp_begin_node_t *)node)->rescue_clause != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_begin_node_t *)node)->rescue_clause);
- }
- if (((yp_begin_node_t *)node)->else_clause != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_begin_node_t *)node)->else_clause);
- }
- if (((yp_begin_node_t *)node)->ensure_clause != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_begin_node_t *)node)->ensure_clause);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BLOCK_ARGUMENT_NODE:
- if (((yp_block_argument_node_t *)node)->expression != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_block_argument_node_t *)node)->expression);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BLOCK_NODE:
- yp_constant_id_list_free(&((yp_block_node_t *)node)->locals);
- if (((yp_block_node_t *)node)->parameters != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_block_node_t *)node)->parameters);
- }
- if (((yp_block_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_block_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BLOCK_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BLOCK_PARAMETERS_NODE:
- if (((yp_block_parameters_node_t *)node)->parameters != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_block_parameters_node_t *)node)->parameters);
- }
- yp_location_list_free(&((yp_block_parameters_node_t *)node)->locals);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_BREAK_NODE:
- if (((yp_break_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_break_node_t *)node)->arguments);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CALL_NODE:
- if (((yp_call_node_t *)node)->receiver != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_call_node_t *)node)->receiver);
- }
- if (((yp_call_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_call_node_t *)node)->arguments);
- }
- if (((yp_call_node_t *)node)->block != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_call_node_t *)node)->block);
- }
- yp_string_free(&((yp_call_node_t *)node)->name);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_and_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_or_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_call_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CAPTURE_PATTERN_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_capture_pattern_node_t *)node)->value);
- yp_node_destroy(parser, (yp_node_t *)((yp_capture_pattern_node_t *)node)->target);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CASE_NODE:
- if (((yp_case_node_t *)node)->predicate != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_case_node_t *)node)->predicate);
- }
- yp_node_list_free(parser, &((yp_case_node_t *)node)->conditions);
- if (((yp_case_node_t *)node)->consequent != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_case_node_t *)node)->consequent);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_NODE:
- yp_constant_id_list_free(&((yp_class_node_t *)node)->locals);
- yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->constant_path);
- if (((yp_class_node_t *)node)->superclass != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->superclass);
- }
- if (((yp_class_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_class_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_WRITE_NODE:
- if (((yp_class_variable_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_class_variable_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_NODE:
- if (((yp_constant_path_node_t *)node)->parent != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_node_t *)node)->parent);
- }
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_node_t *)node)->child);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target);
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->target);
- if (((yp_constant_path_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_path_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_CONSTANT_WRITE_NODE:
- if (((yp_constant_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_constant_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_DEF_NODE:
- if (((yp_def_node_t *)node)->receiver != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->receiver);
- }
- if (((yp_def_node_t *)node)->parameters != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->parameters);
- }
- if (((yp_def_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_def_node_t *)node)->statements);
- }
- yp_constant_id_list_free(&((yp_def_node_t *)node)->locals);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_DEFINED_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_defined_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ELSE_NODE:
- if (((yp_else_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_else_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_EMBEDDED_STATEMENTS_NODE:
- if (((yp_embedded_statements_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_embedded_statements_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_EMBEDDED_VARIABLE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_embedded_variable_node_t *)node)->variable);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_ENSURE_NODE:
- if (((yp_ensure_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_ensure_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FALSE_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FIND_PATTERN_NODE:
- if (((yp_find_pattern_node_t *)node)->constant != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_find_pattern_node_t *)node)->constant);
- }
- yp_node_destroy(parser, (yp_node_t *)((yp_find_pattern_node_t *)node)->left);
- yp_node_list_free(parser, &((yp_find_pattern_node_t *)node)->requireds);
- yp_node_destroy(parser, (yp_node_t *)((yp_find_pattern_node_t *)node)->right);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FLIP_FLOP_NODE:
- if (((yp_flip_flop_node_t *)node)->left != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_flip_flop_node_t *)node)->left);
- }
- if (((yp_flip_flop_node_t *)node)->right != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_flip_flop_node_t *)node)->right);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FLOAT_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FOR_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_for_node_t *)node)->index);
- yp_node_destroy(parser, (yp_node_t *)((yp_for_node_t *)node)->collection);
- if (((yp_for_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_for_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FORWARDING_ARGUMENTS_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FORWARDING_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_FORWARDING_SUPER_NODE:
- if (((yp_forwarding_super_node_t *)node)->block != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_forwarding_super_node_t *)node)->block);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE:
- if (((yp_global_variable_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_global_variable_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_HASH_NODE:
- yp_node_list_free(parser, &((yp_hash_node_t *)node)->elements);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_HASH_PATTERN_NODE:
- if (((yp_hash_pattern_node_t *)node)->constant != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_hash_pattern_node_t *)node)->constant);
- }
- yp_node_list_free(parser, &((yp_hash_pattern_node_t *)node)->assocs);
- if (((yp_hash_pattern_node_t *)node)->kwrest != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_hash_pattern_node_t *)node)->kwrest);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_IF_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_if_node_t *)node)->predicate);
- if (((yp_if_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_if_node_t *)node)->statements);
- }
- if (((yp_if_node_t *)node)->consequent != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_if_node_t *)node)->consequent);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_IMAGINARY_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_imaginary_node_t *)node)->numeric);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_IN_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_in_node_t *)node)->pattern);
- if (((yp_in_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_in_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE:
- if (((yp_instance_variable_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_instance_variable_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INTEGER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE:
- yp_node_list_free(parser, &((yp_interpolated_regular_expression_node_t *)node)->parts);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INTERPOLATED_STRING_NODE:
- yp_node_list_free(parser, &((yp_interpolated_string_node_t *)node)->parts);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INTERPOLATED_SYMBOL_NODE:
- yp_node_list_free(parser, &((yp_interpolated_symbol_node_t *)node)->parts);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_INTERPOLATED_X_STRING_NODE:
- yp_node_list_free(parser, &((yp_interpolated_x_string_node_t *)node)->parts);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_KEYWORD_HASH_NODE:
- yp_node_list_free(parser, &((yp_keyword_hash_node_t *)node)->elements);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_KEYWORD_PARAMETER_NODE:
- if (((yp_keyword_parameter_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_keyword_parameter_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_KEYWORD_REST_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LAMBDA_NODE:
- yp_constant_id_list_free(&((yp_lambda_node_t *)node)->locals);
- if (((yp_lambda_node_t *)node)->parameters != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_lambda_node_t *)node)->parameters);
- }
- if (((yp_lambda_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_lambda_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_and_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_or_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_operator_write_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_WRITE_NODE:
- if (((yp_local_variable_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_local_variable_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_MATCH_PREDICATE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_match_predicate_node_t *)node)->value);
- yp_node_destroy(parser, (yp_node_t *)((yp_match_predicate_node_t *)node)->pattern);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_MATCH_REQUIRED_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_match_required_node_t *)node)->value);
- yp_node_destroy(parser, (yp_node_t *)((yp_match_required_node_t *)node)->pattern);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_MISSING_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_MODULE_NODE:
- yp_constant_id_list_free(&((yp_module_node_t *)node)->locals);
- yp_node_destroy(parser, (yp_node_t *)((yp_module_node_t *)node)->constant_path);
- if (((yp_module_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_module_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_MULTI_WRITE_NODE:
- yp_node_list_free(parser, &((yp_multi_write_node_t *)node)->targets);
- if (((yp_multi_write_node_t *)node)->value != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_multi_write_node_t *)node)->value);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_NEXT_NODE:
- if (((yp_next_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_next_node_t *)node)->arguments);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_NIL_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_NO_KEYWORDS_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_NUMBERED_REFERENCE_READ_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_OPTIONAL_PARAMETER_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_optional_parameter_node_t *)node)->value);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_OR_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_or_node_t *)node)->left);
- yp_node_destroy(parser, (yp_node_t *)((yp_or_node_t *)node)->right);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PARAMETERS_NODE:
- yp_node_list_free(parser, &((yp_parameters_node_t *)node)->requireds);
- yp_node_list_free(parser, &((yp_parameters_node_t *)node)->optionals);
- yp_node_list_free(parser, &((yp_parameters_node_t *)node)->posts);
- if (((yp_parameters_node_t *)node)->rest != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_parameters_node_t *)node)->rest);
- }
- yp_node_list_free(parser, &((yp_parameters_node_t *)node)->keywords);
- if (((yp_parameters_node_t *)node)->keyword_rest != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_parameters_node_t *)node)->keyword_rest);
- }
- if (((yp_parameters_node_t *)node)->block != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_parameters_node_t *)node)->block);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PARENTHESES_NODE:
- if (((yp_parentheses_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_parentheses_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PINNED_EXPRESSION_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_pinned_expression_node_t *)node)->expression);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PINNED_VARIABLE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_pinned_variable_node_t *)node)->variable);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_POST_EXECUTION_NODE:
- if (((yp_post_execution_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_post_execution_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PRE_EXECUTION_NODE:
- if (((yp_pre_execution_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_pre_execution_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_PROGRAM_NODE:
- yp_constant_id_list_free(&((yp_program_node_t *)node)->locals);
- yp_node_destroy(parser, (yp_node_t *)((yp_program_node_t *)node)->statements);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RANGE_NODE:
- if (((yp_range_node_t *)node)->left != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_range_node_t *)node)->left);
- }
- if (((yp_range_node_t *)node)->right != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_range_node_t *)node)->right);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RATIONAL_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_rational_node_t *)node)->numeric);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_REDO_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_REGULAR_EXPRESSION_NODE:
- yp_string_free(&((yp_regular_expression_node_t *)node)->unescaped);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE:
- yp_node_list_free(parser, &((yp_required_destructured_parameter_node_t *)node)->parameters);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_REQUIRED_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RESCUE_MODIFIER_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_rescue_modifier_node_t *)node)->expression);
- yp_node_destroy(parser, (yp_node_t *)((yp_rescue_modifier_node_t *)node)->rescue_expression);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RESCUE_NODE:
- yp_node_list_free(parser, &((yp_rescue_node_t *)node)->exceptions);
- if (((yp_rescue_node_t *)node)->reference != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_rescue_node_t *)node)->reference);
- }
- if (((yp_rescue_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_rescue_node_t *)node)->statements);
- }
- if (((yp_rescue_node_t *)node)->consequent != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_rescue_node_t *)node)->consequent);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_REST_PARAMETER_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RETRY_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_RETURN_NODE:
- if (((yp_return_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_return_node_t *)node)->arguments);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SELF_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SINGLETON_CLASS_NODE:
- yp_constant_id_list_free(&((yp_singleton_class_node_t *)node)->locals);
- yp_node_destroy(parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->expression);
- if (((yp_singleton_class_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_singleton_class_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SOURCE_ENCODING_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SOURCE_FILE_NODE:
- yp_string_free(&((yp_source_file_node_t *)node)->filepath);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SOURCE_LINE_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SPLAT_NODE:
- if (((yp_splat_node_t *)node)->expression != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_splat_node_t *)node)->expression);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_STATEMENTS_NODE:
- yp_node_list_free(parser, &((yp_statements_node_t *)node)->body);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_STRING_CONCAT_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_string_concat_node_t *)node)->left);
- yp_node_destroy(parser, (yp_node_t *)((yp_string_concat_node_t *)node)->right);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_STRING_NODE:
- yp_string_free(&((yp_string_node_t *)node)->unescaped);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SUPER_NODE:
- if (((yp_super_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_super_node_t *)node)->arguments);
- }
- if (((yp_super_node_t *)node)->block != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_super_node_t *)node)->block);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_SYMBOL_NODE:
- yp_string_free(&((yp_symbol_node_t *)node)->unescaped);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_TRUE_NODE:
- break;
-#line 81 "node.c.erb"
- case YP_NODE_UNDEF_NODE:
- yp_node_list_free(parser, &((yp_undef_node_t *)node)->names);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_UNLESS_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_unless_node_t *)node)->predicate);
- if (((yp_unless_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_unless_node_t *)node)->statements);
- }
- if (((yp_unless_node_t *)node)->consequent != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_unless_node_t *)node)->consequent);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_UNTIL_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_until_node_t *)node)->predicate);
- if (((yp_until_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_until_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_WHEN_NODE:
- yp_node_list_free(parser, &((yp_when_node_t *)node)->conditions);
- if (((yp_when_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_when_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_WHILE_NODE:
- yp_node_destroy(parser, (yp_node_t *)((yp_while_node_t *)node)->predicate);
- if (((yp_while_node_t *)node)->statements != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_while_node_t *)node)->statements);
- }
- break;
-#line 81 "node.c.erb"
- case YP_NODE_X_STRING_NODE:
- yp_string_free(&((yp_x_string_node_t *)node)->unescaped);
- break;
-#line 81 "node.c.erb"
- case YP_NODE_YIELD_NODE:
- if (((yp_yield_node_t *)node)->arguments != NULL) {
- yp_node_destroy(parser, (yp_node_t *)((yp_yield_node_t *)node)->arguments);
- }
- break;
-#line 106 "node.c.erb"
- default:
- assert(false && "unreachable");
- break;
- }
- free(node);
-}
-
-static void
-yp_node_memsize_node(yp_node_t *node, yp_memsize_t *memsize) {
- memsize->node_count++;
-
- switch (YP_NODE_TYPE(node)) {
-#line 120 "node.c.erb"
- case YP_NODE_ALIAS_NODE: {
- memsize->memsize += sizeof(yp_alias_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_alias_node_t *)node)->new_name, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_alias_node_t *)node)->old_name, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ALTERNATION_PATTERN_NODE: {
- memsize->memsize += sizeof(yp_alternation_pattern_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_alternation_pattern_node_t *)node)->left, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_alternation_pattern_node_t *)node)->right, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_AND_NODE: {
- memsize->memsize += sizeof(yp_and_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_and_node_t *)node)->left, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_and_node_t *)node)->right, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ARGUMENTS_NODE: {
- memsize->memsize += sizeof(yp_arguments_node_t);
- yp_node_list_memsize(&((yp_arguments_node_t *)node)->arguments, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ARRAY_NODE: {
- memsize->memsize += sizeof(yp_array_node_t);
- yp_node_list_memsize(&((yp_array_node_t *)node)->elements, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ARRAY_PATTERN_NODE: {
- memsize->memsize += sizeof(yp_array_pattern_node_t);
- if (((yp_array_pattern_node_t *)node)->constant != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_array_pattern_node_t *)node)->constant, memsize);
- }
- yp_node_list_memsize(&((yp_array_pattern_node_t *)node)->requireds, memsize);
- if (((yp_array_pattern_node_t *)node)->rest != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_array_pattern_node_t *)node)->rest, memsize);
- }
- yp_node_list_memsize(&((yp_array_pattern_node_t *)node)->posts, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ASSOC_NODE: {
- memsize->memsize += sizeof(yp_assoc_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_assoc_node_t *)node)->key, memsize);
- if (((yp_assoc_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_assoc_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ASSOC_SPLAT_NODE: {
- memsize->memsize += sizeof(yp_assoc_splat_node_t);
- if (((yp_assoc_splat_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_assoc_splat_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BACK_REFERENCE_READ_NODE: {
- memsize->memsize += sizeof(yp_back_reference_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BEGIN_NODE: {
- memsize->memsize += sizeof(yp_begin_node_t);
- if (((yp_begin_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_begin_node_t *)node)->statements, memsize);
- }
- if (((yp_begin_node_t *)node)->rescue_clause != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_begin_node_t *)node)->rescue_clause, memsize);
- }
- if (((yp_begin_node_t *)node)->else_clause != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_begin_node_t *)node)->else_clause, memsize);
- }
- if (((yp_begin_node_t *)node)->ensure_clause != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_begin_node_t *)node)->ensure_clause, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BLOCK_ARGUMENT_NODE: {
- memsize->memsize += sizeof(yp_block_argument_node_t);
- if (((yp_block_argument_node_t *)node)->expression != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_block_argument_node_t *)node)->expression, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BLOCK_NODE: {
- memsize->memsize += sizeof(yp_block_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_block_node_t *)node)->locals);
- if (((yp_block_node_t *)node)->parameters != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_block_node_t *)node)->parameters, memsize);
- }
- if (((yp_block_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_block_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BLOCK_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_block_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BLOCK_PARAMETERS_NODE: {
- memsize->memsize += sizeof(yp_block_parameters_node_t);
- if (((yp_block_parameters_node_t *)node)->parameters != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_block_parameters_node_t *)node)->parameters, memsize);
- }
- memsize->memsize += yp_location_list_memsize(&((yp_block_parameters_node_t *)node)->locals);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_BREAK_NODE: {
- memsize->memsize += sizeof(yp_break_node_t);
- if (((yp_break_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_break_node_t *)node)->arguments, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CALL_NODE: {
- memsize->memsize += sizeof(yp_call_node_t);
- if (((yp_call_node_t *)node)->receiver != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_call_node_t *)node)->receiver, memsize);
- }
- if (((yp_call_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_call_node_t *)node)->arguments, memsize);
- }
- if (((yp_call_node_t *)node)->block != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_call_node_t *)node)->block, memsize);
- }
- memsize->memsize += yp_string_memsize(&((yp_call_node_t *)node)->name);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_call_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_and_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_call_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_or_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CALL_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_call_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_call_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CAPTURE_PATTERN_NODE: {
- memsize->memsize += sizeof(yp_capture_pattern_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_capture_pattern_node_t *)node)->value, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_capture_pattern_node_t *)node)->target, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CASE_NODE: {
- memsize->memsize += sizeof(yp_case_node_t);
- if (((yp_case_node_t *)node)->predicate != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_case_node_t *)node)->predicate, memsize);
- }
- yp_node_list_memsize(&((yp_case_node_t *)node)->conditions, memsize);
- if (((yp_case_node_t *)node)->consequent != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_case_node_t *)node)->consequent, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_NODE: {
- memsize->memsize += sizeof(yp_class_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_class_node_t *)node)->locals);
- yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->constant_path, memsize);
- if (((yp_class_node_t *)node)->superclass != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->superclass, memsize);
- }
- if (((yp_class_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_class_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_class_variable_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_class_variable_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_class_variable_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_READ_NODE: {
- memsize->memsize += sizeof(yp_class_variable_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CLASS_VARIABLE_WRITE_NODE: {
- memsize->memsize += sizeof(yp_class_variable_write_node_t);
- if (((yp_class_variable_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_class_variable_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_NODE: {
- memsize->memsize += sizeof(yp_constant_path_node_t);
- if (((yp_constant_path_node_t *)node)->parent != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_node_t *)node)->parent, memsize);
- }
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_node_t *)node)->child, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_path_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_path_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_path_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->target, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_PATH_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_path_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_write_node_t *)node)->target, memsize);
- if (((yp_constant_path_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_constant_path_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_READ_NODE: {
- memsize->memsize += sizeof(yp_constant_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_CONSTANT_WRITE_NODE: {
- memsize->memsize += sizeof(yp_constant_write_node_t);
- if (((yp_constant_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_constant_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_DEF_NODE: {
- memsize->memsize += sizeof(yp_def_node_t);
- if (((yp_def_node_t *)node)->receiver != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->receiver, memsize);
- }
- if (((yp_def_node_t *)node)->parameters != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->parameters, memsize);
- }
- if (((yp_def_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_def_node_t *)node)->statements, memsize);
- }
- memsize->memsize += yp_constant_id_list_memsize(&((yp_def_node_t *)node)->locals);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_DEFINED_NODE: {
- memsize->memsize += sizeof(yp_defined_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_defined_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ELSE_NODE: {
- memsize->memsize += sizeof(yp_else_node_t);
- if (((yp_else_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_else_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_EMBEDDED_STATEMENTS_NODE: {
- memsize->memsize += sizeof(yp_embedded_statements_node_t);
- if (((yp_embedded_statements_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_embedded_statements_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_EMBEDDED_VARIABLE_NODE: {
- memsize->memsize += sizeof(yp_embedded_variable_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_embedded_variable_node_t *)node)->variable, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_ENSURE_NODE: {
- memsize->memsize += sizeof(yp_ensure_node_t);
- if (((yp_ensure_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_ensure_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FALSE_NODE: {
- memsize->memsize += sizeof(yp_false_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FIND_PATTERN_NODE: {
- memsize->memsize += sizeof(yp_find_pattern_node_t);
- if (((yp_find_pattern_node_t *)node)->constant != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_find_pattern_node_t *)node)->constant, memsize);
- }
- yp_node_memsize_node((yp_node_t *)((yp_find_pattern_node_t *)node)->left, memsize);
- yp_node_list_memsize(&((yp_find_pattern_node_t *)node)->requireds, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_find_pattern_node_t *)node)->right, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FLIP_FLOP_NODE: {
- memsize->memsize += sizeof(yp_flip_flop_node_t);
- if (((yp_flip_flop_node_t *)node)->left != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_flip_flop_node_t *)node)->left, memsize);
- }
- if (((yp_flip_flop_node_t *)node)->right != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_flip_flop_node_t *)node)->right, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FLOAT_NODE: {
- memsize->memsize += sizeof(yp_float_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FOR_NODE: {
- memsize->memsize += sizeof(yp_for_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_for_node_t *)node)->index, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_for_node_t *)node)->collection, memsize);
- if (((yp_for_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_for_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FORWARDING_ARGUMENTS_NODE: {
- memsize->memsize += sizeof(yp_forwarding_arguments_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FORWARDING_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_forwarding_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_FORWARDING_SUPER_NODE: {
- memsize->memsize += sizeof(yp_forwarding_super_node_t);
- if (((yp_forwarding_super_node_t *)node)->block != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_forwarding_super_node_t *)node)->block, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_global_variable_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_global_variable_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_global_variable_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_READ_NODE: {
- memsize->memsize += sizeof(yp_global_variable_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE: {
- memsize->memsize += sizeof(yp_global_variable_write_node_t);
- if (((yp_global_variable_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_global_variable_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_HASH_NODE: {
- memsize->memsize += sizeof(yp_hash_node_t);
- yp_node_list_memsize(&((yp_hash_node_t *)node)->elements, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_HASH_PATTERN_NODE: {
- memsize->memsize += sizeof(yp_hash_pattern_node_t);
- if (((yp_hash_pattern_node_t *)node)->constant != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_hash_pattern_node_t *)node)->constant, memsize);
- }
- yp_node_list_memsize(&((yp_hash_pattern_node_t *)node)->assocs, memsize);
- if (((yp_hash_pattern_node_t *)node)->kwrest != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_hash_pattern_node_t *)node)->kwrest, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_IF_NODE: {
- memsize->memsize += sizeof(yp_if_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_if_node_t *)node)->predicate, memsize);
- if (((yp_if_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_if_node_t *)node)->statements, memsize);
- }
- if (((yp_if_node_t *)node)->consequent != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_if_node_t *)node)->consequent, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_IMAGINARY_NODE: {
- memsize->memsize += sizeof(yp_imaginary_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_imaginary_node_t *)node)->numeric, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_IN_NODE: {
- memsize->memsize += sizeof(yp_in_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_in_node_t *)node)->pattern, memsize);
- if (((yp_in_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_in_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_instance_variable_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_instance_variable_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_instance_variable_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_READ_NODE: {
- memsize->memsize += sizeof(yp_instance_variable_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE: {
- memsize->memsize += sizeof(yp_instance_variable_write_node_t);
- if (((yp_instance_variable_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_instance_variable_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INTEGER_NODE: {
- memsize->memsize += sizeof(yp_integer_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE: {
- memsize->memsize += sizeof(yp_interpolated_regular_expression_node_t);
- yp_node_list_memsize(&((yp_interpolated_regular_expression_node_t *)node)->parts, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INTERPOLATED_STRING_NODE: {
- memsize->memsize += sizeof(yp_interpolated_string_node_t);
- yp_node_list_memsize(&((yp_interpolated_string_node_t *)node)->parts, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INTERPOLATED_SYMBOL_NODE: {
- memsize->memsize += sizeof(yp_interpolated_symbol_node_t);
- yp_node_list_memsize(&((yp_interpolated_symbol_node_t *)node)->parts, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_INTERPOLATED_X_STRING_NODE: {
- memsize->memsize += sizeof(yp_interpolated_x_string_node_t);
- yp_node_list_memsize(&((yp_interpolated_x_string_node_t *)node)->parts, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_KEYWORD_HASH_NODE: {
- memsize->memsize += sizeof(yp_keyword_hash_node_t);
- yp_node_list_memsize(&((yp_keyword_hash_node_t *)node)->elements, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_KEYWORD_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_keyword_parameter_node_t);
- if (((yp_keyword_parameter_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_keyword_parameter_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_KEYWORD_REST_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_keyword_rest_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LAMBDA_NODE: {
- memsize->memsize += sizeof(yp_lambda_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_lambda_node_t *)node)->locals);
- if (((yp_lambda_node_t *)node)->parameters != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_lambda_node_t *)node)->parameters, memsize);
- }
- if (((yp_lambda_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_lambda_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE: {
- memsize->memsize += sizeof(yp_local_variable_operator_and_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_and_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_local_variable_operator_or_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_or_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE: {
- memsize->memsize += sizeof(yp_local_variable_operator_write_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_operator_write_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_READ_NODE: {
- memsize->memsize += sizeof(yp_local_variable_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_LOCAL_VARIABLE_WRITE_NODE: {
- memsize->memsize += sizeof(yp_local_variable_write_node_t);
- if (((yp_local_variable_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_local_variable_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_MATCH_PREDICATE_NODE: {
- memsize->memsize += sizeof(yp_match_predicate_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_match_predicate_node_t *)node)->value, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_match_predicate_node_t *)node)->pattern, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_MATCH_REQUIRED_NODE: {
- memsize->memsize += sizeof(yp_match_required_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_match_required_node_t *)node)->value, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_match_required_node_t *)node)->pattern, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_MISSING_NODE: {
- memsize->memsize += sizeof(yp_missing_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_MODULE_NODE: {
- memsize->memsize += sizeof(yp_module_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_module_node_t *)node)->locals);
- yp_node_memsize_node((yp_node_t *)((yp_module_node_t *)node)->constant_path, memsize);
- if (((yp_module_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_module_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_MULTI_WRITE_NODE: {
- memsize->memsize += sizeof(yp_multi_write_node_t);
- yp_node_list_memsize(&((yp_multi_write_node_t *)node)->targets, memsize);
- if (((yp_multi_write_node_t *)node)->value != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_multi_write_node_t *)node)->value, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_NEXT_NODE: {
- memsize->memsize += sizeof(yp_next_node_t);
- if (((yp_next_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_next_node_t *)node)->arguments, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_NIL_NODE: {
- memsize->memsize += sizeof(yp_nil_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_NO_KEYWORDS_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_no_keywords_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_NUMBERED_REFERENCE_READ_NODE: {
- memsize->memsize += sizeof(yp_numbered_reference_read_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_OPTIONAL_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_optional_parameter_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_optional_parameter_node_t *)node)->value, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_OR_NODE: {
- memsize->memsize += sizeof(yp_or_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_or_node_t *)node)->left, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_or_node_t *)node)->right, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PARAMETERS_NODE: {
- memsize->memsize += sizeof(yp_parameters_node_t);
- yp_node_list_memsize(&((yp_parameters_node_t *)node)->requireds, memsize);
- yp_node_list_memsize(&((yp_parameters_node_t *)node)->optionals, memsize);
- yp_node_list_memsize(&((yp_parameters_node_t *)node)->posts, memsize);
- if (((yp_parameters_node_t *)node)->rest != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_parameters_node_t *)node)->rest, memsize);
- }
- yp_node_list_memsize(&((yp_parameters_node_t *)node)->keywords, memsize);
- if (((yp_parameters_node_t *)node)->keyword_rest != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_parameters_node_t *)node)->keyword_rest, memsize);
- }
- if (((yp_parameters_node_t *)node)->block != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_parameters_node_t *)node)->block, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PARENTHESES_NODE: {
- memsize->memsize += sizeof(yp_parentheses_node_t);
- if (((yp_parentheses_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_parentheses_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PINNED_EXPRESSION_NODE: {
- memsize->memsize += sizeof(yp_pinned_expression_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_pinned_expression_node_t *)node)->expression, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PINNED_VARIABLE_NODE: {
- memsize->memsize += sizeof(yp_pinned_variable_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_pinned_variable_node_t *)node)->variable, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_POST_EXECUTION_NODE: {
- memsize->memsize += sizeof(yp_post_execution_node_t);
- if (((yp_post_execution_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_post_execution_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PRE_EXECUTION_NODE: {
- memsize->memsize += sizeof(yp_pre_execution_node_t);
- if (((yp_pre_execution_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_pre_execution_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_PROGRAM_NODE: {
- memsize->memsize += sizeof(yp_program_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_program_node_t *)node)->locals);
- yp_node_memsize_node((yp_node_t *)((yp_program_node_t *)node)->statements, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RANGE_NODE: {
- memsize->memsize += sizeof(yp_range_node_t);
- if (((yp_range_node_t *)node)->left != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_range_node_t *)node)->left, memsize);
- }
- if (((yp_range_node_t *)node)->right != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_range_node_t *)node)->right, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RATIONAL_NODE: {
- memsize->memsize += sizeof(yp_rational_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_rational_node_t *)node)->numeric, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_REDO_NODE: {
- memsize->memsize += sizeof(yp_redo_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_REGULAR_EXPRESSION_NODE: {
- memsize->memsize += sizeof(yp_regular_expression_node_t);
- memsize->memsize += yp_string_memsize(&((yp_regular_expression_node_t *)node)->unescaped);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_required_destructured_parameter_node_t);
- yp_node_list_memsize(&((yp_required_destructured_parameter_node_t *)node)->parameters, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_REQUIRED_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_required_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RESCUE_MODIFIER_NODE: {
- memsize->memsize += sizeof(yp_rescue_modifier_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_rescue_modifier_node_t *)node)->expression, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_rescue_modifier_node_t *)node)->rescue_expression, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RESCUE_NODE: {
- memsize->memsize += sizeof(yp_rescue_node_t);
- yp_node_list_memsize(&((yp_rescue_node_t *)node)->exceptions, memsize);
- if (((yp_rescue_node_t *)node)->reference != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_rescue_node_t *)node)->reference, memsize);
- }
- if (((yp_rescue_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_rescue_node_t *)node)->statements, memsize);
- }
- if (((yp_rescue_node_t *)node)->consequent != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_rescue_node_t *)node)->consequent, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_REST_PARAMETER_NODE: {
- memsize->memsize += sizeof(yp_rest_parameter_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RETRY_NODE: {
- memsize->memsize += sizeof(yp_retry_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_RETURN_NODE: {
- memsize->memsize += sizeof(yp_return_node_t);
- if (((yp_return_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_return_node_t *)node)->arguments, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SELF_NODE: {
- memsize->memsize += sizeof(yp_self_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SINGLETON_CLASS_NODE: {
- memsize->memsize += sizeof(yp_singleton_class_node_t);
- memsize->memsize += yp_constant_id_list_memsize(&((yp_singleton_class_node_t *)node)->locals);
- yp_node_memsize_node((yp_node_t *)((yp_singleton_class_node_t *)node)->expression, memsize);
- if (((yp_singleton_class_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_singleton_class_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SOURCE_ENCODING_NODE: {
- memsize->memsize += sizeof(yp_source_encoding_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SOURCE_FILE_NODE: {
- memsize->memsize += sizeof(yp_source_file_node_t);
- memsize->memsize += yp_string_memsize(&((yp_source_file_node_t *)node)->filepath);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SOURCE_LINE_NODE: {
- memsize->memsize += sizeof(yp_source_line_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SPLAT_NODE: {
- memsize->memsize += sizeof(yp_splat_node_t);
- if (((yp_splat_node_t *)node)->expression != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_splat_node_t *)node)->expression, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_STATEMENTS_NODE: {
- memsize->memsize += sizeof(yp_statements_node_t);
- yp_node_list_memsize(&((yp_statements_node_t *)node)->body, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_STRING_CONCAT_NODE: {
- memsize->memsize += sizeof(yp_string_concat_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_string_concat_node_t *)node)->left, memsize);
- yp_node_memsize_node((yp_node_t *)((yp_string_concat_node_t *)node)->right, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_STRING_NODE: {
- memsize->memsize += sizeof(yp_string_node_t);
- memsize->memsize += yp_string_memsize(&((yp_string_node_t *)node)->unescaped);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SUPER_NODE: {
- memsize->memsize += sizeof(yp_super_node_t);
- if (((yp_super_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_super_node_t *)node)->arguments, memsize);
- }
- if (((yp_super_node_t *)node)->block != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_super_node_t *)node)->block, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_SYMBOL_NODE: {
- memsize->memsize += sizeof(yp_symbol_node_t);
- memsize->memsize += yp_string_memsize(&((yp_symbol_node_t *)node)->unescaped);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_TRUE_NODE: {
- memsize->memsize += sizeof(yp_true_node_t);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_UNDEF_NODE: {
- memsize->memsize += sizeof(yp_undef_node_t);
- yp_node_list_memsize(&((yp_undef_node_t *)node)->names, memsize);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_UNLESS_NODE: {
- memsize->memsize += sizeof(yp_unless_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_unless_node_t *)node)->predicate, memsize);
- if (((yp_unless_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_unless_node_t *)node)->statements, memsize);
- }
- if (((yp_unless_node_t *)node)->consequent != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_unless_node_t *)node)->consequent, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_UNTIL_NODE: {
- memsize->memsize += sizeof(yp_until_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_until_node_t *)node)->predicate, memsize);
- if (((yp_until_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_until_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_WHEN_NODE: {
- memsize->memsize += sizeof(yp_when_node_t);
- yp_node_list_memsize(&((yp_when_node_t *)node)->conditions, memsize);
- if (((yp_when_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_when_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_WHILE_NODE: {
- memsize->memsize += sizeof(yp_while_node_t);
- yp_node_memsize_node((yp_node_t *)((yp_while_node_t *)node)->predicate, memsize);
- if (((yp_while_node_t *)node)->statements != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_while_node_t *)node)->statements, memsize);
- }
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_X_STRING_NODE: {
- memsize->memsize += sizeof(yp_x_string_node_t);
- memsize->memsize += yp_string_memsize(&((yp_x_string_node_t *)node)->unescaped);
- break;
- }
-#line 120 "node.c.erb"
- case YP_NODE_YIELD_NODE: {
- memsize->memsize += sizeof(yp_yield_node_t);
- if (((yp_yield_node_t *)node)->arguments != NULL) {
- yp_node_memsize_node((yp_node_t *)((yp_yield_node_t *)node)->arguments, memsize);
- }
- break;
- }
-#line 147 "node.c.erb"
- }
-}
-
-// Calculates the memory footprint of a given node.
-YP_EXPORTED_FUNCTION void
-yp_node_memsize(yp_node_t *node, yp_memsize_t *memsize) {
- *memsize = (yp_memsize_t) { .memsize = 0, .node_count = 0 };
- yp_node_memsize_node(node, memsize);
-}
-
-// Returns a string representation of the given node type.
-YP_EXPORTED_FUNCTION const char *
-yp_node_type_to_str(yp_node_type_t node_type)
-{
- switch (node_type) {
- case YP_NODE_ALIAS_NODE:
- return "YP_NODE_ALIAS_NODE";
- case YP_NODE_ALTERNATION_PATTERN_NODE:
- return "YP_NODE_ALTERNATION_PATTERN_NODE";
- case YP_NODE_AND_NODE:
- return "YP_NODE_AND_NODE";
- case YP_NODE_ARGUMENTS_NODE:
- return "YP_NODE_ARGUMENTS_NODE";
- case YP_NODE_ARRAY_NODE:
- return "YP_NODE_ARRAY_NODE";
- case YP_NODE_ARRAY_PATTERN_NODE:
- return "YP_NODE_ARRAY_PATTERN_NODE";
- case YP_NODE_ASSOC_NODE:
- return "YP_NODE_ASSOC_NODE";
- case YP_NODE_ASSOC_SPLAT_NODE:
- return "YP_NODE_ASSOC_SPLAT_NODE";
- case YP_NODE_BACK_REFERENCE_READ_NODE:
- return "YP_NODE_BACK_REFERENCE_READ_NODE";
- case YP_NODE_BEGIN_NODE:
- return "YP_NODE_BEGIN_NODE";
- case YP_NODE_BLOCK_ARGUMENT_NODE:
- return "YP_NODE_BLOCK_ARGUMENT_NODE";
- case YP_NODE_BLOCK_NODE:
- return "YP_NODE_BLOCK_NODE";
- case YP_NODE_BLOCK_PARAMETER_NODE:
- return "YP_NODE_BLOCK_PARAMETER_NODE";
- case YP_NODE_BLOCK_PARAMETERS_NODE:
- return "YP_NODE_BLOCK_PARAMETERS_NODE";
- case YP_NODE_BREAK_NODE:
- return "YP_NODE_BREAK_NODE";
- case YP_NODE_CALL_NODE:
- return "YP_NODE_CALL_NODE";
- case YP_NODE_CALL_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_CALL_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_CALL_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_CALL_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_CALL_OPERATOR_WRITE_NODE:
- return "YP_NODE_CALL_OPERATOR_WRITE_NODE";
- case YP_NODE_CAPTURE_PATTERN_NODE:
- return "YP_NODE_CAPTURE_PATTERN_NODE";
- case YP_NODE_CASE_NODE:
- return "YP_NODE_CASE_NODE";
- case YP_NODE_CLASS_NODE:
- return "YP_NODE_CLASS_NODE";
- case YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_CLASS_VARIABLE_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_CLASS_VARIABLE_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE:
- return "YP_NODE_CLASS_VARIABLE_OPERATOR_WRITE_NODE";
- case YP_NODE_CLASS_VARIABLE_READ_NODE:
- return "YP_NODE_CLASS_VARIABLE_READ_NODE";
- case YP_NODE_CLASS_VARIABLE_WRITE_NODE:
- return "YP_NODE_CLASS_VARIABLE_WRITE_NODE";
- case YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_CONSTANT_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_CONSTANT_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_CONSTANT_OPERATOR_WRITE_NODE:
- return "YP_NODE_CONSTANT_OPERATOR_WRITE_NODE";
- case YP_NODE_CONSTANT_PATH_NODE:
- return "YP_NODE_CONSTANT_PATH_NODE";
- case YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_CONSTANT_PATH_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_CONSTANT_PATH_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE:
- return "YP_NODE_CONSTANT_PATH_OPERATOR_WRITE_NODE";
- case YP_NODE_CONSTANT_PATH_WRITE_NODE:
- return "YP_NODE_CONSTANT_PATH_WRITE_NODE";
- case YP_NODE_CONSTANT_READ_NODE:
- return "YP_NODE_CONSTANT_READ_NODE";
- case YP_NODE_CONSTANT_WRITE_NODE:
- return "YP_NODE_CONSTANT_WRITE_NODE";
- case YP_NODE_DEF_NODE:
- return "YP_NODE_DEF_NODE";
- case YP_NODE_DEFINED_NODE:
- return "YP_NODE_DEFINED_NODE";
- case YP_NODE_ELSE_NODE:
- return "YP_NODE_ELSE_NODE";
- case YP_NODE_EMBEDDED_STATEMENTS_NODE:
- return "YP_NODE_EMBEDDED_STATEMENTS_NODE";
- case YP_NODE_EMBEDDED_VARIABLE_NODE:
- return "YP_NODE_EMBEDDED_VARIABLE_NODE";
- case YP_NODE_ENSURE_NODE:
- return "YP_NODE_ENSURE_NODE";
- case YP_NODE_FALSE_NODE:
- return "YP_NODE_FALSE_NODE";
- case YP_NODE_FIND_PATTERN_NODE:
- return "YP_NODE_FIND_PATTERN_NODE";
- case YP_NODE_FLIP_FLOP_NODE:
- return "YP_NODE_FLIP_FLOP_NODE";
- case YP_NODE_FLOAT_NODE:
- return "YP_NODE_FLOAT_NODE";
- case YP_NODE_FOR_NODE:
- return "YP_NODE_FOR_NODE";
- case YP_NODE_FORWARDING_ARGUMENTS_NODE:
- return "YP_NODE_FORWARDING_ARGUMENTS_NODE";
- case YP_NODE_FORWARDING_PARAMETER_NODE:
- return "YP_NODE_FORWARDING_PARAMETER_NODE";
- case YP_NODE_FORWARDING_SUPER_NODE:
- return "YP_NODE_FORWARDING_SUPER_NODE";
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE:
- return "YP_NODE_GLOBAL_VARIABLE_OPERATOR_WRITE_NODE";
- case YP_NODE_GLOBAL_VARIABLE_READ_NODE:
- return "YP_NODE_GLOBAL_VARIABLE_READ_NODE";
- case YP_NODE_GLOBAL_VARIABLE_WRITE_NODE:
- return "YP_NODE_GLOBAL_VARIABLE_WRITE_NODE";
- case YP_NODE_HASH_NODE:
- return "YP_NODE_HASH_NODE";
- case YP_NODE_HASH_PATTERN_NODE:
- return "YP_NODE_HASH_PATTERN_NODE";
- case YP_NODE_IF_NODE:
- return "YP_NODE_IF_NODE";
- case YP_NODE_IMAGINARY_NODE:
- return "YP_NODE_IMAGINARY_NODE";
- case YP_NODE_IN_NODE:
- return "YP_NODE_IN_NODE";
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE:
- return "YP_NODE_INSTANCE_VARIABLE_OPERATOR_WRITE_NODE";
- case YP_NODE_INSTANCE_VARIABLE_READ_NODE:
- return "YP_NODE_INSTANCE_VARIABLE_READ_NODE";
- case YP_NODE_INSTANCE_VARIABLE_WRITE_NODE:
- return "YP_NODE_INSTANCE_VARIABLE_WRITE_NODE";
- case YP_NODE_INTEGER_NODE:
- return "YP_NODE_INTEGER_NODE";
- case YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE:
- return "YP_NODE_INTERPOLATED_REGULAR_EXPRESSION_NODE";
- case YP_NODE_INTERPOLATED_STRING_NODE:
- return "YP_NODE_INTERPOLATED_STRING_NODE";
- case YP_NODE_INTERPOLATED_SYMBOL_NODE:
- return "YP_NODE_INTERPOLATED_SYMBOL_NODE";
- case YP_NODE_INTERPOLATED_X_STRING_NODE:
- return "YP_NODE_INTERPOLATED_X_STRING_NODE";
- case YP_NODE_KEYWORD_HASH_NODE:
- return "YP_NODE_KEYWORD_HASH_NODE";
- case YP_NODE_KEYWORD_PARAMETER_NODE:
- return "YP_NODE_KEYWORD_PARAMETER_NODE";
- case YP_NODE_KEYWORD_REST_PARAMETER_NODE:
- return "YP_NODE_KEYWORD_REST_PARAMETER_NODE";
- case YP_NODE_LAMBDA_NODE:
- return "YP_NODE_LAMBDA_NODE";
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE:
- return "YP_NODE_LOCAL_VARIABLE_OPERATOR_AND_WRITE_NODE";
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE:
- return "YP_NODE_LOCAL_VARIABLE_OPERATOR_OR_WRITE_NODE";
- case YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE:
- return "YP_NODE_LOCAL_VARIABLE_OPERATOR_WRITE_NODE";
- case YP_NODE_LOCAL_VARIABLE_READ_NODE:
- return "YP_NODE_LOCAL_VARIABLE_READ_NODE";
- case YP_NODE_LOCAL_VARIABLE_WRITE_NODE:
- return "YP_NODE_LOCAL_VARIABLE_WRITE_NODE";
- case YP_NODE_MATCH_PREDICATE_NODE:
- return "YP_NODE_MATCH_PREDICATE_NODE";
- case YP_NODE_MATCH_REQUIRED_NODE:
- return "YP_NODE_MATCH_REQUIRED_NODE";
- case YP_NODE_MISSING_NODE:
- return "YP_NODE_MISSING_NODE";
- case YP_NODE_MODULE_NODE:
- return "YP_NODE_MODULE_NODE";
- case YP_NODE_MULTI_WRITE_NODE:
- return "YP_NODE_MULTI_WRITE_NODE";
- case YP_NODE_NEXT_NODE:
- return "YP_NODE_NEXT_NODE";
- case YP_NODE_NIL_NODE:
- return "YP_NODE_NIL_NODE";
- case YP_NODE_NO_KEYWORDS_PARAMETER_NODE:
- return "YP_NODE_NO_KEYWORDS_PARAMETER_NODE";
- case YP_NODE_NUMBERED_REFERENCE_READ_NODE:
- return "YP_NODE_NUMBERED_REFERENCE_READ_NODE";
- case YP_NODE_OPTIONAL_PARAMETER_NODE:
- return "YP_NODE_OPTIONAL_PARAMETER_NODE";
- case YP_NODE_OR_NODE:
- return "YP_NODE_OR_NODE";
- case YP_NODE_PARAMETERS_NODE:
- return "YP_NODE_PARAMETERS_NODE";
- case YP_NODE_PARENTHESES_NODE:
- return "YP_NODE_PARENTHESES_NODE";
- case YP_NODE_PINNED_EXPRESSION_NODE:
- return "YP_NODE_PINNED_EXPRESSION_NODE";
- case YP_NODE_PINNED_VARIABLE_NODE:
- return "YP_NODE_PINNED_VARIABLE_NODE";
- case YP_NODE_POST_EXECUTION_NODE:
- return "YP_NODE_POST_EXECUTION_NODE";
- case YP_NODE_PRE_EXECUTION_NODE:
- return "YP_NODE_PRE_EXECUTION_NODE";
- case YP_NODE_PROGRAM_NODE:
- return "YP_NODE_PROGRAM_NODE";
- case YP_NODE_RANGE_NODE:
- return "YP_NODE_RANGE_NODE";
- case YP_NODE_RATIONAL_NODE:
- return "YP_NODE_RATIONAL_NODE";
- case YP_NODE_REDO_NODE:
- return "YP_NODE_REDO_NODE";
- case YP_NODE_REGULAR_EXPRESSION_NODE:
- return "YP_NODE_REGULAR_EXPRESSION_NODE";
- case YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE:
- return "YP_NODE_REQUIRED_DESTRUCTURED_PARAMETER_NODE";
- case YP_NODE_REQUIRED_PARAMETER_NODE:
- return "YP_NODE_REQUIRED_PARAMETER_NODE";
- case YP_NODE_RESCUE_MODIFIER_NODE:
- return "YP_NODE_RESCUE_MODIFIER_NODE";
- case YP_NODE_RESCUE_NODE:
- return "YP_NODE_RESCUE_NODE";
- case YP_NODE_REST_PARAMETER_NODE:
- return "YP_NODE_REST_PARAMETER_NODE";
- case YP_NODE_RETRY_NODE:
- return "YP_NODE_RETRY_NODE";
- case YP_NODE_RETURN_NODE:
- return "YP_NODE_RETURN_NODE";
- case YP_NODE_SELF_NODE:
- return "YP_NODE_SELF_NODE";
- case YP_NODE_SINGLETON_CLASS_NODE:
- return "YP_NODE_SINGLETON_CLASS_NODE";
- case YP_NODE_SOURCE_ENCODING_NODE:
- return "YP_NODE_SOURCE_ENCODING_NODE";
- case YP_NODE_SOURCE_FILE_NODE:
- return "YP_NODE_SOURCE_FILE_NODE";
- case YP_NODE_SOURCE_LINE_NODE:
- return "YP_NODE_SOURCE_LINE_NODE";
- case YP_NODE_SPLAT_NODE:
- return "YP_NODE_SPLAT_NODE";
- case YP_NODE_STATEMENTS_NODE:
- return "YP_NODE_STATEMENTS_NODE";
- case YP_NODE_STRING_CONCAT_NODE:
- return "YP_NODE_STRING_CONCAT_NODE";
- case YP_NODE_STRING_NODE:
- return "YP_NODE_STRING_NODE";
- case YP_NODE_SUPER_NODE:
- return "YP_NODE_SUPER_NODE";
- case YP_NODE_SYMBOL_NODE:
- return "YP_NODE_SYMBOL_NODE";
- case YP_NODE_TRUE_NODE:
- return "YP_NODE_TRUE_NODE";
- case YP_NODE_UNDEF_NODE:
- return "YP_NODE_UNDEF_NODE";
- case YP_NODE_UNLESS_NODE:
- return "YP_NODE_UNLESS_NODE";
- case YP_NODE_UNTIL_NODE:
- return "YP_NODE_UNTIL_NODE";
- case YP_NODE_WHEN_NODE:
- return "YP_NODE_WHEN_NODE";
- case YP_NODE_WHILE_NODE:
- return "YP_NODE_WHILE_NODE";
- case YP_NODE_X_STRING_NODE:
- return "YP_NODE_X_STRING_NODE";
- case YP_NODE_YIELD_NODE:
- return "YP_NODE_YIELD_NODE";
- }
- return "\0";
-}