ChoiceParser<T> class

A parser that uses the first parser that succeeds.

Inheritance
Available Extensions

Constructors

ChoiceParser(Iterable<Parser<T>> children, {FailureJoiner<T>? failureJoiner})

Properties

children List<Parser<T>>
The children parsers being delegated to.
finalinherited
failureJoiner FailureJoiner<T>
Strategy to join multiple parse errors.
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

captureResultGeneric<T>(T callback<R>(Parser<R> self)) → T
Internal helper to capture the generic type R of the parse result from extension methods. This makes it possible to wrap the parser without loosing type information.
inherited
copy() ChoiceParser<T>
Returns a shallow copy of the receiver.
override
fastParseOn(String buffer, int position) int
Primitive method doing the actual parsing.
override
hasEqualChildren(covariant Parser other, Set<Parser> seen) bool
Compare the children of two parsers.
inherited
hasEqualProperties(covariant ChoiceParser<T> other) bool
Compare the properties of two parsers.
override
isEqualTo(Parser other, [Set<Parser>? seen]) bool
Recursively tests for structural equality of two parsers.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
parse(String input) Result<T>
Returns the parse result of the input.
inherited
parseOn(Context context) Result<T>
Primitive method doing the actual parsing.
override
replace(Parser source, Parser target) → void
Changes the receiver by replacing source with target. Does nothing if source does not exist in Parser.children.
inherited
toString() String
A string representation of this object.
inherited
withFailureJoiner(FailureJoiner<T> failureJoiner) ChoiceParser<T>
Switches the failure joining strategy.

Operators

operator ==(Object other) bool
The equality operator.
inherited