From 5d5f09e435e2935cb0541199ef02f5015db56911 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Wed, 4 Sep 2019 16:36:52 -0700 Subject: [PATCH 1/6] fix events --- dwds/CHANGELOG.md | 1 + dwds/lib/src/debugging/debugger.dart | 25 ++++++----- dwds/lib/src/debugging/inspector.dart | 10 +++-- .../src/services/chrome_proxy_service.dart | 45 ++++++++++--------- dwds/lib/src/utilities/wrapped_service.dart | 18 +++++++- 5 files changed, 64 insertions(+), 35 deletions(-) diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md index 4d9cb9727..632f1f247 100644 --- a/dwds/CHANGELOG.md +++ b/dwds/CHANGELOG.md @@ -3,6 +3,7 @@ - Fix issue where certain required fields of VM service protocol objects were null. - Properly set the `exceptionPauseMode` on the `Isolate`. +- Properly set the `pauseEvent` on the `Isolate`. ## 0.5.3 diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart index d995f145d..e181308be 100644 --- a/dwds/lib/src/debugging/debugger.dart +++ b/dwds/lib/src/debugging/debugger.dart @@ -206,8 +206,9 @@ class Debugger extends Domain { ..tokenPos = location.tokenPos); _streamNotify( 'Debug', - Event() - ..kind = EventKind.kBreakpointAdded + Event( + kind: EventKind.kBreakpointAdded, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = inspector.isolateRef ..breakpoint = breakpoint); return breakpoint; @@ -228,8 +229,9 @@ class Debugger extends Domain { } _streamNotify( 'Debug', - Event() - ..kind = EventKind.kBreakpointRemoved + Event( + kind: EventKind.kBreakpointRemoved, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = inspector.isolateRef ..breakpoint = bp); await _removeBreakpoint(jsId); @@ -389,21 +391,23 @@ class Debugger extends Domain { Future _pauseHandler(DebuggerPausedEvent e) async { var isolate = inspector.isolate; if (isolate == null) return; - var event = Event()..isolate = inspector.isolateRef; + Event event; + var timestamp = DateTime.now().millisecondsSinceEpoch; var params = e.params; var breakpoints = params['hitBreakpoints'] as List; if (breakpoints.isNotEmpty) { - event.kind = EventKind.kPauseBreakpoint; + event = Event(kind: EventKind.kPauseBreakpoint, timestamp: timestamp); } else if (e.reason == 'exception' || e.reason == 'assert') { - event.kind = EventKind.kPauseException; + event = Event(kind: EventKind.kPauseException, timestamp: timestamp); } else { // If we don't have source location continue stepping. if (_isStepping && _sourceLocation(e) == null) { await _remoteDebugger.sendCommand('Debugger.stepInto'); return; } - event.kind = EventKind.kPauseInterrupted; + event = Event(kind: EventKind.kPauseInterrupted, timestamp: timestamp); } + event.isolate = inspector.isolateRef; var jsFrames = (e.params['callFrames'] as List).cast>(); var frames = await dartFramesFor(jsFrames); @@ -424,8 +428,9 @@ class Debugger extends Domain { if (isolate == null) return; _pausedStack = null; _pausedJsStack = null; - var event = Event() - ..kind = EventKind.kResume + var event = Event( + kind: EventKind.kResume, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = inspector.isolateRef; isolate.pauseEvent = event; _streamNotify('Debug', event); diff --git a/dwds/lib/src/debugging/inspector.dart b/dwds/lib/src/debugging/inspector.dart index d5c26ecd7..005f61dfe 100644 --- a/dwds/lib/src/debugging/inspector.dart +++ b/dwds/lib/src/debugging/inspector.dart @@ -77,8 +77,9 @@ class AppInspector extends Domain { isolate.extensionRPCs.addAll(await _getExtensionRpcs()); - isolate.pauseEvent = Event() - ..kind = EventKind.kResume + isolate.pauseEvent = Event( + kind: EventKind.kResume, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = isolateRef; } @@ -92,14 +93,15 @@ class AppInspector extends Domain { String root, ) async { var id = createId(); + var time = DateTime.now().millisecondsSinceEpoch; var isolate = Isolate( id: id, number: id, name: '$root:main()', - startTime: DateTime.now().millisecondsSinceEpoch, + startTime: time, runnable: true, pauseOnExit: false, - pauseEvent: null, + pauseEvent: Event(kind: EventKind.kPauseStart, timestamp: time), livePorts: 0, libraries: [], breakpoints: [], diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart index e434de8c7..a17db25e9 100644 --- a/dwds/lib/src/services/chrome_proxy_service.dart +++ b/dwds/lib/src/services/chrome_proxy_service.dart @@ -117,6 +117,7 @@ class ChromeProxyService implements VmServiceInterface { ); var isolateRef = _inspector.isolateRef; + var timestamp = DateTime.now().millisecondsSinceEpoch; // Listen for `registerExtension` and `postEvent` calls. _setUpChromeConsoleListeners(isolateRef); @@ -125,13 +126,11 @@ class ChromeProxyService implements VmServiceInterface { _streamNotify( 'Isolate', - Event() - ..kind = EventKind.kIsolateStart + Event(kind: EventKind.kIsolateStart, timestamp: timestamp) ..isolate = isolateRef); _streamNotify( 'Isolate', - Event() - ..kind = EventKind.kIsolateRunnable + Event(kind: EventKind.kIsolateRunnable, timestamp: timestamp) ..isolate = isolateRef); // TODO: We shouldn't need to fire these events since they exist on the @@ -140,8 +139,7 @@ class ChromeProxyService implements VmServiceInterface { for (var extensionRpc in _inspector.isolate.extensionRPCs) { _streamNotify( 'Isolate', - Event() - ..kind = EventKind.kServiceExtensionAdded + Event(kind: EventKind.kServiceExtensionAdded, timestamp: timestamp) ..extensionRPC = extensionRpc ..isolate = isolateRef); } @@ -155,8 +153,9 @@ class ChromeProxyService implements VmServiceInterface { if (isolate == null) return; _streamNotify( 'Isolate', - Event() - ..kind = EventKind.kIsolateExit + Event( + kind: EventKind.kIsolateExit, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = _inspector.isolateRef); _vm.isolates.removeWhere((ref) => ref.id == isolate.id); _inspector = null; @@ -402,8 +401,9 @@ $loadModule("dart_sdk").developer.invokeExtension( _vm.name = name; _streamNotify( 'VM', - Event() - ..kind = EventKind.kVMUpdate + Event( + kind: EventKind.kVMUpdate, + timestamp: DateTime.now().millisecondsSinceEpoch) ..vm = toVMRef(_vm)); return Success(); } @@ -447,8 +447,9 @@ $loadModule("dart_sdk").developer.invokeExtension( var args = e.params['args'] as List; var item = args[0] as Map; var value = '${item["value"]}\n'; - controller.add(Event() - ..kind = EventKind.kWriteEvent + controller.add(Event( + kind: EventKind.kWriteEvent, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = _inspector.isolateRef ..bytes = base64.encode(utf8.encode(value)) ..timestamp = e.timestamp.toInt()); @@ -457,8 +458,9 @@ $loadModule("dart_sdk").developer.invokeExtension( exceptionsSubscription = remoteDebugger.onExceptionThrown.listen((e) { var isolate = _inspector?.isolate; if (isolate == null) return; - controller.add(Event() - ..kind = EventKind.kWriteEvent + controller.add(Event( + kind: EventKind.kWriteEvent, + timestamp: DateTime.now().millisecondsSinceEpoch) ..isolate = _inspector.isolateRef ..bytes = base64 .encode(utf8.encode(e.exceptionDetails.exception.description))); @@ -482,16 +484,18 @@ $loadModule("dart_sdk").developer.invokeExtension( isolate.extensionRPCs.add(service); _streamNotify( 'Isolate', - Event() - ..kind = EventKind.kServiceExtensionAdded + Event( + kind: EventKind.kServiceExtensionAdded, + timestamp: DateTime.now().millisecondsSinceEpoch) ..extensionRPC = service ..isolate = isolateRef); break; case 'dart.developer.postEvent': _streamNotify( 'Extension', - Event() - ..kind = EventKind.kExtension + Event( + kind: EventKind.kExtension, + timestamp: DateTime.now().millisecondsSinceEpoch) ..extensionKind = event.args[1].value as String ..extensionData = ExtensionData.parse( jsonDecode(event.args[2].value as String) as Map) @@ -505,8 +509,9 @@ $loadModule("dart_sdk").developer.invokeExtension( await _inspector.instanceHelper.instanceRefFor(event.args[1]); _streamNotify( 'Debug', - Event() - ..kind = EventKind.kInspect + Event( + kind: EventKind.kInspect, + timestamp: DateTime.now().millisecondsSinceEpoch) ..inspectee = inspectee ..timestamp = event.timestamp.toInt() ..isolate = isolateRef); diff --git a/dwds/lib/src/utilities/wrapped_service.dart b/dwds/lib/src/utilities/wrapped_service.dart index 80416f817..524de1a88 100644 --- a/dwds/lib/src/utilities/wrapped_service.dart +++ b/dwds/lib/src/utilities/wrapped_service.dart @@ -19,7 +19,23 @@ export 'package:vm_service/vm_service.dart' InstanceRef, FuncRef, FieldRef, - CodeRef; + CodeRef, + Event; + +class Event extends vm_service.Event { + Event._(); + + factory Event({ + @required String kind, + @required int timestamp, + }) { + var event = Event._(); + event + ..kind = kind + ..timestamp = timestamp; + return event; + } +} class FieldRef extends vm_service.FieldRef { FieldRef._(); From 3cdafe210e4e001a7e098b36205854e7d1c5b097 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Thu, 5 Sep 2019 13:42:33 -0700 Subject: [PATCH 2/6] working solution with tests --- dwds/lib/data/isolate_events.dart | 19 ++ dwds/lib/data/isolate_events.g.dart | 151 +++++++++ dwds/lib/data/serializers.dart | 1 + dwds/lib/data/serializers.g.dart | 1 + dwds/lib/src/debugging/debugger.dart | 8 +- dwds/lib/src/debugging/inspector.dart | 5 - dwds/lib/src/handlers/dev_handler.dart | 4 + dwds/lib/src/injected/client.js | 301 +++++++++++++----- .../src/services/chrome_proxy_service.dart | 6 + dwds/test/fixtures/context.dart | 22 +- dwds/test/fixtures/server.dart | 3 +- dwds/test/run_request_test.dart | 35 ++ dwds/web/client.dart | 9 + 13 files changed, 471 insertions(+), 94 deletions(-) create mode 100644 dwds/test/run_request_test.dart diff --git a/dwds/lib/data/isolate_events.dart b/dwds/lib/data/isolate_events.dart index fb9bbd435..b93398bc1 100644 --- a/dwds/lib/data/isolate_events.dart +++ b/dwds/lib/data/isolate_events.dart @@ -38,3 +38,22 @@ abstract class IsolateStart /// Identifies a given instance of an application, unique per tab/window. String get instanceId; } + +/// An event that signifies the main isolate has been resumed from start. +abstract class IsolateResumeFromStart + implements Built { + static Serializer get serializer => + _$isolateResumeFromStartSerializer; + + factory IsolateResumeFromStart( + [Function(IsolateResumeFromStartBuilder) updates]) = + _$IsolateResumeFromStart; + + IsolateResumeFromStart._(); + + /// Identifies a given application, across tabs/windows. + String get appId; + + /// Identifies a given instance of an application, unique per tab/window. + String get instanceId; +} diff --git a/dwds/lib/data/isolate_events.g.dart b/dwds/lib/data/isolate_events.g.dart index ae75eba7b..ed0c276ad 100644 --- a/dwds/lib/data/isolate_events.g.dart +++ b/dwds/lib/data/isolate_events.g.dart @@ -9,6 +9,8 @@ part of 'isolate_events.dart'; Serializer _$isolateExitSerializer = new _$IsolateExitSerializer(); Serializer _$isolateStartSerializer = new _$IsolateStartSerializer(); +Serializer _$isolateResumeFromStartSerializer = + new _$IsolateResumeFromStartSerializer(); class _$IsolateExitSerializer implements StructuredSerializer { @override @@ -104,6 +106,59 @@ class _$IsolateStartSerializer implements StructuredSerializer { } } +class _$IsolateResumeFromStartSerializer + implements StructuredSerializer { + @override + final Iterable types = const [ + IsolateResumeFromStart, + _$IsolateResumeFromStart + ]; + @override + final String wireName = 'IsolateResumeFromStart'; + + @override + Iterable serialize( + Serializers serializers, IsolateResumeFromStart object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'appId', + serializers.serialize(object.appId, + specifiedType: const FullType(String)), + 'instanceId', + serializers.serialize(object.instanceId, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + IsolateResumeFromStart deserialize( + Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new IsolateResumeFromStartBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case 'appId': + result.appId = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case 'instanceId': + result.instanceId = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + + return result.build(); + } +} + class _$IsolateExit extends IsolateExit { @override final String appId; @@ -287,4 +342,100 @@ class IsolateStartBuilder } } +class _$IsolateResumeFromStart extends IsolateResumeFromStart { + @override + final String appId; + @override + final String instanceId; + + factory _$IsolateResumeFromStart( + [void Function(IsolateResumeFromStartBuilder) updates]) => + (new IsolateResumeFromStartBuilder()..update(updates)).build(); + + _$IsolateResumeFromStart._({this.appId, this.instanceId}) : super._() { + if (appId == null) { + throw new BuiltValueNullFieldError('IsolateResumeFromStart', 'appId'); + } + if (instanceId == null) { + throw new BuiltValueNullFieldError( + 'IsolateResumeFromStart', 'instanceId'); + } + } + + @override + IsolateResumeFromStart rebuild( + void Function(IsolateResumeFromStartBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + IsolateResumeFromStartBuilder toBuilder() => + new IsolateResumeFromStartBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is IsolateResumeFromStart && + appId == other.appId && + instanceId == other.instanceId; + } + + @override + int get hashCode { + return $jf($jc($jc(0, appId.hashCode), instanceId.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('IsolateResumeFromStart') + ..add('appId', appId) + ..add('instanceId', instanceId)) + .toString(); + } +} + +class IsolateResumeFromStartBuilder + implements Builder { + _$IsolateResumeFromStart _$v; + + String _appId; + String get appId => _$this._appId; + set appId(String appId) => _$this._appId = appId; + + String _instanceId; + String get instanceId => _$this._instanceId; + set instanceId(String instanceId) => _$this._instanceId = instanceId; + + IsolateResumeFromStartBuilder(); + + IsolateResumeFromStartBuilder get _$this { + if (_$v != null) { + _appId = _$v.appId; + _instanceId = _$v.instanceId; + _$v = null; + } + return this; + } + + @override + void replace(IsolateResumeFromStart other) { + if (other == null) { + throw new ArgumentError.notNull('other'); + } + _$v = other as _$IsolateResumeFromStart; + } + + @override + void update(void Function(IsolateResumeFromStartBuilder) updates) { + if (updates != null) updates(this); + } + + @override + _$IsolateResumeFromStart build() { + final _$result = _$v ?? + new _$IsolateResumeFromStart._(appId: appId, instanceId: instanceId); + replace(_$result); + return _$result; + } +} + // ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new diff --git a/dwds/lib/data/serializers.dart b/dwds/lib/data/serializers.dart index 4ea0ebdb0..74cac0b61 100644 --- a/dwds/lib/data/serializers.dart +++ b/dwds/lib/data/serializers.dart @@ -22,6 +22,7 @@ part 'serializers.g.dart'; DefaultBuildResult, IsolateExit, IsolateStart, + IsolateResumeFromStart, ExtensionRequest, ExtensionResponse, ExtensionEvent, diff --git a/dwds/lib/data/serializers.g.dart b/dwds/lib/data/serializers.g.dart index 10e3e34ac..555031dba 100644 --- a/dwds/lib/data/serializers.g.dart +++ b/dwds/lib/data/serializers.g.dart @@ -16,6 +16,7 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(ExtensionRequest.serializer) ..add(ExtensionResponse.serializer) ..add(IsolateExit.serializer) + ..add(IsolateResumeFromStart.serializer) ..add(IsolateStart.serializer) ..add(RunRequest.serializer)) .build(); diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart index e181308be..0b86de4e1 100644 --- a/dwds/lib/src/debugging/debugger.dart +++ b/dwds/lib/src/debugging/debugger.dart @@ -178,6 +178,12 @@ class Debugger extends Domain { handleErrorIfPresent(await _remoteDebugger?.enable() as WipResponse); } + /// Sends the appropriate resume event. + /// + /// Since [Isolate]s always start with kPauseStart we must send the + /// appropriate events when starting the isolate. + Future resumeFromStart() => _resumeHandler(null); + /// Add a breakpoint at the given position. /// /// Note that line and column are Dart source locations and one-based. @@ -421,7 +427,7 @@ class Debugger extends Domain { } /// Handles resume events coming from the Chrome connection. - Future _resumeHandler(DebuggerResumedEvent e) async { + Future _resumeHandler(DebuggerResumedEvent _) async { // We can receive a resume event in the middle of a reload which will // result in a null isolate. var isolate = inspector?.isolate; diff --git a/dwds/lib/src/debugging/inspector.dart b/dwds/lib/src/debugging/inspector.dart index 005f61dfe..d9f07e350 100644 --- a/dwds/lib/src/debugging/inspector.dart +++ b/dwds/lib/src/debugging/inspector.dart @@ -76,11 +76,6 @@ class AppInspector extends Domain { isolate.rootLib = isolate.libraries[isolate.libraries.length - 2]; isolate.extensionRPCs.addAll(await _getExtensionRpcs()); - - isolate.pauseEvent = Event( - kind: EventKind.kResume, - timestamp: DateTime.now().millisecondsSinceEpoch) - ..isolate = isolateRef; } static IsolateRef _toIsolateRef(Isolate isolate) => diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart index 585c3b965..040adc0a1 100644 --- a/dwds/lib/src/handlers/dev_handler.dart +++ b/dwds/lib/src/handlers/dev_handler.dart @@ -256,6 +256,10 @@ class DevHandler { await (await loadAppServices(message.appId, message.instanceId)) ?.chromeProxyService ?.createIsolate(); + } else if (message is IsolateResumeFromStart) { + await (await loadAppServices(message.appId, message.instanceId)) + ?.chromeProxyService + ?.resumeFromStart(); } }); diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index b27829759..354e6e39c 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -7343,14 +7343,23 @@ DevToolsResponseBuilder: function DevToolsResponseBuilder() { this._devtools_request$_error = this._success = this._devtools_request$_$v = null; }, + _$IsolateResumeFromStart__$IsolateResumeFromStart: function(updates) { + var t1 = new M.IsolateResumeFromStartBuilder(); + H.functionTypeCheck(updates, {func: 1, ret: -1, args: [M.IsolateResumeFromStartBuilder]}).call$1(t1); + return t1.build$0(); + }, IsolateExit: function IsolateExit() { }, IsolateStart: function IsolateStart() { }, + IsolateResumeFromStart: function IsolateResumeFromStart() { + }, _$IsolateExitSerializer: function _$IsolateExitSerializer() { }, _$IsolateStartSerializer: function _$IsolateStartSerializer() { }, + _$IsolateResumeFromStartSerializer: function _$IsolateResumeFromStartSerializer() { + }, _$IsolateExit: function _$IsolateExit(t0, t1) { this.appId = t0; this.instanceId = t1; @@ -7365,6 +7374,13 @@ IsolateStartBuilder: function IsolateStartBuilder() { this._isolate_events$_instanceId = this._isolate_events$_appId = this._isolate_events$_$v = null; }, + _$IsolateResumeFromStart: function _$IsolateResumeFromStart(t0, t1) { + this.appId = t0; + this.instanceId = t1; + }, + IsolateResumeFromStartBuilder: function IsolateResumeFromStartBuilder() { + this._isolate_events$_instanceId = this._isolate_events$_appId = this._isolate_events$_$v = null; + }, _parseUri: function(uri) { if (!!J.getInterceptor$(uri).$isUri) return uri; @@ -8299,7 +8315,7 @@ switch ($async$goto) { case 0: // Function start - developer = self.require.call$1("dart_sdk").developer; + developer = self.$loadModuleConfig.call$1("dart_sdk").developer; t1 = developer._extensions; $async$goto = H.boolConversionCheck(H.boolTypeCast(t1.containsKey.apply(t1, ["ext.flutter.disassemble"]))) ? 3 : 4; break; @@ -8456,12 +8472,14 @@ main__closure2: function main__closure2(t0) { this.client = t0; }, - main___closure: function main___closure() { + main___closure0: function main___closure0() { }, main__closure3: function main__closure3(t0, t1) { this.manager = t0; this.client = t1; }, + main___closure: function main___closure() { + }, main__closure4: function main__closure4() { }, main__closure5: function main__closure5() { @@ -8475,6 +8493,8 @@ }, hotRestart_rerunApp_closure0: function hotRestart_rerunApp_closure0() { }, + hotRestart_rerunApp_closure1: function hotRestart_rerunApp_closure1() { + }, _moduleLibraries_closure: function _moduleLibraries_closure() { }, _reloadModule_closure: function _reloadModule_closure(t0, t1) { @@ -10613,7 +10633,7 @@ C.JSArray_methods.add$1(this.$arguments, argument); ++t1.argumentCount; }, - $signature: 21 + $signature: 23 }; H.TypeErrorDecoder.prototype = { matchTypeError$1: function(message) { @@ -11097,13 +11117,13 @@ call$2: function(o, tag) { return this.getUnknownTag(o, tag); }, - $signature: 72 + $signature: 57 }; H.initHooks_closure1.prototype = { call$1: function(tag) { return this.prototypeForTag(H.stringTypeCheck(tag)); }, - $signature: 34 + $signature: 64 }; H.JSSyntaxRegExp.prototype = { toString$0: function(_) { @@ -11574,7 +11594,7 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 33 + $signature: 89 }; P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0: function() { @@ -11682,7 +11702,7 @@ }, "call*": "call$2", $requiredArgCount: 2, - $signature: 46 + $signature: 53 }; P._wrapJsFunctionForAsync_closure.prototype = { call$2: function(errorCode, result) { @@ -11690,7 +11710,7 @@ }, "call*": "call$2", $requiredArgCount: 2, - $signature: 88 + $signature: 73 }; P.Future.prototype = {}; P._Completer.prototype = { @@ -12056,7 +12076,7 @@ call$1: function(_) { return this.originalSource; }, - $signature: 73 + $signature: 74 }; P._Future__propagateToListeners_handleValueCallback.prototype = { call$0: function() { @@ -13466,7 +13486,7 @@ $parent.handleUncaughtError$3(zone, e, s); } }, - $signature: 57 + $signature: 45 }; P._HashMap.prototype = { get$length: function(_) { @@ -15118,7 +15138,7 @@ call$2: function(key, value) { this.$this.$indexSet(0, H.stringTypeCheck(key), value); }, - $signature: 21 + $signature: 23 }; P._JsonMapKeyIterable.prototype = { get$length: function(_) { @@ -17030,7 +17050,7 @@ call$2: function(msg, position) { throw H.wrapException(P.FormatException$("Illegal IPv4 address, " + msg, this.host, position)); }, - $signature: 40 + $signature: 34 }; P.Uri_parseIPv6Address_error.prototype = { call$2: function(msg, position) { @@ -17039,7 +17059,7 @@ call$1: function(msg) { return this.call$2(msg, null); }, - $signature: 44 + $signature: 41 }; P.Uri_parseIPv6Address_parseHex.prototype = { call$2: function(start, end) { @@ -17376,7 +17396,7 @@ call$1: function(_) { return new Uint8Array(96); }, - $signature: 47 + $signature: 46 }; P._createTables_build.prototype = { call$2: function(state, defaultTransition) { @@ -17387,7 +17407,7 @@ J.fillRange$3$x(t1, 0, 96, defaultTransition); return t1; }, - $signature: 53 + $signature: 47 }; P._createTables_setChars.prototype = { call$3: function(target, chars, transition) { @@ -17399,7 +17419,7 @@ target[t3] = transition; } }, - $signature: 14 + $signature: 22 }; P._createTables_setRange.prototype = { call$3: function(target, range, transition) { @@ -17411,7 +17431,7 @@ target[t2] = transition; } }, - $signature: 14 + $signature: 22 }; P._SimpleUri.prototype = { get$hasAuthority: function() { @@ -18660,13 +18680,13 @@ call$2: function(k, v) { this.$this.setItem(H.stringTypeCheck(k), H.stringTypeCheck(v)); }, - $signature: 23 + $signature: 24 }; W.Storage_keys_closure.prototype = { call$2: function(k, v) { return C.JSArray_methods.add$1(this.keys, k); }, - $signature: 22 + $signature: 14 }; W.StyleSheet.prototype = {$isStyleSheet: 1}; W.TextTrack.prototype = {$isTextTrack: 1}; @@ -21044,7 +21064,7 @@ }, "call*": "call$0", $requiredArgCount: 0, - $signature: 32 + $signature: 40 }; U.Serializers_Serializers_closure1.prototype = { call$0: function() { @@ -21053,7 +21073,7 @@ }, "call*": "call$0", $requiredArgCount: 0, - $signature: 41 + $signature: 33 }; U.Serializers_Serializers_closure2.prototype = { call$0: function() { @@ -23246,6 +23266,7 @@ }; M.IsolateExit.prototype = {}; M.IsolateStart.prototype = {}; + M.IsolateResumeFromStart.prototype = {}; M._$IsolateExitSerializer.prototype = { serialize$3$specifiedType: function(serializers, object, specifiedType) { H.interceptedTypeCheck(object, "$isIsolateExit"); @@ -23340,6 +23361,53 @@ return "IsolateStart"; } }; + M._$IsolateResumeFromStartSerializer.prototype = { + serialize$3$specifiedType: function(serializers, object, specifiedType) { + H.interceptedTypeCheck(object, "$isIsolateResumeFromStart"); + return H.setRuntimeTypeInfo(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_aZ8), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_aZ8)], [P.Object]); + }, + serialize$2: function(serializers, object) { + return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty); + }, + deserialize$3$specifiedType: function(serializers, serialized, specifiedType) { + var key, value, t1, + result = new M.IsolateResumeFromStartBuilder(), + iterator = J.get$iterator$ax(H.assertSubtype(serialized, "$isIterable", [P.Object], "$asIterable")); + for (; iterator.moveNext$0();) { + key = H.stringTypeCast(iterator.get$current(iterator)); + iterator.moveNext$0(); + value = iterator.get$current(iterator); + switch (key) { + case "appId": + t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); + result.get$_isolate_events$_$this()._isolate_events$_appId = t1; + break; + case "instanceId": + t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); + result.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; + break; + } + } + return result.build$0(); + }, + deserialize$2: function(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty); + }, + $isSerializer: 1, + $asSerializer: function() { + return [M.IsolateResumeFromStart]; + }, + $isStructuredSerializer: 1, + $asStructuredSerializer: function() { + return [M.IsolateResumeFromStart]; + }, + get$types: function() { + return C.List_FBh; + }, + get$wireName: function() { + return "IsolateResumeFromStart"; + } + }; M._$IsolateExit.prototype = { $eq: function(_, other) { if (other == null) @@ -23432,6 +23500,52 @@ return _this._isolate_events$_$v = _$result; } }; + M._$IsolateResumeFromStart.prototype = { + $eq: function(_, other) { + if (other == null) + return false; + if (other === this) + return true; + return other instanceof M.IsolateResumeFromStart && this.appId == other.appId && this.instanceId == other.instanceId; + }, + get$hashCode: function(_) { + return Y.$jf(Y.$jc(Y.$jc(0, J.get$hashCode$(this.appId)), J.get$hashCode$(this.instanceId))); + }, + toString$0: function(_) { + var t1 = $.$get$newBuiltValueToStringHelper().call$1("IsolateResumeFromStart"), + t2 = J.getInterceptor$ax(t1); + t2.add$2(t1, "appId", this.appId); + t2.add$2(t1, "instanceId", this.instanceId); + return t2.toString$0(t1); + } + }; + M.IsolateResumeFromStartBuilder.prototype = { + get$_isolate_events$_$this: function() { + var _this = this, + t1 = _this._isolate_events$_$v; + if (t1 != null) { + _this._isolate_events$_appId = t1.appId; + _this._isolate_events$_instanceId = t1.instanceId; + _this._isolate_events$_$v = null; + } + return _this; + }, + build$0: function() { + var t1, t2, _this = this, + _s22_ = "IsolateResumeFromStart", + _$result = _this._isolate_events$_$v; + if (_$result == null) { + t1 = _this.get$_isolate_events$_$this()._isolate_events$_appId; + t2 = _this.get$_isolate_events$_$this()._isolate_events$_instanceId; + _$result = new M._$IsolateResumeFromStart(t1, t2); + if (t1 == null) + H.throwExpression(Y.BuiltValueNullFieldError$(_s22_, "appId")); + if (t2 == null) + H.throwExpression(Y.BuiltValueNullFieldError$(_s22_, "instanceId")); + } + return _this._isolate_events$_$v = _$result; + } + }; A.RunRequest.prototype = {}; A._$RunRequestSerializer.prototype = { serialize$3$specifiedType: function(serializers, object, specifiedType) { @@ -24017,7 +24131,7 @@ call$1: function(key) { return key != null; }, - $signature: 28 + $signature: 29 }; R.MediaType.prototype = { change$1$parameters: function(parameters) { @@ -24117,19 +24231,19 @@ } else t1._contents += H.S(value); }, - $signature: 23 + $signature: 24 }; R.MediaType_toString__closure.prototype = { call$1: function(match) { return C.JSString_methods.$add("\\", match.$index(0, 0)); }, - $signature: 29 + $signature: 21 }; N.expectQuotedString_closure.prototype = { call$1: function(match) { return match.$index(0, 1); }, - $signature: 29 + $signature: 21 }; N.Logger.prototype = { get$fullName: function() { @@ -25842,7 +25956,7 @@ var t1 = J.keys$0$x(J.get$moduleParentsGraph$x(self.$dartLoader)); return P.List_List$from(self.Array.from(t1), true, P.String); }, - $signature: 91 + $signature: 60 }; D.main__closure1.prototype = { call$0: function() { @@ -25850,7 +25964,7 @@ }, "call*": "call$0", $requiredArgCount: 0, - $signature: 61 + $signature: 92 }; D.main__closure2.prototype = { call$0: function() { @@ -25862,14 +25976,14 @@ t1 = this.client._outgoingController; t2 = $.$get$serializers(); t3 = new M.DevToolsRequestBuilder(); - H.functionTypeCheck(new D.main___closure(), {func: 1, ret: -1, args: [M.DevToolsRequestBuilder]}).call$1(t3); + H.functionTypeCheck(new D.main___closure0(), {func: 1, ret: -1, args: [M.DevToolsRequestBuilder]}).call$1(t3); t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3.build$0()), null), H.getTypeArgumentByIndex(t1, 0))); }, "call*": "call$0", $requiredArgCount: 0, $signature: 1 }; - D.main___closure.prototype = { + D.main___closure0.prototype = { call$1: function(b) { var t1 = H.stringTypeCheck(self.$dartAppId); b.get$_devtools_request$_$this()._devtools_request$_appId = t1; @@ -25886,7 +26000,7 @@ $call$body$main__closure: function(serialized) { var $async$goto = 0, $async$completer = P._makeAsyncAwaitCompleter(P.Null), - $async$self = this, $event, t1; + $async$self = this, t1, $event, t2; var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return P._asyncRethrow($async$result, $async$completer); @@ -25894,9 +26008,10 @@ switch ($async$goto) { case 0: // Function start - $event = $.$get$serializers().deserialize$1(C.C_JsonCodec.decode$2$reviver(0, serialized, null)); - t1 = J.getInterceptor$($event); - $async$goto = !!t1.$isDefaultBuildResult ? 2 : 4; + t1 = $.$get$serializers(); + $event = t1.deserialize$1(C.C_JsonCodec.decode$2$reviver(0, serialized, null)); + t2 = J.getInterceptor$($event); + $async$goto = !!t2.$isDefaultBuildResult ? 2 : 4; break; case 2: // then @@ -25934,11 +26049,14 @@ break; case 4: // else - if (!!t1.$isDevToolsResponse) { + if (!!t2.$isDevToolsResponse) { if (!H.boolConversionCheck($event.success)) window.alert("DevTools failed to open with: " + H.S($event.error)); - } else if (!!t1.$isRunRequest) + } else if (!!t2.$isRunRequest) { + t2 = $async$self.client._outgoingController; + t2.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(M._$IsolateResumeFromStart__$IsolateResumeFromStart(new D.main___closure())), null), H.getTypeArgumentByIndex(t2, 0))); self.$dartRunMain.call$0(); + } case 3: // join // implicit return @@ -25949,6 +26067,16 @@ }, $signature: 63 }; + D.main___closure.prototype = { + call$1: function(b) { + var t1 = H.stringTypeCheck(self.$dartAppId); + b.get$_isolate_events$_$this()._isolate_events$_appId = t1; + t1 = H.stringTypeCheck(self.$dartAppInstanceId); + b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; + return b; + }, + $signature: 31 + }; D.main__closure4.prototype = { call$1: function(e) { if (!!J.getInterceptor$(e).$isKeyboardEvent && C.JSArray_methods.contains$1(C.List_zgw, e.key) && H.boolConversionCheck(e.altKey) && !H.boolConversionCheck(e.ctrlKey) && !H.boolConversionCheck(e.metaKey)) { @@ -25956,7 +26084,7 @@ self.$launchDevTools.call$0(); } }, - $signature: 90 + $signature: 91 }; D.main__closure5.prototype = { call$1: function(b) { @@ -25966,7 +26094,7 @@ b.get$_$this()._instanceId = t1; return b; }, - $signature: 65 + $signature: 66 }; D.main_closure0.prototype = { call$2: function(error, stackTrace) { @@ -25984,11 +26112,12 @@ t4 = new M.IsolateExitBuilder(); H.functionTypeCheck(new D.hotRestart_rerunApp_closure(), {func: 1, ret: -1, args: [M.IsolateExitBuilder]}).call$1(t4); t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t3.serialize$1(t4.build$0()), null), t2)); - t4 = self.require.call$1("dart_sdk").dart; + t4 = self.$loadModuleConfig.call$1("dart_sdk").dart; t4.hotRestart.apply(t4, []); t4 = new M.IsolateStartBuilder(); H.functionTypeCheck(new D.hotRestart_rerunApp_closure0(), {func: 1, ret: -1, args: [M.IsolateStartBuilder]}).call$1(t4); t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t3.serialize$1(t4.build$0()), null), t2)); + t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t3.serialize$1(M._$IsolateResumeFromStart__$IsolateResumeFromStart(new D.hotRestart_rerunApp_closure1())), null), t2)); self.$dartRunMain.call$0(); }, $signature: 0 @@ -26001,7 +26130,7 @@ b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; return b; }, - $signature: 66 + $signature: 67 }; D.hotRestart_rerunApp_closure0.prototype = { call$1: function(b) { @@ -26011,13 +26140,23 @@ b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; return b; }, - $signature: 67 + $signature: 68 + }; + D.hotRestart_rerunApp_closure1.prototype = { + call$1: function(b) { + var t1 = H.stringTypeCheck(self.$dartAppId); + b.get$_isolate_events$_$this()._isolate_events$_appId = t1; + t1 = H.stringTypeCheck(self.$dartAppInstanceId); + b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; + return b; + }, + $signature: 31 }; D._moduleLibraries_closure.prototype = { call$1: function(x) { return new D.LibraryWrapper(H.interceptedTypeCheck(x, "$isHotReloadableLibrary")); }, - $signature: 68 + $signature: 69 }; D._reloadModule_closure.prototype = { call$0: function() { @@ -26031,7 +26170,7 @@ call$1: function(e) { return this.completer.completeError$2(new L.HotReloadFailedException(J.get$message$x(H.interceptedTypeCheck(e, "$isJsError"))), this.stackTrace); }, - $signature: 69 + $signature: 70 }; D.DartLoader.prototype = {}; D.HotReloadableLibrary.prototype = {}; @@ -26349,7 +26488,7 @@ }); return P._asyncStartSync($async$call$0, $async$completer); }, - $signature: 71 + $signature: 72 }; (function aliases() { var _ = J.Interceptor.prototype; @@ -26395,7 +26534,7 @@ _instance_1_i = hunkHelpers._instance_1i, _instance_0_i = hunkHelpers._instance_0i, _instance_2_i = hunkHelpers._instance_2i; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 31); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 32); _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 11); _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 11); _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 11); @@ -26406,41 +26545,41 @@ return P._nullErrorHandler(error, null); }], 8, 0); _static_0(P, "async___nullDoneHandler$closure", "_nullDoneHandler", 0); - _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 74, 0); + _static(P, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 75, 0); _static(P, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) { return P._rootRun($self, $parent, zone, f, null); - }], 75, 1); + }], 76, 1); _static(P, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) { return P._rootRunUnary($self, $parent, zone, f, arg, null, null); - }], 76, 1); + }], 77, 1); _static(P, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) { return P._rootRunBinary($self, $parent, zone, f, arg1, arg2, null, null, null); - }], 77, 1); + }], 78, 1); _static(P, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) { return P._rootRegisterCallback($self, $parent, zone, f, null); - }], 78, 0); + }], 79, 0); _static(P, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) { return P._rootRegisterUnaryCallback($self, $parent, zone, f, null, null); - }], 79, 0); + }], 80, 0); _static(P, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) { return P._rootRegisterBinaryCallback($self, $parent, zone, f, null, null, null); - }], 80, 0); - _static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 81, 0); - _static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 82, 0); - _static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 83, 0); - _static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 84, 0); - _static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 85, 0); - _static_1(P, "async___printToZone$closure", "_printToZone", 86); - _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 87, 0); + }], 81, 0); + _static(P, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 82, 0); + _static(P, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 83, 0); + _static(P, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 84, 0); + _static(P, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 85, 0); + _static(P, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 86, 0); + _static_1(P, "async___printToZone$closure", "_printToZone", 87); + _static(P, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 88, 0); _instance(P._Completer.prototype, "get$completeError", 0, 1, function() { return [null]; }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 8, 0); _instance(P._AsyncCompleter.prototype, "get$complete", 1, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 25, 0); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 26, 0); _instance(P._SyncCompleter.prototype, "get$complete", 1, 0, function() { return [null]; - }, ["call$1", "call$0"], ["complete$1", "complete$0"], 25, 0); + }, ["call$1", "call$0"], ["complete$1", "complete$0"], 26, 0); _instance(P._Future.prototype, "get$_completeError", 0, 1, function() { return [null]; }, ["call$2", "call$1"], ["_completeError$2", "_completeError$1"], 8, 0); @@ -26452,38 +26591,38 @@ _instance_0_u(_, "get$_onResume", "_onResume$0", 0); _instance_0_u(_ = P._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0); _instance_0_u(_, "get$_onResume", "_onResume$0", 0); - _instance_1_u(_, "get$_handleData", "_handleData$1", 24); - _instance_2_u(_, "get$_handleError", "_handleError$2", 45); + _instance_1_u(_, "get$_handleData", "_handleData$1", 25); + _instance_2_u(_, "get$_handleError", "_handleError$2", 44); _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 15); - _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 89); - _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 31); + _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 90); + _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 32); _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 3); - _instance_1_i(_ = P._ByteCallbackSink.prototype, "get$add", "add$1", 24); + _instance_1_i(_ = P._ByteCallbackSink.prototype, "get$add", "add$1", 25); _instance_0_i(_, "get$close", "close$0", 0); - _static_1(P, "core__identityHashCode$closure", "identityHashCode", 27); - _static_2(P, "core__identical$closure", "identical", 26); + _static_1(P, "core__identityHashCode$closure", "identityHashCode", 28); + _static_2(P, "core__identical$closure", "identical", 27); _static_1(P, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 9); - _instance_2_i(W.HttpRequest.prototype, "get$setRequestHeader", "setRequestHeader$2", 22); - _instance_2_u(_ = U.DeepCollectionEquality.prototype, "get$equals", "equals$2", 26); - _instance_1_i(_, "get$hash", "hash$1", 27); - _instance_1_u(_, "get$isValidKey", "isValidKey$1", 28); + _instance_2_i(W.HttpRequest.prototype, "get$setRequestHeader", "setRequestHeader$2", 14); + _instance_2_u(_ = U.DeepCollectionEquality.prototype, "get$equals", "equals$2", 27); + _instance_1_i(_, "get$hash", "hash$1", 28); + _instance_1_u(_, "get$isValidKey", "isValidKey$1", 29); _static_2(L, "strongly_connected_components___defaultEquals$closure", "_defaultEquals0", 15); _instance_1_u(_ = M.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 30); _instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 30); _instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0); _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 7); - _static_1(D, "client___moduleLibraries$closure", "_moduleLibraries", 64); - _static_1(D, "client___reloadModule$closure", "_reloadModule", 60); + _static_1(D, "client___moduleLibraries$closure", "_moduleLibraries", 65); + _static_1(D, "client___reloadModule$closure", "_reloadModule", 61); _static_0(D, "client___reloadPage$closure", "_reloadPage", 0); - _instance_2_u(L.ReloadingManager.prototype, "get$moduleTopologicalCompare", "moduleTopologicalCompare$2", 70); + _instance_2_u(L.ReloadingManager.prototype, "get$moduleTopologicalCompare", "moduleTopologicalCompare$2", 71); })(); (function inheritance() { var _mixin = hunkHelpers.mixin, _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(P.Object, null); - _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.JSObject, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._PendingEvents, P._DelayedEvent, P._DelayedDone, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P._Utf8Encoder, P._Utf8Decoder, P._BigIntImpl, P.BigInt, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExp, P.RegExpMatch, P.StackTrace, P.String, P.StringBuffer, P.Symbol0, P.Type, P.Uri, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, P._AcceptStructuredClone, P._JSRandom, P._RectangleBase, P.ByteBuffer, P.ByteData, P.Int8List, P.Uint8List, P.Uint8ClampedList, P.Int16List, P.Uint16List, P.Int32List, P.Uint32List, P.Float32List, P.Float64List, Y.EnumClass, M.DefaultBuildResult, M._$BuildStatusSerializer, M._$DefaultBuildResultSerializer, M.DefaultBuildResultBuilder, S.BuiltList, S.ListBuilder, M.BuiltListMultimap, M.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, L.BuiltSet, L.SetBuilder, E.BuiltSetMultimap, E.SetMultimapBuilder, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.SerializerPlugin, U.FullType, U.Serializer, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, M.CanonicalizedMap, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, B.Pair, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, M.IsolateExit, M.IsolateStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, A.RunRequest, A._$RunRequestSerializer, A.RunRequestBuilder, V.Int64, E.BaseClient, G.BaseRequest, T.BaseResponse, E.ClientException, R.MediaType, N.Logger, N.Level, N.LogRecord, M.Context, O.Style, X.ParsedPath, X.PathException, Y.SourceFile, D.SourceLocationMixin, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, G.SourceSpanException, R.StreamChannelMixin, X.StringScanner, F.Uuid, D.LibraryWrapper, G.Library, G.Module, L.HotReloadFailedException, L.ReloadingManager]); + _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.JSObject, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._PendingEvents, P._DelayedEvent, P._DelayedDone, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P._Utf8Encoder, P._Utf8Decoder, P._BigIntImpl, P.BigInt, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExp, P.RegExpMatch, P.StackTrace, P.String, P.StringBuffer, P.Symbol0, P.Type, P.Uri, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, P._AcceptStructuredClone, P._JSRandom, P._RectangleBase, P.ByteBuffer, P.ByteData, P.Int8List, P.Uint8List, P.Uint8ClampedList, P.Int16List, P.Uint16List, P.Int32List, P.Uint32List, P.Float32List, P.Float64List, Y.EnumClass, M.DefaultBuildResult, M._$BuildStatusSerializer, M._$DefaultBuildResultSerializer, M.DefaultBuildResultBuilder, S.BuiltList, S.ListBuilder, M.BuiltListMultimap, M.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, L.BuiltSet, L.SetBuilder, E.BuiltSetMultimap, E.SetMultimapBuilder, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.SerializerPlugin, U.FullType, U.Serializer, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, M.CanonicalizedMap, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, B.Pair, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, M.IsolateExit, M.IsolateStart, M.IsolateResumeFromStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M._$IsolateResumeFromStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, M.IsolateResumeFromStartBuilder, A.RunRequest, A._$RunRequestSerializer, A.RunRequestBuilder, V.Int64, E.BaseClient, G.BaseRequest, T.BaseResponse, E.ClientException, R.MediaType, N.Logger, N.Level, N.LogRecord, M.Context, O.Style, X.ParsedPath, X.PathException, Y.SourceFile, D.SourceLocationMixin, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, G.SourceSpanException, R.StreamChannelMixin, X.StringScanner, F.Uuid, D.LibraryWrapper, G.Library, G.Module, L.HotReloadFailedException, L.ReloadingManager]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeByteBuffer, H.NativeTypedData, W.EventTarget, W.AccessibleNodeList, W.Blob, W.CssStyleValue, W.CssTransformComponent, W.CssRule, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.DataTransferItemList, W.DomException, W._DomRectList_Interceptor_ListMixin, W.DomRectReadOnly, W._DomStringList_Interceptor_ListMixin, W.DomTokenList, W.Event, W._FileList_Interceptor_ListMixin, W.Gamepad, W.History, W._HtmlCollection_Interceptor_ListMixin, W.Location, W.MediaList, W._MidiInputMap_Interceptor_MapMixin, W._MidiOutputMap_Interceptor_MapMixin, W.MimeType, W._MimeTypeArray_Interceptor_ListMixin, W._NodeList_Interceptor_ListMixin, W.Plugin, W._PluginArray_Interceptor_ListMixin, W._RtcStatsReport_Interceptor_MapMixin, W.SpeechGrammar, W._SpeechGrammarList_Interceptor_ListMixin, W.SpeechRecognitionResult, W._Storage_Interceptor_MapMixin, W.StyleSheet, W._TextTrackCueList_Interceptor_ListMixin, W.TimeRanges, W.Touch, W._TouchList_Interceptor_ListMixin, W.TrackDefaultList, W.Url, W.__CssRuleList_Interceptor_ListMixin, W.__GamepadList_Interceptor_ListMixin, W.__NamedNodeMap_Interceptor_ListMixin, W.__SpeechRecognitionResultList_Interceptor_ListMixin, W.__StyleSheetList_Interceptor_ListMixin, P.Length, P._LengthList_Interceptor_ListMixin, P.Number, P._NumberList_Interceptor_ListMixin, P.PointList, P._StringList_Interceptor_ListMixin, P.Transform, P._TransformList_Interceptor_ListMixin, P.AudioBuffer, P._AudioParamMap_Interceptor_MapMixin, P._SqlResultSetRowList_Interceptor_ListMixin]); _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, D.DartLoader, D.HotReloadableLibrary, D.JsError, D.JsMap, S.Promise]); _inherit(J.JSUnmodifiableArray, J.JSArray); @@ -26492,7 +26631,7 @@ _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin]); _inherit(H._EfficientLengthCastIterable, H.CastIterable); _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(H.Closure, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._AsyncAwaitCompleter_complete_closure, P._AsyncAwaitCompleter_completeError_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromIterable_closure, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZoned_closure, P._HashMap_addAll_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P._CustomHashSet_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.SplayTreeSet_closure, P._JsonMap_addAll_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P._BigIntImpl_hashCode_finish, P._BigIntImpl_toDouble_readBits, P._BigIntImpl_toDouble_roundUp, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_addAll_closure, W.Storage_keys_closure, W._EventStreamSubscription_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.convertNativePromiseToDartFuture_closure, P.convertNativePromiseToDartFuture_closure0, P.AudioParamMap_keys_closure, M.BuiltListMultimap_BuiltListMultimap_closure, M.BuiltListMultimap_hashCode_closure, M.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.MapBuilder_replace_closure, L.BuiltSet_hashCode_closure, E.BuiltSetMultimap_hashCode_closure, E.SetMultimapBuilder_replace_closure, Y.closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, M.CanonicalizedMap_addAll_closure, M.CanonicalizedMap_forEach_closure, M.CanonicalizedMap_keys_closure, M.CanonicalizedMap_map_closure, M.CanonicalizedMap_toString_closure, M._isToStringVisiting_closure, L.stronglyConnectedComponents_strongConnect, G.BaseRequest_closure, G.BaseRequest_closure0, O.BrowserClient_send_closure, O.BrowserClient_send__closure, O.BrowserClient_send__closure0, O.BrowserClient_send_closure0, Z.ByteStream_toBytes_closure, U.Response_fromStream_closure, Z.CaseInsensitiveMap$from_closure, Z.CaseInsensitiveMap$from_closure0, R.MediaType_MediaType$parse_closure, R.MediaType_toString_closure, R.MediaType_toString__closure, N.expectQuotedString_closure, N.Logger_Logger_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.hashObjects_closure, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, D.main_closure, D.main__closure, D.main__closure0, D.main__closure1, D.main__closure2, D.main___closure, D.main__closure3, D.main__closure4, D.main__closure5, D.main_closure0, D.hotRestart_rerunApp, D.hotRestart_rerunApp_closure, D.hotRestart_rerunApp_closure0, D._moduleLibraries_closure, D._reloadModule_closure, D._reloadModule_closure0, S.toPromise_closure, L.ReloadingManager_reload_closure]); + _inheritMany(H.Closure, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._AsyncAwaitCompleter_complete_closure, P._AsyncAwaitCompleter_completeError_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromIterable_closure, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZoned_closure, P._HashMap_addAll_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P._CustomHashSet_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.SplayTreeSet_closure, P._JsonMap_addAll_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P._BigIntImpl_hashCode_finish, P._BigIntImpl_toDouble_readBits, P._BigIntImpl_toDouble_roundUp, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_addAll_closure, W.Storage_keys_closure, W._EventStreamSubscription_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.convertNativePromiseToDartFuture_closure, P.convertNativePromiseToDartFuture_closure0, P.AudioParamMap_keys_closure, M.BuiltListMultimap_BuiltListMultimap_closure, M.BuiltListMultimap_hashCode_closure, M.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.MapBuilder_replace_closure, L.BuiltSet_hashCode_closure, E.BuiltSetMultimap_hashCode_closure, E.SetMultimapBuilder_replace_closure, Y.closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, M.CanonicalizedMap_addAll_closure, M.CanonicalizedMap_forEach_closure, M.CanonicalizedMap_keys_closure, M.CanonicalizedMap_map_closure, M.CanonicalizedMap_toString_closure, M._isToStringVisiting_closure, L.stronglyConnectedComponents_strongConnect, G.BaseRequest_closure, G.BaseRequest_closure0, O.BrowserClient_send_closure, O.BrowserClient_send__closure, O.BrowserClient_send__closure0, O.BrowserClient_send_closure0, Z.ByteStream_toBytes_closure, U.Response_fromStream_closure, Z.CaseInsensitiveMap$from_closure, Z.CaseInsensitiveMap$from_closure0, R.MediaType_MediaType$parse_closure, R.MediaType_toString_closure, R.MediaType_toString__closure, N.expectQuotedString_closure, N.Logger_Logger_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.hashObjects_closure, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, D.main_closure, D.main__closure, D.main__closure0, D.main__closure1, D.main__closure2, D.main___closure0, D.main__closure3, D.main___closure, D.main__closure4, D.main__closure5, D.main_closure0, D.hotRestart_rerunApp, D.hotRestart_rerunApp_closure, D.hotRestart_rerunApp_closure0, D.hotRestart_rerunApp_closure1, D._moduleLibraries_closure, D._reloadModule_closure, D._reloadModule_closure0, S.toPromise_closure, L.ReloadingManager_reload_closure]); _inherit(H.CastList, H._CastListBase); _inherit(P.MapBase, P.MapMixin); _inheritMany(P.MapBase, [H.CastMap, H.JsLinkedHashMap, P._HashMap, P._JsonMap]); @@ -26632,6 +26771,7 @@ _inherit(S._$ExtensionEvent, S.ExtensionEvent); _inherit(M._$IsolateExit, M.IsolateExit); _inherit(M._$IsolateStart, M.IsolateStart); + _inherit(M._$IsolateResumeFromStart, M.IsolateResumeFromStart); _inherit(A._$RunRequest, A.RunRequest); _inherit(O.BrowserClient, E.BaseClient); _inherit(Z.ByteStream, P.StreamView); @@ -26708,7 +26848,7 @@ _mixin(P._SqlResultSetRowList_Interceptor_ListMixin, P.ListMixin); _mixin(P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin); })(); - var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: -1}, {func: 1, ret: P.Null}, {func: 1, ret: P.Object, args: [,]}, {func: 1, args: [,]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.Null, args: [W.ProgressEvent]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: -1, args: [P.String,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, ret: -1, args: [P.Uint8List, P.String, P.int]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.Null, args: [P.Symbol0,,]}, {func: 1, ret: P.int, args: [P.int, P.int]}, {func: 1, ret: P.int, args: [P.int]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [P.String]}, {func: 1, ret: P.Null, args: [P.String,,]}, {func: 1, ret: -1, args: [P.String, P.String]}, {func: 1, ret: P.Null, args: [P.String, P.String]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: P.String, args: [P.Match]}, {func: 1, ret: -1, args: [W.Event]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: [M.ListMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: P.Null, args: [{func: 1, ret: -1}]}, {func: 1, args: [P.String]}, {func: 1, args: [W.Event]}, {func: 1, args: [,,]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: Y.IndentingBuiltValueToStringHelper, args: [P.String]}, {func: 1, ret: [S.ListBuilder, P.Object]}, {func: 1, ret: -1, args: [P.String, P.int]}, {func: 1, ret: [A.MapBuilder, P.Object, P.Object]}, {func: 1, ret: [L.SetBuilder, P.Object]}, {func: 1, ret: [E.SetMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String], opt: [,]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: P.bool, args: [P.String, P.String]}, {func: 1, ret: P.int, args: [P.String]}, {func: 1, ret: -1, args: [[P.List, P.int]]}, {func: 1, ret: U.Response, args: [P.Uint8List]}, {func: 1, ret: R.MediaType}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: N.Logger}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.int, args: [P.int,,]}, {func: 1, ret: P.Null, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: [P.Future, P.Null]}, {func: 1, ret: [P.List, P.String], args: [P.String]}, {func: 1, ret: [P.Future, G.Module], args: [P.String]}, {func: 1, ret: [S.Promise, -2]}, {func: 1, ret: M.DevToolsRequestBuilder, args: [M.DevToolsRequestBuilder]}, {func: 1, ret: [P.Future, P.Null], args: [P.String]}, {func: 1, ret: G.Module, args: [P.String]}, {func: 1, ret: E.ConnectRequestBuilder, args: [E.ConnectRequestBuilder]}, {func: 1, ret: M.IsolateExitBuilder, args: [M.IsolateExitBuilder]}, {func: 1, ret: M.IsolateStartBuilder, args: [M.IsolateStartBuilder]}, {func: 1, ret: D.LibraryWrapper, args: [D.HotReloadableLibrary]}, {func: 1, ret: -1, args: [D.JsError]}, {func: 1, ret: P.int, args: [P.String, P.String]}, {func: 1, ret: [P.Future, P.bool]}, {func: 1, args: [, P.String]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.Null, args: [P.int,,]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.Null, args: [W.Event]}, {func: 1, ret: [P.List, P.String]}], interceptorsByTag: null, leafTags: null}; + var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: -1}, {func: 1, ret: P.Null}, {func: 1, ret: P.Object, args: [,]}, {func: 1, args: [,]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.Null, args: [W.ProgressEvent]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: -1, args: [P.String,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, ret: -1, args: [P.String, P.String]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.Null, args: [P.Symbol0,,]}, {func: 1, ret: P.int, args: [P.int, P.int]}, {func: 1, ret: P.int, args: [P.int]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [P.String]}, {func: 1, ret: P.String, args: [P.Match]}, {func: 1, ret: -1, args: [P.Uint8List, P.String, P.int]}, {func: 1, ret: P.Null, args: [P.String,,]}, {func: 1, ret: P.Null, args: [P.String, P.String]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: -1, args: [W.Event]}, {func: 1, ret: M.IsolateResumeFromStartBuilder, args: [M.IsolateResumeFromStartBuilder]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: [A.MapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String, P.int]}, {func: 1, args: [W.Event]}, {func: 1, args: [,,]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: Y.IndentingBuiltValueToStringHelper, args: [P.String]}, {func: 1, ret: [S.ListBuilder, P.Object]}, {func: 1, ret: [M.ListMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String], opt: [,]}, {func: 1, ret: [L.SetBuilder, P.Object]}, {func: 1, ret: [E.SetMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.bool, args: [P.String, P.String]}, {func: 1, ret: P.int, args: [P.String]}, {func: 1, ret: -1, args: [[P.List, P.int]]}, {func: 1, ret: U.Response, args: [P.Uint8List]}, {func: 1, ret: R.MediaType}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: N.Logger}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.int, args: [P.int,,]}, {func: 1, args: [, P.String]}, {func: 1, ret: [P.Future, P.Null]}, {func: 1, ret: [P.List, P.String], args: [P.String]}, {func: 1, ret: [P.List, P.String]}, {func: 1, ret: [P.Future, G.Module], args: [P.String]}, {func: 1, ret: M.DevToolsRequestBuilder, args: [M.DevToolsRequestBuilder]}, {func: 1, ret: [P.Future, P.Null], args: [P.String]}, {func: 1, args: [P.String]}, {func: 1, ret: G.Module, args: [P.String]}, {func: 1, ret: E.ConnectRequestBuilder, args: [E.ConnectRequestBuilder]}, {func: 1, ret: M.IsolateExitBuilder, args: [M.IsolateExitBuilder]}, {func: 1, ret: M.IsolateStartBuilder, args: [M.IsolateStartBuilder]}, {func: 1, ret: D.LibraryWrapper, args: [D.HotReloadableLibrary]}, {func: 1, ret: -1, args: [D.JsError]}, {func: 1, ret: P.int, args: [P.String, P.String]}, {func: 1, ret: [P.Future, P.bool]}, {func: 1, ret: P.Null, args: [P.int,,]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.Null, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.Null, args: [W.Event]}, {func: 1, ret: [S.Promise, -2]}], interceptorsByTag: null, leafTags: null}; (function constants() { var makeConstList = hunkHelpers.makeConstList; C.EventSource_methods = W.EventSource.prototype; @@ -26913,6 +27053,9 @@ C.Type__$DevToolsRequest_cDy = H.createRuntimeType(M._$DevToolsRequest); C.List_BCG = H.setRuntimeTypeInfo(makeConstList([C.Type_DevToolsRequest_A0n, C.Type__$DevToolsRequest_cDy]), [P.Type]); C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), [P.int]); + C.Type_IsolateResumeFromStart_wsa = H.createRuntimeType(M.IsolateResumeFromStart); + C.Type__$IsolateResumeFromStart_SWm = H.createRuntimeType(M._$IsolateResumeFromStart); + C.List_FBh = H.setRuntimeTypeInfo(makeConstList([C.Type_IsolateResumeFromStart_wsa, C.Type__$IsolateResumeFromStart_SWm]), [P.Type]); C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), [P.int]); C.Type_IsolateExit_D1o = H.createRuntimeType(M.IsolateExit); C.Type__$IsolateExit_eWg = H.createRuntimeType(M._$IsolateExit); @@ -27180,6 +27323,9 @@ _lazy($, "_$isolateStartSerializer", "$get$_$isolateStartSerializer", function() { return new M._$IsolateStartSerializer(); }); + _lazy($, "_$isolateResumeFromStartSerializer", "$get$_$isolateResumeFromStartSerializer", function() { + return new M._$IsolateResumeFromStartSerializer(); + }); _lazy($, "_$runRequestSerializer", "$get$_$runRequestSerializer", function() { return new A._$RunRequestSerializer(); }); @@ -27198,6 +27344,7 @@ t1.add$1(0, $.$get$_$extensionRequestSerializer()); t1.add$1(0, $.$get$_$extensionResponseSerializer()); t1.add$1(0, $.$get$_$isolateExitSerializer()); + t1.add$1(0, $.$get$_$isolateResumeFromStartSerializer()); t1.add$1(0, $.$get$_$isolateStartSerializer()); t1.add$1(0, $.$get$_$runRequestSerializer()); return t1.build$0(); diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart index a17db25e9..f2ec58a1b 100644 --- a/dwds/lib/src/services/chrome_proxy_service.dart +++ b/dwds/lib/src/services/chrome_proxy_service.dart @@ -424,6 +424,12 @@ $loadModule("dart_sdk").developer.invokeExtension( return Success(); } + /// Resumes the Isolate from start. + /// + /// The JS VM is technically not paused at the start of the Isolate so a + /// regular resume is not sufficient. + Future resumeFromStart() async => _debugger.resumeFromStart(); + /// Returns a streamController that listens for console logs from chrome and /// adds all events passing [filter] to the stream. StreamController _chromeConsoleStreamController( diff --git a/dwds/test/fixtures/context.dart b/dwds/test/fixtures/context.dart index 40a660a69..b3e00a82c 100644 --- a/dwds/test/fixtures/context.dart +++ b/dwds/test/fixtures/context.dart @@ -57,10 +57,12 @@ class TestContext { Future setUp( {ReloadConfiguration reloadConfiguration, bool serveDevTools, - bool enableDebugExtension}) async { + bool enableDebugExtension, + bool autoRun}) async { reloadConfiguration ??= ReloadConfiguration.none; serveDevTools ??= false; enableDebugExtension ??= false; + autoRun ??= true; port = await findUnusedPort(); try { chromeDriver = await Process.start( @@ -105,15 +107,15 @@ class TestContext { var connection = ChromeConnection('localhost', debugPort); testServer = await TestServer.start( - port, - daemonPort(workingDirectory), - pathToServe, - daemonClient.buildResults, - () async => connection, - reloadConfiguration, - serveDevTools, - enableDebugExtension, - ); + port, + daemonPort(workingDirectory), + pathToServe, + daemonClient.buildResults, + () async => connection, + reloadConfiguration, + serveDevTools, + enableDebugExtension, + autoRun); appUrl = 'http://localhost:$port/$path'; await webDriver.get(appUrl); diff --git a/dwds/test/fixtures/server.dart b/dwds/test/fixtures/server.dart index 25922a208..15488bcc6 100644 --- a/dwds/test/fixtures/server.dart +++ b/dwds/test/fixtures/server.dart @@ -49,6 +49,7 @@ class TestServer { ReloadConfiguration reloadConfiguration, bool serveDevTools, bool enableDebugExtension, + bool autoRun, ) async { var pipeline = const Pipeline(); @@ -75,7 +76,7 @@ class TestServer { server, dwds, filteredBuildResults, - true, + autoRun, ); } } diff --git a/dwds/test/run_request_test.dart b/dwds/test/run_request_test.dart new file mode 100644 index 000000000..f4b73b9c6 --- /dev/null +++ b/dwds/test/run_request_test.dart @@ -0,0 +1,35 @@ +// Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file +// for details. All rights reserved. Use of this source code is governed by a +// BSD-style license that can be found in the LICENSE file. + +import 'package:dwds/src/connections/debug_connection.dart'; +import 'package:dwds/src/services/chrome_proxy_service.dart'; +import 'package:test/test.dart'; +import 'package:vm_service/vm_service.dart'; + +import 'fixtures/context.dart'; + +final context = TestContext(); + +ChromeProxyService get service => + fetchChromeProxyService(context.debugConnection); + +void main() { + setUpAll(() async { + await context.setUp(autoRun: false); + }); + + tearDownAll(() async { + await context.tearDown(); + }); + + test('correctly sets the isolate pauseEvent', () async { + var vm = await service.getVM(); + var isolate = await service.getIsolate(vm.isolates.first.id); + expect(isolate.pauseEvent.kind, EventKind.kPauseStart); + var stream = service.onEvent('Debug'); + context.appConnection.runMain(); + await stream.firstWhere((event) => event.kind == EventKind.kResume); + expect(isolate.pauseEvent.kind, EventKind.kResume); + }); +} diff --git a/dwds/web/client.dart b/dwds/web/client.dart index a46b061d1..8704711fe 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -78,6 +78,10 @@ Future main() { window.alert('DevTools failed to open with: ${event.error}'); } } else if (event is RunRequest) { + client.sink.add( + jsonEncode(serializers.serialize(IsolateResumeFromStart((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId)))); runMain(); } }); @@ -169,6 +173,11 @@ Future hotRestart(ReloadingManager manager, SseClient sseClient) async { sseClient.sink.add(jsonEncode(serializers.serialize(IsolateStart((b) => b ..appId = dartAppId ..instanceId = dartAppInstanceId)))); + // Notify that the app has immeidately started execution. + sseClient.sink + .add(jsonEncode(serializers.serialize(IsolateResumeFromStart((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId)))); runMain(); } From a34d4ab4023d33ef3ee5aeac1655eff6ebf4cb40 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Thu, 5 Sep 2019 14:37:10 -0700 Subject: [PATCH 3/6] new comment --- dwds/lib/src/debugging/debugger.dart | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart index 0b86de4e1..9674d20da 100644 --- a/dwds/lib/src/debugging/debugger.dart +++ b/dwds/lib/src/debugging/debugger.dart @@ -178,10 +178,10 @@ class Debugger extends Domain { handleErrorIfPresent(await _remoteDebugger?.enable() as WipResponse); } - /// Sends the appropriate resume event. + /// Resumes the Isolate from start. /// - /// Since [Isolate]s always start with kPauseStart we must send the - /// appropriate events when starting the isolate. + /// The JS VM is technically not paused at the start of the Isolate so there + /// will not be a corresponding [DebuggerResumedEvent]. Future resumeFromStart() => _resumeHandler(null); /// Add a breakpoint at the given position. From 5c56885a3345a251f5c334cc007f97a347eb63c8 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Thu, 5 Sep 2019 16:05:51 -0700 Subject: [PATCH 4/6] fix tests and cleanup --- dwds/lib/data/isolate_events.dart | 19 -- dwds/lib/data/isolate_events.g.dart | 151 ----------- dwds/lib/data/run_request.dart | 14 + dwds/lib/data/run_request.g.dart | 139 ++++++++++ dwds/lib/data/serializers.dart | 2 +- dwds/lib/data/serializers.g.dart | 4 +- dwds/lib/src/debugging/debugger.dart | 7 + dwds/lib/src/debugging/inspector.dart | 1 + dwds/lib/src/handlers/dev_handler.dart | 8 +- dwds/lib/src/handlers/injected_handler.dart | 2 +- dwds/lib/src/injected/client.js | 274 +++++++++----------- dwds/web/client.dart | 12 +- 12 files changed, 304 insertions(+), 329 deletions(-) diff --git a/dwds/lib/data/isolate_events.dart b/dwds/lib/data/isolate_events.dart index b93398bc1..fb9bbd435 100644 --- a/dwds/lib/data/isolate_events.dart +++ b/dwds/lib/data/isolate_events.dart @@ -38,22 +38,3 @@ abstract class IsolateStart /// Identifies a given instance of an application, unique per tab/window. String get instanceId; } - -/// An event that signifies the main isolate has been resumed from start. -abstract class IsolateResumeFromStart - implements Built { - static Serializer get serializer => - _$isolateResumeFromStartSerializer; - - factory IsolateResumeFromStart( - [Function(IsolateResumeFromStartBuilder) updates]) = - _$IsolateResumeFromStart; - - IsolateResumeFromStart._(); - - /// Identifies a given application, across tabs/windows. - String get appId; - - /// Identifies a given instance of an application, unique per tab/window. - String get instanceId; -} diff --git a/dwds/lib/data/isolate_events.g.dart b/dwds/lib/data/isolate_events.g.dart index ed0c276ad..ae75eba7b 100644 --- a/dwds/lib/data/isolate_events.g.dart +++ b/dwds/lib/data/isolate_events.g.dart @@ -9,8 +9,6 @@ part of 'isolate_events.dart'; Serializer _$isolateExitSerializer = new _$IsolateExitSerializer(); Serializer _$isolateStartSerializer = new _$IsolateStartSerializer(); -Serializer _$isolateResumeFromStartSerializer = - new _$IsolateResumeFromStartSerializer(); class _$IsolateExitSerializer implements StructuredSerializer { @override @@ -106,59 +104,6 @@ class _$IsolateStartSerializer implements StructuredSerializer { } } -class _$IsolateResumeFromStartSerializer - implements StructuredSerializer { - @override - final Iterable types = const [ - IsolateResumeFromStart, - _$IsolateResumeFromStart - ]; - @override - final String wireName = 'IsolateResumeFromStart'; - - @override - Iterable serialize( - Serializers serializers, IsolateResumeFromStart object, - {FullType specifiedType = FullType.unspecified}) { - final result = [ - 'appId', - serializers.serialize(object.appId, - specifiedType: const FullType(String)), - 'instanceId', - serializers.serialize(object.instanceId, - specifiedType: const FullType(String)), - ]; - - return result; - } - - @override - IsolateResumeFromStart deserialize( - Serializers serializers, Iterable serialized, - {FullType specifiedType = FullType.unspecified}) { - final result = new IsolateResumeFromStartBuilder(); - - final iterator = serialized.iterator; - while (iterator.moveNext()) { - final key = iterator.current as String; - iterator.moveNext(); - final dynamic value = iterator.current; - switch (key) { - case 'appId': - result.appId = serializers.deserialize(value, - specifiedType: const FullType(String)) as String; - break; - case 'instanceId': - result.instanceId = serializers.deserialize(value, - specifiedType: const FullType(String)) as String; - break; - } - } - - return result.build(); - } -} - class _$IsolateExit extends IsolateExit { @override final String appId; @@ -342,100 +287,4 @@ class IsolateStartBuilder } } -class _$IsolateResumeFromStart extends IsolateResumeFromStart { - @override - final String appId; - @override - final String instanceId; - - factory _$IsolateResumeFromStart( - [void Function(IsolateResumeFromStartBuilder) updates]) => - (new IsolateResumeFromStartBuilder()..update(updates)).build(); - - _$IsolateResumeFromStart._({this.appId, this.instanceId}) : super._() { - if (appId == null) { - throw new BuiltValueNullFieldError('IsolateResumeFromStart', 'appId'); - } - if (instanceId == null) { - throw new BuiltValueNullFieldError( - 'IsolateResumeFromStart', 'instanceId'); - } - } - - @override - IsolateResumeFromStart rebuild( - void Function(IsolateResumeFromStartBuilder) updates) => - (toBuilder()..update(updates)).build(); - - @override - IsolateResumeFromStartBuilder toBuilder() => - new IsolateResumeFromStartBuilder()..replace(this); - - @override - bool operator ==(Object other) { - if (identical(other, this)) return true; - return other is IsolateResumeFromStart && - appId == other.appId && - instanceId == other.instanceId; - } - - @override - int get hashCode { - return $jf($jc($jc(0, appId.hashCode), instanceId.hashCode)); - } - - @override - String toString() { - return (newBuiltValueToStringHelper('IsolateResumeFromStart') - ..add('appId', appId) - ..add('instanceId', instanceId)) - .toString(); - } -} - -class IsolateResumeFromStartBuilder - implements Builder { - _$IsolateResumeFromStart _$v; - - String _appId; - String get appId => _$this._appId; - set appId(String appId) => _$this._appId = appId; - - String _instanceId; - String get instanceId => _$this._instanceId; - set instanceId(String instanceId) => _$this._instanceId = instanceId; - - IsolateResumeFromStartBuilder(); - - IsolateResumeFromStartBuilder get _$this { - if (_$v != null) { - _appId = _$v.appId; - _instanceId = _$v.instanceId; - _$v = null; - } - return this; - } - - @override - void replace(IsolateResumeFromStart other) { - if (other == null) { - throw new ArgumentError.notNull('other'); - } - _$v = other as _$IsolateResumeFromStart; - } - - @override - void update(void Function(IsolateResumeFromStartBuilder) updates) { - if (updates != null) updates(this); - } - - @override - _$IsolateResumeFromStart build() { - final _$result = _$v ?? - new _$IsolateResumeFromStart._(appId: appId, instanceId: instanceId); - replace(_$result); - return _$result; - } -} - // ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new diff --git a/dwds/lib/data/run_request.dart b/dwds/lib/data/run_request.dart index 3204cbf41..cc6c0f559 100644 --- a/dwds/lib/data/run_request.dart +++ b/dwds/lib/data/run_request.dart @@ -14,3 +14,17 @@ abstract class RunRequest implements Built { RunRequest._(); } + +abstract class RunResponse implements Built { + static Serializer get serializer => _$runResponseSerializer; + + factory RunResponse([Function(RunResponseBuilder) updates]) = _$RunResponse; + + RunResponse._(); + + /// Identifies a given application, across tabs/windows. + String get appId; + + /// Identifies a given instance of an application, unique per tab/window. + String get instanceId; +} diff --git a/dwds/lib/data/run_request.g.dart b/dwds/lib/data/run_request.g.dart index 008cc441b..cecb28ffc 100644 --- a/dwds/lib/data/run_request.g.dart +++ b/dwds/lib/data/run_request.g.dart @@ -7,6 +7,7 @@ part of 'run_request.dart'; // ************************************************************************** Serializer _$runRequestSerializer = new _$RunRequestSerializer(); +Serializer _$runResponseSerializer = new _$RunResponseSerializer(); class _$RunRequestSerializer implements StructuredSerializer { @override @@ -27,6 +28,53 @@ class _$RunRequestSerializer implements StructuredSerializer { } } +class _$RunResponseSerializer implements StructuredSerializer { + @override + final Iterable types = const [RunResponse, _$RunResponse]; + @override + final String wireName = 'RunResponse'; + + @override + Iterable serialize(Serializers serializers, RunResponse object, + {FullType specifiedType = FullType.unspecified}) { + final result = [ + 'appId', + serializers.serialize(object.appId, + specifiedType: const FullType(String)), + 'instanceId', + serializers.serialize(object.instanceId, + specifiedType: const FullType(String)), + ]; + + return result; + } + + @override + RunResponse deserialize(Serializers serializers, Iterable serialized, + {FullType specifiedType = FullType.unspecified}) { + final result = new RunResponseBuilder(); + + final iterator = serialized.iterator; + while (iterator.moveNext()) { + final key = iterator.current as String; + iterator.moveNext(); + final dynamic value = iterator.current; + switch (key) { + case 'appId': + result.appId = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + case 'instanceId': + result.instanceId = serializers.deserialize(value, + specifiedType: const FullType(String)) as String; + break; + } + } + + return result.build(); + } +} + class _$RunRequest extends RunRequest { factory _$RunRequest([void Function(RunRequestBuilder) updates]) => (new RunRequestBuilder()..update(updates)).build(); @@ -83,4 +131,95 @@ class RunRequestBuilder implements Builder { } } +class _$RunResponse extends RunResponse { + @override + final String appId; + @override + final String instanceId; + + factory _$RunResponse([void Function(RunResponseBuilder) updates]) => + (new RunResponseBuilder()..update(updates)).build(); + + _$RunResponse._({this.appId, this.instanceId}) : super._() { + if (appId == null) { + throw new BuiltValueNullFieldError('RunResponse', 'appId'); + } + if (instanceId == null) { + throw new BuiltValueNullFieldError('RunResponse', 'instanceId'); + } + } + + @override + RunResponse rebuild(void Function(RunResponseBuilder) updates) => + (toBuilder()..update(updates)).build(); + + @override + RunResponseBuilder toBuilder() => new RunResponseBuilder()..replace(this); + + @override + bool operator ==(Object other) { + if (identical(other, this)) return true; + return other is RunResponse && + appId == other.appId && + instanceId == other.instanceId; + } + + @override + int get hashCode { + return $jf($jc($jc(0, appId.hashCode), instanceId.hashCode)); + } + + @override + String toString() { + return (newBuiltValueToStringHelper('RunResponse') + ..add('appId', appId) + ..add('instanceId', instanceId)) + .toString(); + } +} + +class RunResponseBuilder implements Builder { + _$RunResponse _$v; + + String _appId; + String get appId => _$this._appId; + set appId(String appId) => _$this._appId = appId; + + String _instanceId; + String get instanceId => _$this._instanceId; + set instanceId(String instanceId) => _$this._instanceId = instanceId; + + RunResponseBuilder(); + + RunResponseBuilder get _$this { + if (_$v != null) { + _appId = _$v.appId; + _instanceId = _$v.instanceId; + _$v = null; + } + return this; + } + + @override + void replace(RunResponse other) { + if (other == null) { + throw new ArgumentError.notNull('other'); + } + _$v = other as _$RunResponse; + } + + @override + void update(void Function(RunResponseBuilder) updates) { + if (updates != null) updates(this); + } + + @override + _$RunResponse build() { + final _$result = + _$v ?? new _$RunResponse._(appId: appId, instanceId: instanceId); + replace(_$result); + return _$result; + } +} + // ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new diff --git a/dwds/lib/data/serializers.dart b/dwds/lib/data/serializers.dart index 74cac0b61..8bc93a3bf 100644 --- a/dwds/lib/data/serializers.dart +++ b/dwds/lib/data/serializers.dart @@ -19,10 +19,10 @@ part 'serializers.g.dart'; DevToolsResponse, ConnectRequest, RunRequest, + RunResponse, DefaultBuildResult, IsolateExit, IsolateStart, - IsolateResumeFromStart, ExtensionRequest, ExtensionResponse, ExtensionEvent, diff --git a/dwds/lib/data/serializers.g.dart b/dwds/lib/data/serializers.g.dart index 555031dba..0cf3cec3a 100644 --- a/dwds/lib/data/serializers.g.dart +++ b/dwds/lib/data/serializers.g.dart @@ -16,9 +16,9 @@ Serializers _$serializers = (new Serializers().toBuilder() ..add(ExtensionRequest.serializer) ..add(ExtensionResponse.serializer) ..add(IsolateExit.serializer) - ..add(IsolateResumeFromStart.serializer) ..add(IsolateStart.serializer) - ..add(RunRequest.serializer)) + ..add(RunRequest.serializer) + ..add(RunResponse.serializer)) .build(); // ignore_for_file: always_put_control_body_on_new_line,always_specify_types,annotate_overrides,avoid_annotating_with_dynamic,avoid_as,avoid_catches_without_on_clauses,avoid_returning_this,lines_longer_than_80_chars,omit_local_variable_types,prefer_expression_function_bodies,sort_constructors_first,test_types_in_equals,unnecessary_const,unnecessary_new diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart index 9674d20da..80c7fd881 100644 --- a/dwds/lib/src/debugging/debugger.dart +++ b/dwds/lib/src/debugging/debugger.dart @@ -184,6 +184,13 @@ class Debugger extends Domain { /// will not be a corresponding [DebuggerResumedEvent]. Future resumeFromStart() => _resumeHandler(null); + /// Notify the debugger the [Isolate] is paused at the application start. + void notifyPausedAtStart() async { + _pausedStack = Stack() + ..frames = [] + ..messages = []; + } + /// Add a breakpoint at the given position. /// /// Note that line and column are Dart source locations and one-based. diff --git a/dwds/lib/src/debugging/inspector.dart b/dwds/lib/src/debugging/inspector.dart index d9f07e350..3727dcfda 100644 --- a/dwds/lib/src/debugging/inspector.dart +++ b/dwds/lib/src/debugging/inspector.dart @@ -102,6 +102,7 @@ class AppInspector extends Domain { breakpoints: [], exceptionPauseMode: debugger.pauseState) ..extensionRPCs = []; + debugger.notifyPausedAtStart(); var inspector = AppInspector._(isolate, assetHandler, debugger, root, remoteDebugger); await inspector._initialize(); diff --git a/dwds/lib/src/handlers/dev_handler.dart b/dwds/lib/src/handlers/dev_handler.dart index 040adc0a1..0e19ef2e0 100644 --- a/dwds/lib/src/handlers/dev_handler.dart +++ b/dwds/lib/src/handlers/dev_handler.dart @@ -7,6 +7,7 @@ import 'dart:convert'; import 'package:build_daemon/data/build_status.dart'; import 'package:build_daemon/data/serializers.dart' as build_daemon; +import 'package:dwds/data/run_request.dart'; import 'package:dwds/src/debugging/remote_debugger.dart'; import 'package:dwds/src/debugging/webkit_debugger.dart'; import 'package:dwds/src/servers/extension_backend.dart'; @@ -256,7 +257,12 @@ class DevHandler { await (await loadAppServices(message.appId, message.instanceId)) ?.chromeProxyService ?.createIsolate(); - } else if (message is IsolateResumeFromStart) { + // IsolateStart events are the result of Hot Restarts which immediately + // resume execution. + await (await loadAppServices(message.appId, message.instanceId)) + ?.chromeProxyService + ?.resumeFromStart(); + } else if (message is RunResponse) { await (await loadAppServices(message.appId, message.instanceId)) ?.chromeProxyService ?.resumeFromStart(); diff --git a/dwds/lib/src/handlers/injected_handler.dart b/dwds/lib/src/handlers/injected_handler.dart index 07a38103e..74f54a017 100644 --- a/dwds/lib/src/handlers/injected_handler.dart +++ b/dwds/lib/src/handlers/injected_handler.dart @@ -97,7 +97,7 @@ String _injectedClientJs( window.\$dartRunMain = $mainFunction; window.\$dartReloadConfiguration = "$configuration"; window.\$dartLoader.forceLoadModule('$_clientScript'); - window.\$loadModuleConfig = "$loadModule"; + window.\$loadModuleConfig = $loadModule; '''; if (extensionPort != null && extensionHostname != null) { injectedBody += ''' diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js index 354e6e39c..5f2c419b2 100644 --- a/dwds/lib/src/injected/client.js +++ b/dwds/lib/src/injected/client.js @@ -7343,23 +7343,14 @@ DevToolsResponseBuilder: function DevToolsResponseBuilder() { this._devtools_request$_error = this._success = this._devtools_request$_$v = null; }, - _$IsolateResumeFromStart__$IsolateResumeFromStart: function(updates) { - var t1 = new M.IsolateResumeFromStartBuilder(); - H.functionTypeCheck(updates, {func: 1, ret: -1, args: [M.IsolateResumeFromStartBuilder]}).call$1(t1); - return t1.build$0(); - }, IsolateExit: function IsolateExit() { }, IsolateStart: function IsolateStart() { }, - IsolateResumeFromStart: function IsolateResumeFromStart() { - }, _$IsolateExitSerializer: function _$IsolateExitSerializer() { }, _$IsolateStartSerializer: function _$IsolateStartSerializer() { }, - _$IsolateResumeFromStartSerializer: function _$IsolateResumeFromStartSerializer() { - }, _$IsolateExit: function _$IsolateExit(t0, t1) { this.appId = t0; this.instanceId = t1; @@ -7374,13 +7365,6 @@ IsolateStartBuilder: function IsolateStartBuilder() { this._isolate_events$_instanceId = this._isolate_events$_appId = this._isolate_events$_$v = null; }, - _$IsolateResumeFromStart: function _$IsolateResumeFromStart(t0, t1) { - this.appId = t0; - this.instanceId = t1; - }, - IsolateResumeFromStartBuilder: function IsolateResumeFromStartBuilder() { - this._isolate_events$_instanceId = this._isolate_events$_appId = this._isolate_events$_$v = null; - }, _parseUri: function(uri) { if (!!J.getInterceptor$(uri).$isUri) return uri; @@ -7596,11 +7580,22 @@ }, RunRequest: function RunRequest() { }, + RunResponse: function RunResponse() { + }, _$RunRequestSerializer: function _$RunRequestSerializer() { }, + _$RunResponseSerializer: function _$RunResponseSerializer() { + }, _$RunRequest: function _$RunRequest() { }, RunRequestBuilder: function RunRequestBuilder() { + }, + _$RunResponse: function _$RunResponse(t0, t1) { + this.appId = t0; + this.instanceId = t1; + }, + RunResponseBuilder: function RunResponseBuilder() { + this._run_request$_instanceId = this._run_request$_appId = this._run_request$_$v = null; } }, L = { @@ -8493,8 +8488,6 @@ }, hotRestart_rerunApp_closure0: function hotRestart_rerunApp_closure0() { }, - hotRestart_rerunApp_closure1: function hotRestart_rerunApp_closure1() { - }, _moduleLibraries_closure: function _moduleLibraries_closure() { }, _reloadModule_closure: function _reloadModule_closure(t0, t1) { @@ -11123,7 +11116,7 @@ call$1: function(tag) { return this.prototypeForTag(H.stringTypeCheck(tag)); }, - $signature: 64 + $signature: 73 }; H.JSSyntaxRegExp.prototype = { toString$0: function(_) { @@ -11594,7 +11587,7 @@ t2 = this.span; t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); }, - $signature: 89 + $signature: 33 }; P._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = { call$0: function() { @@ -11710,7 +11703,7 @@ }, "call*": "call$2", $requiredArgCount: 2, - $signature: 73 + $signature: 89 }; P.Future.prototype = {}; P._Completer.prototype = { @@ -21073,7 +21066,7 @@ }, "call*": "call$0", $requiredArgCount: 0, - $signature: 33 + $signature: 32 }; U.Serializers_Serializers_closure2.prototype = { call$0: function() { @@ -23266,7 +23259,6 @@ }; M.IsolateExit.prototype = {}; M.IsolateStart.prototype = {}; - M.IsolateResumeFromStart.prototype = {}; M._$IsolateExitSerializer.prototype = { serialize$3$specifiedType: function(serializers, object, specifiedType) { H.interceptedTypeCheck(object, "$isIsolateExit"); @@ -23361,53 +23353,6 @@ return "IsolateStart"; } }; - M._$IsolateResumeFromStartSerializer.prototype = { - serialize$3$specifiedType: function(serializers, object, specifiedType) { - H.interceptedTypeCheck(object, "$isIsolateResumeFromStart"); - return H.setRuntimeTypeInfo(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_aZ8), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_aZ8)], [P.Object]); - }, - serialize$2: function(serializers, object) { - return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty); - }, - deserialize$3$specifiedType: function(serializers, serialized, specifiedType) { - var key, value, t1, - result = new M.IsolateResumeFromStartBuilder(), - iterator = J.get$iterator$ax(H.assertSubtype(serialized, "$isIterable", [P.Object], "$asIterable")); - for (; iterator.moveNext$0();) { - key = H.stringTypeCast(iterator.get$current(iterator)); - iterator.moveNext$0(); - value = iterator.get$current(iterator); - switch (key) { - case "appId": - t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); - result.get$_isolate_events$_$this()._isolate_events$_appId = t1; - break; - case "instanceId": - t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); - result.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; - break; - } - } - return result.build$0(); - }, - deserialize$2: function(serializers, serialized) { - return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty); - }, - $isSerializer: 1, - $asSerializer: function() { - return [M.IsolateResumeFromStart]; - }, - $isStructuredSerializer: 1, - $asStructuredSerializer: function() { - return [M.IsolateResumeFromStart]; - }, - get$types: function() { - return C.List_FBh; - }, - get$wireName: function() { - return "IsolateResumeFromStart"; - } - }; M._$IsolateExit.prototype = { $eq: function(_, other) { if (other == null) @@ -23500,53 +23445,8 @@ return _this._isolate_events$_$v = _$result; } }; - M._$IsolateResumeFromStart.prototype = { - $eq: function(_, other) { - if (other == null) - return false; - if (other === this) - return true; - return other instanceof M.IsolateResumeFromStart && this.appId == other.appId && this.instanceId == other.instanceId; - }, - get$hashCode: function(_) { - return Y.$jf(Y.$jc(Y.$jc(0, J.get$hashCode$(this.appId)), J.get$hashCode$(this.instanceId))); - }, - toString$0: function(_) { - var t1 = $.$get$newBuiltValueToStringHelper().call$1("IsolateResumeFromStart"), - t2 = J.getInterceptor$ax(t1); - t2.add$2(t1, "appId", this.appId); - t2.add$2(t1, "instanceId", this.instanceId); - return t2.toString$0(t1); - } - }; - M.IsolateResumeFromStartBuilder.prototype = { - get$_isolate_events$_$this: function() { - var _this = this, - t1 = _this._isolate_events$_$v; - if (t1 != null) { - _this._isolate_events$_appId = t1.appId; - _this._isolate_events$_instanceId = t1.instanceId; - _this._isolate_events$_$v = null; - } - return _this; - }, - build$0: function() { - var t1, t2, _this = this, - _s22_ = "IsolateResumeFromStart", - _$result = _this._isolate_events$_$v; - if (_$result == null) { - t1 = _this.get$_isolate_events$_$this()._isolate_events$_appId; - t2 = _this.get$_isolate_events$_$this()._isolate_events$_instanceId; - _$result = new M._$IsolateResumeFromStart(t1, t2); - if (t1 == null) - H.throwExpression(Y.BuiltValueNullFieldError$(_s22_, "appId")); - if (t2 == null) - H.throwExpression(Y.BuiltValueNullFieldError$(_s22_, "instanceId")); - } - return _this._isolate_events$_$v = _$result; - } - }; A.RunRequest.prototype = {}; + A.RunResponse.prototype = {}; A._$RunRequestSerializer.prototype = { serialize$3$specifiedType: function(serializers, object, specifiedType) { H.interceptedTypeCheck(object, "$isRunRequest"); @@ -23577,6 +23477,53 @@ return "RunRequest"; } }; + A._$RunResponseSerializer.prototype = { + serialize$3$specifiedType: function(serializers, object, specifiedType) { + H.interceptedTypeCheck(object, "$isRunResponse"); + return H.setRuntimeTypeInfo(["appId", serializers.serialize$2$specifiedType(object.appId, C.FullType_aZ8), "instanceId", serializers.serialize$2$specifiedType(object.instanceId, C.FullType_aZ8)], [P.Object]); + }, + serialize$2: function(serializers, object) { + return this.serialize$3$specifiedType(serializers, object, C.FullType_null_List_empty); + }, + deserialize$3$specifiedType: function(serializers, serialized, specifiedType) { + var key, value, t1, + result = new A.RunResponseBuilder(), + iterator = J.get$iterator$ax(H.assertSubtype(serialized, "$isIterable", [P.Object], "$asIterable")); + for (; iterator.moveNext$0();) { + key = H.stringTypeCast(iterator.get$current(iterator)); + iterator.moveNext$0(); + value = iterator.get$current(iterator); + switch (key) { + case "appId": + t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); + result.get$_run_request$_$this()._run_request$_appId = t1; + break; + case "instanceId": + t1 = H.stringTypeCast(serializers.deserialize$2$specifiedType(value, C.FullType_aZ8)); + result.get$_run_request$_$this()._run_request$_instanceId = t1; + break; + } + } + return result.build$0(); + }, + deserialize$2: function(serializers, serialized) { + return this.deserialize$3$specifiedType(serializers, serialized, C.FullType_null_List_empty); + }, + $isSerializer: 1, + $asSerializer: function() { + return [A.RunResponse]; + }, + $isStructuredSerializer: 1, + $asStructuredSerializer: function() { + return [A.RunResponse]; + }, + get$types: function() { + return C.List_69t; + }, + get$wireName: function() { + return "RunResponse"; + } + }; A._$RunRequest.prototype = { $eq: function(_, other) { if (other == null) @@ -23593,6 +23540,52 @@ } }; A.RunRequestBuilder.prototype = {}; + A._$RunResponse.prototype = { + $eq: function(_, other) { + if (other == null) + return false; + if (other === this) + return true; + return other instanceof A.RunResponse && this.appId == other.appId && this.instanceId == other.instanceId; + }, + get$hashCode: function(_) { + return Y.$jf(Y.$jc(Y.$jc(0, J.get$hashCode$(this.appId)), J.get$hashCode$(this.instanceId))); + }, + toString$0: function(_) { + var t1 = $.$get$newBuiltValueToStringHelper().call$1("RunResponse"), + t2 = J.getInterceptor$ax(t1); + t2.add$2(t1, "appId", this.appId); + t2.add$2(t1, "instanceId", this.instanceId); + return t2.toString$0(t1); + } + }; + A.RunResponseBuilder.prototype = { + get$_run_request$_$this: function() { + var _this = this, + t1 = _this._run_request$_$v; + if (t1 != null) { + _this._run_request$_appId = t1.appId; + _this._run_request$_instanceId = t1.instanceId; + _this._run_request$_$v = null; + } + return _this; + }, + build$0: function() { + var t1, t2, _this = this, + _s11_ = "RunResponse", + _$result = _this._run_request$_$v; + if (_$result == null) { + t1 = _this.get$_run_request$_$this()._run_request$_appId; + t2 = _this.get$_run_request$_$this()._run_request$_instanceId; + _$result = new A._$RunResponse(t1, t2); + if (t1 == null) + H.throwExpression(Y.BuiltValueNullFieldError$(_s11_, "appId")); + if (t2 == null) + H.throwExpression(Y.BuiltValueNullFieldError$(_s11_, "instanceId")); + } + return _this._run_request$_$v = _$result; + } + }; V.Int64.prototype = { $add: function(_, other) { var o = V.Int64__promote(other), @@ -26000,7 +25993,7 @@ $call$body$main__closure: function(serialized) { var $async$goto = 0, $async$completer = P._makeAsyncAwaitCompleter(P.Null), - $async$self = this, t1, $event, t2; + $async$self = this, t3, t1, $event, t2; var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) return P._asyncRethrow($async$result, $async$completer); @@ -26054,7 +26047,9 @@ window.alert("DevTools failed to open with: " + H.S($event.error)); } else if (!!t2.$isRunRequest) { t2 = $async$self.client._outgoingController; - t2.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(M._$IsolateResumeFromStart__$IsolateResumeFromStart(new D.main___closure())), null), H.getTypeArgumentByIndex(t2, 0))); + t3 = new A.RunResponseBuilder(); + H.functionTypeCheck(new D.main___closure(), {func: 1, ret: -1, args: [A.RunResponseBuilder]}).call$1(t3); + t2.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t1.serialize$1(t3.build$0()), null), H.getTypeArgumentByIndex(t2, 0))); self.$dartRunMain.call$0(); } case 3: @@ -26070,12 +26065,12 @@ D.main___closure.prototype = { call$1: function(b) { var t1 = H.stringTypeCheck(self.$dartAppId); - b.get$_isolate_events$_$this()._isolate_events$_appId = t1; + b.get$_run_request$_$this()._run_request$_appId = t1; t1 = H.stringTypeCheck(self.$dartAppInstanceId); - b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; + b.get$_run_request$_$this()._run_request$_instanceId = t1; return b; }, - $signature: 31 + $signature: 64 }; D.main__closure4.prototype = { call$1: function(e) { @@ -26117,7 +26112,6 @@ t4 = new M.IsolateStartBuilder(); H.functionTypeCheck(new D.hotRestart_rerunApp_closure0(), {func: 1, ret: -1, args: [M.IsolateStartBuilder]}).call$1(t4); t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t3.serialize$1(t4.build$0()), null), t2)); - t1.add$1(0, H.assertSubtypeOfRuntimeType(C.C_JsonCodec.encode$2$toEncodable(t3.serialize$1(M._$IsolateResumeFromStart__$IsolateResumeFromStart(new D.hotRestart_rerunApp_closure1())), null), t2)); self.$dartRunMain.call$0(); }, $signature: 0 @@ -26142,16 +26136,6 @@ }, $signature: 68 }; - D.hotRestart_rerunApp_closure1.prototype = { - call$1: function(b) { - var t1 = H.stringTypeCheck(self.$dartAppId); - b.get$_isolate_events$_$this()._isolate_events$_appId = t1; - t1 = H.stringTypeCheck(self.$dartAppInstanceId); - b.get$_isolate_events$_$this()._isolate_events$_instanceId = t1; - return b; - }, - $signature: 31 - }; D._moduleLibraries_closure.prototype = { call$1: function(x) { return new D.LibraryWrapper(H.interceptedTypeCheck(x, "$isHotReloadableLibrary")); @@ -26534,7 +26518,7 @@ _instance_1_i = hunkHelpers._instance_1i, _instance_0_i = hunkHelpers._instance_0i, _instance_2_i = hunkHelpers._instance_2i; - _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 32); + _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 31); _static_1(P, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 11); _static_1(P, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 11); _static_1(P, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 11); @@ -26596,7 +26580,7 @@ _instance_0_u(_, "get$_handleDone", "_handleDone$0", 0); _static_2(P, "collection___defaultEquals$closure", "_defaultEquals", 15); _static_1(P, "collection___defaultHashCode$closure", "_defaultHashCode", 90); - _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 32); + _static_2(P, "collection_ListMixin__compareAny$closure", "ListMixin__compareAny", 31); _static_1(P, "convert___defaultToEncodable$closure", "_defaultToEncodable", 3); _instance_1_i(_ = P._ByteCallbackSink.prototype, "get$add", "add$1", 25); _instance_0_i(_, "get$close", "close$0", 0); @@ -26622,7 +26606,7 @@ _inherit = hunkHelpers.inherit, _inheritMany = hunkHelpers.inheritMany; _inherit(P.Object, null); - _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.JSObject, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._PendingEvents, P._DelayedEvent, P._DelayedDone, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P._Utf8Encoder, P._Utf8Decoder, P._BigIntImpl, P.BigInt, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExp, P.RegExpMatch, P.StackTrace, P.String, P.StringBuffer, P.Symbol0, P.Type, P.Uri, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, P._AcceptStructuredClone, P._JSRandom, P._RectangleBase, P.ByteBuffer, P.ByteData, P.Int8List, P.Uint8List, P.Uint8ClampedList, P.Int16List, P.Uint16List, P.Int32List, P.Uint32List, P.Float32List, P.Float64List, Y.EnumClass, M.DefaultBuildResult, M._$BuildStatusSerializer, M._$DefaultBuildResultSerializer, M.DefaultBuildResultBuilder, S.BuiltList, S.ListBuilder, M.BuiltListMultimap, M.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, L.BuiltSet, L.SetBuilder, E.BuiltSetMultimap, E.SetMultimapBuilder, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.SerializerPlugin, U.FullType, U.Serializer, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, M.CanonicalizedMap, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, B.Pair, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, M.IsolateExit, M.IsolateStart, M.IsolateResumeFromStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M._$IsolateResumeFromStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, M.IsolateResumeFromStartBuilder, A.RunRequest, A._$RunRequestSerializer, A.RunRequestBuilder, V.Int64, E.BaseClient, G.BaseRequest, T.BaseResponse, E.ClientException, R.MediaType, N.Logger, N.Level, N.LogRecord, M.Context, O.Style, X.ParsedPath, X.PathException, Y.SourceFile, D.SourceLocationMixin, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, G.SourceSpanException, R.StreamChannelMixin, X.StringScanner, F.Uuid, D.LibraryWrapper, G.Library, G.Module, L.HotReloadFailedException, L.ReloadingManager]); + _inheritMany(P.Object, [H.JS_CONST, J.Interceptor, J.JSObject, J.ArrayIterator, P.Iterable, H.CastIterator, H.Closure, P.MapMixin, P._ListBase_Object_ListMixin, H.ListIterator, P.Iterator, H.EmptyIterator, H.FixedLengthListMixin, H.UnmodifiableListMixin, H.Symbol, P.MapView, H.ConstantMap, H.JSInvocationMirror, H.TypeErrorDecoder, P.Error, H.ExceptionAndStackTrace, H._StackTrace, H.TypeImpl, H.LinkedHashMapCell, H.LinkedHashMapKeyIterator, H.JSSyntaxRegExp, H._MatchImplementation, H._AllMatchesIterator, H.StringMatch, H._StringAllMatchesIterator, P._TimerImpl, P._AsyncAwaitCompleter, P.Future, P._Completer, P._FutureListener, P._Future, P._AsyncCallbackEntry, P.Stream, P.StreamSubscription, P.StreamTransformerBase, P._StreamController, P._AsyncStreamControllerDispatch, P._BufferingStreamSubscription, P._StreamSinkWrapper, P._PendingEvents, P._DelayedEvent, P._DelayedDone, P._StreamIterator, P.Timer, P.AsyncError, P._ZoneFunction, P.ZoneSpecification, P._ZoneSpecification, P.ZoneDelegate, P.Zone, P._ZoneDelegate, P._Zone, P._HashMapKeyIterator, P._SetBase, P._HashSetIterator, P._LinkedHashSetCell, P._LinkedHashSetIterator, P.IterableMixin, P.ListMixin, P._UnmodifiableMapMixin, P._ListQueueIterator, P.SetMixin, P._SplayTreeNode, P._SplayTree, P._SplayTreeIterator, P.Codec, P._Base64Encoder, P.ChunkedConversionSink, P._JsonStringifier, P._Utf8Encoder, P._Utf8Decoder, P._BigIntImpl, P.BigInt, P.bool, P.DateTime, P.num, P.Duration, P.OutOfMemoryError, P.StackOverflowError, P._Exception, P.FormatException, P.IntegerDivisionByZeroException, P.Function, P.List, P.Map, P.MapEntry, P.Null, P.Match, P.RegExp, P.RegExpMatch, P.StackTrace, P.String, P.StringBuffer, P.Symbol0, P.Type, P.Uri, P._Uri, P.UriData, P._SimpleUri, W.CssStyleDeclarationBase, W.ImmutableListMixin, W.FixedSizeListIterator, P._AcceptStructuredClone, P._JSRandom, P._RectangleBase, P.ByteBuffer, P.ByteData, P.Int8List, P.Uint8List, P.Uint8ClampedList, P.Int16List, P.Uint16List, P.Int32List, P.Uint32List, P.Float32List, P.Float64List, Y.EnumClass, M.DefaultBuildResult, M._$BuildStatusSerializer, M._$DefaultBuildResultSerializer, M.DefaultBuildResultBuilder, S.BuiltList, S.ListBuilder, M.BuiltListMultimap, M.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, L.BuiltSet, L.SetBuilder, E.BuiltSetMultimap, E.SetMultimapBuilder, Y.IndentingBuiltValueToStringHelper, A.JsonObject, U.SerializerPlugin, U.FullType, U.Serializer, O.BigIntSerializer, R.BoolSerializer, Y.BuiltJsonSerializers, Y.BuiltJsonSerializersBuilder, R.BuiltListMultimapSerializer, K.BuiltListSerializer, K.BuiltMapSerializer, R.BuiltSetMultimapSerializer, O.BuiltSetSerializer, Z.DateTimeSerializer, D.DoubleSerializer, K.DurationSerializer, Q.Int64Serializer, B.IntSerializer, O.JsonObjectSerializer, K.NumSerializer, K.RegExpSerializer, M.StringSerializer, O.UriSerializer, M.CanonicalizedMap, U.DefaultEquality, U.IterableEquality, U.ListEquality, U._UnorderedEquality, U._MapEntry, U.MapEquality, U.DeepCollectionEquality, B.Pair, E.ConnectRequest, E._$ConnectRequestSerializer, E.ConnectRequestBuilder, M.DevToolsRequest, M.DevToolsResponse, M._$DevToolsRequestSerializer, M._$DevToolsResponseSerializer, M.DevToolsRequestBuilder, M.DevToolsResponseBuilder, S.ExtensionRequest, S.ExtensionResponse, S.ExtensionEvent, S._$ExtensionRequestSerializer, S._$ExtensionResponseSerializer, S._$ExtensionEventSerializer, S.ExtensionRequestBuilder, S.ExtensionResponseBuilder, S.ExtensionEventBuilder, M.IsolateExit, M.IsolateStart, M._$IsolateExitSerializer, M._$IsolateStartSerializer, M.IsolateExitBuilder, M.IsolateStartBuilder, A.RunRequest, A.RunResponse, A._$RunRequestSerializer, A._$RunResponseSerializer, A.RunRequestBuilder, A.RunResponseBuilder, V.Int64, E.BaseClient, G.BaseRequest, T.BaseResponse, E.ClientException, R.MediaType, N.Logger, N.Level, N.LogRecord, M.Context, O.Style, X.ParsedPath, X.PathException, Y.SourceFile, D.SourceLocationMixin, Y.SourceSpanMixin, U.Highlighter, V.SourceLocation, V.SourceSpan, G.SourceSpanException, R.StreamChannelMixin, X.StringScanner, F.Uuid, D.LibraryWrapper, G.Library, G.Module, L.HotReloadFailedException, L.ReloadingManager]); _inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JSArray, J.JSNumber, J.JSString, H.NativeByteBuffer, H.NativeTypedData, W.EventTarget, W.AccessibleNodeList, W.Blob, W.CssStyleValue, W.CssTransformComponent, W.CssRule, W._CssStyleDeclaration_Interceptor_CssStyleDeclarationBase, W.DataTransferItemList, W.DomException, W._DomRectList_Interceptor_ListMixin, W.DomRectReadOnly, W._DomStringList_Interceptor_ListMixin, W.DomTokenList, W.Event, W._FileList_Interceptor_ListMixin, W.Gamepad, W.History, W._HtmlCollection_Interceptor_ListMixin, W.Location, W.MediaList, W._MidiInputMap_Interceptor_MapMixin, W._MidiOutputMap_Interceptor_MapMixin, W.MimeType, W._MimeTypeArray_Interceptor_ListMixin, W._NodeList_Interceptor_ListMixin, W.Plugin, W._PluginArray_Interceptor_ListMixin, W._RtcStatsReport_Interceptor_MapMixin, W.SpeechGrammar, W._SpeechGrammarList_Interceptor_ListMixin, W.SpeechRecognitionResult, W._Storage_Interceptor_MapMixin, W.StyleSheet, W._TextTrackCueList_Interceptor_ListMixin, W.TimeRanges, W.Touch, W._TouchList_Interceptor_ListMixin, W.TrackDefaultList, W.Url, W.__CssRuleList_Interceptor_ListMixin, W.__GamepadList_Interceptor_ListMixin, W.__NamedNodeMap_Interceptor_ListMixin, W.__SpeechRecognitionResultList_Interceptor_ListMixin, W.__StyleSheetList_Interceptor_ListMixin, P.Length, P._LengthList_Interceptor_ListMixin, P.Number, P._NumberList_Interceptor_ListMixin, P.PointList, P._StringList_Interceptor_ListMixin, P.Transform, P._TransformList_Interceptor_ListMixin, P.AudioBuffer, P._AudioParamMap_Interceptor_MapMixin, P._SqlResultSetRowList_Interceptor_ListMixin]); _inheritMany(J.JavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction, D.DartLoader, D.HotReloadableLibrary, D.JsError, D.JsMap, S.Promise]); _inherit(J.JSUnmodifiableArray, J.JSArray); @@ -26631,7 +26615,7 @@ _inheritMany(H._CastIterableBase, [H.CastIterable, H.__CastListBase__CastIterableBase_ListMixin]); _inherit(H._EfficientLengthCastIterable, H.CastIterable); _inherit(H._CastListBase, H.__CastListBase__CastIterableBase_ListMixin); - _inheritMany(H.Closure, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._AsyncAwaitCompleter_complete_closure, P._AsyncAwaitCompleter_completeError_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromIterable_closure, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZoned_closure, P._HashMap_addAll_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P._CustomHashSet_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.SplayTreeSet_closure, P._JsonMap_addAll_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P._BigIntImpl_hashCode_finish, P._BigIntImpl_toDouble_readBits, P._BigIntImpl_toDouble_roundUp, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_addAll_closure, W.Storage_keys_closure, W._EventStreamSubscription_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.convertNativePromiseToDartFuture_closure, P.convertNativePromiseToDartFuture_closure0, P.AudioParamMap_keys_closure, M.BuiltListMultimap_BuiltListMultimap_closure, M.BuiltListMultimap_hashCode_closure, M.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.MapBuilder_replace_closure, L.BuiltSet_hashCode_closure, E.BuiltSetMultimap_hashCode_closure, E.SetMultimapBuilder_replace_closure, Y.closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, M.CanonicalizedMap_addAll_closure, M.CanonicalizedMap_forEach_closure, M.CanonicalizedMap_keys_closure, M.CanonicalizedMap_map_closure, M.CanonicalizedMap_toString_closure, M._isToStringVisiting_closure, L.stronglyConnectedComponents_strongConnect, G.BaseRequest_closure, G.BaseRequest_closure0, O.BrowserClient_send_closure, O.BrowserClient_send__closure, O.BrowserClient_send__closure0, O.BrowserClient_send_closure0, Z.ByteStream_toBytes_closure, U.Response_fromStream_closure, Z.CaseInsensitiveMap$from_closure, Z.CaseInsensitiveMap$from_closure0, R.MediaType_MediaType$parse_closure, R.MediaType_toString_closure, R.MediaType_toString__closure, N.expectQuotedString_closure, N.Logger_Logger_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.hashObjects_closure, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, D.main_closure, D.main__closure, D.main__closure0, D.main__closure1, D.main__closure2, D.main___closure0, D.main__closure3, D.main___closure, D.main__closure4, D.main__closure5, D.main_closure0, D.hotRestart_rerunApp, D.hotRestart_rerunApp_closure, D.hotRestart_rerunApp_closure0, D.hotRestart_rerunApp_closure1, D._moduleLibraries_closure, D._reloadModule_closure, D._reloadModule_closure0, S.toPromise_closure, L.ReloadingManager_reload_closure]); + _inheritMany(H.Closure, [H._CastListBase_sort_closure, H.CastMap_forEach_closure, H.ConstantMap_map_closure, H.Primitives_functionNoSuchMethod_closure, H.unwrapException_saveStackTrace, H.TearOffClosure, H.JsLinkedHashMap_values_closure, H.JsLinkedHashMap_addAll_closure, H.initHooks_closure, H.initHooks_closure0, H.initHooks_closure1, P._AsyncRun__initializeScheduleImmediate_internalCallback, P._AsyncRun__initializeScheduleImmediate_closure, P._AsyncRun__scheduleImmediateJsOverride_internalCallback, P._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, P._TimerImpl_internalCallback, P._TimerImpl$periodic_closure, P._AsyncAwaitCompleter_complete_closure, P._AsyncAwaitCompleter_completeError_closure, P._awaitOnObject_closure, P._awaitOnObject_closure0, P._wrapJsFunctionForAsync_closure, P._Future__addListener_closure, P._Future__prependListeners_closure, P._Future__chainForeignFuture_closure, P._Future__chainForeignFuture_closure0, P._Future__chainForeignFuture_closure1, P._Future__asyncComplete_closure, P._Future__chainFuture_closure, P._Future__asyncCompleteError_closure, P._Future__propagateToListeners_handleWhenCompleteCallback, P._Future__propagateToListeners_handleWhenCompleteCallback_closure, P._Future__propagateToListeners_handleValueCallback, P._Future__propagateToListeners_handleError, P.Stream_Stream$fromIterable_closure, P.Stream_length_closure, P.Stream_length_closure0, P.Stream_first_closure, P.Stream_first_closure0, P._StreamController__subscribe_closure, P._StreamController__recordCancel_complete, P._BufferingStreamSubscription__sendError_sendError, P._BufferingStreamSubscription__sendDone_sendDone, P._PendingEvents_schedule_closure, P._cancelAndValue_closure, P._CustomZone_bindCallback_closure, P._CustomZone_bindUnaryCallback_closure, P._CustomZone_bindCallbackGuarded_closure, P._CustomZone_bindUnaryCallbackGuarded_closure, P._rootHandleUncaughtError_closure, P._RootZone_bindCallback_closure, P._RootZone_bindCallbackGuarded_closure, P._RootZone_bindUnaryCallbackGuarded_closure, P.runZoned_closure, P._HashMap_addAll_closure, P._CustomHashMap_closure, P._LinkedCustomHashMap_closure, P._CustomHashSet_closure, P.LinkedHashMap_LinkedHashMap$from_closure, P.MapBase_mapToString_closure, P.SplayTreeSet_closure, P._JsonMap_addAll_closure, P._JsonStringifier_writeMap_closure, P._symbolMapToStringMap_closure, P.NoSuchMethodError_toString_closure, P._BigIntImpl_hashCode_combine, P._BigIntImpl_hashCode_finish, P._BigIntImpl_toDouble_readBits, P._BigIntImpl_toDouble_roundUp, P.Duration_toString_sixDigits, P.Duration_toString_twoDigits, P.Uri__parseIPv4Address_error, P.Uri_parseIPv6Address_error, P.Uri_parseIPv6Address_parseHex, P._Uri__Uri$notSimple_closure, P._Uri__checkNonWindowsPathReservedCharacters_closure, P._Uri__makePath_closure, P._createTables_closure, P._createTables_build, P._createTables_setChars, P._createTables_setRange, W.HttpRequest_request_closure, W.MidiInputMap_keys_closure, W.MidiOutputMap_keys_closure, W.RtcStatsReport_keys_closure, W.Storage_addAll_closure, W.Storage_keys_closure, W._EventStreamSubscription_closure, P._AcceptStructuredClone_walk_closure, P.convertDartToNative_Dictionary_closure, P.convertNativePromiseToDartFuture_closure, P.convertNativePromiseToDartFuture_closure0, P.AudioParamMap_keys_closure, M.BuiltListMultimap_BuiltListMultimap_closure, M.BuiltListMultimap_hashCode_closure, M.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.MapBuilder_replace_closure, L.BuiltSet_hashCode_closure, E.BuiltSetMultimap_hashCode_closure, E.SetMultimapBuilder_replace_closure, Y.closure, U.Serializers_Serializers_closure, U.Serializers_Serializers_closure0, U.Serializers_Serializers_closure1, U.Serializers_Serializers_closure2, U.Serializers_Serializers_closure3, R.BuiltListMultimapSerializer_serialize_closure, R.BuiltListMultimapSerializer_deserialize_closure, K.BuiltListSerializer_serialize_closure, K.BuiltListSerializer_deserialize_closure, R.BuiltSetMultimapSerializer_serialize_closure, R.BuiltSetMultimapSerializer_deserialize_closure, O.BuiltSetSerializer_serialize_closure, O.BuiltSetSerializer_deserialize_closure, M.CanonicalizedMap_addAll_closure, M.CanonicalizedMap_forEach_closure, M.CanonicalizedMap_keys_closure, M.CanonicalizedMap_map_closure, M.CanonicalizedMap_toString_closure, M._isToStringVisiting_closure, L.stronglyConnectedComponents_strongConnect, G.BaseRequest_closure, G.BaseRequest_closure0, O.BrowserClient_send_closure, O.BrowserClient_send__closure, O.BrowserClient_send__closure0, O.BrowserClient_send_closure0, Z.ByteStream_toBytes_closure, U.Response_fromStream_closure, Z.CaseInsensitiveMap$from_closure, Z.CaseInsensitiveMap$from_closure0, R.MediaType_MediaType$parse_closure, R.MediaType_toString_closure, R.MediaType_toString__closure, N.expectQuotedString_closure, N.Logger_Logger_closure, M.Context_join_closure, M.Context_joinAll_closure, M.Context_split_closure, M._validateArgList_closure, X.ParsedPath_normalize_closure, X.hashObjects_closure, U.Highlighter__writeFirstLine_closure, U.Highlighter__writeFirstLine_closure0, U.Highlighter__writeFirstLine_closure1, U.Highlighter__writeFirstLine_closure2, U.Highlighter__writeIntermediateLines_closure, U.Highlighter__writeLastLine_closure, U.Highlighter__writeLastLine_closure0, U.Highlighter__writeLastLine_closure1, U.Highlighter__writeSidebar_closure, D.main_closure, D.main__closure, D.main__closure0, D.main__closure1, D.main__closure2, D.main___closure0, D.main__closure3, D.main___closure, D.main__closure4, D.main__closure5, D.main_closure0, D.hotRestart_rerunApp, D.hotRestart_rerunApp_closure, D.hotRestart_rerunApp_closure0, D._moduleLibraries_closure, D._reloadModule_closure, D._reloadModule_closure0, S.toPromise_closure, L.ReloadingManager_reload_closure]); _inherit(H.CastList, H._CastListBase); _inherit(P.MapBase, P.MapMixin); _inheritMany(P.MapBase, [H.CastMap, H.JsLinkedHashMap, P._HashMap, P._JsonMap]); @@ -26771,8 +26755,8 @@ _inherit(S._$ExtensionEvent, S.ExtensionEvent); _inherit(M._$IsolateExit, M.IsolateExit); _inherit(M._$IsolateStart, M.IsolateStart); - _inherit(M._$IsolateResumeFromStart, M.IsolateResumeFromStart); _inherit(A._$RunRequest, A.RunRequest); + _inherit(A._$RunResponse, A.RunResponse); _inherit(O.BrowserClient, E.BaseClient); _inherit(Z.ByteStream, P.StreamView); _inherit(O.Request, G.BaseRequest); @@ -26848,7 +26832,7 @@ _mixin(P._SqlResultSetRowList_Interceptor_ListMixin, P.ListMixin); _mixin(P._SqlResultSetRowList_Interceptor_ListMixin_ImmutableListMixin, W.ImmutableListMixin); })(); - var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: -1}, {func: 1, ret: P.Null}, {func: 1, ret: P.Object, args: [,]}, {func: 1, args: [,]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.Null, args: [W.ProgressEvent]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: -1, args: [P.String,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, ret: -1, args: [P.String, P.String]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.Null, args: [P.Symbol0,,]}, {func: 1, ret: P.int, args: [P.int, P.int]}, {func: 1, ret: P.int, args: [P.int]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [P.String]}, {func: 1, ret: P.String, args: [P.Match]}, {func: 1, ret: -1, args: [P.Uint8List, P.String, P.int]}, {func: 1, ret: P.Null, args: [P.String,,]}, {func: 1, ret: P.Null, args: [P.String, P.String]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: -1, args: [W.Event]}, {func: 1, ret: M.IsolateResumeFromStartBuilder, args: [M.IsolateResumeFromStartBuilder]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: [A.MapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String, P.int]}, {func: 1, args: [W.Event]}, {func: 1, args: [,,]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: Y.IndentingBuiltValueToStringHelper, args: [P.String]}, {func: 1, ret: [S.ListBuilder, P.Object]}, {func: 1, ret: [M.ListMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String], opt: [,]}, {func: 1, ret: [L.SetBuilder, P.Object]}, {func: 1, ret: [E.SetMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.bool, args: [P.String, P.String]}, {func: 1, ret: P.int, args: [P.String]}, {func: 1, ret: -1, args: [[P.List, P.int]]}, {func: 1, ret: U.Response, args: [P.Uint8List]}, {func: 1, ret: R.MediaType}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: N.Logger}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.int, args: [P.int,,]}, {func: 1, args: [, P.String]}, {func: 1, ret: [P.Future, P.Null]}, {func: 1, ret: [P.List, P.String], args: [P.String]}, {func: 1, ret: [P.List, P.String]}, {func: 1, ret: [P.Future, G.Module], args: [P.String]}, {func: 1, ret: M.DevToolsRequestBuilder, args: [M.DevToolsRequestBuilder]}, {func: 1, ret: [P.Future, P.Null], args: [P.String]}, {func: 1, args: [P.String]}, {func: 1, ret: G.Module, args: [P.String]}, {func: 1, ret: E.ConnectRequestBuilder, args: [E.ConnectRequestBuilder]}, {func: 1, ret: M.IsolateExitBuilder, args: [M.IsolateExitBuilder]}, {func: 1, ret: M.IsolateStartBuilder, args: [M.IsolateStartBuilder]}, {func: 1, ret: D.LibraryWrapper, args: [D.HotReloadableLibrary]}, {func: 1, ret: -1, args: [D.JsError]}, {func: 1, ret: P.int, args: [P.String, P.String]}, {func: 1, ret: [P.Future, P.bool]}, {func: 1, ret: P.Null, args: [P.int,,]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.Null, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.Null, args: [W.Event]}, {func: 1, ret: [S.Promise, -2]}], interceptorsByTag: null, leafTags: null}; + var init = {mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List"}, mangledNames: {}, getTypeFromName: getGlobalFromName, metadata: [], types: [{func: 1, ret: -1}, {func: 1, ret: P.Null}, {func: 1, ret: P.Object, args: [,]}, {func: 1, args: [,]}, {func: 1, ret: P.bool, args: [,]}, {func: 1, ret: P.Null, args: [,,]}, {func: 1, ret: P.Null, args: [W.ProgressEvent]}, {func: 1, ret: -1, args: [,]}, {func: 1, ret: -1, args: [P.Object], opt: [P.StackTrace]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: -1, args: [P.String,,]}, {func: 1, ret: -1, args: [{func: 1, ret: -1}]}, {func: 1, ret: P.String, args: [P.int]}, {func: 1, ret: P.bool, args: [P.String]}, {func: 1, ret: -1, args: [P.String, P.String]}, {func: 1, ret: P.bool, args: [,,]}, {func: 1, ret: P.Null, args: [P.Symbol0,,]}, {func: 1, ret: P.int, args: [P.int, P.int]}, {func: 1, ret: P.int, args: [P.int]}, {func: 1, ret: P.Null, args: [,]}, {func: 1, ret: P.Null, args: [P.String]}, {func: 1, ret: P.String, args: [P.Match]}, {func: 1, ret: -1, args: [P.Uint8List, P.String, P.int]}, {func: 1, ret: P.Null, args: [P.String,,]}, {func: 1, ret: P.Null, args: [P.String, P.String]}, {func: 1, ret: -1, args: [P.Object]}, {func: 1, ret: -1, opt: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object, P.Object]}, {func: 1, ret: P.int, args: [P.Object]}, {func: 1, ret: P.bool, args: [P.Object]}, {func: 1, ret: -1, args: [W.Event]}, {func: 1, ret: P.int, args: [,,]}, {func: 1, ret: [A.MapBuilder, P.Object, P.Object]}, {func: 1, ret: P.Null, args: [{func: 1, ret: -1}]}, {func: 1, ret: -1, args: [P.String, P.int]}, {func: 1, args: [W.Event]}, {func: 1, args: [,,]}, {func: 1, ret: P.Null, args: [P.Object, P.Object]}, {func: 1, ret: Y.IndentingBuiltValueToStringHelper, args: [P.String]}, {func: 1, ret: [S.ListBuilder, P.Object]}, {func: 1, ret: [M.ListMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [P.String], opt: [,]}, {func: 1, ret: [L.SetBuilder, P.Object]}, {func: 1, ret: [E.SetMultimapBuilder, P.Object, P.Object]}, {func: 1, ret: -1, args: [, P.StackTrace]}, {func: 1, ret: P.Null, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: P.Uint8List, args: [P.int]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.bool, args: [P.String, P.String]}, {func: 1, ret: P.int, args: [P.String]}, {func: 1, ret: -1, args: [[P.List, P.int]]}, {func: 1, ret: U.Response, args: [P.Uint8List]}, {func: 1, ret: R.MediaType}, {func: 1, ret: P.Null, args: [, P.StackTrace]}, {func: 1, ret: N.Logger}, {func: 1, ret: P.Null, args: [,], opt: [P.StackTrace]}, {func: 1, ret: P.int, args: [P.int,,]}, {func: 1, args: [, P.String]}, {func: 1, ret: [P.Future, P.Null]}, {func: 1, ret: [P.List, P.String], args: [P.String]}, {func: 1, ret: [P.List, P.String]}, {func: 1, ret: [P.Future, G.Module], args: [P.String]}, {func: 1, ret: M.DevToolsRequestBuilder, args: [M.DevToolsRequestBuilder]}, {func: 1, ret: [P.Future, P.Null], args: [P.String]}, {func: 1, ret: A.RunResponseBuilder, args: [A.RunResponseBuilder]}, {func: 1, ret: G.Module, args: [P.String]}, {func: 1, ret: E.ConnectRequestBuilder, args: [E.ConnectRequestBuilder]}, {func: 1, ret: M.IsolateExitBuilder, args: [M.IsolateExitBuilder]}, {func: 1, ret: M.IsolateStartBuilder, args: [M.IsolateStartBuilder]}, {func: 1, ret: D.LibraryWrapper, args: [D.HotReloadableLibrary]}, {func: 1, ret: -1, args: [D.JsError]}, {func: 1, ret: P.int, args: [P.String, P.String]}, {func: 1, ret: [P.Future, P.bool]}, {func: 1, args: [P.String]}, {func: 1, ret: [P._Future,,], args: [,]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, bounds: [P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}, 1]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: 0, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}, 1, 2]}, {func: 1, bounds: [P.Object], ret: {func: 1, ret: 0}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0}]}, {func: 1, bounds: [P.Object, P.Object], ret: {func: 1, ret: 0, args: [1]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1]}]}, {func: 1, bounds: [P.Object, P.Object, P.Object], ret: {func: 1, ret: 0, args: [1, 2]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: 0, args: [1, 2]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, ret: -1, args: [P.Timer]}]}, {func: 1, ret: -1, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: -1, args: [P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, [P.Map,,,]]}, {func: 1, ret: P.Null, args: [P.int,,]}, {func: 1, ret: P.int, args: [,]}, {func: 1, ret: P.Null, args: [W.Event]}, {func: 1, ret: [S.Promise, -2]}], interceptorsByTag: null, leafTags: null}; (function constants() { var makeConstList = hunkHelpers.makeConstList; C.EventSource_methods = W.EventSource.prototype; @@ -27046,6 +27030,9 @@ C.Type_DevToolsResponse_Hhy = H.createRuntimeType(M.DevToolsResponse); C.Type__$DevToolsResponse_23h = H.createRuntimeType(M._$DevToolsResponse); C.List_41A = H.setRuntimeTypeInfo(makeConstList([C.Type_DevToolsResponse_Hhy, C.Type__$DevToolsResponse_23h]), [P.Type]); + C.Type_RunResponse_mxf = H.createRuntimeType(A.RunResponse); + C.Type__$RunResponse_23h = H.createRuntimeType(A._$RunResponse); + C.List_69t = H.setRuntimeTypeInfo(makeConstList([C.Type_RunResponse_mxf, C.Type__$RunResponse_23h]), [P.Type]); C.Type_IsolateStart_0 = H.createRuntimeType(M.IsolateStart); C.Type__$IsolateStart_o3b = H.createRuntimeType(M._$IsolateStart); C.List_6TA = H.setRuntimeTypeInfo(makeConstList([C.Type_IsolateStart_0, C.Type__$IsolateStart_o3b]), [P.Type]); @@ -27053,9 +27040,6 @@ C.Type__$DevToolsRequest_cDy = H.createRuntimeType(M._$DevToolsRequest); C.List_BCG = H.setRuntimeTypeInfo(makeConstList([C.Type_DevToolsRequest_A0n, C.Type__$DevToolsRequest_cDy]), [P.Type]); C.List_CVk = H.setRuntimeTypeInfo(makeConstList([0, 0, 65490, 45055, 65535, 34815, 65534, 18431]), [P.int]); - C.Type_IsolateResumeFromStart_wsa = H.createRuntimeType(M.IsolateResumeFromStart); - C.Type__$IsolateResumeFromStart_SWm = H.createRuntimeType(M._$IsolateResumeFromStart); - C.List_FBh = H.setRuntimeTypeInfo(makeConstList([C.Type_IsolateResumeFromStart_wsa, C.Type__$IsolateResumeFromStart_SWm]), [P.Type]); C.List_JYB = H.setRuntimeTypeInfo(makeConstList([0, 0, 26624, 1023, 65534, 2047, 65534, 2047]), [P.int]); C.Type_IsolateExit_D1o = H.createRuntimeType(M.IsolateExit); C.Type__$IsolateExit_eWg = H.createRuntimeType(M._$IsolateExit); @@ -27323,12 +27307,12 @@ _lazy($, "_$isolateStartSerializer", "$get$_$isolateStartSerializer", function() { return new M._$IsolateStartSerializer(); }); - _lazy($, "_$isolateResumeFromStartSerializer", "$get$_$isolateResumeFromStartSerializer", function() { - return new M._$IsolateResumeFromStartSerializer(); - }); _lazy($, "_$runRequestSerializer", "$get$_$runRequestSerializer", function() { return new A._$RunRequestSerializer(); }); + _lazy($, "_$runResponseSerializer", "$get$_$runResponseSerializer", function() { + return new A._$RunResponseSerializer(); + }); _lazy($, "serializers", "$get$serializers", function() { return $.$get$_$serializers(); }); @@ -27344,9 +27328,9 @@ t1.add$1(0, $.$get$_$extensionRequestSerializer()); t1.add$1(0, $.$get$_$extensionResponseSerializer()); t1.add$1(0, $.$get$_$isolateExitSerializer()); - t1.add$1(0, $.$get$_$isolateResumeFromStartSerializer()); t1.add$1(0, $.$get$_$isolateStartSerializer()); t1.add$1(0, $.$get$_$runRequestSerializer()); + t1.add$1(0, $.$get$_$runResponseSerializer()); return t1.build$0(); }); _lazy($, "_escapedChar", "$get$_escapedChar", function() { diff --git a/dwds/web/client.dart b/dwds/web/client.dart index 8704711fe..b7b777c40 100644 --- a/dwds/web/client.dart +++ b/dwds/web/client.dart @@ -78,10 +78,9 @@ Future main() { window.alert('DevTools failed to open with: ${event.error}'); } } else if (event is RunRequest) { - client.sink.add( - jsonEncode(serializers.serialize(IsolateResumeFromStart((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId)))); + client.sink.add(jsonEncode(serializers.serialize(RunResponse((b) => b + ..appId = dartAppId + ..instanceId = dartAppInstanceId)))); runMain(); } }); @@ -173,11 +172,6 @@ Future hotRestart(ReloadingManager manager, SseClient sseClient) async { sseClient.sink.add(jsonEncode(serializers.serialize(IsolateStart((b) => b ..appId = dartAppId ..instanceId = dartAppInstanceId)))); - // Notify that the app has immeidately started execution. - sseClient.sink - .add(jsonEncode(serializers.serialize(IsolateResumeFromStart((b) => b - ..appId = dartAppId - ..instanceId = dartAppInstanceId)))); runMain(); } From 39f677db32016c40ec3aa42afe3389d1fbce67e5 Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Thu, 5 Sep 2019 16:09:29 -0700 Subject: [PATCH 5/6] clean up docs --- dwds/lib/src/services/chrome_proxy_service.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/dwds/lib/src/services/chrome_proxy_service.dart b/dwds/lib/src/services/chrome_proxy_service.dart index f2ec58a1b..4e7c93d33 100644 --- a/dwds/lib/src/services/chrome_proxy_service.dart +++ b/dwds/lib/src/services/chrome_proxy_service.dart @@ -424,10 +424,7 @@ $loadModule("dart_sdk").developer.invokeExtension( return Success(); } - /// Resumes the Isolate from start. - /// - /// The JS VM is technically not paused at the start of the Isolate so a - /// regular resume is not sufficient. + /// Resumes the [Isolate] from start. Future resumeFromStart() async => _debugger.resumeFromStart(); /// Returns a streamController that listens for console logs from chrome and From 43ddc352c87dcfe6cf31f01664f831ecf81ae45b Mon Sep 17 00:00:00 2001 From: Gary Roumanis Date: Thu, 5 Sep 2019 16:15:59 -0700 Subject: [PATCH 6/6] verify stack --- dwds/lib/src/debugging/debugger.dart | 8 ++------ dwds/lib/src/utilities/wrapped_service.dart | 18 +++++++++++++++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/dwds/lib/src/debugging/debugger.dart b/dwds/lib/src/debugging/debugger.dart index 80c7fd881..8d4bea2bd 100644 --- a/dwds/lib/src/debugging/debugger.dart +++ b/dwds/lib/src/debugging/debugger.dart @@ -186,9 +186,7 @@ class Debugger extends Domain { /// Notify the debugger the [Isolate] is paused at the application start. void notifyPausedAtStart() async { - _pausedStack = Stack() - ..frames = [] - ..messages = []; + _pausedStack = Stack(frames: [], messages: []); } /// Add a breakpoint at the given position. @@ -424,9 +422,7 @@ class Debugger extends Domain { var jsFrames = (e.params['callFrames'] as List).cast>(); var frames = await dartFramesFor(jsFrames); - _pausedStack = Stack() - ..frames = frames - ..messages = []; + _pausedStack = Stack(frames: frames, messages: []); _pausedJsStack = jsFrames; if (frames.isNotEmpty) event.topFrame = frames.first; isolate.pauseEvent = event; diff --git a/dwds/lib/src/utilities/wrapped_service.dart b/dwds/lib/src/utilities/wrapped_service.dart index 524de1a88..296842e7e 100644 --- a/dwds/lib/src/utilities/wrapped_service.dart +++ b/dwds/lib/src/utilities/wrapped_service.dart @@ -20,7 +20,8 @@ export 'package:vm_service/vm_service.dart' FuncRef, FieldRef, CodeRef, - Event; + Event, + Stack; class Event extends vm_service.Event { Event._(); @@ -37,6 +38,21 @@ class Event extends vm_service.Event { } } +class Stack extends vm_service.Stack { + Stack._(); + + factory Stack({ + @required List frames, + @required List messages, + }) { + var stack = Stack._(); + stack + ..frames = frames + ..messages = messages; + return stack; + } +} + class FieldRef extends vm_service.FieldRef { FieldRef._();