Esempio n. 1
0
        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
                       ));
        }
Esempio n. 2
0
        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
                       ));
        }