Esempio n. 1
0
 private static IEnumerable<Token> OfSequence(this IEnumerable<Token> tokens, Token nameToken, TypeDescriptor info)
 {
     var nameIndex = tokens.IndexOf(t => t.Equals(nameToken));
     if (nameIndex >= 0)
     {
         return info.NextValue.Return(
             _ => info.MaxItems.Return(
                     n => tokens.Skip(nameIndex + 1).Take(n),
                          tokens.Skip(nameIndex + 1).TakeWhile(v => v.IsValue())),
             tokens.Skip(nameIndex + 1).TakeWhile(v => v.IsValue()));
     }
     return new Token[] { };
 }
Esempio n. 2
0
        public static TypeDescriptor Create(TargetType tag, Maybe<int> maximumItems, TypeDescriptor next = default(TypeDescriptor))
        {
            if (maximumItems == null) throw new ArgumentNullException("maximumItems");

            return new TypeDescriptor(tag, maximumItems, next.ToMaybe());
        }