# 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
  - RuntimeMetadataProvider

## Constructors

RuntimeProvider.new()
  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 setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## 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