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