aboutsummaryrefslogtreecommitdiffstats
path: root/node.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2023-10-13 19:21:59 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2023-10-14 11:08:43 +0900
commita405b28e85cc48d2be24cf7baef528f646d3b212 (patch)
treea6a512e82b855b24d69cfef912cb8732059ae1b6 /node.c
parent5fc9810bf3a0ac6eb9964ff30b0e1060270ab597 (diff)
downloadruby-a405b28e85cc48d2be24cf7baef528f646d3b212.tar.gz
Delete heredoc line mark references
Diffstat (limited to 'node.c')
-rw-r--r--node.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/node.c b/node.c
index 975ed9264f..f76e10e69b 100644
--- a/node.c
+++ b/node.c
@@ -93,6 +93,7 @@ rb_node_buffer_new(void)
#define Qtrue ast->node_buffer->config->qtrue
#define NIL_P ast->node_buffer->config->nil_p
#define rb_hash_aset ast->node_buffer->config->hash_aset
+#define rb_hash_delete ast->node_buffer->config->hash_delete
#define RB_OBJ_WRITE(old, slot, young) ast->node_buffer->config->obj_write((VALUE)(old), (VALUE *)(slot), (VALUE)(young))
#endif
@@ -458,6 +459,13 @@ rb_ast_add_mark_object(rb_ast_t *ast, VALUE obj)
rb_hash_aset(ast->node_buffer->mark_hash, obj, Qtrue);
}
+void
+rb_ast_delete_mark_object(rb_ast_t *ast, VALUE obj)
+{
+ if (NIL_P(ast->node_buffer->mark_hash)) return;
+ rb_hash_delete(ast->node_buffer->mark_hash, obj);
+}
+
VALUE
rb_ast_tokens(rb_ast_t *ast)
{