findSubclasses abstract method

List<Class> findSubclasses(
  1. Class parentClass
)

Finds all direct subclasses of the specified class with caching.

Parameters:

  • parentClass: The parent class to find subclasses for

Returns:

  • List of direct subclasses (not transitive)
  • Empty list if no subclasses exist
  • Cached results for subsequent calls

Caching Strategy

  • Results are cached by parent class qualified name
  • Cache is invalidated when new classes are loaded
  • Supports incremental updates for dynamic loading

Example

final animalClass = await loader.loadClass<Animal>('com.example.Animal');
final subclasses = await loader.findSubclasses(animalClass);
// Returns: [Dog, Cat, Bird] (direct subclasses only)

Performance Notes

  • First call performs full hierarchy scan
  • Subsequent calls return cached O(1) results
  • Cache updates are incremental for new class additions

Implementation

List<Class> findSubclasses(Class parentClass);