Example usage for org.eclipse.jdt.core.dom SimpleName getIdentifier

List of usage examples for org.eclipse.jdt.core.dom SimpleName getIdentifier

Introduction

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

Prototype

public String getIdentifier() 

Source Link

Document

Returns this node's identifier.

Usage

From source file:ast.StructureParse.java

private void enclose(String body, DefaultMutableTreeNode parentNode) {
    ASTParser parser = ASTParser.newParser(AST.JLS2);
    /*//w w  w.j a  v a2  s . c  om
     * make parse result into OPP structure, because AST wanna be that.
    */
    String setClass = "class fo{\nvoid foo(){ \n" + body + "\n}\n}";
    parser.setSource(setClass.toCharArray());
    //parser.setSource("/*abc*/".toCharArray());
    parser.setKind(ASTParser.K_COMPILATION_UNIT);
    //ASTNode node = parser.createAST(null);
    parser.setResolveBindings(true);

    try {
        final CompilationUnit cu = (CompilationUnit) parser.createAST(null);

        cu.accept(new ASTVisitor() {
            Set names2 = new HashSet();

            @Override
            public boolean visit(SimpleName node) {
                if (this.names2.contains(node.getIdentifier())) {
                    parentNode.add(new DefaultMutableTreeNode(node.toString()));
                    System.out.println("SimpleNode : " + node.toString());
                }
                return true;
            }

            @Override
            public boolean visit(EnhancedForStatement node) {
                _for = new DefaultMutableTreeNode(
                        "for (" + node.getParameter() + " : " + node.getExpression() + ")");
                parentNode.add(_for);
                System.out.println("for (" + node.getParameter() + " : " + node.getExpression() + ")");
                enclose(node.getBody().toString(), _for);
                return false;
            }

            @Override
            public boolean visit(ForStatement node) {
                /*
                 * because initial may more than 1.
                */
                String initial = "";
                for (int i = 0; i < node.initializers().size(); i++) {
                    initial += node.initializers().get(i);
                    if (node.initializers().size() - 1 != i)
                        initial += ", ";
                }

                /*
                 * because increment may more than 1
                */
                String inc = "";
                for (int i = 0; i < node.updaters().size(); i++) {
                    inc += node.updaters().get(i);
                    if (node.updaters().size() - 1 != i)
                        inc += ", ";
                }

                _for = new DefaultMutableTreeNode(
                        "for (" + initial + "; " + node.getExpression() + "; " + inc + ")");
                parentNode.add(_for);
                System.out.println("for (" + initial + "; " + node.getExpression() + "; " + inc + ")");
                enclose(node.getBody().toString(), _for);
                return false;
            }

            @Override
            public boolean visit(IfStatement node) {
                String elseExist = "";
                _if = new DefaultMutableTreeNode("if (" + node.getExpression() + ")");
                System.out.println("if (+" + node.getExpression() + ")");
                parentNode.add(_if);
                enclose(node.getThenStatement().toString(), _if);
                elseExist = node.getElseStatement() + "";
                if (!(elseExist.equals("") || (elseExist.equals("null")))) {
                    _else = new DefaultMutableTreeNode("else");
                    System.out.println("else");
                    parentNode.add(_else);
                    enclose(node.getElseStatement().toString(), _else);
                }
                return false;
            }

            @Override
            public boolean visit(VariableDeclarationFragment node) {
                if (node.getParent() instanceof FieldDeclaration) {
                    FieldDeclaration declaration = ((FieldDeclaration) node.getParent());
                    _class.add(new DefaultMutableTreeNode(declaration.getType().toString()));
                } else {
                    System.out.println("VariableDeclarationFragment : " + node.toString());
                    parentNode.add(new DefaultMutableTreeNode(node.toString()));
                }
                return false; // do not continue to avoid usage info
            }

            @Override
            public boolean visit(ReturnStatement node) {
                parentNode.add(new DefaultMutableTreeNode(node.toString()));
                System.out.println("Return : " + node.toString());
                return false;
            }

            @Override
            public boolean visit(SuperConstructorInvocation node) {
                _constructorCall = new DefaultMutableTreeNode(node);
                parentNode.add(_constructorCall);
                System.out.println("SuperConstructorInvocation : " + node);
                return false;
            }

            @Override
            public boolean visit(MethodInvocation node) {
                _methodCall = new DefaultMutableTreeNode(node);
                parentNode.add(_methodCall);
                System.out.println("MethodInvocation : " + node);
                return true;
            }

            @Override
            public boolean visit(SuperMethodInvocation node) {
                _methodCall = new DefaultMutableTreeNode(node);
                parentNode.add(_methodCall);
                System.out.println("SuperMethodInvocation : " + node);
                return false;
            }

            @Override
            public boolean visit(WhileStatement node) {
                _while = new DefaultMutableTreeNode("while " + node.getExpression());
                parentNode.add(_while);
                System.out.println("WhileStatement : " + node.getExpression());
                enclose(node.getBody().toString(), _while);
                return false;
            }

            @Override
            public boolean visit(DoStatement node) {
                _do = new DefaultMutableTreeNode("do");
                parentNode.add(_do);
                System.out.println("do");
                enclose(node.getBody().toString(), _do);
                _while = new DefaultMutableTreeNode("while(" + node.getExpression() + ")");
                parentNode.add(_while);
                return false;
            }

            @Override
            public boolean visit(TryStatement node) {
                String ada = "";
                _try = new DefaultMutableTreeNode("try");
                parentNode.add(_try);
                System.out.println("try");
                enclose(node.getBody().toString(), _try);
                ada = node.getFinally() + "";
                if (!(ada.equals("") || (ada.equals("null")))) {
                    _final = new DefaultMutableTreeNode("finally");
                    parentNode.add(_final);
                    System.out.println("finally");
                    enclose(node.getFinally().toString(), _final);
                }
                return false;
            }

            @Override
            public boolean visit(CatchClause node) {
                _catch = new DefaultMutableTreeNode("catch (" + node.getException() + ")");
                parentNode.add(_catch);
                System.out.println("catch : " + node.getException());
                enclose(node.getBody().toString(), _catch);
                return false;
            }

            @Override
            public boolean visit(Assignment node) {
                _assignment = new DefaultMutableTreeNode(node.toString());
                parentNode.add(_assignment);
                System.out.println("Assignment : " + node.toString());
                return false;
            }

            @Override
            public boolean visit(ConstructorInvocation node) {
                _constructorCall = new DefaultMutableTreeNode(node.toString());
                parentNode.add(_constructorCall);
                System.out.println(node.toString());
                return false;
            }

            @Override
            public boolean visit(AnonymousClassDeclaration node) {
                _constructorCall = new DefaultMutableTreeNode(node.toString());
                parentNode.add(_constructorCall);
                System.out.println("AnonymousClassDeclaration : " + node.toString());
                return false;
            }

            @Override
            public boolean visit(ArrayAccess node) {
                _class = new DefaultMutableTreeNode(node.toString());
                parentNode.add(_class);
                System.out.println("AbstrackTypeDeclaration : " + node.toString());
                return false;
            }

            @Override
            public boolean visit(ArrayCreation node) {
                _array = new DefaultMutableTreeNode(node.toString());
                _method.add(_array);
                System.out.println("ArrayCreation : " + node.toString());
                return false;
            }

            @Override
            public boolean visit(ArrayInitializer node) {
                _array = new DefaultMutableTreeNode(node.toString());
                System.out.println("ArrayInitialize : " + node.toString());
                parentNode.add(_array);
                return false;
            }

            @Override
            public boolean visit(AssertStatement node) {
                _statement = new DefaultMutableTreeNode(node.toString());
                System.out.println("AssertStatement : " + node.toString());
                parentNode.add(_statement);
                return false;
            }

            @Override
            public boolean visit(ContinueStatement node) {
                _statement = new DefaultMutableTreeNode(node.toString());
                System.out.println("ContinueStatement : " + node.toString());
                parentNode.add(_statement);
                return false;
            }

            @Override
            public boolean visit(SwitchStatement node) {
                _switch = new DefaultMutableTreeNode("switch (" + node.getExpression() + ")");
                System.out.println("switch (" + node.getExpression() + ")");
                parentNode.add(_switch);
                List getStatement = node.statements();
                for (Object st : getStatement) {
                    Matcher _caseMatch = Pattern.compile("^case\\s+.+\\:").matcher(st.toString());
                    if (_caseMatch.find()) {
                        _case = new DefaultMutableTreeNode(_caseMatch.group());
                        _switch.add(_case);
                    }

                    enclose(st.toString(), _case);

                    Matcher _breakMatch = Pattern.compile("^break\\s*.*;").matcher(st.toString());
                    if (_breakMatch.find()) {
                        _break = new DefaultMutableTreeNode(_breakMatch.group());
                        _case.add(_break);
                    }
                }
                return false;
            }

            @Override
            public boolean visit(ClassInstanceCreation node) {
                _constructorCall = new DefaultMutableTreeNode(node.toString());
                System.out.println("ClassInstanceCreation : " + node.toString());
                parentNode.add(_constructorCall);
                return false;
            }
        });
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

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

License:Open Source License

@Override
public boolean visit(SimpleName node) {
    this.fBuffer.append(node.getIdentifier());
    return false;
}

From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java

License:Open Source License

private boolean handleValueTag(TagElement node) {

    List<? extends ASTNode> fragments = node.fragments();
    try {/*  w ww  .j  av  a2s  .co m*/
        if (!(fElement instanceof IMember)) {
            return false;
        }
        if (fragments.isEmpty()) {
            if (fElement instanceof IField && JdtFlags.isStatic((IField) fElement)
                    && JdtFlags.isFinal((IField) fElement)) {
                IField field = (IField) fElement;
                return handleConstantValue(field, false);
            }
        } else if (fragments.size() == 1) {
            Object first = fragments.get(0);
            if (first instanceof MemberRef) {
                MemberRef memberRef = (MemberRef) first;
                if (memberRef.getQualifier() == null) {
                    SimpleName name = memberRef.getName();
                    IType type = fElement instanceof IType ? (IType) fElement
                            : ((IMember) fElement).getDeclaringType();
                    while (type != null) {
                        IField field = type.getField(name.getIdentifier());
                        if (field != null && field.exists()) {
                            if (JdtFlags.isStatic(field) && JdtFlags.isFinal(field))
                                return handleConstantValue(field, true);
                            break;
                        }
                        type = type.getDeclaringType();
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        //TODO
        e.printStackTrace();
    }

    return false;
}

From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java

License:Open Source License

private void handleLink(List<? extends ASTNode> fragments) {
    //TODO: Javadoc shortens type names to minimal length according to context
    int fs = fragments.size();
    if (fs > 0) {
        Object first = fragments.get(0);
        String refTypeName = null;
        String refMemberName = null;
        String[] refMethodParamTypes = null;
        String[] refMethodParamNames = null;
        if (first instanceof Name) {
            Name name = (Name) first;
            refTypeName = name.getFullyQualifiedName();
        } else if (first instanceof MemberRef) {
            MemberRef memberRef = (MemberRef) first;
            Name qualifier = memberRef.getQualifier();
            refTypeName = qualifier == null ? "" : qualifier.getFullyQualifiedName(); //$NON-NLS-1$
            refMemberName = memberRef.getName().getIdentifier();
        } else if (first instanceof MethodRef) {
            MethodRef methodRef = (MethodRef) first;
            Name qualifier = methodRef.getQualifier();
            refTypeName = qualifier == null ? "" : qualifier.getFullyQualifiedName(); //$NON-NLS-1$
            refMemberName = methodRef.getName().getIdentifier();
            List<MethodRefParameter> params = methodRef.parameters();
            int ps = params.size();
            refMethodParamTypes = new String[ps];
            refMethodParamNames = new String[ps];
            for (int i = 0; i < ps; i++) {
                MethodRefParameter param = params.get(i);
                refMethodParamTypes[i] = ASTNodes.asString(param.getType());
                SimpleName paramName = param.getName();
                if (paramName != null)
                    refMethodParamNames[i] = paramName.getIdentifier();
            }// w w  w.  j av a 2s.  c o m
        }

        if (refTypeName != null) {
            fBuf.append("<a href='"); //$NON-NLS-1$
            try {
                String scheme = JavaElementLinks.JAVADOC_SCHEME;
                String uri = JavaElementLinks.createURI(scheme, fElement, refTypeName, refMemberName,
                        refMethodParamTypes);
                fBuf.append(uri);
            } catch (URISyntaxException e) {
                //TODO
                e.printStackTrace();
            }
            fBuf.append("'>"); //$NON-NLS-1$
            if (fs > 1 && !(fs == 2 && isWhitespaceTextElement(fragments.get(1)))) {
                handleContentElements(fragments.subList(1, fs), true);
            } else {
                fBuf.append(refTypeName);
                if (refMemberName != null) {
                    if (refTypeName.length() > 0) {
                        fBuf.append('.');
                    }
                    fBuf.append(refMemberName);
                    if (refMethodParamTypes != null) {
                        fBuf.append('(');
                        for (int i = 0; i < refMethodParamTypes.length; i++) {
                            String pType = refMethodParamTypes[i];
                            fBuf.append(pType);
                            String pName = refMethodParamNames[i];
                            if (pName != null) {
                                fBuf.append(' ').append(pName);
                            }
                            if (i < refMethodParamTypes.length - 1) {
                                fBuf.append(", "); //$NON-NLS-1$
                            }
                        }
                        fBuf.append(')');
                    }
                }
            }
            fBuf.append("</a>"); //$NON-NLS-1$
        } else {
            handleContentElements(fragments);
        }
    }
}

From source file:br.com.objectos.way.core.code.jdt.TypeDeclarationWriter.java

License:Apache License

public SimpleType toSimpleType() {
    SimpleName typeName = type.getName();
    SimpleName theName = ast.newSimpleName(typeName.getIdentifier());
    return ast.newSimpleType(theName);
}

From source file:br.com.objectos.way.core.code.jdt.TypeDeclarationWriter.java

License:Apache License

public MethodDeclarationWriter addConstructor() {
    MethodDeclaration method = ast.newMethodDeclaration();
    method.setConstructor(true);/*from   ww w  .ja va2 s.  c  om*/
    type.bodyDeclarations().add(method);

    SimpleName name = type.getName();
    method.setName(ast.newSimpleName(name.getIdentifier()));

    return new MethodDeclarationWriter(method);
}

From source file:br.uff.ic.gems.resources.ast.Visitor.java

@Override
public boolean visit(SimpleName node) {
    int beginLine = cu.getLineNumber(node.getStartPosition());
    int endLine = cu.getLineNumber(node.getStartPosition() + node.getLength());
    int beginColumn = cu.getColumnNumber(node.getStartPosition());
    int endColumn = cu.getColumnNumber(node.getStartPosition() + node.getLength());

    String typeByIdentifier = getTypeByIdentifier(node.getIdentifier());

    if (typeByIdentifier != null) {
        languageConstructs.add(new LanguageConstruct(typeByIdentifier, beginLine, endLine, beginColumn,
                endColumn, node.getIdentifier()));
    }//from   w  ww  .  j a va  2 s.c o  m

    return true;
}

From source file:changetypes.ASTVisitorAtomicChange.java

License:Open Source License

public boolean visit(SimpleName node) {
    if ((this.mtbStack.isEmpty()) && (!this.itbStack.isEmpty())) {
        return false;
    }//w ww. java 2 s .  com
    if (!this.mtbStack.isEmpty()) {
        if (node.getIdentifier().equals("length")) {
            return false;
        }
        try {
            return visitName(node.resolveBinding(), (IMethodBinding) this.mtbStack.peek());
        } catch (Exception localException) {
            System.err
                    .println("Cannot resolve simple name \"" + node.getFullyQualifiedName().toString() + "\"");
            return false;
        }
    }
    return false;
}

From source file:coloredide.utils.CopiedNaiveASTFlattener.java

License:Open Source License

public boolean visit(SimpleName node) {
    this.buffer.append(node.getIdentifier());
    return false;
}

From source file:com.codenvy.ide.ext.java.server.javadoc.JavadocContentAccess2.java

License:Open Source License

private boolean handleValueTag(TagElement node) {

    List<? extends ASTNode> fragments = node.fragments();
    try {/*from ww w . java  2 s  .  c om*/
        if (!(fElement instanceof IMember)) {
            return false;
        }
        if (fragments.isEmpty()) {
            if (fElement instanceof IField && JdtFlags.isStatic((IField) fElement)
                    && JdtFlags.isFinal((IField) fElement)) {
                IField field = (IField) fElement;
                return handleConstantValue(field, false);
            }
        } else if (fragments.size() == 1) {
            Object first = fragments.get(0);
            if (first instanceof MemberRef) {
                MemberRef memberRef = (MemberRef) first;
                if (memberRef.getQualifier() == null) {
                    SimpleName name = memberRef.getName();
                    IType type = fElement instanceof IType ? (IType) fElement
                            : ((IMember) fElement).getDeclaringType();
                    while (type != null) {
                        IField field = type.getField(name.getIdentifier());
                        if (field != null && field.exists()) {
                            if (JdtFlags.isStatic(field) && JdtFlags.isFinal(field))
                                return handleConstantValue(field, true);
                            break;
                        }
                        type = type.getDeclaringType();
                    }
                }
            }
        }
    } catch (JavaModelException e) {
        LOG.error(e.getMessage(), e);
    }

    return false;
}