Move encoding object conversion outside of parser

Reduce the parser's dependence on `VALUE` and `rb_enc_from_encoding`.
This commit is contained in:
yui-knk 2024-04-23 11:27:42 +09:00 коммит произвёл Yuichiro Kaneko
Родитель e15a1920ca
Коммит 33929ef995
4 изменённых файлов: 5 добавлений и 5 удалений

Просмотреть файл

@ -188,7 +188,7 @@ ripper_parser_encoding(VALUE vparser)
{
struct parser_params *p = ripper_parser_params(vparser, false);
return rb_ruby_parser_encoding(p);
return rb_enc_from_encoding(rb_ruby_parser_encoding(p));
}
/*

Просмотреть файл

@ -59,7 +59,7 @@ rb_ast_t *rb_parser_compile(rb_parser_t *p, rb_parser_lex_gets_func *gets, VALUE
RUBY_SYMBOL_EXPORT_BEGIN
VALUE rb_ruby_parser_encoding(rb_parser_t *p);
rb_encoding *rb_ruby_parser_encoding(rb_parser_t *p);
int rb_ruby_parser_end_seen_p(rb_parser_t *p);
int rb_ruby_parser_set_yydebug(rb_parser_t *p, int flag);
rb_parser_string_t *rb_str_to_parser_string(rb_parser_t *p, VALUE str);

Просмотреть файл

@ -15953,10 +15953,10 @@ rb_ruby_parser_keep_tokens(rb_parser_t *p)
p->tokens = rb_parser_ary_new_capa_for_ast_token(p, 10);
}
VALUE
rb_encoding *
rb_ruby_parser_encoding(rb_parser_t *p)
{
return rb_enc_from_encoding(p->enc);
return p->enc;
}
int

Просмотреть файл

@ -827,7 +827,7 @@ rb_parser_encoding(VALUE vparser)
struct ruby_parser *parser;
TypedData_Get_Struct(vparser, struct ruby_parser, &ruby_parser_data_type, parser);
return rb_ruby_parser_encoding(parser->parser_params);
return rb_enc_from_encoding(rb_ruby_parser_encoding(parser->parser_params));
}
VALUE