Пример #1
0
 public static void CheckTypeArgsExpression(RangeFinderState s, TypeArgsExpression a)
 {
     CheckAny(s, a.Target);
     foreach (var it in a.Args)
     {
         CheckAny(s, it);
     }
 }
Пример #2
0
 public static void PrintTypeArgsExpression(PrintState s, TypeArgsExpression a)
 {
     PrintDescWithAny(s, "TypeArgs", a.Target);
     Indent(s);
     foreach (var it in a.Args)
     {
         PrintAny(s, it);
     }
     UnIndent(s);
 }
Пример #3
0
        public static TypeArgsExpression ParseTypeArgsExpressionTail(ParserState s, object target)
        {
            s.AngleBracketLevel += 1;
            var tae = new TypeArgsExpression {
                Target = target, Args = new List <object>()
            };

            ReadToken(s);
            while (true)
            {
                tae.Args.Add(ParseType(s));
                if (s.Token.Type == TokenType.CloseAngleBracket)
                {
                    break;
                }
                ParseTokenWithType(s, TokenType.Comma);
            }
            ParseTokenWithType(s, TokenType.CloseAngleBracket);
            s.AngleBracketLevel -= 1;
            return(tae);
        }