public static boolean sameErasedSignatureAndReturnType(IMethodBinding met1, IMethodBinding met2) { if (!met1.getReturnType().getErasure().isEqualTo(met2.getReturnType().getErasure())) return false; ITypeBinding[] params1 = met1.getParameterTypes(); ITypeBinding[] params2 = met2.getParameterTypes(); if (params1.length != params2.length) return false; for (int i = 0; i < params1.length; i++) if (!params1[i].getErasure().isEqualTo(params2[i].getErasure())) return false; return true; }
public static String getKeyFromFieldBinding(IVariableBinding binding) { StringBuilder sb = new StringBuilder(); String className = binding.getDeclaringClass().getErasure().getQualifiedName(); sb.append(className); sb.append('#'); sb.append(binding.getName()); return sb.toString(); }
/** Special handling because of captures. */ private boolean areSameParameterizedTypeBindings(final ITypeBinding type1, final ITypeBinding type2) { return type1.getErasure().equals(type2.getErasure()) && areSameTypeBindings(type1.getTypeArguments(), type2.getTypeArguments()); }
private void createSignature(final IMethodBinding constructor, StringBuilder buffer, Object[] selection) { ITypeBinding types[]= constructor.getParameterTypes(); for (int index= 0; index < types.length; index++) buffer.append(types[index].getName()); if (selection != null) { for (int index= 0; index < selection.length; index++) if (selection[index] instanceof IVariableBinding) buffer.append(((IVariableBinding) selection[index]).getType().getErasure().getName()); } }
private void createSignature(final IMethodBinding constructor, StringBuffer buffer, Object[] selection) { ITypeBinding types[]= constructor.getParameterTypes(); for (int index= 0; index < types.length; index++) buffer.append(types[index].getName()); if (selection != null) { for (int index= 0; index < selection.length; index++) if (selection[index] instanceof IVariableBinding) buffer.append(((IVariableBinding) selection[index]).getType().getErasure().getName()); } }
private Type createNewDocRefType(ParameterInfo info) { String newTypeName= ParameterInfo.stripEllipsis(info.getNewTypeName()); ITypeBinding newTypeBinding= info.getNewTypeBinding(); if (newTypeBinding != null) newTypeBinding= newTypeBinding.getErasure(); //see bug 83127: Javadoc references are raw (erasures) return createNewTypeNode(newTypeName, newTypeBinding); }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
private Type createNewDocRefType(ParameterInfo info) { String newTypeName= ParameterInfo.stripEllipsis(info.getNewTypeName()); ITypeBinding newTypeBinding= info.getNewTypeBinding(); if (newTypeBinding != null) newTypeBinding= newTypeBinding.getErasure(); //see bug 83127: Javadoc references are raw (erasures) return createNewTypeNode(newTypeName, newTypeBinding); }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
public static String[] getParameterTypeNamesForSeeTag(IMethodBinding binding) { ITypeBinding[] typeBindings= binding.getParameterTypes(); String[] result= new String[typeBindings.length]; for (int i= 0; i < result.length; i++) { ITypeBinding curr= typeBindings[i]; if (curr.isTypeVariable()) { curr= curr.getErasure(); // in Javadoc only use type variable erasure } curr= curr.getTypeDeclaration(); // no parameterized types result[i]= curr.getQualifiedName(); } return result; }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
@Override protected boolean isTypeCompatible(final ITypeBinding variableType, final ITypeBinding refType) { return super.isTypeCompatible(variableType, refType) || hasType(variableType, getOrDefault(CAN_BE_CASTED_TO, refType.getErasure().getQualifiedName(), new String[0])); } }
private static boolean parameterTypesMatch(ITypeBinding implementedType, boolean isInstanceOf, IMethodBinding methodBinding, String[] parameterTypesQualifiedNames) { if (implementedType != null && !implementedType.isRawType()) { final ITypeBinding erasure = implementedType.getErasure(); if (erasure.isGenericType() || erasure.isParameterizedType()) { return parameterizedTypesMatch(implementedType, erasure, methodBinding); } } return isInstanceOf && concreteTypesMatch(methodBinding.getParameterTypes(), parameterTypesQualifiedNames); }
protected void initialize(ITypeBinding binding, TType elementType) { Assert.isTrue(binding.isArray()); super.initialize(binding); fElementType= elementType; fDimensions= binding.getDimensions(); if (fElementType.isStandardType() || fElementType.isGenericType() || fElementType.isPrimitiveType()) { fErasure= this; } else { fErasure= getEnvironment().create(binding.getErasure()); } }
private void qualifyToTopLevelClass(SimpleName toQualify) { ITypeBinding declaringClass= getDeclaringClassBinding(toQualify); if (declaringClass == null) return; Type newQualification= fNewLocationCuRewrite.getImportRewrite().addImport(declaringClass.getErasure(), fInitializerRewrite.getAST(), fNewLocationContext); fNewLocationCuRewrite.getImportRemover().registerAddedImports(newQualification); SimpleName newToQualify= (SimpleName) fInitializerRewrite.createMoveTarget(toQualify); Type newType= fInitializerRewrite.getAST().newQualifiedType(newQualification, newToQualify); fInitializerRewrite.replace(toQualify, newType, null); }
@Override protected void addMember(Object member, boolean addSeparator) { boolean[] interfaces= implementsInterfaces(getMemberType(member).getErasure(), new String[] { "java.util.Collection", "java.util.Map" }); //$NON-NLS-1$ //$NON-NLS-2$ if (getContext().isLimitItems() && getContext().isSkipNulls() && (interfaces[0] || interfaces[1] || getMemberType(member).isArray())) { addMemberCheckNull(member, addSeparator); } else { super.addMember(member, addSeparator); } }