зеркало из https://github.com/github/ruby.git
Move encoding object conversion outside of parser
Reduce the parser's dependence on `VALUE` and `rb_enc_from_encoding`.
This commit is contained in:
Родитель
e15a1920ca
Коммит
33929ef995
|
@ -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);
|
||||
|
|
4
parse.y
4
parse.y
|
@ -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
|
||||
|
|
Загрузка…
Ссылка в новой задаче