getDirectKnownSubclasses function

List<DartType> getDirectKnownSubclasses(
  1. List<DartType>? subClasses,
  2. Type annotationType
)

Implementation

List<DartType> getDirectKnownSubclasses(
    List<DartType>? subClasses, Type annotationType) {
  final lst = <DartType>[];
  if (subClasses == null) {
    return lst;
  }
  for (final subClass in subClasses) {
    final element = subClass.element as ClassElement;
    final reader =
        TypeChecker.fromRuntime(annotationType).firstAnnotationOf(element);
    if (reader == null) {
      continue;
    }
    lst.add(subClass);
  }
  return lst;
}