From ee7f63ebba542f87e6fa28709e67ace0fefcae90 Mon Sep 17 00:00:00 2001 From: yui-knk Date: Fri, 12 Jan 2024 22:26:54 +0900 Subject: 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`. --- internal/ruby_parser.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'internal/ruby_parser.h') 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 *); -- cgit v1.2.3