Example usage for org.eclipse.jdt.core.dom MemberRef getName

List of usage examples for org.eclipse.jdt.core.dom MemberRef getName

Introduction

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

Prototype

public SimpleName getName() 

Source Link

Document

Returns the name of the referenced member.

Usage

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

License:Open Source License

@Override
public boolean visit(MemberRef node) {
    if (node.getQualifier() != null) {
        node.getQualifier().accept(this);
    }/*from   w  w w. j a va 2 s  . co m*/
    this.fBuffer.append("#");//$NON-NLS-1$
    node.getName().accept(this);
    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  a 2 s .c o 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();
            }/*from w  ww .  j  av a2s .co  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:coloredide.utils.CopiedNaiveASTFlattener.java

License:Open Source License

public boolean visit(MemberRef node) {
    if (node.getQualifier() != null) {
        node.getQualifier().accept(this);
    }/*from   w  ww .  j a va 2 s  .c  om*/
    this.buffer.append("#");//$NON-NLS-1$
    node.getName().accept(this);
    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  .jav  a2 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;
}

From source file:com.codenvy.ide.ext.java.server.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();
            }//  www .j a  v  a2 s.  c o  m
        }

        if (refTypeName != null) {
            fBuf.append("<a href='"); //$NON-NLS-1$
            try {
                String scheme = urlPrefix;
                String uri = JavaElementLinks.createURI(scheme, fElement, refTypeName, refMemberName,
                        refMethodParamTypes);
                fBuf.append(uri);
            } catch (URISyntaxException e) {
                LOG.error(e.getMessage(), e);
            }
            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:com.servoy.eclipse.docgenerator.parser.JavadocExtractor.java

License:Open Source License

@Override
public boolean visit(MemberRef node) {
    storeWhitespaceIfAny(node, -1);//from ww  w  . ja va 2  s .co m

    ReferenceMetaModel ref = extractBinding(node.resolveBinding(), node.getQualifier(), node.getName(), null);
    javadocsStack.peek().addPart(ref);

    return false;
}

From source file:java5totext.input.JDTVisitor.java

License:Open Source License

@Override
public void endVisit(org.eclipse.jdt.core.dom.MemberRef node) {
    MemberRef element = (MemberRef) this.binding.get(node);
    this.initializeNode(element, node);

    if (this.binding.get(node.getName()) != null)
        element.setMember((NamedElementRef) this.binding.get(node.getName()));
    if (this.binding.get(node.getQualifier()) != null)
        element.setQualifier((NamedElementRef) this.binding.get(node.getQualifier()));
}

From source file:org.eclipse.jdt.core.dom.ASTConverter.java

License:Open Source License

protected void recordNodes(org.eclipse.jdt.internal.compiler.ast.Javadoc javadoc, TagElement tagElement) {
    Iterator fragments = tagElement.fragments().listIterator();
    while (fragments.hasNext()) {
        ASTNode node = (ASTNode) fragments.next();
        if (node.getNodeType() == ASTNode.MEMBER_REF) {
            MemberRef memberRef = (MemberRef) node;
            Name name = memberRef.getName();
            // get compiler node and record nodes
            int start = name.getStartPosition();
            org.eclipse.jdt.internal.compiler.ast.ASTNode compilerNode = javadoc.getNodeStartingAt(start);
            if (compilerNode != null) {
                recordNodes(name, compilerNode);
                recordNodes(node, compilerNode);
            }//  www. j av  a 2 s  .com
            // Replace qualifier to have all nodes recorded
            if (memberRef.getQualifier() != null) {
                org.eclipse.jdt.internal.compiler.ast.TypeReference typeRef = null;
                if (compilerNode instanceof JavadocFieldReference) {
                    org.eclipse.jdt.internal.compiler.ast.Expression expression = ((JavadocFieldReference) compilerNode).receiver;
                    if (expression instanceof org.eclipse.jdt.internal.compiler.ast.TypeReference) {
                        typeRef = (org.eclipse.jdt.internal.compiler.ast.TypeReference) expression;
                    }
                } else if (compilerNode instanceof JavadocMessageSend) {
                    org.eclipse.jdt.internal.compiler.ast.Expression expression = ((JavadocMessageSend) compilerNode).receiver;
                    if (expression instanceof org.eclipse.jdt.internal.compiler.ast.TypeReference) {
                        typeRef = (org.eclipse.jdt.internal.compiler.ast.TypeReference) expression;
                    }
                }
                if (typeRef != null) {
                    recordName(memberRef.getQualifier(), typeRef);
                }
            }
        } else if (node.getNodeType() == ASTNode.METHOD_REF) {
            MethodRef methodRef = (MethodRef) node;
            Name name = methodRef.getName();
            // get method name start position
            int start = methodRef.getStartPosition();
            this.scanner.resetTo(start, start + name.getStartPosition() + name.getLength());
            int token;
            try {
                nextToken: while ((token = this.scanner.getNextToken()) != TerminalTokens.TokenNameEOF
                        && token != TerminalTokens.TokenNameLPAREN) {
                    if (token == TerminalTokens.TokenNameERROR && this.scanner.currentCharacter == '#') {
                        start = this.scanner.getCurrentTokenEndPosition() + 1;
                        break nextToken;
                    }
                }
            } catch (InvalidInputException e) {
                // ignore
            }
            // get compiler node and record nodes
            org.eclipse.jdt.internal.compiler.ast.ASTNode compilerNode = javadoc.getNodeStartingAt(start);
            // record nodes
            if (compilerNode != null) {
                recordNodes(methodRef, compilerNode);
                // get type ref
                org.eclipse.jdt.internal.compiler.ast.TypeReference typeRef = null;
                if (compilerNode instanceof org.eclipse.jdt.internal.compiler.ast.JavadocAllocationExpression) {
                    typeRef = ((org.eclipse.jdt.internal.compiler.ast.JavadocAllocationExpression) compilerNode).type;
                    if (typeRef != null)
                        recordNodes(name, compilerNode);
                } else if (compilerNode instanceof org.eclipse.jdt.internal.compiler.ast.JavadocMessageSend) {
                    org.eclipse.jdt.internal.compiler.ast.Expression expression = ((org.eclipse.jdt.internal.compiler.ast.JavadocMessageSend) compilerNode).receiver;
                    if (expression instanceof org.eclipse.jdt.internal.compiler.ast.TypeReference) {
                        typeRef = (org.eclipse.jdt.internal.compiler.ast.TypeReference) expression;
                    }
                    recordNodes(name, compilerNode);
                }
                // record name and qualifier
                if (typeRef != null && methodRef.getQualifier() != null) {
                    recordName(methodRef.getQualifier(), typeRef);
                }
            }
            // Resolve parameters
            Iterator parameters = methodRef.parameters().listIterator();
            while (parameters.hasNext()) {
                MethodRefParameter param = (MethodRefParameter) parameters.next();
                org.eclipse.jdt.internal.compiler.ast.Expression expression = (org.eclipse.jdt.internal.compiler.ast.Expression) javadoc
                        .getNodeStartingAt(param.getStartPosition());
                if (expression != null) {
                    recordNodes(param, expression);
                    if (expression instanceof JavadocArgumentExpression) {
                        JavadocArgumentExpression argExpr = (JavadocArgumentExpression) expression;
                        org.eclipse.jdt.internal.compiler.ast.TypeReference typeRef = argExpr.argument.type;
                        if (this.ast.apiLevel >= AST.JLS3) {
                            param.setVarargs(argExpr.argument.isVarArgs());
                        }
                        recordNodes(param.getType(), typeRef);
                        if (param.getType().isSimpleType()) {
                            recordName(((SimpleType) param.getType()).getName(), typeRef);
                        } else if (param.getType().isArrayType()) {
                            Type type = ((ArrayType) param.getType()).getElementType();
                            recordNodes(type, typeRef);
                            if (type.isSimpleType()) {
                                recordName(((SimpleType) type).getName(), typeRef);
                            }
                        }
                    }
                }
            }
        } else if (node.getNodeType() == ASTNode.SIMPLE_NAME || node.getNodeType() == ASTNode.QUALIFIED_NAME) {
            org.eclipse.jdt.internal.compiler.ast.ASTNode compilerNode = javadoc
                    .getNodeStartingAt(node.getStartPosition());
            recordName((Name) node, compilerNode);
        } else if (node.getNodeType() == ASTNode.TAG_ELEMENT) {
            // resolve member and method references binding
            recordNodes(javadoc, (TagElement) node);
        }
    }
}

From source file:org.eclipse.modisco.java.discoverer.internal.io.java.JDTVisitor.java

License:Open Source License

@Override
public void endVisit(final org.eclipse.jdt.core.dom.MemberRef node) {
    MemberRef element = (MemberRef) this.binding.get(node);
    initializeNode(element, node);/*from   www .j a v  a  2 s. com*/

    ASTNode modiscoNode = this.binding.get(node.getName());
    if (JDTVisitorUtils.completeBinding(element, modiscoNode, "member")) { //$NON-NLS-1$
        element.setMember((NamedElement) modiscoNode);
    }

    if (this.binding.get(node.getQualifier()) != null) {
        element.setQualifier(JDTVisitorUtils.completeTypeAccess(this.binding.get(node.getQualifier()), this));
    }
}