Example usage for org.eclipse.jdt.core ITypeParameter getDeclaringMember

List of usage examples for org.eclipse.jdt.core ITypeParameter getDeclaringMember

Introduction

In this page you can find the example usage for org.eclipse.jdt.core ITypeParameter getDeclaringMember.

Prototype

IMember getDeclaringMember();

Source Link

Document

Returns the declaring member of this type parameter.

Usage

From source file:at.bestsolution.fxide.jdt.text.viewersupport.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the styled label for a type parameter.
 *
 * @param typeParameter the element to render
 * @param flags the rendering flags. Flags with names starting with 'T_' are considered.
 *///  w w w.ja  v a  2s  .c  o  m
public void appendTypeParameterLabel(ITypeParameter typeParameter, long flags) {
    try {
        appendTypeParameterWithBounds(typeParameter, flags);

        // post qualification
        if (getFlag(flags, JavaElementLabels.TP_POST_QUALIFIED)) {
            fBuffer.append(JavaElementLabels.CONCAT_STRING);
            IMember declaringMember = typeParameter.getDeclaringMember();
            appendElementLabel(declaringMember,
                    JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_FULLY_QUALIFIED
                            | JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS));
        }

    } catch (JavaModelException e) {
        // TODO
        e.printStackTrace();
    }
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.TypeParameterPattern.java

License:Open Source License

/**
 * @param findDeclarations//w ww.jav a 2  s.  c  o m
 * @param findReferences
 * @param typeParameter
 * @param matchRule
 */
public TypeParameterPattern(boolean findDeclarations, boolean findReferences, ITypeParameter typeParameter,
        int matchRule) {
    super(TYPE_PARAM_PATTERN, matchRule);

    this.findDeclarations = findDeclarations; // set to find declarations & all occurences
    this.findReferences = findReferences; // set to find references & all occurences
    this.typeParameter = typeParameter;
    this.name = typeParameter.getElementName().toCharArray(); // store type parameter name
    IMember member = typeParameter.getDeclaringMember();
    this.declaringMemberName = member.getElementName().toCharArray(); // store type parameter declaring member name

    // For method type parameter, store also declaring class name and parameters type names
    if (member instanceof IMethod) {
        IMethod method = (IMethod) member;
        this.methodDeclaringClassName = method.getParent().getElementName().toCharArray();
        String[] parameters = method.getParameterTypes();
        int length = parameters.length;
        this.methodArgumentTypes = new char[length][];
        for (int i = 0; i < length; i++) {
            this.methodArgumentTypes[i] = Signature.toCharArray(parameters[i].toCharArray());
        }
    }
}

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

License:Open Source License

/**
 * Appends the styled label for a type parameter.
 *
 * @param typeParameter the element to render
 * @param flags the rendering flags. Flags with names starting with 'T_' are considered.
 *//*from  w  w  w  . ja v  a2 s. c o m*/
public void appendTypeParameterLabel(ITypeParameter typeParameter, long flags) {
    try {
        appendTypeParameterWithBounds(typeParameter, flags);

        // post qualification
        if (getFlag(flags, JavaElementLabels.TP_POST_QUALIFIED)) {
            fBuffer.append(JavaElementLabels.CONCAT_STRING);
            IMember declaringMember = typeParameter.getDeclaringMember();
            appendElementLabel(declaringMember,
                    JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_FULLY_QUALIFIED
                            | JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS));
        }

    } catch (JavaModelException e) {
        LOG.error(e.getMessage(), e); // NotExistsException will not reach this point
    }
}

From source file:com.microsoft.javapkgsrv.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the styled label for a type parameter.
 *
 * @param typeParameter the element to render
 * @param flags the rendering flags. Flags with names starting with 'T_' are considered.
 *//*from w  w  w  . ja  v a2s  .  c om*/
public void appendTypeParameterLabel(ITypeParameter typeParameter, long flags) {
    try {
        appendTypeParameterWithBounds(typeParameter, flags);

        // post qualification
        if (getFlag(flags, TP_POST_QUALIFIED)) {
            fBuffer.append(CONCAT_STRING);
            IMember declaringMember = typeParameter.getDeclaringMember();
            appendElementLabel(declaringMember,
                    M_PARAMETER_TYPES | M_FULLY_QUALIFIED | T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS));
        }

    } catch (JavaModelException e) {
        e.printStackTrace();
    }
}

