Class: Prism::Result
- Inherits:
-
Object
- Object
- Prism::Result
- Defined in:
- lib/prism/parse_result.rb,
ext/prism/extension.c
Overview
This represents the result of a call to ::parse or ::parse_file. It contains the requested structure, any comments that were encounters, and any errors that were encountered.
Direct Known Subclasses
Instance Attribute Summary collapse
-
#comments ⇒ Object
readonly
The list of comments that were encountered during parsing.
-
#data_loc ⇒ Object
readonly
An optional location that represents the location of the __END__ marker and the rest of the content of the file.
-
#errors ⇒ Object
readonly
The list of errors that were generated during parsing.
-
#magic_comments ⇒ Object
readonly
The list of magic comments that were encountered during parsing.
-
#source ⇒ Object
readonly
A Source instance that represents the source code that was parsed.
-
#warnings ⇒ Object
readonly
The list of warnings that were generated during parsing.
Instance Method Summary collapse
-
#code_units_cache(encoding) ⇒ Object
Create a code units cache for the given encoding.
-
#deconstruct_keys(keys) ⇒ Object
Implement the hash pattern matching interface for Result.
-
#encoding ⇒ Object
Returns the encoding of the source code that was parsed.
-
#failure? ⇒ Boolean
Returns true if there were errors during parsing and false if there were not.
-
#initialize(comments, magic_comments, data_loc, errors, warnings, source) ⇒ Result
constructor
Create a new result object with the given values.
-
#success? ⇒ Boolean
Returns true if there were no errors during parsing and false if there were.
Constructor Details
#initialize(comments, magic_comments, data_loc, errors, warnings, source) ⇒ Result
Create a new result object with the given values.
689 690 691 692 693 694 695 696 |
# File 'lib/prism/parse_result.rb', line 689 def initialize(comments, magic_comments, data_loc, errors, warnings, source) @comments = comments @magic_comments = magic_comments @data_loc = data_loc @errors = errors @warnings = warnings @source = source end |
Instance Attribute Details
#comments ⇒ Object (readonly)
The list of comments that were encountered during parsing.
669 670 671 |
# File 'lib/prism/parse_result.rb', line 669 def comments @comments end |
#data_loc ⇒ Object (readonly)
An optional location that represents the location of the __END__ marker and the rest of the content of the file. This content is loaded into the DATA constant when the file being parsed is the main file being executed.
677 678 679 |
# File 'lib/prism/parse_result.rb', line 677 def data_loc @data_loc end |
#errors ⇒ Object (readonly)
The list of errors that were generated during parsing.
680 681 682 |
# File 'lib/prism/parse_result.rb', line 680 def errors @errors end |
#magic_comments ⇒ Object (readonly)
The list of magic comments that were encountered during parsing.
672 673 674 |
# File 'lib/prism/parse_result.rb', line 672 def magic_comments @magic_comments end |
#source ⇒ Object (readonly)
A Source instance that represents the source code that was parsed.
686 687 688 |
# File 'lib/prism/parse_result.rb', line 686 def source @source end |
#warnings ⇒ Object (readonly)
The list of warnings that were generated during parsing.
683 684 685 |
# File 'lib/prism/parse_result.rb', line 683 def warnings @warnings end |
Instance Method Details
#code_units_cache(encoding) ⇒ Object
Create a code units cache for the given encoding.
721 722 723 |
# File 'lib/prism/parse_result.rb', line 721 def code_units_cache(encoding) source.code_units_cache(encoding) end |
#deconstruct_keys(keys) ⇒ Object
Implement the hash pattern matching interface for Result.
699 700 701 |
# File 'lib/prism/parse_result.rb', line 699 def deconstruct_keys(keys) { comments: comments, magic_comments: magic_comments, data_loc: data_loc, errors: errors, warnings: warnings } end |
#encoding ⇒ Object
Returns the encoding of the source code that was parsed.
704 705 706 |
# File 'lib/prism/parse_result.rb', line 704 def encoding source.encoding end |
#failure? ⇒ Boolean
Returns true if there were errors during parsing and false if there were not.
716 717 718 |
# File 'lib/prism/parse_result.rb', line 716 def failure? !success? end |
#success? ⇒ Boolean
Returns true if there were no errors during parsing and false if there were.
710 711 712 |
# File 'lib/prism/parse_result.rb', line 710 def success? errors.empty? end |