Delete heredoc line mark references

This commit is contained in:
Nobuyoshi Nakada 2023-10-13 19:21:59 +09:00
parent 5fc9810bf3
commit a405b28e85
5 changed files with 12 additions and 0 deletions

8
node.c
View file

@ -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)
{