Mirror library can provide some infos :
import 'dart:mirrors';
class A {}
class B extends A{}
class C extends A{}
class D {}
main(){
final ms = currentMirrorSystem();
ms.isolate.rootLibrary.classes.forEach((s,c) {
final parentClassName = MirrorSystem.getName(c.superclass.simpleName);
if (parentClassName == 'A') {
final className = MirrorSystem.getName(c.simpleName);
print('$className has A as super class');
}
});
}
The output will be :
C has A as super class
B has A as super class