@Override public boolean canBeAssignedTo(ResolvedReferenceTypeDeclaration other) { if (other instanceof LambdaArgumentTypePlaceholder) { return isFunctionalInterface(); } if (other.getQualifiedName().equals(getQualifiedName())) { return true; } if (this.clazz.getSuperclass() != null && new ReflectionClassDeclaration(clazz.getSuperclass(), typeSolver).canBeAssignedTo(other)) { return true; } for (Class<?> interfaze : clazz.getInterfaces()) { if (new ReflectionInterfaceDeclaration(interfaze, typeSolver).canBeAssignedTo(other)) { return true; } } return false; }
@Override public boolean canBeAssignedTo(ResolvedReferenceTypeDeclaration other) { if (other instanceof LambdaArgumentTypePlaceholder) { return isFunctionalInterface(); } if (other.getQualifiedName().equals(getQualifiedName())) { return true; } if (this.clazz.getSuperclass() != null && new ReflectionClassDeclaration(clazz.getSuperclass(), typeSolver).canBeAssignedTo(other)) { return true; } for (Class<?> interfaze : clazz.getInterfaces()) { if (new ReflectionInterfaceDeclaration(interfaze, typeSolver).canBeAssignedTo(other)) { return true; } } return false; }
@Override public boolean canBeAssignedTo(ResolvedReferenceTypeDeclaration other) { if (other instanceof LambdaArgumentTypePlaceholder) { return isFunctionalInterface(); } if (other.getQualifiedName().equals(getQualifiedName())) { return true; } if (this.clazz.getSuperclass() != null && new ReflectionClassDeclaration(clazz.getSuperclass(), typeSolver).canBeAssignedTo(other)) { return true; } for (Class<?> interfaze : clazz.getInterfaces()) { if (new ReflectionInterfaceDeclaration(interfaze, typeSolver).canBeAssignedTo(other)) { return true; } } return false; }