summaryrefslogtreecommitdiff
path: root/internal/ruby_parser.h
diff options
context:
space:
mode:
authoryui-knk <[email protected]>2024-01-12 22:26:54 +0900
committerYuichiro Kaneko <[email protected]>2024-01-23 08:58:16 +0900
commitee7f63ebba542f87e6fa28709e67ace0fefcae90 (patch)
tree2e6e772d4317bdd3ecbeed81ded30de12c69bb34 /internal/ruby_parser.h
parent706eea9d3c27b9785fc7f650ff9b5d6669908768 (diff)
Make lastline and nextline to be rb_parser_string
This commit changes `struct parser_params` lastline and nextline from `VALUE` (String object) to `rb_parser_string_t *` so that dependency on Ruby Object is reduced. `parser_string_buffer_t string_buffer` is added to `struct parser_params` to manage `rb_parser_string_t` pointers of each line. All allocated line strings are freed in `rb_ruby_parser_free`.
Diffstat (limited to 'internal/ruby_parser.h')
-rw-r--r--internal/ruby_parser.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/internal/ruby_parser.h b/internal/ruby_parser.h
index ddff2c364d..018a1865de 100644
--- a/internal/ruby_parser.h
+++ b/internal/ruby_parser.h
@@ -72,6 +72,10 @@ enum lex_state_e {
EXPR_NONE = 0
};
+RUBY_SYMBOL_EXPORT_BEGIN
+VALUE rb_str_new_parser_string(rb_parser_string_t *str);
+RUBY_SYMBOL_EXPORT_END
+
VALUE rb_node_sym_string_val(const NODE *);
VALUE rb_node_line_lineno_val(const NODE *);
VALUE rb_node_file_path_val(const NODE *);