CultPong/Assets/Scripts/Parsley/Error.cs
2020-09-25 07:12:38 +01:00

29 lines
No EOL
783 B
C#

namespace Parsley
{
using System;
public class Error<T> : Reply<T>
{
public Error(TokenStream unparsedTokens, ErrorMessage error)
: this(unparsedTokens, ErrorMessageList.Empty.With(error)) { }
public Error(TokenStream unparsedTokens, ErrorMessageList errors)
{
UnparsedTokens = unparsedTokens;
ErrorMessages = errors;
}
public T Value
{
get
{
var position = UnparsedTokens.Position;
throw new MemberAccessException($"{position}: {ErrorMessages}");
}
}
public TokenStream UnparsedTokens { get; }
public bool Success => false;
public ErrorMessageList ErrorMessages { get; }
}
}