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) click to toggle source

Create a new parse result object with the given values.

Calls superclass method Prism::Result::new
# File prism/parse_result.rb, line 735
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!() click to toggle source

Attach the list of comments to their respective locations in the tree.

# File prism/parse_result.rb, line 746
def attach_comments!
  Comments.new(self).attach! # steep:ignore
end
deconstruct_keys(keys) click to toggle source

Implement the hash pattern matching interface for ParseResult.

Calls superclass method Prism::Result#deconstruct_keys
# File prism/parse_result.rb, line 741
def deconstruct_keys(keys)
  super.merge!(value: value)
end
errors_format() click to toggle source

Returns a string representation of the syntax tree with the errors displayed inline.

# File prism/parse_result.rb, line 758
def errors_format
  Errors.new(self).format
end
mark_newlines!() click to toggle source

Walk the tree and mark nodes that are on a new line, loosely emulating the behavior of CRuby’s ‘:line` tracepoint event.

# File prism/parse_result.rb, line 752
def mark_newlines!
  value.accept(Newlines.new(source.offsets.size)) # steep:ignore
end