diff options
author | Jemma Issroff <jemmaissroff@gmail.com> | 2023-10-16 15:20:26 -0700 |
---|---|---|
committer | Jemma Issroff <jemmaissroff@gmail.com> | 2023-10-16 15:20:26 -0700 |
commit | fd87372a7482cbf7672c44ef95bc1dc3b00bab7c (patch) | |
tree | b87268d69f3fc2e7d836236b89f5a7e310cfbc22 /prism | |
parent | 67a987f82bc8a2b7ec15581306873530821fcf9e (diff) | |
download | ruby-fd87372a7482cbf7672c44ef95bc1dc3b00bab7c.tar.gz |
Revert "[ruby/prism] Change ScopeNode to point to previous ScopeNode"
This reverts commit 67a987f82bc8a2b7ec15581306873530821fcf9e.
Diffstat (limited to 'prism')
-rw-r--r-- | prism/node.h | 7 | ||||
-rw-r--r-- | prism/prism.c | 12 | ||||
-rw-r--r-- | prism/prism.h | 2 |
3 files changed, 3 insertions, 18 deletions
diff --git a/prism/node.h b/prism/node.h index 403e84e0d3..cbfed1b7c9 100644 --- a/prism/node.h +++ b/prism/node.h @@ -33,17 +33,10 @@ PRISM_EXPORTED_FUNCTION const char * pm_node_type_to_str(pm_node_type_t node_typ // declare them here to avoid generating them. typedef struct pm_scope_node { pm_node_t base; - struct pm_scope_node *previous; pm_node_t *ast_node; struct pm_parameters_node *parameters; pm_node_t *body; pm_constant_id_list_t locals; - pm_parser_t *parser; - - // We don't have the CRuby types ID and st_table within Prism - // so we use void * - void *constants; // ID *constants - void *index_lookup_table; // st_table *index_lookup_table } pm_scope_node_t; #endif // PRISM_NODE_H diff --git a/prism/prism.c b/prism/prism.c index aa69a938b2..02175334d5 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -664,22 +664,14 @@ pm_arguments_validate_block(pm_parser_t *parser, pm_arguments_t *arguments, pm_b // Generate a scope node from the given node. void -pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous, pm_parser_t *parser) { +pm_scope_node_init(pm_node_t *node, pm_scope_node_t *scope) { scope->base.type = PM_SCOPE_NODE; scope->base.location.start = node->location.start; scope->base.location.end = node->location.end; - scope->previous = previous; - scope->parser = parser; - scope->ast_node = (pm_node_t *)node; + scope->ast_node = node; scope->parameters = NULL; scope->body = NULL; - scope->constants = NULL; - if (previous) { - scope->constants = previous->constants; - } - scope->index_lookup_table = NULL; - pm_constant_id_list_init(&scope->locals); switch (PM_NODE_TYPE(node)) { diff --git a/prism/prism.h b/prism/prism.h index c06e0fd278..797004d4f8 100644 --- a/prism/prism.h +++ b/prism/prism.h @@ -34,7 +34,7 @@ void pm_print_node(pm_parser_t *parser, pm_node_t *node); void pm_parser_metadata(pm_parser_t *parser, const char *metadata); // Generate a scope node from the given node. -void pm_scope_node_init(const pm_node_t *node, pm_scope_node_t *scope, pm_scope_node_t *previous, pm_parser_t *parser); +void pm_scope_node_init(pm_node_t *node, pm_scope_node_t *dest); // The prism version and the serialization format. PRISM_EXPORTED_FUNCTION const char * pm_version(void); |