Example usage for org.eclipse.jdt.core.dom NormalAnnotation getTypeName

List of usage examples for org.eclipse.jdt.core.dom NormalAnnotation getTypeName

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom NormalAnnotation getTypeName.

Prototype

public Name getTypeName() 

Source Link

Document

Returns the annotation type name of this annotation.

Usage

From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java

License:Open Source License

@Override
public boolean visit(NormalAnnotation node) {
    this.fBuffer.append("@");//$NON-NLS-1$
    node.getTypeName().accept(this);
    this.fBuffer.append("(");//$NON-NLS-1$
    for (Iterator<MemberValuePair> it = node.values().iterator(); it.hasNext();) {
        MemberValuePair p = it.next();//from  ww  w . java2s.c  om
        p.accept(this);
        if (it.hasNext()) {
            this.fBuffer.append(",");//$NON-NLS-1$
        }
    }
    this.fBuffer.append(")");//$NON-NLS-1$
    return false;
}

From source file:coloredide.utils.CopiedNaiveASTFlattener.java

License:Open Source License

public boolean visit(NormalAnnotation node) {
    this.buffer.append("@");//$NON-NLS-1$
    node.getTypeName().accept(this);
    this.buffer.append("(");//$NON-NLS-1$
    for (Iterator it = node.values().iterator(); it.hasNext();) {
        MemberValuePair p = (MemberValuePair) it.next();
        p.accept(this);
        if (it.hasNext()) {
            this.buffer.append(",");//$NON-NLS-1$
        }/*w w  w. j a  v  a2 s  .co m*/
    }
    this.buffer.append(")");//$NON-NLS-1$
    return false;
}

From source file:com.google.devtools.j2objc.ast.DebugASTPrinter.java

License:Apache License

@Override
public boolean visit(NormalAnnotation node) {
    sb.print("@");
    node.getTypeName().accept(this);
    sb.print("(");
    for (Iterator<MemberValuePair> it = node.getValues().iterator(); it.hasNext();) {
        MemberValuePair p = (MemberValuePair) it.next();
        p.accept(this);
        if (it.hasNext()) {
            sb.print(',');
        }/*from w ww . j a v a2  s.c  om*/
    }
    sb.print(")");
    return false;
}

From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java

License:Apache License

/** Visitor method for {@link NormalAnnotation}s. */
@Override//from ww  w  .  j  av a  2  s . c o  m
public boolean visit(NormalAnnotation node) {
    sync(node);
    builder.open(ZERO);
    token("@");
    node.getTypeName().accept(this);
    builder.open(plusTwo, MAX_LINES_FOR_ANNOTATION_ELEMENT_VALUE_PAIRS);
    token("(");
    builder.breakOp();
    boolean first = true;

    // Format the member value pairs one-per-line if any of them are
    // initialized with arrays.
    boolean hasArrayInitializer = false;
    for (MemberValuePair value : (List<MemberValuePair>) node.values()) {
        if (value.getValue().getNodeType() == ASTNode.ARRAY_INITIALIZER) {
            hasArrayInitializer = true;
            break;
        }
    }

    for (MemberValuePair value : (List<MemberValuePair>) node.values()) {
        if (!first) {
            token(",");
            if (hasArrayInitializer) {
                builder.forcedBreak();
            } else {
                builder.breakOp(" ");
            }
        }
        value.accept(this);
        first = false;
    }
    builder.breakOp(FillMode.UNIFIED, "", minusTwo, Optional.<BreakTag>absent());
    token(")");
    builder.close();
    builder.close();
    return false;
}

From source file:com.liferay.ide.project.core.modules.NewLiferayModuleProjectOpMethods.java

License:Open Source License

