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 lib/prism/parse_result.rb, line 518
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 lib/prism/parse_result/comments.rb, line 190
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 lib/prism/parse_result.rb, line 524
def deconstruct_keys(keys)
  super.merge!(value: value)
end
mark_newlines!() click to toggle source

Walk the tree and mark nodes that are on a new line.

# File lib/prism/parse_result/newlines.rb, line 60
def mark_newlines!
  value.accept(Newlines.new(Array.new(1 + source.offsets.size, false))) # steep:ignore
end