private static boolean isSignatureEquivalentConstructor(IMethodBinding overridden, IMethodBinding overridable) { if (!overridden.isConstructor() || !overridable.isConstructor()) return false; if (overridden.isDefaultConstructor()) return false; return areSubTypeCompatible(overridden, overridable); }
private static boolean isSignatureEquivalentConstructor(IMethodBinding overridden, IMethodBinding overridable) { if (!overridden.isConstructor() || !overridable.isConstructor()) return false; if (overridden.isDefaultConstructor()) return false; return areSubTypeCompatible(overridden, overridable); }
private static boolean isSignatureEquivalentConstructor(IMethodBinding overridden, IMethodBinding overridable) { if (!overridden.isConstructor() || !overridable.isConstructor()) return false; if (overridden.isDefaultConstructor()) return false; return areSubTypeCompatible(overridden, overridable); }
private List<String> getExistingConstructorSignatures() { List<String> existing= new ArrayList<>(); IMethodBinding[] methods= fType.getDeclaredMethods(); for (int index= 0; index < methods.length; index++) { if (methods[index].isConstructor()) { StringBuilder buffer= new StringBuilder(); createSignature(methods[index], buffer, null); existing.add(buffer.toString()); } } return existing; }
private List getExistingConstructorSignatures() { List existing= new ArrayList(); IMethodBinding[] methods= fType.getDeclaredMethods(); for (int index= 0; index < methods.length; index++) { if (methods[index].isConstructor()) { StringBuffer buffer= new StringBuffer(); createSignature(methods[index], buffer, null); existing.add(buffer.toString()); } } return existing; }
private List<String> getExistingConstructorSignatures() { List<String> existing= new ArrayList<>(); IMethodBinding[] methods= fType.getDeclaredMethods(); for (int index= 0; index < methods.length; index++) { if (methods[index].isConstructor()) { StringBuffer buffer= new StringBuffer(); createSignature(methods[index], buffer, null); existing.add(buffer.toString()); } } return existing; }
private static IBinding resolveSuperclassConstructor(ITypeBinding superClassDeclaration, IMethodBinding constructor) { IMethodBinding[] methods= superClassDeclaration.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { IMethodBinding method= methods[i]; if (method.isConstructor() && constructor.isSubsignature(method)) return method; } return null; }
private static IBinding resolveSuperclassConstructor(ITypeBinding superClassDeclaration, IMethodBinding constructor) { IMethodBinding[] methods= superClassDeclaration.getDeclaredMethods(); for (int i= 0; i < methods.length; i++) { IMethodBinding method= methods[i]; if (method.isConstructor() && constructor.isSubsignature(method)) return method; } return null; }
/** * End of visit the return type of a method invocation. * * @param invocation the method invocation * @param binding the method binding */ private void endVisit(final MethodInvocation invocation, final IMethodBinding binding) { if (!binding.isConstructor()) { final ConstraintVariable2 variable= fModel.createReturnTypeVariable(binding); if (variable != null) invocation.setProperty(PROPERTY_CONSTRAINT_VARIABLE, variable); } }
public static String getMethodSignature(IMethodBinding binding, boolean inOtherCU) { StringBuffer buf= new StringBuffer(); if (inOtherCU && !binding.isConstructor()) { buf.append(binding.getDeclaringClass().getTypeDeclaration().getName()).append('.'); // simple type name } return BindingLabelProvider.getBindingLabel(binding, BindingLabelProvider.DEFAULT_TEXTFLAGS); }
private static IMethodBinding findDefaultCtor(ITypeBinding superClass) { for (IMethodBinding met : superClass.getDeclaredMethods()) { if (met.isConstructor() && met.getParameterTypes().length == 0) return met; } Assertions.UNREACHABLE("Couldn't find default ctor"); return null; }
ParameterProposalCreator(ICompilationUnit cu, IMethodBinding methodBinding, int paramIdx) { super(cu, methodBinding.getDeclaringClass(), methodBinding.isConstructor() ? CONSTRUCTOR_SELECTOR : methodBinding.getName(), extractGenericSignature(methodBinding)); fParamIdx= paramIdx; }
public boolean visit(TypeDeclaration node) { if (fBinding.getKind() == IBinding.METHOD) { IMethodBinding binding= (IMethodBinding) fBinding; if (binding.isConstructor() && binding.getDeclaringClass() == node.resolveBinding()) { fResult.add(node.getName()); } } return true; }
public boolean visit(EnumDeclaration node) { if (fBinding.getKind() == IBinding.METHOD) { IMethodBinding binding= (IMethodBinding) fBinding; if (binding.isConstructor() && binding.getDeclaringClass() == node.resolveBinding()) { fResult.add(node.getName()); } } return true; }
public static boolean isVirtual(IMethodBinding methodBinding){ if (methodBinding.isConstructor()) return false; if (Modifier.isPrivate(methodBinding.getModifiers())) //TODO is this enough? return false; if (Modifier.isStatic(methodBinding.getModifiers())) //TODO is this enough? return false; return true; }
private ITypeConstraint[] getReturnTypeConstraint(Expression invocation, IMethodBinding methodBinding){ if (methodBinding == null || methodBinding.isConstructor() || methodBinding.getReturnType().isPrimitive()) return new ITypeConstraint[0]; ConstraintVariable returnTypeVariable= fConstraintVariableFactory.makeReturnTypeVariable(methodBinding); ConstraintVariable invocationVariable= fConstraintVariableFactory.makeExpressionOrTypeVariable(invocation, getContext()); return fTypeConstraintFactory.createDefinesConstraint(invocationVariable, returnTypeVariable); }
private ITypeConstraint[] getReturnTypeConstraint(Expression invocation, IMethodBinding methodBinding){ if (methodBinding == null || methodBinding.isConstructor() || methodBinding.getReturnType().isPrimitive()) return new ITypeConstraint[0]; ConstraintVariable returnTypeVariable= fConstraintVariableFactory.makeReturnTypeVariable(methodBinding); ConstraintVariable invocationVariable= fConstraintVariableFactory.makeExpressionOrTypeVariable(invocation, getContext()); return fTypeConstraintFactory.createDefinesConstraint(invocationVariable, returnTypeVariable); }
private ITypeConstraint[] getReturnTypeConstraint(Expression invocation, IMethodBinding methodBinding){ if (methodBinding == null || methodBinding.isConstructor() || methodBinding.getReturnType().isPrimitive()) return new ITypeConstraint[0]; ConstraintVariable returnTypeVariable= fConstraintVariableFactory.makeReturnTypeVariable(methodBinding); ConstraintVariable invocationVariable= fConstraintVariableFactory.makeExpressionOrTypeVariable(invocation, getContext()); return fTypeConstraintFactory.createDefinesConstraint(invocationVariable, returnTypeVariable); }
private void setUpMethodFromMethodBinding(Method method, IMethodBinding binding) { if (binding.isConstructor()) method.setKind(CONSTRUCTOR_KIND); ITypeBinding returnType = binding.getReturnType(); if ((returnType != null) && !(returnType.isPrimitive() && returnType.getName().equals("void"))) // we do not want to set void as a return type method.setDeclaredType(ensureTypeFromTypeBinding(returnType)); extractBasicModifiersFromBinding(binding.getModifiers(), method); if (Modifier.isStatic(binding.getModifiers())) method.setHasClassScope(true); }
private IConstructor computeMethodTypeSymbol(ISourceLocation decl, IMethodBinding binding, boolean isDeclaration) { IList parameters = computeTypes(isDeclaration ? binding.getParameterTypes() : binding.getTypeArguments(), false); if (binding.isConstructor()) { return constructorSymbol(decl, parameters); } else { IList typeParameters = computeTypes(isDeclaration ? binding.getTypeParameters() : binding.getTypeArguments(), isDeclaration); IConstructor retSymbol = resolveType(binding.getReturnType(), false); return methodSymbol(decl, typeParameters, retSymbol, parameters); } }