Class: Prism::ParseResult
| Relationships & Source Files | |
| Namespace Children | |
| Classes: | |
| Inherits: | Object | 
| Defined in: | lib/prism/parse_result.rb, lib/prism/parse_result/comments.rb, lib/prism/parse_result/newlines.rb | 
Overview
This represents the result of a call to parse or parse_file. It contains the AST, any comments that were encounters, and any errors that were encountered.
Class Method Summary
- 
    
      .new(value, comments, magic_comments, data_loc, errors, warnings, source)  ⇒ ParseResult 
    
    constructor
    Create a new parse result object with the given values. 
Instance Attribute Summary
- 
    
      #comments  
    
    readonly
    The list of comments that were encountered during parsing. 
- 
    
      #data_loc  
    
    readonly
    An optional location that represents the location of the content after the __END__ marker. 
- 
    
      #errors  
    
    readonly
    The list of errors that were generated during parsing. 
- 
    
      #failure?  ⇒ Boolean 
    
    readonly
    Returns true if there were errors during parsing and false if there were not. 
- 
    
      #magic_comments  
    
    readonly
    The list of magic comments that were encountered during parsing. 
- 
    
      #source  
    
    readonly
    A Source instance that represents the source code that was parsed. 
- 
    
      #success?  ⇒ Boolean 
    
    readonly
    Returns true if there were no errors during parsing and false if there were. 
- 
    
      #value  
    
    readonly
    The value that was generated by parsing. 
- 
    
      #warnings  
    
    readonly
    The list of warnings that were generated during parsing. 
Instance Method Summary
- 
    
      #attach_comments!  
    
    Attach the list of comments to their respective locations in the tree. 
- 
    
      #deconstruct_keys(keys)  
    
    Implement the hash pattern matching interface for ParseResult.
- 
    
      #mark_newlines!  
    
    Walk the tree and mark nodes that are on a new line. 
Constructor Details
    .new(value, comments, magic_comments, data_loc, errors, warnings, source)  ⇒ ParseResult 
  
Create a new parse result object with the given values.
Instance Attribute Details
#comments (readonly)
The list of comments that were encountered during parsing.
# File 'lib/prism/parse_result.rb', line 367
attr_reader :comments
#data_loc (readonly)
An optional location that represents the location of the content after the __END__ marker. This content is loaded into the DATA constant when the file being parsed is the main file being executed.
# File 'lib/prism/parse_result.rb', line 375
attr_reader :data_loc
#errors (readonly)
The list of errors that were generated during parsing.
# File 'lib/prism/parse_result.rb', line 378
attr_reader :errors
    #failure?  ⇒ Boolean  (readonly)
  
Returns true if there were errors during parsing and false if there were not.
# File 'lib/prism/parse_result.rb', line 410
def failure? !success? end
#magic_comments (readonly)
The list of magic comments that were encountered during parsing.
# File 'lib/prism/parse_result.rb', line 370
attr_reader :magic_comments
#source (readonly)
A Source instance that represents the source code that was parsed.
# File 'lib/prism/parse_result.rb', line 384
attr_reader :source
    #success?  ⇒ Boolean  (readonly)
  
Returns true if there were no errors during parsing and false if there were.
# File 'lib/prism/parse_result.rb', line 404
def success? errors.empty? end
#value (readonly)
The value that was generated by parsing. Normally this holds the AST, but it can sometimes how a list of tokens or other results passed back from the parser.
# File 'lib/prism/parse_result.rb', line 364
attr_reader :value
#warnings (readonly)
The list of warnings that were generated during parsing.
# File 'lib/prism/parse_result.rb', line 381
attr_reader :warnings
Instance Method Details
#attach_comments!
Attach the list of comments to their respective locations in the tree.
#deconstruct_keys(keys)
Implement the hash pattern matching interface for ParseResult.
#mark_newlines!
Walk the tree and mark nodes that are on a new line.