123456789_123456789_123456789_123456789_123456789_

Class: Prism::LexResult

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Result
Instance Chain:
self, Result
Inherits: Prism::Result
Defined in: lib/prism/parse_result.rb,
prism/extension.c

Overview

This is a result specific to the lex and lex_file methods.

Class Method Summary

Result - Inherited

.new

Create a new result object with the given values.

Instance Attribute Summary

  • #value readonly

    The list of tokens that were parsed from the source code.

Result - Inherited

#comments

The list of comments that were encountered during parsing.

#data_loc

An optional location that represents the location of the __END__ marker and the rest of the content of the file.

#errors

The list of errors that were generated during parsing.

#failure?

Returns true if there were errors during parsing and false if there were not.

#magic_comments

The list of magic comments that were encountered during parsing.

#source

A Source instance that represents the source code that was parsed.

#success?

Returns true if there were no errors during parsing and false if there were.

#warnings

The list of warnings that were generated during parsing.

Instance Method Summary

Result - Inherited

#code_units_cache

Create a code units cache for the given encoding.

#deconstruct_keys

Implement the hash pattern matching interface for Result.

#encoding

Returns the encoding of the source code that was parsed.

Constructor Details

.new(value, comments, magic_comments, data_loc, errors, warnings, source) ⇒ LexResult

Create a new lex result object with the given values.

[ GitHub ]

  
# File 'lib/prism/parse_result.rb', line 769

def initialize(value, comments, magic_comments, data_loc, errors, warnings, source)
  @value = value
  super(comments, magic_comments, data_loc, errors, warnings, source)
end

Instance Attribute Details

#value (readonly)

The list of tokens that were parsed from the source code.

[ GitHub ]

  
# File 'lib/prism/parse_result.rb', line 766

attr_reader :value

Instance Method Details

#deconstruct_keys(keys)

Implement the hash pattern matching interface for LexResult.

[ GitHub ]

  
# File 'lib/prism/parse_result.rb', line 775

def deconstruct_keys(keys)
  super.merge!(value: value)
end