dispose method
Implementation
Future<void> dispose() async {
if (null == _initializeComp) {
_isDisposed = true;
return;
}
_isDisposed = true;
// Ensure initialization is finished.
await _initialize();
await _stdinStreamProxy.dispose();
if (isIdle) {
(await _requestPort).send(const _RequestExit());
await _reqExitComp.future;
} else {
_isolate.kill(priority: Isolate.immediate);
_reqExitComp.complete();
}
_responseReceiver.close();
}