private static void getTypeArgumentsLabel(ITypeBinding[] typeArgs, long flags, StringBuffer buf) { if (typeArgs.length > 0) { buf.append('<'); for (int i = 0; i < typeArgs.length; i++) { if (i > 0) { buf.append(JavaElementLabels.COMMA_STRING); } getTypeLabel(typeArgs[i], flags & JavaElementLabels.T_TYPE_PARAMETERS, buf); } buf.append('>'); } }
private static void getFieldLabel(IVariableBinding binding, long flags, StringBuffer buffer) { if (((flags & JavaElementLabels.F_PRE_TYPE_SIGNATURE) != 0) && !binding.isEnumConstant()) { getTypeLabel(binding.getType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); buffer.append(' '); } // qualification if ((flags & JavaElementLabels.F_FULLY_QUALIFIED) != 0) { ITypeBinding declaringClass= binding.getDeclaringClass(); if (declaringClass != null) { // test for array.length getTypeLabel(declaringClass, JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer); buffer.append('.'); } } buffer.append(binding.getName()); if (((flags & JavaElementLabels.F_APP_TYPE_SIGNATURE) != 0) && !binding.isEnumConstant()) { buffer.append(JavaElementLabels.DECL_STRING); getTypeLabel(binding.getType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); } // post qualification if ((flags & JavaElementLabels.F_POST_QUALIFIED) != 0) { ITypeBinding declaringClass= binding.getDeclaringClass(); if (declaringClass != null) { // test for array.length buffer.append(JavaElementLabels.CONCAT_STRING); getTypeLabel(declaringClass, JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer); } } }
private static void getLocalVariableLabel(IVariableBinding binding, long flags, StringBuffer buffer) { if (((flags & JavaElementLabels.F_PRE_TYPE_SIGNATURE) != 0)) { getTypeLabel(binding.getType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); buffer.append(' '); } if (((flags & JavaElementLabels.F_FULLY_QUALIFIED) != 0)) { IMethodBinding declaringMethod= binding.getDeclaringMethod(); if (declaringMethod != null) { getMethodLabel(declaringMethod, flags, buffer); buffer.append('.'); } } buffer.append(binding.getName()); if (((flags & JavaElementLabels.F_APP_TYPE_SIGNATURE) != 0)) { buffer.append(JavaElementLabels.DECL_STRING); getTypeLabel(binding.getType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); } }
/** * Returns the label for a Java element with the flags as defined by {@link JavaElementLabels}. * @param binding The binding to render. * @param flags The text flags as defined in {@link JavaElementLabels} * @return the label of the binding */ public static String getBindingLabel(IBinding binding, long flags) { StringBuffer buffer= new StringBuffer(60); if (binding instanceof ITypeBinding) { getTypeLabel(((ITypeBinding) binding), flags, buffer); } else if (binding instanceof IMethodBinding) { getMethodLabel(((IMethodBinding) binding), flags, buffer); } else if (binding instanceof IVariableBinding) { final IVariableBinding variable= (IVariableBinding) binding; if (variable.isField()) { getFieldLabel(variable, flags, buffer); } else { getLocalVariableLabel(variable, flags, buffer); } } return Strings.markLTR(buffer.toString()); }
getTypeLabel(binding.getReturnType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); buffer.append(' '); getTypeLabel(binding.getDeclaringClass(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer); buffer.append('.'); getTypeLabel(paramType.getElementType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); appendDimensions(paramType.getDimensions() - 1, buffer); buffer.append(JavaElementLabels.ELLIPSIS_STRING); } else { getTypeLabel(paramType, (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); buffer.append(JavaElementLabels.COMMA_STRING); getTypeLabel(exceptions[index], (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); getTypeLabel(binding.getReturnType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer); getTypeLabel(binding.getDeclaringClass(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer);
final ITypeBinding declaring= binding.getDeclaringClass(); if (declaring != null) { getTypeLabel(declaring, JavaElementLabels.T_CONTAINER_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer); buffer.append('.'); getTypeLabel(binding.getWildcard(), flags & JavaElementLabels.T_TYPE_PARAMETERS, buffer); } else if (binding.isWildcardType()) { buffer.append('?'); buffer.append(" super "); //$NON-NLS-1$ getTypeLabel(bound, flags & JavaElementLabels.T_TYPE_PARAMETERS, buffer); getTypeLabel(binding.getElementType(), flags & JavaElementLabels.T_TYPE_PARAMETERS, buffer); appendDimensions(binding.getDimensions(), buffer); } else { // type variables, primitive, reftype getTypeLabel(baseType, flags & JavaElementLabels.T_TYPE_PARAMETERS, anonymBaseType); buffer.append(Messages.format("new {0}() '{'...}", anonymBaseType.toString())); } else { } else if (declaringType != null) { buffer.append(JavaElementLabels.CONCAT_STRING); getTypeLabel(declaringType, JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer); } else { final IPackageBinding pack= binding.getPackage();