aboutsummaryrefslogtreecommitdiffstats
path: root/node.c
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2024-01-01 01:31:28 +0900
committerYuichiro Kaneko <spiketeika@gmail.com>2024-01-09 16:07:19 +0900
commitdb476cc71cb6c690bd5b32cebebf7ebcbff604ad (patch)
tree3fa0bfc4a58f6016e7cad7304e951b063f94209f /node.c
parentf82a6172a2a96815f9478410116d35c76b56efb5 (diff)
downloadruby-db476cc71cb6c690bd5b32cebebf7ebcbff604ad.tar.gz
Introduce NODE_SYM to manage symbol literal
`:sym` was managed by `NODE_LIT` with `Symbol` object. This commit introduces `NODE_SYM` so that 1. Symbol literal is detectable from AST Node 2. Reduce dependency on ruby object
Diffstat (limited to 'node.c')
-rw-r--r--node.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/node.c b/node.c
index 6c42690503..e7644aeae3 100644
--- a/node.c
+++ b/node.c
@@ -179,6 +179,9 @@ static void
free_ast_value(rb_ast_t *ast, void *ctx, NODE *node)
{
switch (nd_type(node)) {
+ case NODE_SYM:
+ parser_string_free(ast, RNODE_SYM(node)->string);
+ break;
case NODE_FILE:
parser_string_free(ast, RNODE_FILE(node)->path);
break;