dispose method

void dispose()

Dispose all services registered in this container only.

This does not affect parent containers or child containers. Services implementing SpotDisposable will have their dispose() method called.

Implementation

void dispose() {
  if (logging) log.i('Disposing scope (${registry.length} services)...');

  for (var entry in registry.entries) {
    try {
      if (logging) log.v('Disposing in scope: ${entry.key}');
      entry.value.dispose();
    } catch (e) {
      log.e('Error disposing ${entry.key} in scope', e);
    }
  }

  registry.clear();
  _singletonCache.clear();
  if (logging) log.i('Scope disposed');
}