Exemple #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);
            }
        }
Exemple #2
0
        public Ust VisitTypeArgumentsOrDiamond(JavaParser.TypeArgumentsOrDiamondContext context)
        {
            JavaParser.TypeArgumentsContext typeArguments = context.typeArguments();
            TypeToken result;

            if (typeArguments != null)
            {
                result = (TypeToken)Visit(typeArguments);
                return(result);
            }

            result = new TypeToken(context.GetChild <ITerminalNode>(0).GetText() + context.GetChild <ITerminalNode>(1).GetText(),
                                   context.GetTextSpan());
            return(result);
        }
        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);
        }