descendantClasses property

List<ClassDefinition> get descendantClasses

Returns a list of all descendant classes. This includes all child classes and their descendants. If the class has no child classes, an empty list is returned.

Implementation

List<ClassDefinition> get descendantClasses {
  List<ClassDefinition> descendants = [];

  for (var child in childClasses) {
    if (child is! ResolvedInheritanceDefinition) continue;
    var classDefinition = child.classDefinition;
    if (classDefinition.runtimeType != runtimeType) continue;

    descendants.add(classDefinition);
    descendants.addAll(classDefinition.descendantClasses);
  }

  return descendants;
}