case class Failure(msgProvider: Message, next: SourceCursor, maxOffset: Int) extends Parsed[Nothing] with Product with Serializable
The failure case of Parsed
containing an error message and the remaining input.
Implementation note:
The message property is of type Message
, to allow for lazy message creation.
The former SDK parser combinators which this API is partially inspired by contained
a lot of unnecessary string concatenations for messages which were then never read.
This implementation avoids this extra cost and the result is measurable
(about 15% performance gain for a typical Markdown document for example).
- msgProvider
A provider that produces an error message for this failure based on its SourceCursor
- next
The unconsumed input at the point where the failing parser started
- maxOffset
The offset position the parser could successfully read to before failing
- Alphabetic
- By Inheritance
- Failure
- Serializable
- Product
- Equals
- Parsed
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Failure(msgProvider: Message, next: SourceCursor, maxOffset: Int)
- msgProvider
A provider that produces an error message for this failure based on its SourceCursor
- next
The unconsumed input at the point where the failing parser started
- maxOffset
The offset position the parser could successfully read to before failing
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getOrElse[B >: Nothing](default: => B): B
Returns the result value from the parser invocation if the parser succeeded or otherwise the specified fallback value.
Returns the result value from the parser invocation if the parser succeeded or otherwise the specified fallback value.
- Definition Classes
- Parsed
- def isFailure: Boolean
Indicates whether this results represents an unsuccessful parser invocation.
Indicates whether this results represents an unsuccessful parser invocation.
- Definition Classes
- Parsed
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val isSuccess: Boolean
Indicates whether this results represents a successful parser invocation.
- def map[U](f: (Nothing) => U): Failure
Builds a new
Parsed
instance by applying the specified function to the result of this instance. - val maxOffset: Int
- lazy val message: String
The message specifying the cause of the failure.
- val msgProvider: Message
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- val next: SourceCursor
The context representing the remaining input left over by the parser that produced this result.
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def orElse[U](default: => Parsed[U]): Parsed[U]
Returns this
Parsed
instance if the parser succeeded or otherwise the specified fallback instance. - def productElementNames: Iterator[String]
- Definition Classes
- Product
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toEither: Either[String, Nothing]
The result as an Either, a Left in case of failure.
- def toOption: Option[Nothing]
The result as an Option, empty in case of failure.
- def toString(): String
- Definition Classes
- Failure → AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()