public static Optional <MatchResult <TypeDescriptionDetails> > TypeDescription(IReadStringContent reader) { if (reader == null) { throw new ArgumentNullException(nameof(reader)); } var result = reader.MatchAnythingUntil(UntilWhiteSpaceOrPunctuation); if (!result.IsDefined) { return(null); } return(MatchResult.New( new TypeDescriptionDetails(result.Value.Result, GetSourceRangeFromReaders(reader, result.Value.Reader)), result.Value.Reader )); }
public static Optional <MatchResult <IdentifierDetails> > Identifier(IReadStringContent reader) { if (reader == null) { throw new ArgumentNullException(nameof(reader)); } var result = reader.MatchAnythingUntil(IdentifierDetails.DisallowedCharacters); if (!result.IsDefined) { return(null); } return(MatchResult.New( new IdentifierDetails(result.Value.Result, GetSourceRangeFromReaders(reader, result.Value.Reader)), result.Value.Reader )); }