summaryrefslogtreecommitdiff
path: root/node_dump.c
diff options
context:
space:
mode:
authoryui-knk <[email protected]>2023-12-29 22:34:35 +0900
committerYuichiro Kaneko <[email protected]>2024-01-02 14:19:42 +0900
commit7a050638b19cf6996c498e0c5909c293008cc58a ()
tree00b12eeba0c2230618c9ae46ba3f393d064a42b0 /node_dump.c
parent91a0d1c4377bed985db58901065428bcb4bb691f (diff)
Introduce NODE_FILE
`__FILE__` was managed by `NODE_STR` with `String` object. This commit introduces `NODE_FILE` and `struct rb_parser_string` so that 1. `__FILE__` is detectable from AST Node 2. Reduce dependency ruby object
-rw-r--r--node_dump.c9
1 files changed, 9 insertions, 0 deletions
@@ -11,6 +11,7 @@
#include "internal.h"
#include "internal/hash.h"
#include "internal/variable.h"
#include "ruby/ruby.h"
#include "vm_core.h"
@@ -64,6 +65,7 @@
#define F_INT(name, type, ann) SIMPLE_FIELD1(#name, ann) A_INT(type(node)->name)
#define F_LONG(name, type, ann) SIMPLE_FIELD1(#name, ann) A_LONG(type(node)->name)
#define F_LIT(name, type, ann) SIMPLE_FIELD1(#name, ann) A_LIT(type(node)->name)
#define F_MSG(name, ann, desc) SIMPLE_FIELD1(#name, ann) A(desc)
#define F_NODE(name, type, ann) \
@@ -1105,6 +1107,13 @@ dump_node(VALUE buf, VALUE indent, int comment, const NODE * node)
ANN("example: __LINE__");
return;
case NODE_ERROR:
ANN("Broken input recovered by Error Tolerant mode");
return;