mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Add error_tolerant option to RubyVM::AST
If this option is enabled, SyntaxError is not raised and Node is returned even if passed script is broken. [Feature #19013]
This commit is contained in:
parent
7775d14356
commit
fbbdbdd891
Notes:
git
2022-10-08 17:59:35 +09:00
5 changed files with 50 additions and 20 deletions
12
ast.rb
12
ast.rb
|
@ -29,8 +29,8 @@ module RubyVM::AbstractSyntaxTree
|
|||
#
|
||||
# RubyVM::AbstractSyntaxTree.parse("x = 1 + 2")
|
||||
# # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-1:9>
|
||||
def self.parse string, keep_script_lines: false
|
||||
Primitive.ast_s_parse string, keep_script_lines
|
||||
def self.parse string, keep_script_lines: false, error_tolerant: false
|
||||
Primitive.ast_s_parse string, keep_script_lines, error_tolerant
|
||||
end
|
||||
|
||||
# call-seq:
|
||||
|
@ -44,8 +44,8 @@ module RubyVM::AbstractSyntaxTree
|
|||
#
|
||||
# RubyVM::AbstractSyntaxTree.parse_file("my-app/app.rb")
|
||||
# # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-31:3>
|
||||
def self.parse_file pathname, keep_script_lines: false
|
||||
Primitive.ast_s_parse_file pathname, keep_script_lines
|
||||
def self.parse_file pathname, keep_script_lines: false, error_tolerant: false
|
||||
Primitive.ast_s_parse_file pathname, keep_script_lines, error_tolerant
|
||||
end
|
||||
|
||||
# call-seq:
|
||||
|
@ -63,8 +63,8 @@ module RubyVM::AbstractSyntaxTree
|
|||
#
|
||||
# RubyVM::AbstractSyntaxTree.of(method(:hello))
|
||||
# # => #<RubyVM::AbstractSyntaxTree::Node:SCOPE@1:0-3:3>
|
||||
def self.of body, keep_script_lines: false
|
||||
Primitive.ast_s_of body, keep_script_lines
|
||||
def self.of body, keep_script_lines: false, error_tolerant: false
|
||||
Primitive.ast_s_of body, keep_script_lines, error_tolerant
|
||||
end
|
||||
|
||||
# RubyVM::AbstractSyntaxTree::Node instances are created by parse methods in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue