dispose method

  1. @mustCallSuper
  2. @override
void dispose()
override

Disposes this disposable and any resources it has open.

Implementation

@mustCallSuper
@override
void dispose() {
  int len = _disposeSubs.length;
  for (var i = 0; i < len; i++) {
    _disposeSubs[i].cancel();
  }
  _disposeSubs.clear();
  len = _disposeSinks.length;
  for (var i = 0; i < len; i++) {
    _disposeSinks[i].close();
  }
  _disposeSinks.clear();

  len = _disposeDisposables.length;
  for (var i = 0; i < len; i++) {
    _disposeDisposables[i].dispose();
  }
  _disposeDisposables.clear();

  len = _disposeFunctions.length;
  for (var i = 0; i < len; i++) {
    _disposeFunctions[i]();
  }
  _disposeFunctions.clear();

  _disposeCalled = true;
}