dispose method
Implementation
@override
void dispose() {
if (_disposed) return;
_disposed = true;
try {
disposeChannelFunctions();
} catch (e) {
FlutterQjsLogger.error('disposeChannelFunctions failed', e);
}
try {
port.close();
} catch (_) {}
try {
close();
} on JSError catch (e) {
// Surface unreclaimed JSRef (functions/objects) so callers can detect leaks.
if (e.message.contains('reference leak')) rethrow;
FlutterQjsLogger.error('QuickJS dispose failed', e);
} catch (e) {
FlutterQjsLogger.error('QuickJS dispose failed', e);
}
}