6.9 FParsec.ErrorMessageList
Represents a list of error messages.
6.9.1 Interface
// FParsecCS.dll namespace FParsec [<Sealed; AllowNullLiteral>] type ErrorMessageList = member Head: ErrorMessage member Tail: ErrorMessageList new: head: ErrorMessage -> ErrorMessageList new: head: ErrorMessage * tail: ErrorMessageList -> ErrorMessageList new: head: ErrorMessage * tailMessage: ErrorMessage -> ErrorMessageList static member Merge: ErrorMessageList * ErrorMessageList -> ErrorMessageList static member ToHashSet: ErrorMessageList -> HashSet<ErrorMessage> static member ToSortedArray: ErrorMessageList -> ErrorMessage[] override Equals: obj -> bool override GetHashCode: unit -> int interface System.IEquatable<ErrorMessageList>
6.9.2 Remarks
The ErrorMessageList
represents a list of error messages in which the order of the messages
carries no meaning and any duplicates and empty messages are ignored. Essentially, an ErrorMessageList
is constructed as a singly‐linked list, but used as a set.
A null
value represents an empty ErrorMessageList
.
The ErrorMessage
values in an ErrorMessageList
are usually all associated with the same input stream position and user state.
For example, the error messages returned by a parser in a Reply
value describe an error at the CharStream
position
that is current when the parser returns.
In order to enforce set semantics in comparison operations, the ErrorMessageList
overrides
the Equals
and GetHashCode
.
6.9.3 Members
member Head: ErrorMessage
The first ErrorMessage
in this
list. This property is never null
.
member Tail: ErrorMessageList
The remaining ErrorMessage
values
in this list after the first ErrorMessage
.
If there are no remaining ErrorMessage
values, this property is null
.
new: head: ErrorMessage -> ErrorMessageList
Constructs a new ErrorMessageList
with a single ErrorMessage
value.
This constructor throws a NullReferenceException
if head
is null.
new: head: ErrorMessage * tail: ErrorMessageList -> ErrorMessageList
This constructor throws a NullReferenceException
if head
is null.
new: head: ErrorMessage * tailMessage: ErrorMessage -> ErrorMessageList
new ErrorMessageList(head, tailmessage)
is equivalent to new ErrorMessageList(head, new ErrorMessageList(tailMessage))
.
static member Merge: ErrorMessageList * ErrorMessageList -> ErrorMessageList
Creates a new ErrorMessageList
that contains the ErrorMessage
values from both argument lists.
The order of the ErrorMessage
values in the newly created list is an implementation detail that you should not depend on.
static member ToHashSet: ErrorMessageList -> HashSet<ErrorMessage>
Converts the ErrorMessageList
to a HashSet<ErrorMessageList>
. Duplicate error messages and empty Expected...
, Unexpected...
and Message
messages are filtered out when the list is converted to a
set.
static member ToSortedArray: ErrorMessageList -> ErrorMessage[]
Converts the ErrorMessageList
to a array that is sorted by a total order. Duplicate
error messages and empty Expected...
, Unexpected...
and Message
messages are filtered out when the list is converted to the array.
The order of the sorted array is an implementation detail and may change in the future.