private static boolean parameterTypesMatch(IMethodBinding m1, IMethodBinding m2) { ITypeBinding[] m1Params= m1.getParameterTypes(); ITypeBinding[] m2Params= m2.getParameterTypes(); if (m1Params.length != m2Params.length) return false; for (int i= 0; i < m2Params.length; i++) { if (!m1Params[i].equals(m2Params[i])) return false; } return true; }
private static boolean parameterTypesMatch(IMethodBinding m1, IMethodBinding m2) { ITypeBinding[] m1Params= m1.getParameterTypes(); ITypeBinding[] m2Params= m2.getParameterTypes(); if (m1Params.length != m2Params.length) return false; for (int i= 0; i < m2Params.length; i++) { if (!m1Params[i].equals(m2Params[i])) return false; } return true; }
public ParameterTypeVariable(IMethodBinding methodBinding, int parameterIndex) { super(methodBinding.getParameterTypes()[parameterIndex]); Assert.isNotNull(methodBinding); Assert.isTrue(0 <= parameterIndex); Assert.isTrue(parameterIndex < methodBinding.getParameterTypes().length); fMethodBinding= methodBinding; fParameterIndex= parameterIndex; }
public static String qualifiedSignature(IMethodBinding binding) { StringBuffer buf = new StringBuffer(); buf.append(qualifiedName(binding.getDeclaringClass())).append(".").append(binding.getName()).append("("); ITypeBinding[] parameterTypes = binding.getParameterTypes(); for (int i = 0; i < parameterTypes.length; i++) { if (i != 0) buf.append(","); buf.append(qualifiedName(parameterTypes[i])); } buf.append(")"); return buf.toString(); }
private String getSignature(IMethodBinding binding) { StringBuilder buf= new StringBuilder(binding.getName()).append('('); ITypeBinding[] parameterTypes= binding.getParameterTypes(); for (int i= 0; i < parameterTypes.length; i++) { buf.append(parameterTypes[i].getTypeDeclaration().getName()); } buf.append(')'); return buf.toString(); }
public void widgetSelected(SelectionEvent e) { fSuperIndex= combo.getSelectionIndex(); // Disable omit super checkbox unless default constructor fOmitSuperButton.setEnabled(getSuperConstructorChoice().getParameterTypes().length == 0); updateOKStatus(); } });
private static ITypeBinding getParameterTypeBinding(ASTNode node, List args, IMethodBinding binding) { ITypeBinding[] paramTypes= binding.getParameterTypes(); int index= args.indexOf(node); if (binding.isVarargs() && index >= paramTypes.length - 1) { return paramTypes[paramTypes.length - 1].getComponentType(); } if (index >= 0 && index < paramTypes.length) { return paramTypes[index]; } return null; }
public static ITypeBinding getParameterTypeBinding(IMethodBinding methodBinding, int argumentIndex) { ITypeBinding[] paramTypes= methodBinding.getParameterTypes(); if (methodBinding.isVarargs() && argumentIndex >= paramTypes.length - 1) { return paramTypes[paramTypes.length - 1].getComponentType(); } if (argumentIndex >= 0 && argumentIndex < paramTypes.length) { return paramTypes[argumentIndex]; } return null; }
public static ITypeBinding getParameterTypeBinding(IMethodBinding methodBinding, int argumentIndex) { ITypeBinding[] paramTypes= methodBinding.getParameterTypes(); if (methodBinding.isVarargs() && argumentIndex >= paramTypes.length - 1) { return paramTypes[paramTypes.length - 1].getComponentType(); } if (argumentIndex >= 0 && argumentIndex < paramTypes.length) { return paramTypes[argumentIndex]; } return null; }
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()); } }
public ToStringInfo(ITypeBinding typeBinding) { IMethodBinding[] declaredMethods= typeBinding.getDeclaredMethods(); for (int i= 0; i < declaredMethods.length; i++) { if (declaredMethods[i].getName().equals(METHODNAME_TO_STRING) && declaredMethods[i].getParameterTypes().length == 0) { this.foundToString= true; if (Modifier.isFinal(declaredMethods[i].getModifiers())) this.foundFinalToString= true; } } } }
private boolean isSpecialCloneInvocation(IMethodBinding methodBinding, Expression receiver) { return fAssumeCloneReturnsSameType && "clone".equals(methodBinding.getName()) //$NON-NLS-1$ && methodBinding.getParameterTypes().length == 0 && receiver != null && receiver.resolveTypeBinding() != methodBinding.getMethodDeclaration().getReturnType(); }
private boolean isSpecialCloneInvocation(IMethodBinding methodBinding, Expression receiver) { return fAssumeCloneReturnsSameType && "clone".equals(methodBinding.getName()) //$NON-NLS-1$ && methodBinding.getParameterTypes().length == 0 && receiver != null && receiver.resolveTypeBinding() != methodBinding.getMethodDeclaration().getReturnType(); }
private boolean isSpecialCloneInvocation(IMethodBinding methodBinding, Expression receiver) { return fAssumeCloneReturnsSameType && "clone".equals(methodBinding.getName()) //$NON-NLS-1$ && methodBinding.getParameterTypes().length == 0 && receiver != null && receiver.resolveTypeBinding() != methodBinding.getMethodDeclaration().getReturnType(); }
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; }
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); }
private Pair<ITypeBinding, Expression> getTypeAndValue(final MethodInvocation mi) { final ITypeBinding expectedType = mi.resolveMethodBinding().getParameterTypes()[0]; if (hasType(arg0(mi), expectedType.getQualifiedName(), getBoxedTypeBinding(expectedType, mi.getAST()).getQualifiedName())) { return Pair.<ITypeBinding, Expression>of(null, arg0(mi)); } else { return Pair.<ITypeBinding, Expression>of(expectedType, arg0(mi)); } }
private CSMethod newAbstractMethodStubFor(IMethodBinding method) { CSMethod stub = new CSMethod(mappedMethodName(method)); stub.modifier(CSMethodModifier.Abstract); stub.visibility(mapVisibility(method.getModifiers())); stub.returnType(mappedTypeReference(method.getReturnType())); ITypeBinding[] parameters = method.getParameterTypes(); for (int i = 0; i < parameters.length; ++i) { stub.addParameter(new CSVariableDeclaration("arg" + (i + 1), mappedTypeReference(parameters[i]))); } return stub; }
private void replaceStringValueOfByArg0(final Expression toReplace, final MethodInvocation mi) { final ASTBuilder b = this.ctx.getASTBuilder(); final ITypeBinding expectedType = mi.resolveMethodBinding().getParameterTypes()[0]; final ITypeBinding actualType = arg0(mi).resolveTypeBinding(); if (!expectedType.equals(actualType) && !getBoxedTypeBinding(expectedType, mi.getAST()).equals(actualType)) { ctx.getRefactorings().replace(toReplace, b.cast(b.type(expectedType.getQualifiedName()), b.move(arg0(mi)))); } else { ctx.getRefactorings().replace(toReplace, b.parenthesizeIfNeeded(b.move(arg0(mi)))); } }