@SuppressWarnings("unchecked")
public static void addProperties(File dest, List<String> properties) throws Exception {
    try {/*  w  w  w .j ava 2s . c o m*/
        if (properties == null || properties.size() < 1) {
            return;
        }

        ASTParser parser = ASTParser.newParser(AST.JLS8);
        String readContents = FileUtil.readContents(dest, true);
        parser.setSource(readContents.toCharArray());
        parser.setKind(ASTParser.K_COMPILATION_UNIT);
        parser.setResolveBindings(true);
        final CompilationUnit cu = (CompilationUnit) parser.createAST(new NullProgressMonitor());
        cu.recordModifications();
        Document document = new Document(new String(readContents));
        cu.accept(new ASTVisitor() {

            @Override
            public boolean visit(NormalAnnotation node) {
                if (node.getTypeName().getFullyQualifiedName().equals("Component")) {
                    ASTRewrite rewrite = ASTRewrite.create(cu.getAST());
                    AST ast = cu.getAST();
                    List<ASTNode> values = node.values();
                    boolean hasProperty = false;

                    for (ASTNode astNode : values) {
                        if (astNode instanceof MemberValuePair) {
                            MemberValuePair pairNode = (MemberValuePair) astNode;

                            if (pairNode.getName().getFullyQualifiedName().equals("property")) {
                                Expression express = pairNode.getValue();

                                if (express instanceof ArrayInitializer) {
                                    ListRewrite lrw = rewrite.getListRewrite(express,
                                            ArrayInitializer.EXPRESSIONS_PROPERTY);
                                    ArrayInitializer initializer = (ArrayInitializer) express;
                                    List<ASTNode> expressions = (List<ASTNode>) initializer.expressions();
                                    ASTNode propertyNode = null;

                                    for (int i = properties.size() - 1; i >= 0; i--) {
                                        StringLiteral stringLiteral = ast.newStringLiteral();
                                        stringLiteral.setLiteralValue(properties.get(i));

                                        if (expressions.size() > 0) {
                                            propertyNode = expressions.get(expressions.size() - 1);
                                            lrw.insertAfter(stringLiteral, propertyNode, null);
                                        } else {
                                            lrw.insertFirst(stringLiteral, null);
                                        }
                                    }
                                }
                                hasProperty = true;
                            }
                        }
                    }

                    if (hasProperty == false) {
                        ListRewrite clrw = rewrite.getListRewrite(node, NormalAnnotation.VALUES_PROPERTY);
                        ASTNode lastNode = values.get(values.size() - 1);

                        ArrayInitializer newArrayInitializer = ast.newArrayInitializer();
                        MemberValuePair propertyMemberValuePair = ast.newMemberValuePair();

                        propertyMemberValuePair.setName(ast.newSimpleName("property"));
                        propertyMemberValuePair.setValue(newArrayInitializer);

                        clrw.insertBefore(propertyMemberValuePair, lastNode, null);
                        ListRewrite newLrw = rewrite.getListRewrite(newArrayInitializer,
                                ArrayInitializer.EXPRESSIONS_PROPERTY);

                        for (String property : properties) {
                            StringLiteral stringLiteral = ast.newStringLiteral();
                            stringLiteral.setLiteralValue(property);
                            newLrw.insertAt(stringLiteral, 0, null);
                        }
                    }
                    try (FileOutputStream fos = new FileOutputStream(dest)) {
                        TextEdit edits = rewrite.rewriteAST(document, null);
                        edits.apply(document);
                        fos.write(document.get().getBytes());
                        fos.flush();
                    } catch (Exception e) {
                        ProjectCore.logError(e);
                    }
                }
                return super.visit(node);
            }
        });
    } catch (Exception e) {
        ProjectCore.logError("error when adding properties to " + dest.getAbsolutePath(), e);
    }
}

From source file:edu.uci.ics.sourcerer.extractor.ast.ReferenceExtractorVisitor.java

License:Open Source License

/**
 * This method writes:/*  w ww  . j  a  va2  s.co  m*/
 *<ul>
 *  <li>For any normal annotation use:
 *  <ul>
 *    <li>Annotated by relation to <code>IRelationWriter</code>.</li>
 *  </ul></li>
 *</ul>
 */
