Class | Parslet::ErrorReporter::Deepest |
In: |
lib/parslet/error_reporter/deepest.rb
|
Parent: | Object |
Instead of reporting the latest error that happens like {Tree} does, this class reports the deepest error. Depth is defined here as how advanced into the input an error happens. The errors close to the greatest depth tend to be more relevant to the end user, since they specify what could be done to make them go away.
More specifically, errors produced by this reporter won‘t be related to the structure of the grammar at all. The positions of the errors will be advanced and convey at every grammar level what the deepest rule was to fail.
deepest_cause | [R] | Returns the cause that is currently deepest. Mainly for specs. |
Produces an error cause that combines the message at the current level with the errors that happened at a level below (children).
@param atom [Parslet::Atoms::Base] parslet that failed @param source [Source] Source that we‘re using for this parse. (line
number information...)
@param message [String, Array] Error message at this level. @param children [Array] A list of errors from a deeper level (or nil). @return [Cause] An error tree combining children with message.
Produces an error cause that combines the message at the current level with the errors that happened at a level below (children).
@param atom [Parslet::Atoms::Base] parslet that failed @param source [Source] Source that we‘re using for this parse. (line
number information...)
@param message [String, Array] Error message at this level. @param pos [Fixnum] The real position of the error. @param children [Array] A list of errors from a deeper level (or nil). @return [Cause] An error tree combining children with message.