Пример #1
0
        public override void EnterTypeArguments(JavaParser.TypeArgumentsContext context)
        {
            TypeArgumentListener typeArgumentListener = new TypeArgumentListener();

            foreach (JavaParser.TypeArgumentContext typeArgumentContext in context.typeArgument())
            {
                typeArgumentContext.EnterRule(typeArgumentListener);
                typeArguments.Add(typeArgumentListener.Type);
            }
        }
        public Ust VisitTypeArguments(JavaParser.TypeArgumentsContext context)
        {
            TypeToken[] typeArgs = context.typeArgument()
                                   .Select(arg => (TypeToken)Visit(arg))
                                   .Where(type => type != null).ToArray();

            string resultString =
                ((ITerminalNode)context.GetChild(0)).Symbol.Text +
                string.Join(",", typeArgs.Select(arg => arg.TypeText)) +
                ((ITerminalNode)context.GetChild(context.ChildCount - 1)).Symbol.Text;

            var result = new TypeToken(resultString.ToString(), context.GetTextSpan());

            return(result);
        }