class Prism::ParseResult - prism: Ruby Standard Library Documentation

# 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