reinitialize method

  1. @override
void reinitialize()
override

Drop native heap + channels and re-run init (console, setTimeout, bridges). Used by JsEnginePool when EngineResetMode.hard / resetOnRelease: true.

Implementation

@override
void reinitialize() {
  if (_disposed) {
    throw StateError('QuickJsRuntime2 is disposed');
  }
  try {
    close();
  } catch (_) {}
  try {
    disposeChannelFunctions();
  } catch (_) {}
  localContext.clear();
  dartContext.clear();
  _engineInstanceId = _newEngineInstanceId();
  _needsInitialization = false;
  init();
}