if (parameters != null) { ITypeBinding paramType= parameters[index]; if (binding.isVarargs() && (index == parameters.length - 1)) { 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); }
ITypeBinding paramType= parameters[index]; if (binding.isVarargs() && (index == parameters.length - 1)) { 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);
	private static void getMethodLabel(IMethodBinding binding, long flags, StringBuffer buffer) {		// return type		if ((flags & JavaElementLabels.M_PRE_TYPE_PARAMETERS) != 0) {			if (binding.isGenericMethod()) {				ITypeBinding[] typeParameters= binding.getTypeParameters();				if (typeParameters.length > 0) {					getTypeParametersLabel(typeParameters, (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);					buffer.append(' ');				}			}		}		// return type		if (((flags & JavaElementLabels.M_PRE_RETURNTYPE) != 0) && !binding.isConstructor()) {			getTypeLabel(binding.getReturnType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);			buffer.append(' ');		}		// qualification		if ((flags & JavaElementLabels.M_FULLY_QUALIFIED) != 0) {			getTypeLabel(binding.getDeclaringClass(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer);			buffer.append('.');		}		buffer.append(binding.getName());		if ((flags & JavaElementLabels.M_APP_TYPE_PARAMETERS) != 0) {			if (binding.isParameterizedMethod()) {				ITypeBinding[] typeArguments= binding.getTypeArguments();				if (typeArguments.length > 0) {					buffer.append(' ');					getTypeArgumentsLabel(typeArguments, (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);				}							}		}						// parameters		buffer.append('(');		if ((flags & JavaElementLabels.M_PARAMETER_TYPES | JavaElementLabels.M_PARAMETER_NAMES) != 0) {			ITypeBinding[] parameters= ((flags & JavaElementLabels.M_PARAMETER_TYPES) != 0) ? binding.getParameterTypes() : null;			if (parameters != null) {				for (int index= 0; index < parameters.length; index++) {					if (index > 0) {						buffer.append(JavaElementLabels.COMMA_STRING); 					}					if (parameters != null) {						ITypeBinding paramType= parameters[index];						if (binding.isVarargs() && (index == parameters.length - 1)) {							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);						}					}				}			}		} else {			if (binding.getParameterTypes().length > 0) {				buffer.append(JavaElementLabels.ELLIPSIS_STRING);			}		}		buffer.append(')');				if ((flags & JavaElementLabels.M_EXCEPTIONS) != 0) {			ITypeBinding[] exceptions= binding.getExceptionTypes();			if (exceptions.length > 0) {				buffer.append(" throws "); //$NON-NLS-1$				for (int index= 0; index < exceptions.length; index++) {					if (index > 0) {						buffer.append(JavaElementLabels.COMMA_STRING);					}					getTypeLabel(exceptions[index], (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);				}			}		}		if ((flags & JavaElementLabels.M_APP_TYPE_PARAMETERS) != 0) {			if (binding.isGenericMethod()) {				ITypeBinding[] typeParameters= binding.getTypeParameters();				if (typeParameters.length > 0) {					buffer.append(' ');					getTypeParametersLabel(typeParameters, (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);				}			}		}		if (((flags & JavaElementLabels.M_APP_RETURNTYPE) != 0) && !binding.isConstructor()) {			buffer.append(JavaElementLabels.DECL_STRING);			getTypeLabel(binding.getReturnType(), (flags & JavaElementLabels.T_TYPE_PARAMETERS), buffer);		}		// post qualification		if ((flags & JavaElementLabels.M_POST_QUALIFIED) != 0) {			buffer.append(JavaElementLabels.CONCAT_STRING);			getTypeLabel(binding.getDeclaringClass(), JavaElementLabels.T_FULLY_QUALIFIED | (flags & JavaElementLabels.P_COMPRESSED), buffer);		}	}