private void reportErrorIfNoImplementationTypeIsRegisteredForInterfaceReturnType( SourceMethod method) { if (method.getReturnType().getTypeMirror().getKind() != TypeKind.VOID && method.getReturnType().isInterface() && method.getReturnType().getImplementationType() == null) { messager.printMessage( method.getExecutable(), Message.GENERAL_NO_IMPLEMENTATION, method.getReturnType()); } }
private static boolean isValidCandidate( SourceMethod candidate, Method method, List<Parameter> parameterAssignments) { if (parameterAssignments == null) { return false; } if (!candidate.matches(extractSourceTypes(parameterAssignments), method.getResultType())) { return false; } return (candidate.getReturnType().isVoid() || candidate.getReturnType().isTypeVar() || candidate.getReturnType().isAssignableTo(method.getResultType())); }