Pidgin

Class Expected<TToken>

Represents a parsing expectation for error reporting. Expected values are either a sequence of expected tokens (in which case Label == null && Tokens != null), a custom-named parser (Label != null && Tokens == null), or the end of the input stream (Label == null && Tokens == null)

Inheritance
Implements
Declaration
public sealed class Expected<TToken> : ValueType, IEquatable<Expected<TToken>>, IComparable<Expected<TToken>>
Type Parameters
Name Description

TToken

Properties

IsEof

Did the parser expect the end of the input stream?

Declaration
public bool IsEof { get; }
Property Value
Type Description

Boolean

True if the parser expected the end of the input stream

Label

The custom name of the parser that produced this error, or null if the expectation was a sequence of tokens.

Declaration
public string Label { get; }
Property Value
Type Description

String

The label

Tokens

The sequence of tokens that were expected at the point of the error, null if the parser had a custom name.

Declaration
public ImmutableArray<TToken> Tokens { get; }
Property Value
Type Description

ImmutableArray<TToken>

The sequence of tokens that were expected

Methods

CompareTo(Expected<TToken>)

Declaration
public int CompareTo(Expected<TToken> other)
Parameters
Type Name Description

Expected<TToken>

other

Returns
Type Description

Int32

Equals(Expected<TToken>)

Declaration
public bool Equals(Expected<TToken> other)
Parameters
Type Name Description

Expected<TToken>

other

Returns
Type Description

Boolean

Equals(Object)

Declaration
public override bool Equals(object other)
Parameters
Type Name Description

Object

other

Returns
Type Description

Boolean

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description

Int32

ToString()

Declaration
public override string ToString()
Returns
Type Description

String

Operators

Equality(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator ==(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

GreaterThan(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator>(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

GreaterThanOrEqual(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator >=(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

Inequality(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator !=(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

LessThan(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator <(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

LessThanOrEqual(Expected<TToken>, Expected<TToken>)

Declaration
public static bool operator <=(Expected<TToken> left, Expected<TToken> right)
Parameters
Type Name Description

Expected<TToken>

left

Expected<TToken>

right

Returns
Type Description

Boolean

Implements

System.IEquatable<T>
System.IComparable<T>