class Prism::ParseResult
This is a result specific to the ‘parse` and `parse_file` methods.
Attributes
value
[R]
The syntax tree that was parsed from the source code.
Public Class Methods
new
(value, comments, magic_comments, data_loc, errors, warnings, source)
Create a new parse result object with the given values.
Calls superclass method
Prism::Result::new
# File lib/prism/parse_result.rb, line 598 def initialize(value, comments, magic_comments, data_loc, errors, warnings, source) @value = value super(comments, magic_comments, data_loc, errors, warnings, source) end
Public Instance Methods
attach_comments!
()
Attach the list of comments to their respective locations in the tree.
# File lib/prism/parse_result.rb, line 609 def attach_comments! Comments.new(self).attach! # steep:ignore end
deconstruct_keys
(keys)
Implement the hash pattern matching interface for ParseResult
.
Calls superclass method
Prism::Result#deconstruct_keys
# File lib/prism/parse_result.rb, line 604 def deconstruct_keys(keys) super.merge!(value: value) end
errors_format
()
Returns a string representation of the syntax tree with the errors displayed inline.
# File lib/prism/parse_result.rb, line 621 def errors_format Errors.new(self).format end
mark_newlines!
()
Walk the tree and mark nodes that are on a new line, loosely emulating the behavior of CRuby’s ‘:line` tracepoint event.
# File lib/prism/parse_result.rb, line 615 def mark_newlines! value.accept(Newlines.new(source.offsets.size)) # steep:ignore end