This represents the result of a call to ::parse or ::parse_file. It contains the requested structure, any comments that were encounters, and any errors that were encountered.
The list of comments that were encountered during parsing.
The list of magic comments that were encountered during parsing.
An optional location that represents the location of the __END__ marker and the rest of the content of the file. This content is loaded into the DATA constant when the file being parsed is the main file being executed.
The list of errors that were generated during parsing.
The list of warnings that were generated during parsing.
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/parse_result.rb, line 543
def initialize(comments, magic_comments, data_loc, errors, warnings, source)
@comments = comments
@magic_comments = magic_comments
@data_loc = data_loc
@errors = errors
@warnings = warnings
@source = source
end
Create a new result object with the given values.
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/parse_result.rb, line 553
def deconstruct_keys(keys)
{ comments: comments, magic_comments: magic_comments, data_loc: data_loc, errors: errors, warnings: warnings }
end
Implement the hash pattern matching interface for Result
.
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/parse_result.rb, line 558
def encoding
source.encoding
end
Returns the encoding of the source code that was parsed.
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/parse_result.rb, line 570
def failure?
!success?
end
Returns true if there were errors during parsing and false if there were not.
# File tmp/rubies/ruby-3.4.0-preview1/lib/prism/parse_result.rb, line 564
def success?
errors.empty?
end
Returns true if there were no errors during parsing and false if there were.