dispose method

void dispose()

Stop recording and fail all pending waiters.

Implementation

void dispose() {
  if (_disposed) return;
  _disposed = true;

  final error = const RecordingRuntimeObserverDisposedException();
  for (final waiter in List<_RuntimeEventWaiter>.of(_waiters)) {
    if (!waiter.completer.isCompleted) {
      waiter.completer.completeError(error, StackTrace.current);
    }
  }
  _waiters.clear();
}