diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-09 13:39:35 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-11-09 13:39:35 +0000 |
commit | 49c7c8ed85cfeaae98fbfb1828424e1e5bb9b0dc (patch) | |
tree | 08f70858fee5a8e636af82d32091ccdad5d020bc /ast.c | |
parent | 51902ea5c96b1bdaa6d418a5af74b09cec0a10fb (diff) |
Hoisted out rb_ast_parse_str and rb_ast_parse_file
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ast.c')
-rw-r--r-- | ast.c | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -52,6 +52,9 @@ ast_new_internal(rb_ast_t *ast, NODE *node) return obj; } +VALUE rb_ast_parse_str(VALUE str); +VALUE rb_ast_parse_file(VALUE path); + /* * call-seq: * RubyVM::AbstractSyntaxTree.parse(string) -> RubyVM::AbstractSyntaxTree::Node @@ -67,6 +70,12 @@ ast_new_internal(rb_ast_t *ast, NODE *node) static VALUE rb_ast_s_parse(VALUE module, VALUE str) { + return rb_ast_parse_str(str); +} + +VALUE +rb_ast_parse_str(VALUE str) +{ VALUE obj; rb_ast_t *ast = 0; @@ -102,6 +111,12 @@ rb_ast_s_parse(VALUE module, VALUE str) static VALUE rb_ast_s_parse_file(VALUE module, VALUE path) { + return rb_ast_parse_file(path); +} + +VALUE +rb_ast_parse_file(VALUE path) +{ VALUE obj, f; rb_ast_t *ast = 0; rb_encoding *enc = rb_utf8_encoding(); @@ -174,7 +189,7 @@ rb_ast_s_of(VALUE module, VALUE body) path = rb_iseq_path(iseq); node_id = iseq->body->location.node_id; - node = rb_ast_s_parse_file(module, path); + node = rb_ast_parse_file(path); return node_find(node, node_id); } |