Ejemplo n.º 1
0
        public override void EnterFormalParameter(JavaParser.FormalParameterContext context)
        {
            // type of parameter
            TypeTypeListener typeTypeListener = new TypeTypeListener();

            context.typeType().EnterRule(typeTypeListener);

            TypeName typeName = null;

            if (typeTypeListener.PrimitiveTypeName != null)
            {
                typeName = typeTypeListener.PrimitiveTypeName;
            }
            else if (!string.IsNullOrEmpty(typeTypeListener.ID))
            {
                typeName = TypeName.For(typeTypeListener.ID);
            }
            else
            {
                typeName = PrimitiveTypeName.Void;
            }

            // name of parameter
            VariableDeclaratorIdListener variableDeclaratorIdListener = new VariableDeclaratorIdListener();

            context.variableDeclaratorId().EnterRule(variableDeclaratorIdListener);

            Argument = new Argument(variableDeclaratorIdListener.ID, typeName);
        }
Ejemplo n.º 2
0
        public override void EnterTypeTypeOrVoid(JavaParser.TypeTypeOrVoidContext context)
        {
            if (context.typeType() == null)
            {
                TypeName = PrimitiveTypeName.Void;
                return;
            }

            TypeTypeListener typeTypeListener = new TypeTypeListener();

            context.typeType().EnterRule(typeTypeListener);

            if (typeTypeListener.PrimitiveTypeName != null)
            {
                TypeName = typeTypeListener.PrimitiveTypeName;
            }
            else if (!string.IsNullOrEmpty(typeTypeListener.ID))
            {
                TypeName = TypeName.For(typeTypeListener.ID);
            }
            else
            {
                TypeName = PrimitiveTypeName.Void;
            }
        }
Ejemplo n.º 3
0
        public override void EnterTypeArgument(JavaParser.TypeArgumentContext context)
        {
            if (context.typeType() == null)
            {
                Type = PrimitiveTypeName.Void.FullyQualified;
                return;
            }

            TypeTypeListener typeTypeListener = new TypeTypeListener();

            context.typeType().EnterRule(typeTypeListener);

            if (typeTypeListener.ID != null)
            {
                Type = typeTypeListener.ID;
            }
            else if (typeTypeListener.QualifiedName != null)
            {
                Type = typeTypeListener.QualifiedName;
            }
            else if (typeTypeListener.PrimitiveTypeName != null)
            {
                Type = PrimitiveTypeName.Void.FullyQualified;
            }
        }
Ejemplo n.º 4
0
        public override void EnterFieldDeclaration(JavaParser.FieldDeclarationContext context)
        {
            PrimitiveTypeName primitiveTypeName = null;
            string            qualifiedName     = "";

            if (context.typeType() != null)
            {
                TypeTypeListener typeTypeListener = new TypeTypeListener();
                context.typeType().EnterRule(typeTypeListener);
                primitiveTypeName = typeTypeListener.PrimitiveTypeName;
                qualifiedName     = typeTypeListener.QualifiedName;
            }

            List <string> IDs = new List <string>();

            if (context.variableDeclarators() != null)
            {
                VariableDeclaratorsListener variableDeclaratorsListener = new VariableDeclaratorsListener();
                context.variableDeclarators().EnterRule(variableDeclaratorsListener);
                IDs = variableDeclaratorsListener.IDs;
            }

            if (primitiveTypeName == null && string.IsNullOrEmpty(qualifiedName))
            {
                primitiveTypeName = TypeName.For("void") as PrimitiveTypeName;
            }

            string    fieldName = IDs.FirstOrDefault();
            FieldName fieldFqn  = new FieldName(
                parentClass.className,
                fieldName,
                primitiveTypeName != null
                    ? primitiveTypeName.Signature
                    : TypeName.For(qualifiedName).Signature);
            FieldInfo fieldInfo = new FieldInfo(
                fieldFqn,
                parentClass.className,
                AccessFlags.AccPublic,
                new SourceCodeSnippet(context.GetFullText(), SourceCodeLanguage.Java));

            parentClass.Children.Add(fieldInfo);
        }