private boolean appendConstraintSolversForReturnValue(ImmutableList.Builder<TypeConstraintSolver> resultBuilder, TypeSignatureProvider actualReturnType) { TypeSignature formalReturnTypeSignature = declaredSignature.getReturnType(); return appendTypeRelationshipConstraintSolver(resultBuilder, formalReturnTypeSignature, actualReturnType, false) && appendConstraintSolvers(resultBuilder, formalReturnTypeSignature, actualReturnType, false); }
private boolean appendConstraintSolversForReturnValue(ImmutableList.Builder<TypeConstraintSolver> resultBuilder, TypeSignatureProvider actualReturnType) { TypeSignature formalReturnTypeSignature = declaredSignature.getReturnType(); return appendTypeRelationshipConstraintSolver(resultBuilder, formalReturnTypeSignature, actualReturnType, false) && appendConstraintSolvers(resultBuilder, formalReturnTypeSignature, actualReturnType, false); }
private boolean appendConstraintSolversForArguments(ImmutableList.Builder<TypeConstraintSolver> resultBuilder, List<? extends TypeSignatureProvider> actualTypes) { boolean variableArity = declaredSignature.isVariableArity(); List<TypeSignature> formalTypeSignatures = declaredSignature.getArgumentTypes(); if (variableArity) { if (actualTypes.size() < formalTypeSignatures.size() - 1) { return false; } formalTypeSignatures = expandVarargFormalTypeSignature(formalTypeSignatures, actualTypes.size()); } if (formalTypeSignatures.size() != actualTypes.size()) { return false; } for (int i = 0; i < formalTypeSignatures.size(); i++) { if (!appendTypeRelationshipConstraintSolver(resultBuilder, formalTypeSignatures.get(i), actualTypes.get(i), allowCoercion)) { return false; } } return appendConstraintSolvers(resultBuilder, formalTypeSignatures, actualTypes, allowCoercion); }
private boolean appendConstraintSolversForArguments(ImmutableList.Builder<TypeConstraintSolver> resultBuilder, List<? extends TypeSignatureProvider> actualTypes) { boolean variableArity = declaredSignature.isVariableArity(); List<TypeSignature> formalTypeSignatures = declaredSignature.getArgumentTypes(); if (variableArity) { if (actualTypes.size() < formalTypeSignatures.size() - 1) { return false; } formalTypeSignatures = expandVarargFormalTypeSignature(formalTypeSignatures, actualTypes.size()); } if (formalTypeSignatures.size() != actualTypes.size()) { return false; } for (int i = 0; i < formalTypeSignatures.size(); i++) { if (!appendTypeRelationshipConstraintSolver(resultBuilder, formalTypeSignatures.get(i), actualTypes.get(i), allowCoercion)) { return false; } } return appendConstraintSolvers(resultBuilder, formalTypeSignatures, actualTypes, allowCoercion); }