@Override
public boolean visit(NormalAnnotation node) {
    // Get the fqn
    String fqn = null;
    IAnnotationBinding binding = node.resolveAnnotationBinding();
    if (binding == null) {
        fqn = getUnknownFqn(node.getTypeName().getFullyQualifiedName());
    } else {
        ITypeBinding typeBinding = binding.getAnnotationType();
        if (typeBinding == null) {
            fqn = getUnknownFqn(binding.getName());
        } else {
            fqn = getTypeFqn(typeBinding);
        }
    }

    // Write the annotates relation
    relationWriter.writeAnnotatedBy(fqnStack.getFqn(), fqn, getLocation(node));

    return true;
}

From source file:edu.uci.ics.sourcerer.tools.java.extractor.eclipse.ReferenceExtractorVisitor.java

License:Open Source License

/**
 * This method writes:/*from  w ww . ja v a2s .co m*/
 *<ul>
 *  <li>For any normal annotation use:
 *  <ul>
 *    <li>Annotated by relation to <code>IRelationWriter</code>.</li>
 *  </ul></li>
 *</ul>
 */
@Override
public boolean visit(NormalAnnotation node) {
    // Get the fqn
    String fqn = null;
    IAnnotationBinding binding = node.resolveAnnotationBinding();
    if (binding == null) {
        fqn = createUnknownFqn(node.getTypeName().getFullyQualifiedName());
    } else {
        ITypeBinding typeBinding = binding.getAnnotationType();
        if (typeBinding == null) {
            fqn = createUnknownFqn(binding.getName());
        } else {
            fqn = getTypeFqn(typeBinding);
        }
    }

    // Write the annotates relation
    relationWriter.writeRelation(Relation.ANNOTATED_BY, fqnStack.getFqn(), fqn, createLocation(node));

    return true;
}

From source file:egovframework.mgt.fit.library.parser.visitor.AnnotationParsingVisitor.java

License:Apache License

/**
 * ? ?  ?./*from  ww  w  .j  a  v a  2  s  . c om*/
 * @return   
 */
@Override
public boolean visit(NormalAnnotation node) {
    if (node.getNodeType() == ASTNode.NORMAL_ANNOTATION) {
        if (node.getParent().getNodeType() == parentType) {
            AnnotationUnit au = new AnnotationUnit();
            au.setName(node.getTypeName().getFullyQualifiedName());
            for (Object value : node.values()) {
                if (value instanceof MemberValuePair) {
                    MemberValuePair mvp = (MemberValuePair) value;
                    Variable annotationValue = new Variable();
                    annotationValue.setName(mvp.getName().getFullyQualifiedName());
                    annotationValue.setValue(mvp.getValue().toString());
                    au.addAnnotationValue(annotationValue);
                }
            }
            unit.addAnnotation(au);
        }
    }

    return super.visit(node);
}

From source file:java5totext.input.JDTVisitor.java

License:Open Source License

@Override
public void endVisit(org.eclipse.jdt.core.dom.NormalAnnotation node) {
    Annotation element = (Annotation) this.binding.get(node);
    this.initializeNode(element, node);
    if (this.binding.get(node.getTypeName()) != null)
        element.setType((NamedElementRef) this.binding.get(node.getTypeName()));
    for (Iterator<?> i = node.values().iterator(); i.hasNext();) {
        AnnotationMemberValuePair itElement = (AnnotationMemberValuePair) this.binding.get(i.next());
        if (itElement != null)
            element.getValues().add(itElement);
    }//from  w w  w  . j av  a2s  .  c o m
}

From source file:lang.java.jdt.internal.JdtAstToRascalAstConverter.java

License:Open Source License

public boolean visit(NormalAnnotation node) {
    IValue typeName = values.string(node.getTypeName().getFullyQualifiedName());

    IValueList memberValuePairs = new IValueList(values);
    for (Iterator it = node.values().iterator(); it.hasNext();) {
        MemberValuePair p = (MemberValuePair) it.next();
        memberValuePairs.add(visitChild(p));
    }/*from  w w w  . ja va  2s  .  c o m*/

    ownValue = constructRascalNode(node, typeName, memberValuePairs.asList());
    return false;
}