diff --git a/internal/ruby_parser.h b/internal/ruby_parser.h index 3a3a5088b6107d..d5346f061c7751 100644 --- a/internal/ruby_parser.h +++ b/internal/ruby_parser.h @@ -5,10 +5,11 @@ #include "internal.h" #include "vm.h" -typedef struct rb_parser_config_struct rb_parser_config_t; - RUBY_SYMBOL_EXPORT_BEGIN +#ifdef UNIVERSAL_PARSER void rb_parser_config_initialize(rb_parser_config_t *config); +#endif +VALUE rb_parser_set_context(VALUE, const struct rb_iseq_struct *, int); RUBY_SYMBOL_EXPORT_END VALUE rb_parser_new(void); @@ -21,10 +22,6 @@ void rb_parser_keep_script_lines(VALUE vparser); void rb_parser_error_tolerant(VALUE vparser); void rb_parser_keep_tokens(VALUE vparser); -RUBY_SYMBOL_EXPORT_BEGIN -VALUE rb_parser_set_context(VALUE, const struct rb_iseq_struct *, int); -RUBY_SYMBOL_EXPORT_END - rb_ast_t *rb_parser_compile_string(VALUE, const char*, VALUE, int); rb_ast_t *rb_parser_compile_string_path(VALUE vparser, VALUE fname, VALUE src, int line); rb_ast_t *rb_parser_compile_file_path(VALUE vparser, VALUE fname, VALUE input, int line); diff --git a/parse.y b/parse.y index 2495a608225779..49b312ab6f931a 100644 --- a/parse.y +++ b/parse.y @@ -13828,6 +13828,7 @@ rb_ruby_parser_memsize(const void *ptr) return size; } +#ifdef UNIVERSAL_PARSER rb_parser_config_t * rb_ruby_parser_config_new(void *(*malloc)(size_t size)) { @@ -13839,6 +13840,7 @@ rb_ruby_parser_config_free(rb_parser_config_t *config) { config->free(config); } +#endif #ifndef UNIVERSAL_PARSER static const rb_data_type_t parser_data_type = { diff --git a/rubyparser.h b/rubyparser.h index 5ccefa789af06e..2d69768dccb32a 100644 --- a/rubyparser.h +++ b/rubyparser.h @@ -330,6 +330,7 @@ typedef struct rb_ast_struct { typedef struct parser_params rb_parser_t; typedef struct rb_imemo_tmpbuf_struct rb_imemo_tmpbuf_t; +#ifdef UNIVERSAL_PARSER typedef struct rb_parser_config_struct { /* * Reference counter. @@ -617,14 +618,17 @@ typedef struct rb_parser_config_struct { VALUE (*node_case_when_optimizable_literal)(const NODE *const node); } rb_parser_config_t; +#endif /* UNIVERSAL_PARSER */ RUBY_SYMBOL_EXPORT_BEGIN -rb_parser_config_t *rb_ruby_parser_config_new(void *(*malloc)(size_t size)); void rb_ruby_parser_free(void *ptr); -void rb_ruby_parser_config_free(rb_parser_config_t *config); +rb_ast_t* rb_ruby_parser_compile_string(rb_parser_t *p, const char *f, VALUE s, int line); +#ifdef UNIVERSAL_PARSER +rb_parser_config_t *rb_ruby_parser_config_new(void *(*malloc)(size_t size)); +void rb_ruby_parser_config_free(rb_parser_config_t *config); rb_parser_t *rb_ruby_parser_new(rb_parser_config_t *config); -rb_ast_t* rb_ruby_parser_compile_string(rb_parser_t *p, const char *f, VALUE s, int line); +#endif RUBY_SYMBOL_EXPORT_END #endif /* RUBY_RUBYPARSER_H */