The documentation and the code differ for ClassInfoList.getClassesImplementing():
/**
* Get the classes (and their subclasses) that implement this interface, if this is an interface.
*
* @return the list of the classes (and their subclasses) that implement this interface, if this is an
* interface, otherwise returns the empty list.
*/
public ClassInfoList getClassesImplementing() {
if (!isInterface()) {
throw new IllegalArgumentException("Class is not an interface: " + getName());
}
The code clearly throws an IllegalArgumentException for non-interfaces.
This propagates to ScanResult.getClassesImplementing() too which therefore has the same issue.
The documentation and the code differ for
ClassInfoList.getClassesImplementing():The code clearly throws an
IllegalArgumentExceptionfor non-interfaces.This propagates to
ScanResult.getClassesImplementing()too which therefore has the same issue.