findClassesWithPublicNoArgConstructor static method
Finds all classes that have a public, no-argument constructor from a list of classes. Returns a list of ClassElements that meet the criteria.
Implementation
static List<ClassElement> findClassesWithPublicNoArgConstructor(final List<ClassElement> classes) {
List<ClassElement> resultClasses = [];
for (final aClass in classes) {
//Check the class for a public no-argument constructor:
if (aClass.constructors.isEmpty || !aClass.constructors.any((c) => c.isPublic && c.parameters.isEmpty)) {
// ignore: avoid_print
Firestorm.log.e("Annotated class ${aClass.name} ignored. It does not have a public no-argument constructor.");
}
else {
resultClasses.add(aClass);
}
}
return resultClasses;
}