From source file:org.eclipse.e4.demo.simpleide.jdt.internal.editor.viewer.JavaElementLabelComposer.java

License:Open Source License

/**
 * Appends the styled label for a type parameter.
 * /*ww  w. j av  a  2 s.c  om*/
 * @param typeParameter
 *            the element to render
 * @param flags
 *            the rendering flags. Flags with names starting with 'T_' are
 *            considered.
 */
public void appendTypeParameterLabel(ITypeParameter typeParameter, long flags) {
    try {
        fBuffer.append(getElementName(typeParameter));

        if (typeParameter.exists()) {
            String[] bounds = typeParameter.getBoundsSignatures();
            if (bounds.length > 0 && !(bounds.length == 1 && "Ljava.lang.Object;".equals(bounds[0]))) { //$NON-NLS-1$
                fBuffer.append(" extends "); //$NON-NLS-1$
                for (int j = 0; j < bounds.length; j++) {
                    if (j > 0) {
                        fBuffer.append(JavaElementLabels.COMMA_STRING);
                    }
                    appendTypeSignatureLabel(typeParameter, bounds[j], flags);
                }
            }
        }

        // post qualification
        if (getFlag(flags, JavaElementLabels.TP_POST_QUALIFIED)) {
            fBuffer.append(JavaElementLabels.CONCAT_STRING);
            IMember declaringMember = typeParameter.getDeclaringMember();
            appendElementLabel(declaringMember,
                    JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_FULLY_QUALIFIED
                            | JavaElementLabels.T_FULLY_QUALIFIED | (flags & QUALIFIER_FLAGS));
        }

    } catch (JavaModelException e) {
        logger.error(e);
    }
}

From source file:org.eclipse.recommenders.rcp.utils.JdtUtils.java

License:Open Source License

private static Optional<IType> resolveTypeParameter(ITypeParameter t) {
    try {/*from  w  w  w  .  j  av  a  2  s .  co  m*/
        final IJavaProject project = t.getJavaProject();
        if (project == null) {
            return absent();
        }

        final String[] bounds = t.getBoundsSignatures();
        if (ArrayUtils.isEmpty(bounds)) {
            return Optional.fromNullable(project.findType("java.lang.Object")); //$NON-NLS-1$
        } else {
            final IMember declaringMember = t.getDeclaringMember();
            final Optional<String> typename = resolveUnqualifiedTypeNamesAndStripOffGenericsAndArrayDimension(
                    bounds[0], declaringMember);
            if (typename.isPresent()) {
                return Optional.fromNullable(project.findType(typename.get()));
            } else {
                return absent();
            }
        }
    } catch (JavaModelException e) {
        log(WARNING_FAILED_TO_RESOLVE_TYPE_PARAMETER, e, t.getElementName());
        return absent();
    } catch (Exception e) {
        log(ERROR_FAILED_TO_RESOLVE_TYPE_PARAMETER, e, t.getElementName());
        return absent();
    }
}

From source file:org.eclipse.recommenders.utils.rcp.JdtUtils.java

License:Open Source License

private static Optional<IType> resolveTypeParameter(final ITypeParameter t) {
    IType type = null;/*from   w  w  w  . jav  a  2  s  .  c  o m*/
    try {
        final IJavaProject project = t.getJavaProject();
        final String[] bounds = t.getBoundsSignatures();
        if (ArrayUtils.isEmpty(bounds)) {
            type = project.findType("java.lang.Object");
        } else {
            final IMember declaringMember = t.getDeclaringMember();
            final Optional<String> typename = resolveUnqualifiedTypeNamesAndStripOffGenericsAndArrayDimension(
                    bounds[0], declaringMember);
            if (typename.isPresent()) {
                type = project.findType(typename.get());
            }
        }
    } catch (final Exception e) {
        logError(e, "Failed to resolve type parameter '%s'", t.getElementName());
    }
    return fromNullable(type);
}