summaryrefslogtreecommitdiff
path: root/node.c
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2024-04-06 18:51:20 +0900
committerYuichiro Kaneko <spiketeika@gmail.com>2024-04-08 11:39:00 +0900
commit6f7e8e278fefb70af893937e4d005367f6cbbc2b (patch)
tree8a2c763882ac1fa8dab247386d700893fb1c273a /node.c
parent4dd9e5cf7447ec70a55206fd5e1b9e8c79dbba7e (diff)
Don't set T_TYPES of NODE
T_TYPES was needed once Ripper jumbled NODEs and other type objects. However such hack was already removed. Therefore don't need to set T_TYPES of NODE.
Diffstat (limited to 'node.c')
-rw-r--r--node.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/node.c b/node.c
index 8ef7bb7c46..79520f0a1e 100644
--- a/node.c
+++ b/node.c
@@ -15,7 +15,6 @@
#include "node.h"
#include "rubyparser.h"
#include "internal/parse.h"
-#define T_NODE 0x1b
#else
@@ -87,16 +86,10 @@ rb_node_buffer_new(void)
typedef void node_itr_t(rb_ast_t *ast, void *ctx, NODE *node);
static void iterate_node_values(rb_ast_t *ast, node_buffer_list_t *nb, node_itr_t * func, void *ctx);
-/* Setup NODE structure.
- * NODE is not an object managed by GC, but it imitates an object
- * so that it can work with `RB_TYPE_P(obj, T_NODE)`.
- * This dirty hack is needed because Ripper jumbles NODEs and other type
- * objects.
- */
void
rb_node_init(NODE *n, enum node_type type)
{
- RNODE(n)->flags = T_NODE;
+ RNODE(n)->flags = 0;
nd_init_type(RNODE(n), type);
RNODE(n)->nd_loc.beg_pos.lineno = 0;
RNODE(n)->nd_loc.beg_pos.column = 0;