RuntimeProvider class abstract

Represents a runtime reflection context for a Dart application, providing access to libraries, packages, assets, and metadata.

This context can be implemented using dart:mirrors for JIT, or a custom metadata loader for AOT.

Common use cases include:

  • Loading all classes, enums, typedefs, and extensions
  • Discovering framework-specific types or annotations
  • Building reflection-based systems like DI, serialization, or codegen

Example

RuntimeProvider context = obtainContext();

final libraries = context.getLibraries();
final packages = context.getPackages();

for (final lib in libraries) {
  print('Library: ${lib.getName()}');
}
Implemented types
Implementers

Constructors

RuntimeProvider()
Represents a runtime reflection context for a Dart application, providing access to libraries, packages, assets, and metadata.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

getAllAssets() List<Asset>
Returns all assets available in the reflection context.
inherited
getAllLibraries() List<LibraryDeclaration>
Returns all reflected libraries available in the reflection context.
inherited
getAllPackages() List<Package>
Returns all packages available in the reflection context.
inherited
getNonDartFiles() List<File>
Represents a runtime reflection context for a Dart application, providing access to libraries, packages, assets, and metadata.
getRuntimeResolver() RuntimeResolver
Represents a runtime reflection context for a Dart application, providing access to libraries, packages, assets, and metadata.
getSpecialTypes() List<TypeDeclaration>
Represents a runtime reflection context for a Dart application, providing access to libraries, packages, assets, and metadata.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
override

Operators

operator ==(Object other) bool
The equality operator.
inherited