dispose method
Disposes this container, firing all onDispose callbacks and
disposing all managed nodes.
If purgeZeroize is true, all managed nodes and zeroizable objects
are zeroized before container references are cleared.
Calling dispose on an already-disposed container is a safe no-op (idempotent).
Implementation
void dispose({bool purgeZeroize = false}) {
if (_isDisposed) {
return;
}
_isDisposed = true;
for (final ref in _activeRefs.toList(growable: false)) {
ref._dispose();
}
for (final node in _nodes.values.toList(growable: false)) {
node.dispose(purgeZeroize: purgeZeroize);
}
_activeRefs.clear();
_refs.clear();
_nodes.clear();
}