Delay edits to work around lack of millisecond precision in `stat` and migrate `pageSource` tests to use console logs (#2670)
Currently, CI is red due to two issues on Windows:
- hot_reload_breakpoints_test: On Windows, dart:io doesn't have enough precision to provide a millisecond-based stat. Instead, it just rounds to the nearest second. We use this to determine what files were modified in a recompile whereas we use DateTime.now (which does have millisecond precision) to mark the timestamp of the previous compile. This then potentially leads to frontend_server_common mistakenly not recompiling some files.
To fix this, we stage all the edits at once (if possible) and delay for 1 second to guarantee that stat will always give a time after the previous compile if the file was modified.
- hot_reload_test: This and a number of tests use innerHTML, document.body.append, and the pageSource API to modify the page text and then read it. A previous race condition where we tried to compute the page before main was done executing was resolved by waiting for a log at the end of main. However, this is insufficient, because the changes to the page still may not bubble up by the time we try to calculate the page source, which was the issue with hot_reload_test.
We could do a busy-loop calculating the page until we get the text we want, but that's erroneous and a better solution is to just use console logs, which fixes the original issue. As part of this, a WebkitDebugger is always initialized in the test context so we can inspect console logs regardless of whether DWDS debugging is enabled.
diff --git a/dwds/CHANGELOG.md b/dwds/CHANGELOG.md
index 1a87732..75723bc 100644
--- a/dwds/CHANGELOG.md
+++ b/dwds/CHANGELOG.md
@@ -1,3 +1,5 @@
+## 25.1.0-wip
+
## 25.0.3
### Bug Fixes:
diff --git a/dwds/lib/src/injected/client.js b/dwds/lib/src/injected/client.js
index cb3b4b4..9ec7775 100644
--- a/dwds/lib/src/injected/client.js
+++ b/dwds/lib/src/injected/client.js
@@ -1,4 +1,4 @@
-// Generated by dart2js (, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.9.0.
+// Generated by dart2js (, csp, intern-composite-values), the Dart to JavaScript compiler version: 3.9.0-333.4.beta.
// The code supports the following hooks:
// dartPrint(message):
// if this function is defined it is called instead of the Dart [print]
@@ -388,22 +388,6 @@
return J.UnknownJavaScriptObject.prototype;
return receiver;
},
- getInterceptor$x(receiver) {
- if (receiver == null)
- return receiver;
- if (typeof receiver != "object") {
- if (typeof receiver == "function")
- return J.JavaScriptFunction.prototype;
- if (typeof receiver == "symbol")
- return J.JavaScriptSymbol.prototype;
- if (typeof receiver == "bigint")
- return J.JavaScriptBigInt.prototype;
- return receiver;
- }
- if (receiver instanceof A.Object)
- return receiver;
- return J.getNativeInterceptor(receiver);
- },
set$length$asx(receiver, value) {
return J.getInterceptor$asx(receiver).set$length(receiver, value);
},
@@ -454,9 +438,6 @@
allMatches$2$s(receiver, a0, a1) {
return J.getInterceptor$s(receiver).allMatches$2(receiver, a0, a1);
},
- asUint8List$2$x(receiver, a0, a1) {
- return J.getInterceptor$x(receiver).asUint8List$2(receiver, a0, a1);
- },
cast$1$0$ax(receiver, $T1) {
return J.getInterceptor$ax(receiver).cast$1$0(receiver, $T1);
},
@@ -2236,9 +2217,6 @@
this._name = t0;
this.__late_helper$_value = null;
},
- _checkLength($length) {
- return $length;
- },
_ensureNativeList(list) {
var t1, result, i;
if (type$.JSIndexable_dynamic._is(list))
@@ -2283,9 +2261,6 @@
},
NativeTypedData: function NativeTypedData() {
},
- _UnmodifiableNativeByteBufferView: function _UnmodifiableNativeByteBufferView(t0) {
- this._data = t0;
- },
NativeByteData: function NativeByteData() {
},
NativeTypedArray: function NativeTypedArray() {
@@ -3903,78 +3878,6 @@
}($function, 1);
return $.Zone__current.registerBinaryCallback$3$1(new A._wrapJsFunctionForAsync_closure($protected), type$.void, type$.int, type$.dynamic);
},
- _asyncStarHelper(object, bodyFunctionOrErrorCode, controller) {
- var t1, t2, t3,
- _s10_ = "controller";
- if (bodyFunctionOrErrorCode === 0) {
- t1 = controller.cancelationFuture;
- if (t1 != null)
- t1._completeWithValue$1(null);
- else {
- t1 = controller.___AsyncStarStreamController_controller_A;
- t1 === $ && A.throwLateFieldNI(_s10_);
- t1.close$0();
- }
- return;
- } else if (bodyFunctionOrErrorCode === 1) {
- t1 = controller.cancelationFuture;
- if (t1 != null) {
- t2 = A.unwrapException(object);
- t3 = A.getTraceFromException(object);
- t1._completeErrorObject$1(new A.AsyncError(t2, t3));
- } else {
- t1 = A.unwrapException(object);
- t2 = A.getTraceFromException(object);
- t3 = controller.___AsyncStarStreamController_controller_A;
- t3 === $ && A.throwLateFieldNI(_s10_);
- t3.addError$2(t1, t2);
- controller.___AsyncStarStreamController_controller_A.close$0();
- }
- return;
- }
- type$.void_Function_int_dynamic._as(bodyFunctionOrErrorCode);
- if (object instanceof A._IterationMarker) {
- if (controller.cancelationFuture != null) {
- bodyFunctionOrErrorCode.call$2(2, null);
- return;
- }
- t1 = object.state;
- if (t1 === 0) {
- t1 = object.value;
- t2 = controller.___AsyncStarStreamController_controller_A;
- t2 === $ && A.throwLateFieldNI(_s10_);
- t2.add$1(0, controller.$ti._precomputed1._as(t1));
- A.scheduleMicrotask(new A._asyncStarHelper_closure(controller, bodyFunctionOrErrorCode));
- return;
- } else if (t1 === 1) {
- t1 = controller.$ti._eval$1("Stream<1>")._as(type$.Stream_dynamic._as(object.value));
- t2 = controller.___AsyncStarStreamController_controller_A;
- t2 === $ && A.throwLateFieldNI(_s10_);
- t2.addStream$2$cancelOnError(t1, false).then$1$1(new A._asyncStarHelper_closure0(controller, bodyFunctionOrErrorCode), type$.Null);
- return;
- }
- }
- A._awaitOnObject(object, bodyFunctionOrErrorCode);
- },
- _streamOfController(controller) {
- var t1 = controller.___AsyncStarStreamController_controller_A;
- t1 === $ && A.throwLateFieldNI("controller");
- return new A._ControllerStream(t1, A._instanceType(t1)._eval$1("_ControllerStream<1>"));
- },
- _AsyncStarStreamController$(body, $T) {
- var t1 = new A._AsyncStarStreamController($T._eval$1("_AsyncStarStreamController<0>"));
- t1._AsyncStarStreamController$1(body, $T);
- return t1;
- },
- _makeAsyncStarStreamController(body, $T) {
- return A._AsyncStarStreamController$(body, $T);
- },
- _IterationMarker_yieldStar(values) {
- return new A._IterationMarker(values, 1);
- },
- _IterationMarker_yieldSingle(value) {
- return new A._IterationMarker(value, 0);
- },
AsyncError_defaultStackTrace(error) {
var stackTrace;
if (type$.Error._is(error)) {
@@ -4274,12 +4177,21 @@
t1 = $.Zone__current;
t1.scheduleMicrotask$1(t1.bindCallbackGuarded$1(callback));
},
+ Stream_Stream$value(value, $T) {
+ var _null = null,
+ t1 = $T._eval$1("_AsyncStreamController<0>"),
+ t2 = new A._AsyncStreamController(_null, _null, _null, _null, t1);
+ t2._add$1(value);
+ t2._closeUnchecked$0();
+ return new A._ControllerStream(t2, t1._eval$1("_ControllerStream<1>"));
+ },
StreamIterator_StreamIterator(stream, $T) {
A.checkNotNullable(stream, "stream", type$.Object);
return new A._StreamIterator($T._eval$1("_StreamIterator<0>"));
},
- StreamController_StreamController(onCancel, onListen, onResume, sync, $T) {
- return sync ? new A._SyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, null, onResume, onCancel, $T._eval$1("_AsyncStreamController<0>"));
+ StreamController_StreamController(onCancel, onListen, sync, $T) {
+ var _null = null;
+ return sync ? new A._SyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_SyncStreamController<0>")) : new A._AsyncStreamController(onListen, _null, _null, onCancel, $T._eval$1("_AsyncStreamController<0>"));
},
_runGuarded(notificationHandler) {
var e, s, exception;
@@ -4293,9 +4205,6 @@
$.Zone__current.handleUncaughtError$2(e, s);
}
},
- _AddStreamState_makeErrorHandler(controller) {
- return new A._AddStreamState_makeErrorHandler_closure(controller);
- },
_BufferingStreamSubscription__registerDataHandler(zone, handleData, $T) {
var t1 = handleData == null ? A.async___nullDataHandler$closure() : handleData;
return zone.registerUnaryCallback$2$1(t1, type$.void, $T);
@@ -4515,45 +4424,6 @@
_wrapJsFunctionForAsync_closure: function _wrapJsFunctionForAsync_closure(t0) {
this.$protected = t0;
},
- _asyncStarHelper_closure: function _asyncStarHelper_closure(t0, t1) {
- this.controller = t0;
- this.bodyFunction = t1;
- },
- _asyncStarHelper_closure0: function _asyncStarHelper_closure0(t0, t1) {
- this.controller = t0;
- this.bodyFunction = t1;
- },
- _AsyncStarStreamController: function _AsyncStarStreamController(t0) {
- var _ = this;
- _.___AsyncStarStreamController_controller_A = $;
- _.isSuspended = false;
- _.cancelationFuture = null;
- _.$ti = t0;
- },
- _AsyncStarStreamController__resumeBody: function _AsyncStarStreamController__resumeBody(t0) {
- this.body = t0;
- },
- _AsyncStarStreamController__resumeBody_closure: function _AsyncStarStreamController__resumeBody_closure(t0) {
- this.body = t0;
- },
- _AsyncStarStreamController_closure0: function _AsyncStarStreamController_closure0(t0) {
- this._resumeBody = t0;
- },
- _AsyncStarStreamController_closure1: function _AsyncStarStreamController_closure1(t0, t1) {
- this.$this = t0;
- this._resumeBody = t1;
- },
- _AsyncStarStreamController_closure: function _AsyncStarStreamController_closure(t0, t1) {
- this.$this = t0;
- this.body = t1;
- },
- _AsyncStarStreamController__closure: function _AsyncStarStreamController__closure(t0) {
- this.body = t0;
- },
- _IterationMarker: function _IterationMarker(t0, t1) {
- this.value = t0;
- this.state = t1;
- },
AsyncError: function AsyncError(t0, t1) {
this.error = t0;
this.stackTrace = t1;
@@ -4723,21 +4593,6 @@
this._async$_target = t0;
this.$ti = t1;
},
- _AddStreamState: function _AddStreamState() {
- },
- _AddStreamState_makeErrorHandler_closure: function _AddStreamState_makeErrorHandler_closure(t0) {
- this.controller = t0;
- },
- _AddStreamState_cancel_closure: function _AddStreamState_cancel_closure(t0) {
- this.$this = t0;
- },
- _StreamControllerAddStreamState: function _StreamControllerAddStreamState(t0, t1, t2, t3) {
- var _ = this;
- _._varData = t0;
- _.addStreamFuture = t1;
- _.addSubscription = t2;
- _.$ti = t3;
- },
_BufferingStreamSubscription: function _BufferingStreamSubscription() {
},
_BufferingStreamSubscription_asFuture_closure: function _BufferingStreamSubscription_asFuture_closure(t0, t1) {
@@ -5131,7 +4986,7 @@
},
_LinkedHashSetCell: function _LinkedHashSetCell(t0) {
this._element = t0;
- this._collection$_next = null;
+ this._collection$_previous = this._collection$_next = null;
},
_LinkedHashSetIterator: function _LinkedHashSetIterator(t0, t1, t2) {
var _ = this;
@@ -5618,7 +5473,7 @@
_JsonMap: function _JsonMap(t0, t1) {
this._original = t0;
this._processed = t1;
- this._convert$_data = null;
+ this._data = null;
},
_JsonMapKeyIterable: function _JsonMapKeyIterable(t0) {
this._parent = t0;
@@ -7790,17 +7645,6 @@
return callback.call$1(arg1);
return callback.call$0();
},
- _callDartFunctionFast3(callback, arg1, arg2, arg3, $length) {
- type$.Function._as(callback);
- A._asInt($length);
- if ($length >= 3)
- return callback.call$3(arg1, arg2, arg3);
- if ($length === 2)
- return callback.call$2(arg1, arg2);
- if ($length === 1)
- return callback.call$1(arg1);
- return callback.call$0();
- },
_noJsifyRequired(o) {
return o == null || A._isBool(o) || typeof o == "number" || typeof o == "string" || type$.Int8List._is(o) || type$.Uint8List._is(o) || type$.Uint8ClampedList._is(o) || type$.Int16List._is(o) || type$.Uint16List._is(o) || type$.Int32List._is(o) || type$.Uint32List._is(o) || type$.Float32List._is(o) || type$.Float64List._is(o) || type$.ByteBuffer._is(o) || type$.ByteData._is(o);
},
@@ -7871,9 +7715,6 @@
},
_JSRandom: function _JSRandom() {
},
- _JSSecureRandom: function _JSSecureRandom(t0) {
- this._math$_buffer = t0;
- },
AsyncMemoizer: function AsyncMemoizer(t0, t1) {
this._async_memoizer$_completer = t0;
this.$ti = t1;
@@ -8956,10 +8797,6 @@
this.iterator = t1;
this.$ti = t2;
},
- RequestAbortedException: function RequestAbortedException(t0, t1) {
- this.message = t0;
- this.uri = t1;
- },
BaseClient: function BaseClient() {
},
BaseRequest: function BaseRequest() {
@@ -8970,162 +8807,39 @@
},
BaseResponse: function BaseResponse() {
},
- _rethrowAsClientException(e, st, request) {
- var t1, message;
- if (type$.JSObject._is(e))
- t1 = A._asString(e.name) === "AbortError";
- else
- t1 = false;
- if (t1)
- A.Error_throwWithStackTrace(new A.RequestAbortedException("Request aborted by `abortTrigger`", request.url), st);
- if (!(e instanceof A.ClientException)) {
- message = J.toString$0$(e);
- if (B.JSString_methods.startsWith$1(message, "TypeError: "))
- message = B.JSString_methods.substring$1(message, 11);
- e = new A.ClientException(message, request.url);
+ _extension_0_get_responseHeaders(_this) {
+ var _i, header, splitIdx, key, value,
+ t1 = type$.String,
+ headers = A.LinkedHashMap_LinkedHashMap$_empty(t1, t1),
+ headersList = A._asString(_this.getAllResponseHeaders()).split("\r\n");
+ for (t1 = headersList.length, _i = 0; _i < t1; ++_i) {
+ header = headersList[_i];
+ if (header.length === 0)
+ continue;
+ splitIdx = B.JSString_methods.indexOf$1(header, ": ");
+ if (splitIdx === -1)
+ continue;
+ key = B.JSString_methods.substring$2(header, 0, splitIdx).toLowerCase();
+ value = B.JSString_methods.substring$1(header, splitIdx + 2);
+ if (headers.containsKey$1(key))
+ headers.$indexSet(0, key, A.S(headers.$index(0, key)) + ", " + value);
+ else
+ headers.$indexSet(0, key, value);
}
- A.Error_throwWithStackTrace(e, st);
- },
- _readBody(request, response) {
- return A._readBody$body(request, response);
- },
- _readBody$body(request, response) {
- var $async$_readBody = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
- switch ($async$errorCode) {
- case 2:
- $async$next = $async$nextWhenCanceled;
- $async$goto = $async$next.pop();
- break;
- case 1:
- $async$errorStack.push($async$result);
- $async$goto = $async$handler;
- }
- while (true)
- switch ($async$goto) {
- case 0:
- // Function start
- _box_0 = {};
- t1 = A._asJSObjectQ(response.body);
- bodyStreamReader = t1 == null ? null : A._asJSObject(t1.getReader());
- if (bodyStreamReader == null) {
- // goto return
- $async$goto = 1;
- break;
- }
- isDone = false;
- _box_0.isError = false;
- $async$handler = 4;
- t1 = type$.NativeUint8List, t2 = type$.JSObject;
- case 7:
- // for condition
- // trivial condition
- $async$goto = 9;
- return A._asyncStarHelper(A.promiseToFuture(A._asJSObject(bodyStreamReader.read()), t2), $async$_readBody, $async$controller);
- case 9:
- // returning from await.
- chunk = $async$result;
- if (A._asBool(chunk.done)) {
- isDone = true;
- // goto after for
- $async$goto = 8;
- break;
- }
- t3 = chunk.value;
- t3.toString;
- $async$goto = 10;
- $async$nextWhenCanceled = [1, 5];
- return A._asyncStarHelper(A._IterationMarker_yieldSingle(t1._as(t3)), $async$_readBody, $async$controller);
- case 10:
- // after yield
- // goto for condition
- $async$goto = 7;
- break;
- case 8:
- // after for
- $async$next.push(6);
- // goto finally
- $async$goto = 5;
- break;
- case 4:
- // catch
- $async$handler = 3;
- $async$exception = $async$errorStack.pop();
- e = A.unwrapException($async$exception);
- st = A.getTraceFromException($async$exception);
- _box_0.isError = true;
- A._rethrowAsClientException(e, st, request);
- $async$next.push(6);
- // goto finally
- $async$goto = 5;
- break;
- case 3:
- // uncaught
- $async$next = [2];
- case 5:
- // finally
- $async$handler = 2;
- $async$goto = !isDone ? 11 : 12;
- break;
- case 11:
- // then
- $async$handler = 14;
- $async$goto = 17;
- return A._asyncStarHelper(A.promiseToFuture(A._asJSObject(bodyStreamReader.cancel()), type$.nullable_Object).catchError$2$test(new A._readBody_closure(), new A._readBody_closure0(_box_0)), $async$_readBody, $async$controller);
- case 17:
- // returning from await.
- $async$handler = 2;
- // goto after finally
- $async$goto = 16;
- break;
- case 14:
- // catch
- $async$handler = 13;
- $async$exception1 = $async$errorStack.pop();
- e0 = A.unwrapException($async$exception1);
- st0 = A.getTraceFromException($async$exception1);
- if (!_box_0.isError)
- A._rethrowAsClientException(e0, st0, request);
- // goto after finally
- $async$goto = 16;
- break;
- case 13:
- // uncaught
- // goto rethrow
- $async$goto = 2;
- break;
- case 16:
- // after finally
- case 12:
- // join
- // goto the next finally handler
- $async$goto = $async$next.pop();
- break;
- case 6:
- // after finally
- case 1:
- // return
- return A._asyncStarHelper(null, 0, $async$controller);
- case 2:
- // rethrow
- return A._asyncStarHelper($async$errorStack.at(-1), 1, $async$controller);
- }
- });
- var $async$goto = 0,
- $async$controller = A._makeAsyncStarStreamController($async$_readBody, type$.List_int),
- $async$nextWhenCanceled, $async$handler = 2, $async$errorStack = [], $async$next = [], isDone, chunk, e, st, e0, st0, t2, t3, exception, _box_0, t1, bodyStreamReader, $async$exception, $async$exception1;
- return A._streamOfController($async$controller);
+ return headers;
},
BrowserClient: function BrowserClient(t0) {
+ this._xhrs = t0;
this.withCredentials = false;
- this._openRequestAbortControllers = t0;
},
- BrowserClient_send_closure: function BrowserClient_send_closure(t0) {
- this.headers = t0;
+ BrowserClient_send_closure: function BrowserClient_send_closure(t0, t1, t2) {
+ this.xhr = t0;
+ this.completer = t1;
+ this.request = t2;
},
- _readBody_closure: function _readBody_closure() {
- },
- _readBody_closure0: function _readBody_closure0(t0) {
- this._box_0 = t0;
+ BrowserClient_send_closure0: function BrowserClient_send_closure0(t0, t1) {
+ this.completer = t0;
+ this.request = t1;
},
ByteStream: function ByteStream(t0) {
this._stream = t0;
@@ -9133,9 +8847,6 @@
ByteStream_toBytes_closure: function ByteStream_toBytes_closure(t0) {
this.completer = t0;
},
- ClientException$(message, uri) {
- return new A.ClientException(message, uri);
- },
ClientException: function ClientException(t0, t1) {
this.message = t0;
this.uri = t1;
@@ -9714,11 +9425,11 @@
SseClient$(serverUrl, debugKey) {
var t3, t4, t5, _null = null,
t1 = type$.String,
- t2 = A.StreamController_StreamController(_null, _null, _null, false, t1);
- t1 = A.StreamController_StreamController(_null, _null, _null, false, t1);
+ t2 = A.StreamController_StreamController(_null, _null, false, t1);
+ t1 = A.StreamController_StreamController(_null, _null, false, t1);
t3 = A.Logger_Logger("SseClient");
t4 = $.Zone__current;
- t5 = A.generateId();
+ t5 = A.generateUuidV4();
t1 = new A.SseClient(debugKey + "-" + t5, t2, t1, t3, new A._AsyncCompleter(new A._Future(t4, type$._Future_void), type$._AsyncCompleter_void));
t1.SseClient$2$debugKey(serverUrl, debugKey);
return t1;
@@ -9752,6 +9463,21 @@
this.$this = t1;
this.message = t2;
},
+ generateUuidV4() {
+ var t1 = new A.generateUuidV4_printDigits(),
+ t2 = new A.generateUuidV4_bitsDigits(t1, new A.generateUuidV4_generateBits(B.C__JSRandom)),
+ t3 = B.C__JSRandom.nextInt$1(4);
+ return A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + "-" + A.S(t2.call$2(16, 4)) + "-4" + A.S(t2.call$2(12, 3)) + "-" + A.S(t1.call$2(8 + t3, 1)) + A.S(t2.call$2(12, 3)) + "-" + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4)) + A.S(t2.call$2(16, 4));
+ },
+ generateUuidV4_generateBits: function generateUuidV4_generateBits(t0) {
+ this.random = t0;
+ },
+ generateUuidV4_printDigits: function generateUuidV4_printDigits() {
+ },
+ generateUuidV4_bitsDigits: function generateUuidV4_bitsDigits(t0, t1) {
+ this.printDigits = t0;
+ this.generateBits = t1;
+ },
GuaranteeChannel$(innerStream, innerSink, allowSinkErrors, $T) {
var t2, t1 = {};
t1.innerStream = innerStream;
@@ -9804,9 +9530,13 @@
_._string_scanner$_position = 0;
_._lastMatchPosition = _._lastMatch = null;
},
+ MathRNG$() {
+ return new A.MathRNG(B.C__JSRandom);
+ },
RNG: function RNG() {
},
- CryptoRNG: function CryptoRNG() {
+ MathRNG: function MathRNG(t0) {
+ this._rnd = t0;
},
UuidV1: function UuidV1(t0) {
this.goptions = t0;
@@ -9875,14 +9605,15 @@
t1 = type$.JSArray_nullable_Object._as(new t1());
webSocket = A._asJSObject(new t2(t3, t1));
webSocket.binaryType = "arraybuffer";
- browserSocket = new A.BrowserWebSocket(webSocket, A.StreamController_StreamController(null, null, null, false, type$.WebSocketEvent));
+ browserSocket = new A.BrowserWebSocket(webSocket, A.StreamController_StreamController(null, null, false, type$.WebSocketEvent));
t1 = new A._Future($.Zone__current, type$._Future_BrowserWebSocket);
webSocketConnected = new A._AsyncCompleter(t1, type$._AsyncCompleter_BrowserWebSocket);
if (A._asInt(webSocket.readyState) === 1)
webSocketConnected.complete$1(browserSocket);
- else if (A._asInt(webSocket.readyState) === 2 || A._asInt(webSocket.readyState) === 3)
- webSocketConnected.completeError$1(new A.WebSocketException("Unexpected WebSocket state: " + A._asInt(webSocket.readyState) + ", expected CONNECTING (0) or OPEN (1)"));
- else
+ else if (A._asInt(webSocket.readyState) === 2 || A._asInt(webSocket.readyState) === 3) {
+ A._asInt(webSocket.readyState);
+ webSocketConnected.completeError$1(new A.WebSocketException());
+ } else
new A._EventStream(webSocket, "open", false, type$._EventStream_JSObject).get$first(0).then$1$1(new A.BrowserWebSocket_connect_closure(webSocketConnected, browserSocket), type$.void);
t2 = type$._EventStream_JSObject;
t3 = type$.void;
@@ -9920,7 +9651,7 @@
this.browserSocket = t1;
},
WebSocketConnectionClosed$() {
- return new A.WebSocketConnectionClosed("Connection Closed");
+ return new A.WebSocketConnectionClosed();
},
WebSocketEvent: function WebSocketEvent() {
},
@@ -9934,19 +9665,17 @@
this.code = t0;
this.reason = t1;
},
- WebSocketException: function WebSocketException(t0) {
- this.message = t0;
+ WebSocketException: function WebSocketException() {
},
- WebSocketConnectionClosed: function WebSocketConnectionClosed(t0) {
- this.message = t0;
+ WebSocketConnectionClosed: function WebSocketConnectionClosed() {
},
AdapterWebSocketChannel$(webSocket) {
var _null = null,
t1 = $.Zone__current,
t2 = new A.StreamChannelController(type$.StreamChannelController_nullable_Object),
t3 = type$.nullable_Object,
- localToForeignController = A.StreamController_StreamController(_null, _null, _null, true, t3),
- foreignToLocalController = A.StreamController_StreamController(_null, _null, _null, true, t3),
+ localToForeignController = A.StreamController_StreamController(_null, _null, true, t3),
+ foreignToLocalController = A.StreamController_StreamController(_null, _null, true, t3),
t4 = A._instanceType(foreignToLocalController),
t5 = A._instanceType(localToForeignController);
t2.__StreamChannelController__local_F = A.GuaranteeChannel$(new A._ControllerStream(foreignToLocalController, t4._eval$1("_ControllerStream<1>")), new A._StreamSinkWrapper(localToForeignController, t5._eval$1("_StreamSinkWrapper<1>")), true, t3);
@@ -10042,14 +9771,14 @@
switch ($async$goto) {
case 0:
// Function start
- client = new A.BrowserClient(A._setArrayType([], type$.JSArray_JSObject));
+ client = new A.BrowserClient(A.LinkedHashSet_LinkedHashSet$_empty(type$.JSObject));
client.withCredentials = true;
$async$goto = 3;
return A._asyncAwait(client._sendUnstreamed$3("GET", A.Uri_parse(authUrl), null), $async$_authenticateUser);
case 3:
// returning from await.
response = $async$result;
- $async$returnValue = B.JSString_methods.contains$1(A.encodingForContentTypeHeader(A._contentTypeForHeaders(response.headers)).decode$1(response.bodyBytes), "Dart Debug Authentication Success!");
+ $async$returnValue = B.JSString_methods.contains$1(A.encodingForCharset(A._contentTypeForHeaders(response.headers).parameters._collection$_map.$index(0, "charset")).decode$1(response.bodyBytes), "Dart Debug Authentication Success!");
// goto return
$async$goto = 1;
break;
@@ -10588,24 +10317,18 @@
else
return 255;
},
- encodingForContentTypeHeader(contentTypeHeader) {
- var t1,
- charset = contentTypeHeader.parameters._collection$_map.$index(0, "charset");
- if (contentTypeHeader.type === "application" && contentTypeHeader.subtype === "json" && charset == null)
- return B.C_Utf8Codec;
- if (charset != null) {
- t1 = A.Encoding_getByName(charset);
- if (t1 == null)
- t1 = B.C_Latin1Codec;
- } else
- t1 = B.C_Latin1Codec;
- return t1;
+ encodingForCharset(charset) {
+ var t1;
+ if (charset == null)
+ return B.C_Latin1Codec;
+ t1 = A.Encoding_getByName(charset);
+ return t1 == null ? B.C_Latin1Codec : t1;
},
toUint8List(input) {
return input;
},
toByteStream(stream) {
- return new A.ByteStream(stream);
+ return stream;
},
wrapFormatException($name, value, body, $T) {
var error, error0, t1, exception;
@@ -10743,16 +10466,6 @@
}
return null;
},
- generateId() {
- var i,
- chars = A.List_List$filled(6, 0, false, type$.int),
- bits = B.C__JSRandom.nextInt$1(4294967296);
- for (i = 0; i < 6; ++i) {
- B.JSArray_methods.$indexSet(chars, i, string$.ABCDEF.charCodeAt(bits & 63));
- bits = bits >>> 6;
- }
- return A.String_String$fromCharCodes(chars, 0, null);
- },
UuidParsing_unparse(buffer) {
var t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17,
t1 = buffer.length;
@@ -10956,16 +10669,6 @@
throw A.wrapException(A.diagnoseIndexError(receiver, -1));
return receiver.pop();
},
- remove$1(receiver, element) {
- var i;
- receiver.$flags & 1 && A.throwUnsupportedOperation(receiver, "remove", 1);
- for (i = 0; i < receiver.length; ++i)
- if (J.$eq$(receiver[i], element)) {
- receiver.splice(i, 1);
- return true;
- }
- return false;
- },
_removeWhere$2(receiver, test, removeMatching) {
var retained, end, i, element, t1;
A._arrayInstanceType(receiver)._eval$1("bool(1)")._as(test);
@@ -11437,6 +11140,9 @@
throw A.wrapException(A.argumentErrorValue(other));
return other > 31 ? 0 : receiver << other >>> 0;
},
+ _shlPositive$1(receiver, other) {
+ return other > 31 ? 0 : receiver << other >>> 0;
+ },
$shr(receiver, other) {
var t1;
if (other < 0)
@@ -11821,7 +11527,7 @@
call$0() {
return A.Future_Future$value(null, type$.void);
},
- $signature: 19
+ $signature: 16
};
A.SentinelValue.prototype = {};
A.EfficientLengthIterable.prototype = {};
@@ -12689,7 +12395,7 @@
if (index < 0)
return null;
cell = bucket.splice(index, 1)[0];
- _this._unlinkCell$1(cell);
+ _this.__js_helper$_unlinkCell$1(cell);
if (bucket.length === 0)
delete rest[hash];
return cell.hashMapCellValue;
@@ -12724,7 +12430,7 @@
cell = table[key];
if (cell == null)
return null;
- this._unlinkCell$1(cell);
+ this.__js_helper$_unlinkCell$1(cell);
delete table[key];
return cell.hashMapCellValue;
},
@@ -12747,7 +12453,7 @@
_this._modified$0();
return cell;
},
- _unlinkCell$1(cell) {
+ __js_helper$_unlinkCell$1(cell) {
var _this = this,
previous = cell._previous,
next = cell._next;
@@ -12922,19 +12628,19 @@
call$1(o) {
return this.getTag(o);
},
- $signature: 6
+ $signature: 4
};
A.initHooks_closure0.prototype = {
call$2(o, tag) {
return this.getUnknownTag(o, tag);
},
- $signature: 93
+ $signature: 37
};
A.initHooks_closure1.prototype = {
call$1(tag) {
return this.prototypeForTag(A._asString(tag));
},
- $signature: 86
+ $signature: 36
};
A._Record.prototype = {
get$runtimeType(_) {
@@ -13228,21 +12934,11 @@
get$runtimeType(receiver) {
return B.Type_ByteBuffer_rqD;
},
- asUint8List$2(receiver, offsetInBytes, $length) {
- return $length == null ? new Uint8Array(receiver, offsetInBytes) : new Uint8Array(receiver, offsetInBytes, $length);
- },
$isTrustedGetRuntimeType: 1,
- $isNativeByteBuffer: 1,
$isByteBuffer: 1
};
A.NativeArrayBuffer.prototype = {$isNativeArrayBuffer: 1};
A.NativeTypedData.prototype = {
- get$buffer(receiver) {
- if (((receiver.$flags | 0) & 2) !== 0)
- return new A._UnmodifiableNativeByteBufferView(receiver.buffer);
- else
- return receiver.buffer;
- },
_invalidPosition$3(receiver, position, $length, $name) {
var t1 = A.RangeError$range(position, 0, $length, $name, null);
throw A.wrapException(t1);
@@ -13252,14 +12948,6 @@
this._invalidPosition$3(receiver, position, $length, $name);
}
};
- A._UnmodifiableNativeByteBufferView.prototype = {
- asUint8List$2(_, offsetInBytes, $length) {
- var result = A.NativeUint8List_NativeUint8List$view(this._data, offsetInBytes, $length);
- result.$flags = 3;
- return result;
- },
- $isByteBuffer: 1
- };
A.NativeByteData.prototype = {
get$runtimeType(receiver) {
return B.Type_ByteData_9dB;
@@ -13513,7 +13201,7 @@
t1.storedCallback = null;
f.call$0();
},
- $signature: 4
+ $signature: 6
};
A._AsyncRun__initializeScheduleImmediate_closure.prototype = {
call$1(callback) {
@@ -13523,7 +13211,7 @@
t2 = this.span;
t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2);
},
- $signature: 69
+ $signature: 38
};
A._AsyncRun__scheduleImmediateJsOverride_internalCallback.prototype = {
call$0() {
@@ -13629,98 +13317,13 @@
call$2(error, stackTrace) {
this.bodyFunction.call$2(1, new A.ExceptionAndStackTrace(error, type$.StackTrace._as(stackTrace)));
},
- $signature: 66
+ $signature: 57
};
A._wrapJsFunctionForAsync_closure.prototype = {
call$2(errorCode, result) {
this.$protected(A._asInt(errorCode), result);
},
- $signature: 64
- };
- A._asyncStarHelper_closure.prototype = {
- call$0() {
- var t3,
- t1 = this.controller,
- t2 = t1.___AsyncStarStreamController_controller_A;
- t2 === $ && A.throwLateFieldNI("controller");
- t3 = t2._state;
- if ((t3 & 1) !== 0 ? (t2.get$_subscription()._state & 4) !== 0 : (t3 & 2) === 0) {
- t1.isSuspended = true;
- return;
- }
- t1 = t1.cancelationFuture != null ? 2 : 0;
- this.bodyFunction.call$2(t1, null);
- },
- $signature: 0
- };
- A._asyncStarHelper_closure0.prototype = {
- call$1(__wc0_formal) {
- var errorCode = this.controller.cancelationFuture != null ? 2 : 0;
- this.bodyFunction.call$2(errorCode, null);
- },
- $signature: 4
- };
- A._AsyncStarStreamController.prototype = {
- _AsyncStarStreamController$1(body, $T) {
- var _this = this,
- t1 = new A._AsyncStarStreamController__resumeBody(body);
- _this.___AsyncStarStreamController_controller_A = _this.$ti._eval$1("StreamController<1>")._as(A.StreamController_StreamController(new A._AsyncStarStreamController_closure(_this, body), new A._AsyncStarStreamController_closure0(t1), new A._AsyncStarStreamController_closure1(_this, t1), false, $T));
- }
- };
- A._AsyncStarStreamController__resumeBody.prototype = {
- call$0() {
- A.scheduleMicrotask(new A._AsyncStarStreamController__resumeBody_closure(this.body));
- },
- $signature: 1
- };
- A._AsyncStarStreamController__resumeBody_closure.prototype = {
- call$0() {
- this.body.call$2(0, null);
- },
- $signature: 0
- };
- A._AsyncStarStreamController_closure0.prototype = {
- call$0() {
- this._resumeBody.call$0();
- },
- $signature: 0
- };
- A._AsyncStarStreamController_closure1.prototype = {
- call$0() {
- var t1 = this.$this;
- if (t1.isSuspended) {
- t1.isSuspended = false;
- this._resumeBody.call$0();
- }
- },
- $signature: 0
- };
- A._AsyncStarStreamController_closure.prototype = {
- call$0() {
- var t1 = this.$this,
- t2 = t1.___AsyncStarStreamController_controller_A;
- t2 === $ && A.throwLateFieldNI("controller");
- if ((t2._state & 4) === 0) {
- t1.cancelationFuture = new A._Future($.Zone__current, type$._Future_dynamic);
- if (t1.isSuspended) {
- t1.isSuspended = false;
- A.scheduleMicrotask(new A._AsyncStarStreamController__closure(this.body));
- }
- return t1.cancelationFuture;
- }
- },
- $signature: 59
- };
- A._AsyncStarStreamController__closure.prototype = {
- call$0() {
- this.body.call$2(2, null);
- },
- $signature: 0
- };
- A._IterationMarker.prototype = {
- toString$0(_) {
- return "IterationMarker(" + this.state + ", " + A.S(this.value) + ")";
- }
+ $signature: 91
};
A.AsyncError.prototype = {
toString$0(_) {
@@ -13859,23 +13462,14 @@
this._addListener$1(new A._FutureListener(result, 19, f, onError, t1._eval$1("@<1>")._bind$1($E)._eval$1("_FutureListener<1,2>")));
return result;
},
- catchError$2$test(onError, test) {
- var t1, t2, result;
- type$.nullable_bool_Function_Object._as(test);
- t1 = this.$ti;
- t2 = $.Zone__current;
- result = new A._Future(t2, t1);
- if (t2 !== B.C__RootZone) {
- onError = A._registerErrorHandler(onError, t2);
- if (test != null)
- test = t2.registerUnaryCallback$2$1(test, type$.bool, type$.Object);
- }
- t2 = test == null ? 2 : 6;
- this._addListener$1(new A._FutureListener(result, t2, test, onError, t1._eval$1("_FutureListener<1,1>")));
- return result;
- },
catchError$1(onError) {
- return this.catchError$2$test(onError, null);
+ var t1 = this.$ti,
+ t2 = $.Zone__current,
+ result = new A._Future(t2, t1);
+ if (t2 !== B.C__RootZone)
+ onError = A._registerErrorHandler(onError, t2);
+ this._addListener$1(new A._FutureListener(result, 2, null, onError, t1._eval$1("_FutureListener<1,1>")));
+ return result;
},
whenComplete$1(action) {
var t1, t2, result;
@@ -14119,7 +13713,7 @@
call$1(__wc0_formal) {
this.joinedResult._completeWithResultOf$1(this.originalSource);
},
- $signature: 4
+ $signature: 6
};
A._Future__propagateToListeners_handleWhenCompleteCallback_closure0.prototype = {
call$2(e, s) {
@@ -14301,10 +13895,10 @@
if ((_this._state & 8) === 0)
return A._instanceType(_this)._eval$1("_PendingEvents<1>?")._as(_this._varData);
t1 = A._instanceType(_this);
- return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData)._varData);
+ return t1._eval$1("_PendingEvents<1>?")._as(t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData());
},
_ensurePendingEvents$0() {
- var events, t1, state, _this = this;
+ var events, t1, _this = this;
if ((_this._state & 8) === 0) {
events = _this._varData;
if (events == null)
@@ -14312,16 +13906,13 @@
return A._instanceType(_this)._eval$1("_PendingEvents<1>")._as(events);
}
t1 = A._instanceType(_this);
- state = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
- events = state._varData;
- if (events == null)
- events = state._varData = new A._PendingEvents(t1._eval$1("_PendingEvents<1>"));
+ events = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData).get$_varData();
return t1._eval$1("_PendingEvents<1>")._as(events);
},
get$_subscription() {
var varData = this._varData;
if ((this._state & 8) !== 0)
- varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData)._varData;
+ varData = type$._StreamControllerAddStreamState_nullable_Object._as(varData).get$_varData();
return A._instanceType(this)._eval$1("_ControllerSubscription<1>")._as(varData);
},
_badEventState$0() {
@@ -14329,31 +13920,6 @@
return new A.StateError("Cannot add event after closing");
return new A.StateError("Cannot add event while adding a stream");
},
- addStream$2$cancelOnError(source, cancelOnError) {
- var t2, t3, t4, t5, t6, _this = this,
- t1 = A._instanceType(_this);
- t1._eval$1("Stream<1>")._as(source);
- t2 = _this._state;
- if (t2 >= 4)
- throw A.wrapException(_this._badEventState$0());
- if ((t2 & 2) !== 0) {
- t1 = new A._Future($.Zone__current, type$._Future_dynamic);
- t1._asyncComplete$1(null);
- return t1;
- }
- t2 = _this._varData;
- t3 = cancelOnError === true;
- t4 = new A._Future($.Zone__current, type$._Future_dynamic);
- t5 = t1._eval$1("~(1)")._as(_this.get$_add());
- t6 = t3 ? A._AddStreamState_makeErrorHandler(_this) : _this.get$_addError();
- t6 = source.listen$4$cancelOnError$onDone$onError(t5, t3, _this.get$_close(), t6);
- t3 = _this._state;
- if ((t3 & 1) !== 0 ? (_this.get$_subscription()._state & 4) !== 0 : (t3 & 2) === 0)
- t6.pause$0();
- _this._varData = new A._StreamControllerAddStreamState(t2, t4, t6, t1._eval$1("_StreamControllerAddStreamState<1>"));
- _this._state |= 8;
- return t4;
- },
_ensureDoneFuture$0() {
var t1 = this._doneFuture;
if (t1 == null)
@@ -14368,13 +13934,19 @@
_this._add$1(value);
},
addError$2(error, stackTrace) {
- var _0_0;
+ var _0_0, t1, _this = this;
A._asObject(error);
type$.nullable_StackTrace._as(stackTrace);
- if (this._state >= 4)
- throw A.wrapException(this._badEventState$0());
+ if (_this._state >= 4)
+ throw A.wrapException(_this._badEventState$0());
_0_0 = A._interceptUserError(error, stackTrace);
- this._addError$2(_0_0.error, _0_0.stackTrace);
+ error = _0_0.error;
+ stackTrace = _0_0.stackTrace;
+ t1 = _this._state;
+ if ((t1 & 1) !== 0)
+ _this._sendError$2(error, stackTrace);
+ else if ((t1 & 3) === 0)
+ _this._ensurePendingEvents$0().add$1(0, new A._DelayedError(error, stackTrace));
},
addError$1(error) {
return this.addError$2(error, null);
@@ -14406,23 +13978,6 @@
else if ((t2 & 3) === 0)
_this._ensurePendingEvents$0().add$1(0, new A._DelayedData(value, t1._eval$1("_DelayedData<1>")));
},
- _addError$2(error, stackTrace) {
- var t1;
- A._asObject(error);
- type$.StackTrace._as(stackTrace);
- t1 = this._state;
- if ((t1 & 1) !== 0)
- this._sendError$2(error, stackTrace);
- else if ((t1 & 3) === 0)
- this._ensurePendingEvents$0().add$1(0, new A._DelayedError(error, stackTrace));
- },
- _close$0() {
- var _this = this,
- addState = A._instanceType(_this)._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
- _this._varData = addState._varData;
- _this._state &= 4294967287;
- addState.addStreamFuture._asyncComplete$1(null);
- },
_subscribe$4(onData, onError, onDone, cancelOnError) {
var t2, t3, t4, t5, t6, t7, subscription, pendingEvents, addState, _this = this,
t1 = A._instanceType(_this);
@@ -14440,8 +13995,8 @@
pendingEvents = _this.get$_pendingEvents();
if (((_this._state |= 1) & 8) !== 0) {
addState = t1._eval$1("_StreamControllerAddStreamState<1>")._as(_this._varData);
- addState._varData = subscription;
- addState.addSubscription.resume$0();
+ addState.set$_varData(subscription);
+ addState.resume$0();
} else
_this._varData = subscription;
subscription._setPendingEvents$1(pendingEvents);
@@ -14550,7 +14105,7 @@
t2 = A._instanceType(t1);
t2._eval$1("StreamSubscription<1>")._as(this);
if ((t1._state & 8) !== 0)
- t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.pause$0();
+ t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).pause$0();
A._runGuarded(t1.onPause);
},
_onResume$0() {
@@ -14558,7 +14113,7 @@
t2 = A._instanceType(t1);
t2._eval$1("StreamSubscription<1>")._as(this);
if ((t1._state & 8) !== 0)
- t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).addSubscription.resume$0();
+ t2._eval$1("_StreamControllerAddStreamState<1>")._as(t1._varData).resume$0();
A._runGuarded(t1.onResume);
}
};
@@ -14568,27 +14123,6 @@
},
$isStreamSink: 1
};
- A._AddStreamState.prototype = {
- cancel$0() {
- var cancel = this.addSubscription.cancel$0();
- return cancel.whenComplete$1(new A._AddStreamState_cancel_closure(this));
- }
- };
- A._AddStreamState_makeErrorHandler_closure.prototype = {
- call$2(e, s) {
- var t1 = this.controller;
- t1._addError$2(A._asObject(e), type$.StackTrace._as(s));
- t1._close$0();
- },
- $signature: 5
- };
- A._AddStreamState_cancel_closure.prototype = {
- call$0() {
- this.$this.addStreamFuture._asyncComplete$1(null);
- },
- $signature: 1
- };
- A._StreamControllerAddStreamState.prototype = {};
A._BufferingStreamSubscription.prototype = {
_setPendingEvents$1(pendingEvents) {
var _this = this;
@@ -15598,7 +15132,7 @@
t2._processUncaughtError$3(zone, A._asObject(e), t1._as(s));
}
},
- $signature: 55
+ $signature: 47
};
A._HashMap.prototype = {
get$length(_) {
@@ -15823,7 +15357,7 @@
call$1(v) {
return this.K._is(v);
},
- $signature: 12
+ $signature: 14
};
A._HashMapKeyIterable.prototype = {
get$length(_) {
@@ -15904,7 +15438,7 @@
call$1(v) {
return this.K._is(v);
},
- $signature: 12
+ $signature: 14
};
A._HashSet.prototype = {
get$iterator(_) {
@@ -16160,6 +15694,26 @@
}
return true;
},
+ remove$1(_, object) {
+ var t1 = this._remove$1(object);
+ return t1;
+ },
+ _remove$1(object) {
+ var hash, bucket, index, cell, _this = this,
+ rest = _this._collection$_rest;
+ if (rest == null)
+ return false;
+ hash = _this._computeHashCode$1(object);
+ bucket = rest[hash];
+ index = _this._findBucketIndex$2(bucket, object);
+ if (index < 0)
+ return false;
+ cell = bucket.splice(index, 1)[0];
+ if (0 === bucket.length)
+ delete rest[hash];
+ _this._unlinkCell$1(cell);
+ return true;
+ },
_collection$_addHashTableEntry$2(table, element) {
A._instanceType(this)._precomputed1._as(element);
if (type$.nullable__LinkedHashSetCell._as(table[element]) != null)
@@ -16167,17 +15721,39 @@
table[element] = this._collection$_newLinkedCell$1(element);
return true;
},
+ _collection$_modified$0() {
+ this._collection$_modifications = this._collection$_modifications + 1 & 1073741823;
+ },
_collection$_newLinkedCell$1(element) {
- var _this = this,
+ var t1, _this = this,
cell = new A._LinkedHashSetCell(A._instanceType(_this)._precomputed1._as(element));
if (_this._collection$_first == null)
_this._collection$_first = _this._collection$_last = cell;
- else
- _this._collection$_last = _this._collection$_last._collection$_next = cell;
+ else {
+ t1 = _this._collection$_last;
+ t1.toString;
+ cell._collection$_previous = t1;
+ _this._collection$_last = t1._collection$_next = cell;
+ }
++_this._collection$_length;
- _this._collection$_modifications = _this._collection$_modifications + 1 & 1073741823;
+ _this._collection$_modified$0();
return cell;
},
+ _unlinkCell$1(cell) {
+ var _this = this,
+ previous = cell._collection$_previous,
+ next = cell._collection$_next;
+ if (previous == null)
+ _this._collection$_first = next;
+ else
+ previous._collection$_next = next;
+ if (next == null)
+ _this._collection$_last = previous;
+ else
+ next._collection$_previous = previous;
+ --_this._collection$_length;
+ _this._collection$_modified$0();
+ },
_computeHashCode$1(element) {
return J.get$hashCode$(element) & 1073741823;
},
@@ -16230,7 +15806,7 @@
call$2(k, v) {
this.result.$indexSet(0, this.K._as(k), this.V._as(v));
},
- $signature: 24
+ $signature: 25
};
A.ListBase.prototype = {
get$iterator(receiver) {
@@ -16426,7 +16002,7 @@
t2 = A.S(v);
t1._contents += t2;
},
- $signature: 25
+ $signature: 33
};
A._UnmodifiableMapMixin.prototype = {
$indexSet(_, key, value) {
@@ -16949,7 +16525,7 @@
var result,
t1 = this._processed;
if (t1 == null)
- return this._convert$_data.$index(0, key);
+ return this._data.$index(0, key);
else if (typeof key != "string")
return null;
else {
@@ -16958,7 +16534,7 @@
}
},
get$length(_) {
- return this._processed == null ? this._convert$_data.__js_helper$_length : this._convert$_computeKeys$0().length;
+ return this._processed == null ? this._data.__js_helper$_length : this._convert$_computeKeys$0().length;
},
get$isEmpty(_) {
return this.get$length(0) === 0;
@@ -16968,7 +16544,7 @@
},
get$keys() {
if (this._processed == null) {
- var t1 = this._convert$_data;
+ var t1 = this._data;
return new A.LinkedHashMapKeysIterable(t1, A._instanceType(t1)._eval$1("LinkedHashMapKeysIterable<1>"));
}
return new A._JsonMapKeyIterable(this);
@@ -16977,7 +16553,7 @@
var processed, original, _this = this;
A._asString(key);
if (_this._processed == null)
- _this._convert$_data.$indexSet(0, key, value);
+ _this._data.$indexSet(0, key, value);
else if (_this.containsKey$1(key)) {
processed = _this._processed;
processed[key] = value;
@@ -16989,7 +16565,7 @@
},
containsKey$1(key) {
if (this._processed == null)
- return this._convert$_data.containsKey$1(key);
+ return this._data.containsKey$1(key);
if (typeof key != "string")
return false;
return Object.prototype.hasOwnProperty.call(this._original, key);
@@ -16998,7 +16574,7 @@
var keys, i, key, value, _this = this;
type$.void_Function_String_dynamic._as(f);
if (_this._processed == null)
- return _this._convert$_data.forEach$1(0, f);
+ return _this._data.forEach$1(0, f);
keys = _this._convert$_computeKeys$0();
for (i = 0; i < keys.length; ++i) {
key = keys[i];
@@ -17008,20 +16584,20 @@
_this._processed[key] = value;
}
f.call$2(key, value);
- if (keys !== _this._convert$_data)
+ if (keys !== _this._data)
throw A.wrapException(A.ConcurrentModificationError$(_this));
}
},
_convert$_computeKeys$0() {
- var keys = type$.nullable_List_dynamic._as(this._convert$_data);
+ var keys = type$.nullable_List_dynamic._as(this._data);
if (keys == null)
- keys = this._convert$_data = A._setArrayType(Object.keys(this._original), type$.JSArray_String);
+ keys = this._data = A._setArrayType(Object.keys(this._original), type$.JSArray_String);
return keys;
},
_upgrade$0() {
var result, keys, i, t1, key, _this = this;
if (_this._processed == null)
- return _this._convert$_data;
+ return _this._data;
result = A.LinkedHashMap_LinkedHashMap$_empty(type$.String, type$.dynamic);
keys = _this._convert$_computeKeys$0();
for (i = 0; t1 = keys.length, i < t1; ++i) {
@@ -17033,7 +16609,7 @@
else
B.JSArray_methods.clear$0(keys);
_this._original = _this._processed = null;
- return _this._convert$_data = result;
+ return _this._data = result;
},
_process$1(key) {
var result;
@@ -17084,7 +16660,7 @@
}
return null;
},
- $signature: 26
+ $signature: 21
};
A._Utf8Decoder__decoderNonfatal_closure.prototype = {
call$0() {
@@ -17096,7 +16672,7 @@
}
return null;
},
- $signature: 26
+ $signature: 21
};
A.AsciiCodec.prototype = {
encode$1(source) {
@@ -17602,7 +17178,7 @@
B.JSArray_methods.$indexSet(t1, t2.i++, key);
B.JSArray_methods.$indexSet(t1, t2.i++, value);
},
- $signature: 25
+ $signature: 33
};
A._JsonStringStringifier.prototype = {
get$_partialResult() {
@@ -18284,7 +17860,7 @@
hash = hash + ((hash & 524287) << 10) & 536870911;
return hash ^ hash >>> 6;
},
- $signature: 27
+ $signature: 28
};
A._BigIntImpl_hashCode_finish.prototype = {
call$1(hash) {
@@ -18292,7 +17868,7 @@
hash ^= hash >>> 11;
return hash + ((hash & 16383) << 15) & 536870911;
},
- $signature: 53
+ $signature: 22
};
A.DateTime.prototype = {
$eq(_, other) {
@@ -18710,13 +18286,13 @@
call$2(msg, position) {
throw A.wrapException(A.FormatException$("Illegal IPv4 address, " + msg, this.host, position));
},
- $signature: 44
+ $signature: 39
};
A.Uri_parseIPv6Address_error.prototype = {
call$2(msg, position) {
throw A.wrapException(A.FormatException$("Illegal IPv6 address, " + msg, this.host, position));
},
- $signature: 40
+ $signature: 43
};
A.Uri_parseIPv6Address_parseHex.prototype = {
call$2(start, end) {
@@ -18728,7 +18304,7 @@
this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start);
return value;
},
- $signature: 27
+ $signature: 28
};
A._Uri.prototype = {
get$_text() {
@@ -19028,7 +18604,7 @@
call$1(s) {
return A._Uri__uriEncode(64, A._asString(s), B.C_Utf8Codec, false);
},
- $signature: 16
+ $signature: 15
};
A.UriData.prototype = {
get$uri() {
@@ -19354,7 +18930,7 @@
var t1 = type$.JavaScriptFunction;
this._this.then$1$2$onError(new A.FutureOfJSAnyToJSPromise_get_toJS__closure(t1._as(resolve)), new A.FutureOfJSAnyToJSPromise_get_toJS__closure0(t1._as(reject)), type$.nullable_Object);
},
- $signature: 30
+ $signature: 23
};
A.FutureOfJSAnyToJSPromise_get_toJS__closure.prototype = {
call$1(value) {
@@ -19362,7 +18938,7 @@
t1.call(t1, value);
return value;
},
- $signature: 11
+ $signature: 10
};
A.FutureOfJSAnyToJSPromise_get_toJS__closure0.prototype = {
call$2(error, stackTrace) {
@@ -19380,21 +18956,21 @@
t1.call(t1, wrapper);
return wrapper;
},
- $signature: 39
+ $signature: 50
};
A.FutureOfVoidToJSPromise_get_toJS_closure.prototype = {
call$2(resolve, reject) {
var t1 = type$.JavaScriptFunction;
this._this.then$1$2$onError(new A.FutureOfVoidToJSPromise_get_toJS__closure(t1._as(resolve)), new A.FutureOfVoidToJSPromise_get_toJS__closure0(t1._as(reject)), type$.nullable_Object);
},
- $signature: 30
+ $signature: 23
};
A.FutureOfVoidToJSPromise_get_toJS__closure.prototype = {
call$1(__wc0_formal) {
var t1 = this.resolve;
return t1.call(t1);
},
- $signature: 38
+ $signature: 51
};
A.FutureOfVoidToJSPromise_get_toJS__closure0.prototype = {
call$2(error, stackTrace) {
@@ -19437,7 +19013,7 @@
} else
return o;
},
- $signature: 11
+ $signature: 10
};
A.promiseToFuture_closure.prototype = {
call$1(r) {
@@ -19503,7 +19079,7 @@
}
return o;
},
- $signature: 11
+ $signature: 10
};
A.NullRejectionException.prototype = {
toString$0(_) {
@@ -19514,44 +19090,10 @@
A._JSRandom.prototype = {
nextInt$1(max) {
if (max <= 0 || max > 4294967296)
- throw A.wrapException(A.RangeError$(string$.max_mu + max));
+ throw A.wrapException(A.RangeError$("max must be in range 0 < max \u2264 2^32, was " + max));
return Math.random() * max >>> 0;
- }
- };
- A._JSSecureRandom.prototype = {
- _JSSecureRandom$0() {
- var $crypto = self.crypto;
- if ($crypto != null)
- if ($crypto.getRandomValues != null)
- return;
- throw A.wrapException(A.UnsupportedError$("No source of cryptographically secure random numbers available."));
},
- nextInt$1(max) {
- var byteCount, t1, start, randomLimit, t2, t3, random, result;
- if (max <= 0 || max > 4294967296)
- throw A.wrapException(A.RangeError$(string$.max_mu + max));
- if (max > 255)
- if (max > 65535)
- byteCount = max > 16777215 ? 4 : 3;
- else
- byteCount = 2;
- else
- byteCount = 1;
- t1 = this._math$_buffer;
- t1.$flags & 2 && A.throwUnsupportedOperation(t1, 11);
- t1.setUint32(0, 0, false);
- start = 4 - byteCount;
- randomLimit = A._asInt(Math.pow(256, byteCount));
- for (t2 = max - 1, t3 = (max & t2) >>> 0 === 0; true;) {
- crypto.getRandomValues(J.asUint8List$2$x(B.NativeByteData_methods.get$buffer(t1), start, byteCount));
- random = t1.getUint32(0, false);
- if (t3)
- return (random & t2) >>> 0;
- result = random % max;
- if (random - result + max < randomLimit)
- return result;
- }
- }
+ $isRandom: 1
};
A.AsyncMemoizer.prototype = {};
A.DelegatingStreamSink.prototype = {
@@ -19714,7 +19256,7 @@
call$2(h, i) {
return A._combine(A._asInt(h), J.get$hashCode$(i));
},
- $signature: 37
+ $signature: 53
};
A.BuiltList.prototype = {
toBuilder$0() {
@@ -19924,7 +19466,7 @@
call$1(k) {
return this.multimap.$index(0, k);
},
- $signature: 6
+ $signature: 4
};
A.BuiltListMultimap_hashCode_closure.prototype = {
call$1(key) {
@@ -20081,7 +19623,7 @@
call$1(k) {
return this.multimap.$index(0, k);
},
- $signature: 6
+ $signature: 4
};
A.BuiltMap.prototype = {
toBuilder$0() {
@@ -20148,7 +19690,7 @@
call$1(k) {
return this.map.$index(0, k);
},
- $signature: 6
+ $signature: 4
};
A.BuiltMap_hashCode_closure.prototype = {
call$1(key) {
@@ -20266,7 +19808,7 @@
var t1 = this.$this.$ti;
this.replacement.$indexSet(0, t1._precomputed1._as(key), t1._rest[1]._as(value));
},
- $signature: 24
+ $signature: 25
};
A.BuiltSet.prototype = {
get$hashCode(_) {
@@ -20630,7 +20172,7 @@
call$1(k) {
return this.multimap.$index(0, k);
},
- $signature: 6
+ $signature: 4
};
A.EnumClass.prototype = {
toString$0(_) {
@@ -20645,7 +20187,7 @@
$._indentingBuiltValueToStringHelperIndent = $._indentingBuiltValueToStringHelperIndent + 2;
return new A.IndentingBuiltValueToStringHelper(t1);
},
- $signature: 84
+ $signature: 62
};
A.IndentingBuiltValueToStringHelper.prototype = {
add$2(_, field, value) {
@@ -20776,34 +20318,34 @@
call$0() {
return A.ListBuilder_ListBuilder(B.List_empty0, type$.Object);
},
- $signature: 58
+ $signature: 67
};
A.Serializers_Serializers_closure0.prototype = {
call$0() {
var t1 = type$.Object;
return A.ListMultimapBuilder_ListMultimapBuilder(t1, t1);
},
- $signature: 34
+ $signature: 71
};
A.Serializers_Serializers_closure1.prototype = {
call$0() {
var t1 = type$.Object;
return A.MapBuilder_MapBuilder(t1, t1);
},
- $signature: 35
+ $signature: 84
};
A.Serializers_Serializers_closure2.prototype = {
call$0() {
return A.SetBuilder_SetBuilder(type$.Object);
},
- $signature: 36
+ $signature: 64
};
A.Serializers_Serializers_closure3.prototype = {
call$0() {
var t1 = type$.Object;
return A.SetMultimapBuilder_SetMultimapBuilder(t1, t1);
},
- $signature: 92
+ $signature: 54
};
A.FullType.prototype = {
$eq(_, other) {
@@ -21224,7 +20766,7 @@
call$1(value) {
return this.serializers.deserialize$2$specifiedType(value, this.valueType);
},
- $signature: 11
+ $signature: 10
};
A.BuiltListSerializer.prototype = {
serialize$3$specifiedType(serializers, builtList, specifiedType) {
@@ -24544,13 +24086,13 @@
call$0() {
return A.ListBuilder_ListBuilder(B.List_empty0, type$.DebugEvent);
},
- $signature: 41
+ $signature: 40
};
A._$serializers_closure0.prototype = {
call$0() {
return A.ListBuilder_ListBuilder(B.List_empty0, type$.ExtensionEvent);
},
- $signature: 42
+ $signature: 41
};
A.ServiceExtensionRequest.prototype = {};
A._$ServiceExtensionRequestSerializer.prototype = {
@@ -24662,7 +24204,7 @@
b.get$_service_extension_response$_$this()._service_extension_response$_errorMessage = _this.errorMessage;
return b;
},
- $signature: 43
+ $signature: 42
};
A._$ServiceExtensionResponseSerializer.prototype = {
serialize$3$specifiedType(serializers, object, specifiedType) {
@@ -24901,13 +24443,13 @@
call$0() {
return true;
},
- $signature: 29
+ $signature: 27
};
A.BatchedStreamController__hasEventDuring_closure.prototype = {
call$0() {
return false;
},
- $signature: 29
+ $signature: 27
};
A.SocketClient.prototype = {};
A.SseSocketClient.prototype = {
@@ -24948,14 +24490,14 @@
call$1(o) {
return J.toString$0$(o);
},
- $signature: 45
+ $signature: 44
};
A.safeUnawaited_closure.prototype = {
call$2(error, stackTrace) {
type$.StackTrace._as(stackTrace);
return $.$get$_logger().log$4(B.Level_WARNING_900, "Error in unawaited Future:", error, stackTrace);
},
- $signature: 21
+ $signature: 26
};
A.Int32.prototype = {
_toInt$1(val) {
@@ -25079,7 +24621,6 @@
$isComparable: 1
};
A._StackState.prototype = {};
- A.RequestAbortedException.prototype = {};
A.BaseClient.prototype = {
_sendUnstreamed$3(method, url, headers) {
var $async$goto = 0,
@@ -25125,34 +24666,26 @@
call$2(key1, key2) {
return A._asString(key1).toLowerCase() === A._asString(key2).toLowerCase();
},
- $signature: 46
+ $signature: 45
};
A.BaseRequest_closure0.prototype = {
call$1(key) {
return B.JSString_methods.get$hashCode(A._asString(key).toLowerCase());
},
- $signature: 47
+ $signature: 46
};
A.BaseResponse.prototype = {
BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(statusCode, contentLength, headers, isRedirect, persistentConnection, reasonPhrase, request) {
var t1 = this.statusCode;
if (t1 < 100)
throw A.wrapException(A.ArgumentError$("Invalid status code " + t1 + ".", null));
- else {
- t1 = this.contentLength;
- if (t1 != null && t1 < 0)
- throw A.wrapException(A.ArgumentError$("Invalid content length " + A.S(t1) + ".", null));
- }
}
};
A.BrowserClient.prototype = {
send$1(request) {
- return this.send$body$BrowserClient(request);
- },
- send$body$BrowserClient(request) {
var $async$goto = 0,
$async$completer = A._makeAsyncAwaitCompleter(type$.StreamedResponse),
- $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, bodyBytes, _0_0, _0_2, _0_2_isSet, abortTrigger, t1, _1_0, contentLength, header, response, contentLengthHeader, contentLength0, headers, e, st, t4, t5, _this, t6, t7, t8, t9, result, exception, t2, abortController, t3, $async$exception;
+ $async$returnValue, $async$handler = 2, $async$errorStack = [], $async$next = [], $async$self = this, xhr, completer, bytes, t1, t2, header, t3;
var $async$send$1 = A._wrapJsFunctionForAsync(function($async$errorCode, $async$result) {
if ($async$errorCode === 1) {
$async$errorStack.push($async$result);
@@ -25162,109 +24695,55 @@
switch ($async$goto) {
case 0:
// Function start
- t2 = init.G;
- abortController = A._asJSObject(new t2.AbortController());
- t3 = $async$self._openRequestAbortControllers;
- B.JSArray_methods.add$1(t3, abortController);
request.super$BaseRequest$finalize();
- t4 = type$._AsyncStreamController_List_int;
- t5 = new A._AsyncStreamController(null, null, null, null, t4);
- t5._add$1(request._bodyBytes);
- t5._closeUnchecked$0();
$async$goto = 3;
- return A._asyncAwait(new A.ByteStream(new A._ControllerStream(t5, t4._eval$1("_ControllerStream<1>"))).toBytes$0(), $async$send$1);
+ return A._asyncAwait(new A.ByteStream(A.Stream_Stream$value(request._bodyBytes, type$.List_int)).toBytes$0(), $async$send$1);
case 3:
// returning from await.
- bodyBytes = $async$result;
- $async$handler = 5;
- _0_0 = request;
- _0_2 = null;
- _0_2_isSet = false;
- abortTrigger = null;
- t4 = request.url;
- _this = t4.toString$0(0);
- t5 = !J.get$isEmpty$asx(bodyBytes) ? bodyBytes : null;
- t6 = $async$self.withCredentials ? "include" : "same-origin";
- t7 = type$.String;
- t1 = A.LinkedHashMap_LinkedHashMap$_empty(t7, type$.Object);
- _1_0 = request._bodyBytes.length;
- contentLength = null;
- if (_1_0 != null) {
- contentLength = _1_0;
- J.$indexSet$ax(t1, "content-length", contentLength);
+ bytes = $async$result;
+ xhr = A._asJSObject(new init.G.XMLHttpRequest());
+ t1 = $async$self._xhrs;
+ t1.add$1(0, xhr);
+ t2 = xhr;
+ t2.open(request.method, request.url.toString$0(0), true);
+ t2.responseType = "arraybuffer";
+ t2.withCredentials = $async$self.withCredentials;
+ for (t2 = request.headers, t2 = new A.LinkedHashMapEntriesIterable(t2, A._instanceType(t2)._eval$1("LinkedHashMapEntriesIterable<1,2>")).get$iterator(0); t2.moveNext$0();) {
+ header = t2.__js_helper$_current;
+ xhr.setRequestHeader(header.key, header.value);
}
- for (t8 = request.headers, t8 = new A.LinkedHashMapEntriesIterable(t8, A._instanceType(t8)._eval$1("LinkedHashMapEntriesIterable<1,2>")).get$iterator(0); t8.moveNext$0();) {
- t9 = t8.__js_helper$_current;
- t9.toString;
- header = t9;
- J.$indexSet$ax(t1, header.key, header.value);
- }
- t1 = A.jsify(t1);
- t1.toString;
- A._asJSObject(t1);
- t8 = A._asJSObject(abortController.signal);
- $async$goto = 8;
- return A._asyncAwait(A.promiseToFuture(A._asJSObject(t2.fetch(_this, {method: request.method, headers: t1, body: t5, credentials: t6, redirect: "follow", signal: t8})), type$.JSObject), $async$send$1);
- case 8:
+ completer = new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_StreamedResponse), type$._AsyncCompleter_StreamedResponse);
+ t2 = type$._EventStream_JSObject;
+ t3 = type$.void;
+ new A._EventStream(xhr, "load", false, t2).get$first(0).then$1$1(new A.BrowserClient_send_closure(xhr, completer, request), t3);
+ new A._EventStream(xhr, "error", false, t2).get$first(0).then$1$1(new A.BrowserClient_send_closure0(completer, request), t3);
+ xhr.send(bytes);
+ $async$handler = 4;
+ $async$goto = 7;
+ return A._asyncAwait(completer.future, $async$send$1);
+ case 7:
// returning from await.
- response = $async$result;
- contentLengthHeader = A._asStringQ(A._asJSObject(response.headers).get("content-length"));
- contentLength0 = contentLengthHeader != null ? A.Primitives_parseInt(contentLengthHeader, null) : null;
- if (contentLength0 == null && contentLengthHeader != null) {
- t1 = A.ClientException$("Invalid content-length header [" + contentLengthHeader + "].", t4);
- throw A.wrapException(t1);
- }
- headers = A.LinkedHashMap_LinkedHashMap$_empty(t7, t7);
- t1 = A._asJSObject(response.headers);
- t2 = new A.BrowserClient_send_closure(headers);
- if (typeof t2 == "function")
- A.throwExpression(A.ArgumentError$("Attempting to rewrap a JS function.", null));
- result = function(_call, f) {
- return function(arg1, arg2, arg3) {
- return _call(f, arg1, arg2, arg3, arguments.length);
- };
- }(A._callDartFunctionFast3, t2);
- result[$.$get$DART_CLOSURE_PROPERTY_NAME()] = t2;
- t1.forEach(result);
- t1 = A._readBody(request, response);
- t2 = A._asInt(response.status);
- t4 = headers;
- t5 = contentLength0;
- A.Uri_parse(A._asString(response.url));
- t6 = A._asString(response.statusText);
- t1 = new A.StreamedResponseV2(A.toByteStream(t1), request, t2, t6, t5, t4, false, true);
- t1.BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(t2, t5, t4, false, true, t6, request);
- $async$returnValue = t1;
+ t2 = $async$result;
+ $async$returnValue = t2;
$async$next = [1];
// goto finally
- $async$goto = 6;
+ $async$goto = 5;
break;
- $async$next.push(7);
+ $async$next.push(6);
// goto finally
- $async$goto = 6;
- break;
- case 5:
- // catch
- $async$handler = 4;
- $async$exception = $async$errorStack.pop();
- e = A.unwrapException($async$exception);
- st = A.getTraceFromException($async$exception);
- A._rethrowAsClientException(e, st, request);
- $async$next.push(7);
- // goto finally
- $async$goto = 6;
+ $async$goto = 5;
break;
case 4:
// uncaught
$async$next = [2];
- case 6:
+ case 5:
// finally
$async$handler = 2;
- B.JSArray_methods.remove$1(t3, abortController);
+ t1.remove$1(0, xhr);
// goto the next finally handler
$async$goto = $async$next.pop();
break;
- case 7:
+ case 6:
// after finally
case 1:
// return
@@ -25278,32 +24757,42 @@
}
};
A.BrowserClient_send_closure.prototype = {
- call$3(value, header, _) {
- A._asString(value);
- this.headers.$indexSet(0, A._asString(header).toLowerCase(), value);
- },
- call$2(value, header) {
- return this.call$3(value, header, null);
- },
- "call*": "call$3",
- $requiredArgCount: 2,
- $defaultValues() {
- return [null];
- },
- $signature: 48
- };
- A._readBody_closure.prototype = {
call$1(_) {
- return null;
+ var t1, _0_0, t2, body, responseUrl, t3, t4, t5, t6, _this = this;
+ A._asJSObject(_);
+ t1 = _this.xhr;
+ _0_0 = A._extension_0_get_responseHeaders(t1).$index(0, "content-length");
+ t2 = false;
+ if (_0_0 != null) {
+ t2 = $.$get$_digitRegex();
+ t2 = !t2._nativeRegExp.test(_0_0);
+ }
+ if (t2) {
+ _this.completer.completeError$1(new A.ClientException("Invalid content-length header [" + _0_0 + "].", _this.request.url));
+ return;
+ }
+ body = A.NativeUint8List_NativeUint8List$view(type$.NativeArrayBuffer._as(t1.response), 0, null);
+ responseUrl = A._asString(t1.responseURL);
+ if (responseUrl.length !== 0)
+ A.Uri_parse(responseUrl);
+ t2 = A.Stream_Stream$value(body, type$.List_int);
+ t3 = A._asInt(t1.status);
+ t4 = body.length;
+ t5 = _this.request;
+ t6 = A._extension_0_get_responseHeaders(t1);
+ t1 = A._asString(t1.statusText);
+ t2 = new A.StreamedResponseV2(A.toByteStream(new A.ByteStream(t2)), t5, t3, t1, t4, t6, false, true);
+ t2.BaseResponse$7$contentLength$headers$isRedirect$persistentConnection$reasonPhrase$request(t3, t4, t6, false, true, t1, t5);
+ _this.completer.complete$1(t2);
},
- $signature: 4
+ $signature: 8
};
- A._readBody_closure0.prototype = {
+ A.BrowserClient_send_closure0.prototype = {
call$1(_) {
- A._asObject(_);
- return this._box_0.isError;
+ A._asJSObject(_);
+ this.completer.completeError$2(new A.ClientException("XMLHttpRequest error.", this.request.url), A.StackTrace_current());
},
- $signature: 49
+ $signature: 8
};
A.ByteStream.prototype = {
toBytes$0() {
@@ -25318,7 +24807,7 @@
call$1(bytes) {
return this.completer.complete$1(new Uint8Array(A._ensureNativeList(type$.List_int._as(bytes))));
},
- $signature: 50
+ $signature: 48
};
A.ClientException.prototype = {
toString$0(_) {
@@ -25406,7 +24895,7 @@
scanner.expectDone$0();
return A.MediaType$(t4, t5, parameters);
},
- $signature: 51
+ $signature: 49
};
A.MediaType_toString_closure.prototype = {
call$2(attribute, value) {
@@ -25425,13 +24914,13 @@
} else
t1._contents = t3 + value;
},
- $signature: 52
+ $signature: 35
};
A.MediaType_toString__closure.prototype = {
call$1(match) {
return "\\" + A.S(match.$index(0, 0));
},
- $signature: 28
+ $signature: 29
};
A.expectQuotedString_closure.prototype = {
call$1(match) {
@@ -25439,7 +24928,7 @@
t1.toString;
return t1;
},
- $signature: 28
+ $signature: 29
};
A.Level.prototype = {
$eq(_, other) {
@@ -25487,7 +24976,7 @@
var record, _this = this,
t1 = logLevel.value;
if (t1 >= _this.get$level().value) {
- if ((stackTrace == null || stackTrace === B._StringStackTrace_OdL) && t1 >= 2000) {
+ if (stackTrace == null && t1 >= 2000) {
A.StackTrace_current();
if (error == null)
logLevel.toString$0(0);
@@ -25528,7 +25017,7 @@
$parent._children.$indexSet(0, thisName, t1);
return t1;
},
- $signature: 54
+ $signature: 52
};
A.Context.prototype = {
absolute$15(part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, part15) {
@@ -25762,20 +25251,20 @@
call$1(part) {
return A._asString(part) !== "";
},
- $signature: 22
+ $signature: 30
};
A.Context_split_closure.prototype = {
call$1(part) {
return A._asString(part).length !== 0;
},
- $signature: 22
+ $signature: 30
};
A._validateArgList_closure.prototype = {
call$1(arg) {
A._asStringQ(arg);
return arg == null ? "null" : '"' + arg + '"';
},
- $signature: 56
+ $signature: 108
};
A.InternalStyle.prototype = {
getRoot$1(path) {
@@ -26229,7 +25718,7 @@
var t1 = this.$this;
t1._onReleaseCompleters.removeFirst$0().complete$1(new A.PoolResource(t1));
},
- $signature: 4
+ $signature: 6
};
A.Pool__runOnRelease_closure0.prototype = {
call$2(error, stackTrace) {
@@ -26669,7 +26158,7 @@
call$0() {
return this.color;
},
- $signature: 57
+ $signature: 55
};
A.Highlighter$__closure.prototype = {
call$1(line) {
@@ -26677,34 +26166,34 @@
t2 = A._arrayInstanceType(t1);
return new A.WhereIterable(t1, t2._eval$1("bool(1)")._as(new A.Highlighter$___closure()), t2._eval$1("WhereIterable<1>")).get$length(0);
},
- $signature: 33
+ $signature: 56
};
A.Highlighter$___closure.prototype = {
call$1(highlight) {
var t1 = type$._Highlight._as(highlight).span;
return t1.get$start().get$line() !== t1.get$end().get$line();
},
- $signature: 17
+ $signature: 19
};
A.Highlighter$__closure0.prototype = {
call$1(line) {
return type$._Line._as(line).url;
},
- $signature: 60
+ $signature: 58
};
A.Highlighter__collateLines_closure.prototype = {
call$1(highlight) {
var t1 = type$._Highlight._as(highlight).span.get$sourceUrl();
return t1 == null ? new A.Object() : t1;
},
- $signature: 61
+ $signature: 59
};
A.Highlighter__collateLines_closure0.prototype = {
call$2(highlight1, highlight2) {
var t1 = type$._Highlight;
return t1._as(highlight1).span.compareTo$1(0, t1._as(highlight2).span);
},
- $signature: 62
+ $signature: 60
};
A.Highlighter__collateLines_closure1.prototype = {
call$1(entry) {
@@ -26747,20 +26236,20 @@
}
return lines;
},
- $signature: 63
+ $signature: 61
};
A.Highlighter__collateLines__closure.prototype = {
call$1(highlight) {
return type$._Highlight._as(highlight).span.get$end().get$line() < this.line.number;
},
- $signature: 17
+ $signature: 19
};
A.Highlighter_highlight_closure.prototype = {
call$1(highlight) {
type$._Highlight._as(highlight);
return true;
},
- $signature: 17
+ $signature: 19
};
A.Highlighter__writeFileStart_closure.prototype = {
call$0() {
@@ -26858,7 +26347,7 @@
t2._contents = t4;
return t4.length - t3.length;
},
- $signature: 23
+ $signature: 31
};
A.Highlighter__writeIndicator_closure0.prototype = {
call$0() {
@@ -26878,7 +26367,7 @@
t1._writeArrow$3$beginning(_this.line, Math.max(_this.highlight.span.get$end().get$column() - 1, 0), false);
return t2._contents.length - t3.length;
},
- $signature: 23
+ $signature: 31
};
A.Highlighter__writeSidebar_closure.prototype = {
call$0() {
@@ -26914,7 +26403,7 @@
}
return A._Highlight__normalizeEndOfLine(A._Highlight__normalizeTrailingNewline(A._Highlight__normalizeNewlines(newSpan)));
},
- $signature: 65
+ $signature: 63
};
A._Line.prototype = {
toString$0(_) {
@@ -27282,16 +26771,34 @@
});
return A._asyncStartSync($async$call$0, $async$completer);
},
- $signature: 68
+ $signature: 66
+ };
+ A.generateUuidV4_generateBits.prototype = {
+ call$1(bitCount) {
+ return this.random.nextInt$1(B.JSInt_methods._shlPositive$1(1, bitCount));
+ },
+ $signature: 22
+ };
+ A.generateUuidV4_printDigits.prototype = {
+ call$2(value, count) {
+ return B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(value, 16), count, "0");
+ },
+ $signature: 32
+ };
+ A.generateUuidV4_bitsDigits.prototype = {
+ call$2(bitCount, digitCount) {
+ return this.printDigits.call$2(this.generateBits.call$1(bitCount), digitCount);
+ },
+ $signature: 32
};
A.GuaranteeChannel.prototype = {
GuaranteeChannel$3$allowSinkErrors(innerSink, allowSinkErrors, _box_0, $T) {
var _this = this,
t1 = _this.$ti,
- t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_void), type$._AsyncCompleter_void), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>")));
+ t2 = t1._eval$1("_GuaranteeSink<1>")._as(new A._GuaranteeSink(innerSink, _this, new A._AsyncCompleter(new A._Future($.Zone__current, type$._Future_dynamic), type$._AsyncCompleter_dynamic), allowSinkErrors, $T._eval$1("_GuaranteeSink<0>")));
_this.__GuaranteeChannel__sink_F !== $ && A.throwLateFieldAI("_sink");
_this.__GuaranteeChannel__sink_F = t2;
- t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), null, true, $T));
+ t1 = t1._eval$1("StreamController<1>")._as(A.StreamController_StreamController(null, new A.GuaranteeChannel_closure(_box_0, _this, $T), true, $T));
_this.__GuaranteeChannel__streamController_F !== $ && A.throwLateFieldAI("_streamController");
_this.__GuaranteeChannel__streamController_F = t1;
},
@@ -27386,7 +26893,7 @@
A._GuaranteeSink__addError_closure.prototype = {
call$1(_) {
},
- $signature: 4
+ $signature: 6
};
A.StreamChannelController.prototype = {};
A.StreamChannelMixin.prototype = {$isStreamChannel: 1};
@@ -27469,30 +26976,30 @@
return uint8list;
}
};
- A.CryptoRNG.prototype = {
+ A.MathRNG.prototype = {
_generateInternal$0() {
- var i, k, t1, t2,
+ var t1, i, k, t2, t3,
b = new Uint8Array(16);
- for (i = 0; i < 16; i += 4) {
- k = $.$get$CryptoRNG__secureRandom().nextInt$1(B.JSNumber_methods.toInt$0(Math.pow(2, 32)));
+ for (t1 = this._rnd, i = 0; i < 16; i += 4) {
+ k = t1.nextInt$1(B.JSNumber_methods.toInt$0(Math.pow(2, 32)));
if (!(i < 16))
return A.ioore(b, i);
b[i] = k;
- t1 = i + 1;
- t2 = B.JSInt_methods._shrOtherPositive$1(k, 8);
- if (!(t1 < 16))
- return A.ioore(b, t1);
- b[t1] = t2;
- t2 = i + 2;
- t1 = B.JSInt_methods._shrOtherPositive$1(k, 16);
+ t2 = i + 1;
+ t3 = B.JSInt_methods._shrOtherPositive$1(k, 8);
if (!(t2 < 16))
return A.ioore(b, t2);
- b[t2] = t1;
- t1 = i + 3;
- t2 = B.JSInt_methods._shrOtherPositive$1(k, 24);
- if (!(t1 < 16))
- return A.ioore(b, t1);
- b[t1] = t2;
+ b[t2] = t3;
+ t3 = i + 2;
+ t2 = B.JSInt_methods._shrOtherPositive$1(k, 16);
+ if (!(t3 < 16))
+ return A.ioore(b, t3);
+ b[t3] = t2;
+ t2 = i + 3;
+ t3 = B.JSInt_methods._shrOtherPositive$1(k, 24);
+ if (!(t2 < 16))
+ return A.ioore(b, t2);
+ b[t2] = t3;
}
return b;
}
@@ -27694,7 +27201,7 @@
A._asJSObject(_);
this.webSocketConnected.complete$1(this.browserSocket);
},
- $signature: 14
+ $signature: 8
};
A.BrowserWebSocket_connect_closure0.prototype = {
call$1(e) {
@@ -27702,11 +27209,11 @@
A._asJSObject(e);
t1 = this.webSocketConnected;
if ((t1.future._state & 30) === 0)
- t1.completeError$1(new A.WebSocketException("Failed to connect WebSocket"));
+ t1.completeError$1(new A.WebSocketException());
else
this.browserSocket._browser_web_socket$_closed$2(1006, "error");
},
- $signature: 14
+ $signature: 8
};
A.BrowserWebSocket_connect_closure1.prototype = {
call$1(e) {
@@ -27736,7 +27243,7 @@
t1.complete$1(this.browserSocket);
this.browserSocket._browser_web_socket$_closed$2(A._asInt($event.code), A._asString($event.reason));
},
- $signature: 14
+ $signature: 8
};
A.WebSocketEvent.prototype = {};
A.TextDataReceived.prototype = {
@@ -27785,25 +27292,8 @@
return "CloseReceived(" + this.code + ", " + this.reason + ")";
}
};
- A.WebSocketException.prototype = {
- toString$0(_) {
- var t1 = this.message;
- if (t1.length === 0)
- return "WebSocketException";
- else
- return "WebSocketException: " + t1;
- },
- $isException: 1
- };
- A.WebSocketConnectionClosed.prototype = {
- toString$0(_) {
- var t1 = this.message;
- if (t1.length === 0)
- return "WebSocketConnectionClosed";
- else
- return "WebSocketConnectionClosed: " + t1;
- }
- };
+ A.WebSocketException.prototype = {$isException: 1};
+ A.WebSocketConnectionClosed.prototype = {};
A.AdapterWebSocketChannel.prototype = {
AdapterWebSocketChannel$1(webSocket) {
webSocket.then$1$2$onError(new A.AdapterWebSocketChannel_closure(this), new A.AdapterWebSocketChannel_closure0(this), type$.Null);
@@ -27825,7 +27315,7 @@
A._asString(webSocket._webSocket.protocol);
t2._readyCompleter.complete$0();
},
- $signature: 70
+ $signature: 68
};
A.AdapterWebSocketChannel__closure.prototype = {
call$1($event) {
@@ -27861,7 +27351,7 @@
}
}
},
- $signature: 71
+ $signature: 69
};
A.AdapterWebSocketChannel__closure0.prototype = {
call$1(obj) {
@@ -27907,7 +27397,7 @@
throw exception;
}
},
- $signature: 8
+ $signature: 9
};
A.AdapterWebSocketChannel__closure1.prototype = {
call$0() {
@@ -27958,7 +27448,7 @@
});
return A._asyncStartSync($async$call$0, $async$completer);
},
- $signature: 19
+ $signature: 16
};
A.AdapterWebSocketChannel_closure0.prototype = {
call$1(e) {
@@ -27976,7 +27466,7 @@
t1 === $ && A.throwLateFieldNI("_sink");
t1.close$0();
},
- $signature: 72
+ $signature: 70
};
A._WebSocketSink.prototype = {$isWebSocketSink: 1};
A.WebSocketChannelException.prototype = {
@@ -28050,8 +27540,8 @@
t1.$dartReadyToRunMain = A._functionToJS0(new A.main__closure2(_box_0));
t2 = $.Zone__current;
t3 = Math.max(100, 1);
- t4 = A.StreamController_StreamController(null, null, null, false, type$.DebugEvent);
- t5 = A.StreamController_StreamController(null, null, null, false, type$.List_DebugEvent);
+ t4 = A.StreamController_StreamController(null, null, false, type$.DebugEvent);
+ t5 = A.StreamController_StreamController(null, null, false, type$.List_DebugEvent);
debugEventController = new A.BatchedStreamController(t3, 1000, t4, t5, new A._AsyncCompleter(new A._Future(t2, type$._Future_bool), type$._AsyncCompleter_bool), type$.BatchedStreamController_DebugEvent);
t2 = A.List_List$filled(A.QueueList__computeInitialCapacity(null), null, false, type$.nullable_Result_DebugEvent);
t3 = A.ListQueue$(type$._EventRequest_dynamic);
@@ -28079,7 +27569,7 @@
});
return A._asyncStartSync($async$call$0, $async$completer);
},
- $signature: 19
+ $signature: 16
};
A.main__closure.prototype = {
call$0() {
@@ -28087,13 +27577,13 @@
path.toString;
return A.FutureOfJSAnyToJSPromise_get_toJS(this.manager._restarter.hotReloadStart$1(path), type$.JSArray_nullable_Object);
},
- $signature: 10
+ $signature: 11
};
A.main__closure0.prototype = {
call$0() {
return A.FutureOfVoidToJSPromise_get_toJS(this.manager.hotReloadEnd$0());
},
- $signature: 10
+ $signature: 11
};
A.main__closure1.prototype = {
call$2(runId, pauseIsolatesOnStart) {
@@ -28118,7 +27608,7 @@
$defaultValues() {
return [null];
},
- $signature: 74
+ $signature: 90
};
A.main__closure2.prototype = {
call$0() {
@@ -28145,7 +27635,7 @@
A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._debug_event$_build$0()), null), type$.dynamic);
}
},
- $signature: 75
+ $signature: 73
};
A.main___closure2.prototype = {
call$1(b) {
@@ -28154,7 +27644,7 @@
b.get$_debug_event$_$this().set$_events(t1);
return t1;
},
- $signature: 76
+ $signature: 74
};
A.main__closure4.prototype = {
call$2(kind, eventData) {
@@ -28168,7 +27658,7 @@
A._trySendEvent(new A._StreamSinkWrapper(t1, A._instanceType(t1)._eval$1("_StreamSinkWrapper<1>")), t2._debug_event$_build$0(), type$.DebugEvent);
}
},
- $signature: 77
+ $signature: 75
};
A.main___closure1.prototype = {
call$1(b) {
@@ -28178,7 +27668,7 @@
b.get$_debug_event$_$this()._eventData = this.eventData;
return b;
},
- $signature: 78
+ $signature: 76
};
A.main__closure5.prototype = {
call$1(eventData) {
@@ -28190,7 +27680,7 @@
type$.nullable_void_Function_RegisterEventBuilder._as(new A.main___closure0(eventData)).call$1(t3);
A._trySendEvent(t1, B.C_JsonCodec.encode$2$toEncodable(t2.serialize$1(t3._register_event$_build$0()), null), type$.dynamic);
},
- $signature: 79
+ $signature: 77
};
A.main___closure0.prototype = {
call$1(b) {
@@ -28199,7 +27689,7 @@
b.get$_register_event$_$this()._register_event$_eventData = this.eventData;
return b;
},
- $signature: 80
+ $signature: 107
};
A.main__closure6.prototype = {
call$0() {
@@ -28225,7 +27715,7 @@
b.get$_devtools_request$_$this()._devtools_request$_instanceId = t1;
return b;
},
- $signature: 81
+ $signature: 79
};
A.main__closure7.prototype = {
call$1(serialized) {
@@ -28389,12 +27879,12 @@
});
return A._asyncStartSync($async$call$1, $async$completer);
},
- $signature: 82
+ $signature: 80
};
A.main__closure8.prototype = {
call$1(error) {
},
- $signature: 4
+ $signature: 6
};
A.main__closure9.prototype = {
call$1(e) {
@@ -28413,7 +27903,7 @@
type$.StackTrace._as(stackTrace);
A.print("Unhandled error detected in the injected client.js script.\n\nYou can disable this script in webdev by passing --no-injected-client if it\nis preventing your app from loading, but note that this will also prevent\nall debugging and hot reload/restart functionality from working.\n\nThe original error is below, please file an issue at\nhttps://github.com/dart-lang/webdev/issues/new and attach this output:\n\n" + A.S(error) + "\n" + stackTrace.toString$0(0) + "\n");
},
- $signature: 9
+ $signature: 13
};
A._sendConnectRequest_closure.prototype = {
call$1(b) {
@@ -28426,7 +27916,7 @@
b.get$_connect_request$_$this()._entrypointPath = t1;
return b;
},
- $signature: 83
+ $signature: 81
};
A._launchCommunicationWithDebugExtension_closure.prototype = {
call$1(b) {
@@ -28455,13 +27945,13 @@
b.get$_$this()._workspaceName = t1;
return b;
},
- $signature: 110
+ $signature: 82
};
A._handleAuthRequest_closure.prototype = {
call$1(isAuthenticated) {
return A._dispatchEvent("dart-auth-response", "" + A._asBool(isAuthenticated));
},
- $signature: 85
+ $signature: 83
};
A._sendResponse_closure.prototype = {
call$1(b) {
@@ -28725,13 +28215,13 @@
A._asJSObject(A._asJSObject(init.G.dartDevEmbedder).config).capturedMainHandler = null;
A.safeUnawaited(this.$this._runMainWhenReady$2(this.readyToRunMain, runMain));
},
- $signature: 20
+ $signature: 34
};
A.DdcLibraryBundleRestarter_hotReloadStart_closure.prototype = {
call$1(hotReloadEndCallback) {
this.$this._capturedHotReloadEndCallback = type$.JavaScriptFunction._as(hotReloadEndCallback);
},
- $signature: 20
+ $signature: 34
};
A.DdcRestarter.prototype = {
restart$3$readyToRunMain$reloadedSourcesPath$runId(readyToRunMain, reloadedSourcesPath, runId) {
@@ -28789,7 +28279,7 @@
this.sub.cancel$0();
return value;
},
- $signature: 87
+ $signature: 85
};
A.ReloadingManager.prototype = {
hotRestart$3$readyToRunMain$reloadedSourcesPath$runId(readyToRunMain, reloadedSourcesPath, runId) {
@@ -29033,12 +28523,12 @@
case 0:
// Function start
$async$goto = 3;
- return A._asyncAwait(new A.BrowserClient(A._setArrayType([], type$.JSArray_JSObject))._sendUnstreamed$3("GET", A.Uri_parse(A._asString(type$.JavaScriptObject._as(init.G.$requireLoader).digestsPath)), null), $async$_getDigests$0);
+ return A._asyncAwait(new A.BrowserClient(A.LinkedHashSet_LinkedHashSet$_empty(type$.JSObject))._sendUnstreamed$3("GET", A.Uri_parse(A._asString(type$.JavaScriptObject._as(init.G.$requireLoader).digestsPath)), null), $async$_getDigests$0);
case 3:
// returning from await.
response = $async$result;
t1 = type$.String;
- $async$returnValue = type$.Map_dynamic_dynamic._as(B.C_JsonCodec.decode$2$reviver(A.encodingForContentTypeHeader(A._contentTypeForHeaders(response.headers)).decode$1(response.bodyBytes), null)).cast$2$0(0, t1, t1);
+ $async$returnValue = type$.Map_dynamic_dynamic._as(B.C_JsonCodec.decode$2$reviver(A.encodingForCharset(A._contentTypeForHeaders(response.headers).parameters._collection$_map.$index(0, "charset")).decode$1(response.bodyBytes), null)).cast$2$0(0, t1, t1);
// goto return
$async$goto = 1;
break;
@@ -29295,7 +28785,7 @@
call$1(e) {
this.completer.completeError$2(new A.HotReloadFailedException(A._asString(type$.JavaScriptObject._as(e).message)), this.stackTrace);
},
- $signature: 90
+ $signature: 88
};
A._createScript_closure.prototype = {
call$0() {
@@ -29304,13 +28794,13 @@
return new A._createScript__closure();
return new A._createScript__closure0(nonce);
},
- $signature: 91
+ $signature: 89
};
A._createScript__closure.prototype = {
call$0() {
return A._asJSObject(A._asJSObject(init.G.document).createElement("script"));
},
- $signature: 10
+ $signature: 11
};
A._createScript__closure0.prototype = {
call$0() {
@@ -29318,7 +28808,7 @@
scriptElement.setAttribute("nonce", this.nonce);
return scriptElement;
},
- $signature: 10
+ $signature: 11
};
A.runMain_closure.prototype = {
call$0() {
@@ -29365,58 +28855,55 @@
_instance = hunkHelpers.installInstanceTearOff,
_instance_2_u = hunkHelpers._instance_2u,
_instance_1_i = hunkHelpers._instance_1i,
- _instance_1_u = hunkHelpers._instance_1u,
- _instance_0_u = hunkHelpers._instance_0u;
- _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 32);
- _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 13);
- _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 13);
- _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 13);
+ _instance_0_u = hunkHelpers._instance_0u,
+ _instance_1_u = hunkHelpers._instance_1u;
+ _static_2(J, "_interceptors_JSArray__compareAny$closure", "JSArray__compareAny", 20);
+ _static_1(A, "async__AsyncRun__scheduleImmediateJsOverride$closure", "_AsyncRun__scheduleImmediateJsOverride", 12);
+ _static_1(A, "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", "_AsyncRun__scheduleImmediateWithSetImmediate", 12);
+ _static_1(A, "async__AsyncRun__scheduleImmediateWithTimer$closure", "_AsyncRun__scheduleImmediateWithTimer", 12);
_static_0(A, "async___startMicrotaskLoop$closure", "_startMicrotaskLoop", 0);
_static_1(A, "async___nullDataHandler$closure", "_nullDataHandler", 7);
- _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 9);
+ _static_2(A, "async___nullErrorHandler$closure", "_nullErrorHandler", 13);
_static_0(A, "async___nullDoneHandler$closure", "_nullDoneHandler", 0);
- _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 94, 0);
+ _static(A, "async___rootHandleUncaughtError$closure", 5, null, ["call$5"], ["_rootHandleUncaughtError"], 92, 0);
_static(A, "async___rootRun$closure", 4, null, ["call$1$4", "call$4"], ["_rootRun", function($self, $parent, zone, f) {
return A._rootRun($self, $parent, zone, f, type$.dynamic);
- }], 95, 1);
+ }], 93, 1);
_static(A, "async___rootRunUnary$closure", 5, null, ["call$2$5", "call$5"], ["_rootRunUnary", function($self, $parent, zone, f, arg) {
var t1 = type$.dynamic;
return A._rootRunUnary($self, $parent, zone, f, arg, t1, t1);
- }], 96, 1);
+ }], 94, 1);
_static(A, "async___rootRunBinary$closure", 6, null, ["call$3$6", "call$6"], ["_rootRunBinary", function($self, $parent, zone, f, arg1, arg2) {
var t1 = type$.dynamic;
return A._rootRunBinary($self, $parent, zone, f, arg1, arg2, t1, t1, t1);
- }], 97, 1);
+ }], 95, 1);
_static(A, "async___rootRegisterCallback$closure", 4, null, ["call$1$4", "call$4"], ["_rootRegisterCallback", function($self, $parent, zone, f) {
return A._rootRegisterCallback($self, $parent, zone, f, type$.dynamic);
- }], 98, 0);
+ }], 96, 0);
_static(A, "async___rootRegisterUnaryCallback$closure", 4, null, ["call$2$4", "call$4"], ["_rootRegisterUnaryCallback", function($self, $parent, zone, f) {
var t1 = type$.dynamic;
return A._rootRegisterUnaryCallback($self, $parent, zone, f, t1, t1);
- }], 99, 0);
+ }], 97, 0);
_static(A, "async___rootRegisterBinaryCallback$closure", 4, null, ["call$3$4", "call$4"], ["_rootRegisterBinaryCallback", function($self, $parent, zone, f) {
var t1 = type$.dynamic;
return A._rootRegisterBinaryCallback($self, $parent, zone, f, t1, t1, t1);
- }], 100, 0);
- _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 101, 0);
- _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 102, 0);
- _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 103, 0);
- _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 104, 0);
- _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 105, 0);
- _static_1(A, "async___printToZone$closure", "_printToZone", 106);
- _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 107, 0);
+ }], 98, 0);
+ _static(A, "async___rootErrorCallback$closure", 5, null, ["call$5"], ["_rootErrorCallback"], 99, 0);
+ _static(A, "async___rootScheduleMicrotask$closure", 4, null, ["call$4"], ["_rootScheduleMicrotask"], 100, 0);
+ _static(A, "async___rootCreateTimer$closure", 5, null, ["call$5"], ["_rootCreateTimer"], 101, 0);
+ _static(A, "async___rootCreatePeriodicTimer$closure", 5, null, ["call$5"], ["_rootCreatePeriodicTimer"], 102, 0);
+ _static(A, "async___rootPrint$closure", 4, null, ["call$4"], ["_rootPrint"], 103, 0);
+ _static_1(A, "async___printToZone$closure", "_printToZone", 104);
+ _static(A, "async___rootFork$closure", 5, null, ["call$5"], ["_rootFork"], 105, 0);
_instance(A._Completer.prototype, "get$completeError", 0, 1, function() {
return [null];
- }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 31, 0, 0);
- _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 9);
+ }, ["call$2", "call$1"], ["completeError$2", "completeError$1"], 24, 0, 0);
+ _instance_2_u(A._Future.prototype, "get$_completeError", "_completeError$2", 13);
var _;
- _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 8);
+ _instance_1_i(_ = A._StreamController.prototype, "get$add", "add$1", 9);
_instance(_, "get$addError", 0, 1, function() {
return [null];
- }, ["call$2", "call$1"], ["addError$2", "addError$1"], 31, 0, 0);
- _instance_1_u(_, "get$_add", "_add$1", 8);
- _instance_2_u(_, "get$_addError", "_addError$2", 9);
- _instance_0_u(_, "get$_close", "_close$0", 0);
+ }, ["call$2", "call$1"], ["addError$2", "addError$1"], 24, 0, 0);
_instance_0_u(_ = A._ControllerSubscription.prototype, "get$_onPause", "_onPause$0", 0);
_instance_0_u(_, "get$_onResume", "_onResume$0", 0);
_instance_0_u(_ = A._BufferingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
@@ -29424,45 +28911,45 @@
_instance_0_u(A._DoneStreamSubscription.prototype, "get$_onMicrotask", "_onMicrotask$0", 0);
_instance_0_u(_ = A._ForwardingStreamSubscription.prototype, "get$_onPause", "_onPause$0", 0);
_instance_0_u(_, "get$_onResume", "_onResume$0", 0);
- _instance_1_u(_, "get$_handleData", "_handleData$1", 8);
- _instance_2_u(_, "get$_handleError", "_handleError$2", 21);
+ _instance_1_u(_, "get$_handleData", "_handleData$1", 9);
+ _instance_2_u(_, "get$_handleError", "_handleError$2", 26);
_instance_0_u(_, "get$_handleDone", "_handleDone$0", 0);
- _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 18);
- _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 15);
- _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 32);
- _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 6);
- _instance_1_i(_ = A._ByteCallbackSink.prototype, "get$add", "add$1", 8);
+ _static_2(A, "collection___defaultEquals$closure", "_defaultEquals0", 17);
+ _static_1(A, "collection___defaultHashCode$closure", "_defaultHashCode", 18);
+ _static_2(A, "collection_ListBase__compareAny$closure", "ListBase__compareAny", 20);
+ _static_1(A, "convert___defaultToEncodable$closure", "_defaultToEncodable", 4);
+ _instance_1_i(_ = A._ByteCallbackSink.prototype, "get$add", "add$1", 9);
_instance_0_u(_, "get$close", "close$0", 0);
- _static_1(A, "core__identityHashCode$closure", "identityHashCode", 15);
- _static_2(A, "core__identical$closure", "identical", 18);
- _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 16);
+ _static_1(A, "core__identityHashCode$closure", "identityHashCode", 18);
+ _static_2(A, "core__identical$closure", "identical", 17);
+ _static_1(A, "core_Uri_decodeComponent$closure", "Uri_decodeComponent", 15);
_static(A, "math__max$closure", 2, null, ["call$1$2", "call$2"], ["max", function(a, b) {
return A.max(a, b, type$.num);
- }], 108, 1);
- _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 18);
- _instance_1_u(_, "get$hash", "hash$1", 15);
- _instance_1_u(_, "get$isValidKey", "isValidKey$1", 12);
+ }], 106, 1);
+ _instance_2_u(_ = A.DeepCollectionEquality.prototype, "get$equals", "equals$2", 17);
+ _instance_1_u(_, "get$hash", "hash$1", 18);
+ _instance_1_u(_, "get$isValidKey", "isValidKey$1", 14);
_static(A, "hot_reload_response_HotReloadResponse___new_tearOff$closure", 0, null, ["call$1", "call$0"], ["HotReloadResponse___new_tearOff", function() {
return A.HotReloadResponse___new_tearOff(null);
- }], 109, 0);
+ }], 78, 0);
_static(A, "hot_restart_response_HotRestartResponse___new_tearOff$closure", 0, null, ["call$1", "call$0"], ["HotRestartResponse___new_tearOff", function() {
return A.HotRestartResponse___new_tearOff(null);
- }], 73, 0);
- _static_1(A, "case_insensitive_map_CaseInsensitiveMap__canonicalizer$closure", "CaseInsensitiveMap__canonicalizer", 16);
+ }], 72, 0);
+ _static_1(A, "case_insensitive_map_CaseInsensitiveMap__canonicalizer$closure", "CaseInsensitiveMap__canonicalizer", 15);
_instance_1_u(_ = A.SseClient.prototype, "get$_onIncomingControlMessage", "_onIncomingControlMessage$1", 2);
_instance_1_u(_, "get$_onIncomingMessage", "_onIncomingMessage$1", 2);
_instance_0_u(_, "get$_onOutgoingDone", "_onOutgoingDone$0", 0);
- _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 67);
+ _instance_1_u(_, "get$_onOutgoingMessage", "_onOutgoingMessage$1", 65);
_static_1(A, "client___handleAuthRequest$closure", "_handleAuthRequest", 2);
- _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 88);
- _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 89);
+ _instance_1_u(_ = A.RequireRestarter.prototype, "get$_moduleParents", "_moduleParents$1", 86);
+ _instance_2_u(_, "get$_moduleTopologicalCompare", "_moduleTopologicalCompare$2", 87);
})();
(function inheritance() {
var _mixin = hunkHelpers.mixin,
_inherit = hunkHelpers.inherit,
_inheritMany = hunkHelpers.inheritMany;
_inherit(A.Object, null);
- _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, A.SafeToStringHook, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._Record, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.LinkedHashMapValueIterator, A.LinkedHashMapEntryIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A._UnmodifiableNativeByteBufferView, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A._AsyncStarStreamController, A._IterationMarker, A.AsyncError, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._AddStreamState, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.MapView, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.ByteConversionSink, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.NullRejectionException, A._JSRandom, A._JSSecureRandom, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.ListSerializer, A.MapSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.SetSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.CanonicalizedMap, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.HotReloadRequest, A._$HotReloadRequestSerializer, A.HotReloadRequestBuilder, A.HotReloadResponse, A._$HotReloadResponseSerializer, A.HotReloadResponseBuilder, A.HotRestartRequest, A._$HotRestartRequestSerializer, A.HotRestartRequestBuilder, A.HotRestartResponse, A._$HotRestartResponseSerializer, A.HotRestartResponseBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.ServiceExtensionRequest, A._$ServiceExtensionRequestSerializer, A.ServiceExtensionRequestBuilder, A.ServiceExtensionResponse, A._$ServiceExtensionResponseSerializer, A.ServiceExtensionResponseBuilder, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.ClientException, A.BaseClient, A.BaseRequest, A.BaseResponse, A.MediaType, A.Level, A.LogRecord, A.Logger, A.Context, A.Style, A.ParsedPath, A.PathException, A.Pool, A.PoolResource, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.SourceSpanException, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.StringScanner, A.RNG, A.UuidV1, A.EventStreamProvider, A._EventStreamSubscription, A.BrowserWebSocket, A.WebSocketEvent, A.WebSocketException, A.WebSocketChannelException, A.DdcLibraryBundleRestarter, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
+ _inheritMany(A.Object, [A.JS_CONST, J.Interceptor, A.SafeToStringHook, J.ArrayIterator, A.Iterable, A.CastIterator, A.Closure, A.MapBase, A.Error, A.ListBase, A.SentinelValue, A.ListIterator, A.MappedIterator, A.WhereIterator, A.ExpandIterator, A.TakeIterator, A.SkipIterator, A.EmptyIterator, A.WhereTypeIterator, A.FixedLengthListMixin, A.UnmodifiableListMixin, A._Record, A.ConstantMap, A._KeysOrValuesOrElementsIterator, A.TypeErrorDecoder, A.NullThrownFromJavaScriptException, A.ExceptionAndStackTrace, A._StackTrace, A.LinkedHashMapCell, A.LinkedHashMapKeyIterator, A.LinkedHashMapValueIterator, A.LinkedHashMapEntryIterator, A.JSSyntaxRegExp, A._MatchImplementation, A._AllMatchesIterator, A.StringMatch, A._StringAllMatchesIterator, A._Cell, A.Rti, A._FunctionParameters, A._Type, A._TimerImpl, A._AsyncAwaitCompleter, A.AsyncError, A.TimeoutException, A._Completer, A._FutureListener, A._Future, A._AsyncCallbackEntry, A.Stream, A._StreamController, A._SyncStreamControllerDispatch, A._AsyncStreamControllerDispatch, A._BufferingStreamSubscription, A._StreamSinkWrapper, A._DelayedEvent, A._DelayedDone, A._PendingEvents, A._DoneStreamSubscription, A._StreamIterator, A._ZoneFunction, A._ZoneSpecification, A._ZoneDelegate, A._Zone, A._HashMapKeyIterator, A.SetBase, A._HashSetIterator, A._LinkedHashSetCell, A._LinkedHashSetIterator, A._UnmodifiableMapMixin, A.MapView, A._ListQueueIterator, A._SplayTreeNode, A._SplayTree, A._SplayTreeIterator, A.Codec, A.Converter, A._Base64Encoder, A._Base64Decoder, A.ByteConversionSink, A._JsonStringifier, A._Utf8Encoder, A._Utf8Decoder, A._BigIntImpl, A.DateTime, A.Duration, A.OutOfMemoryError, A.StackOverflowError, A._Exception, A.FormatException, A.IntegerDivisionByZeroException, A.MapEntry, A.Null, A._StringStackTrace, A.StringBuffer, A._Uri, A.UriData, A._SimpleUri, A.NullRejectionException, A._JSRandom, A.AsyncMemoizer, A.DelegatingStreamSink, A.ErrorResult, A.ValueResult, A.StreamQueue, A._NextRequest, A._HasNextRequest, A.BuiltList, A.ListBuilder, A.BuiltListMultimap, A.ListMultimapBuilder, A.BuiltMap, A.MapBuilder, A.BuiltSet, A.SetBuilder, A.BuiltSetMultimap, A.SetMultimapBuilder, A.EnumClass, A.IndentingBuiltValueToStringHelper, A.JsonObject, A.FullType, A.BigIntSerializer, A.BoolSerializer, A.BuiltJsonSerializers, A.BuiltJsonSerializersBuilder, A.BuiltListMultimapSerializer, A.BuiltListSerializer, A.BuiltMapSerializer, A.BuiltSetMultimapSerializer, A.BuiltSetSerializer, A.DateTimeSerializer, A.DoubleSerializer, A.DurationSerializer, A.Int32Serializer, A.Int64Serializer, A.IntSerializer, A.JsonObjectSerializer, A.ListSerializer, A.MapSerializer, A.NullSerializer, A.NumSerializer, A.RegExpSerializer, A.SetSerializer, A.StringSerializer, A.Uint8ListSerializer, A.UriSerializer, A.CanonicalizedMap, A.DefaultEquality, A.IterableEquality, A.ListEquality, A._UnorderedEquality, A._MapEntry, A.MapEquality, A.DeepCollectionEquality, A._QueueList_Object_ListMixin, A.BuildResult, A._$BuildStatusSerializer, A._$BuildResultSerializer, A.BuildResultBuilder, A.ConnectRequest, A._$ConnectRequestSerializer, A.ConnectRequestBuilder, A.DebugEvent, A.BatchedDebugEvents, A._$DebugEventSerializer, A._$BatchedDebugEventsSerializer, A.DebugEventBuilder, A.BatchedDebugEventsBuilder, A.DebugInfo, A._$DebugInfoSerializer, A.DebugInfoBuilder, A.DevToolsRequest, A.DevToolsResponse, A._$DevToolsRequestSerializer, A._$DevToolsResponseSerializer, A.DevToolsRequestBuilder, A.DevToolsResponseBuilder, A.ErrorResponse, A._$ErrorResponseSerializer, A.ErrorResponseBuilder, A.ExtensionRequest, A.ExtensionResponse, A.ExtensionEvent, A.BatchedEvents, A._$ExtensionRequestSerializer, A._$ExtensionResponseSerializer, A._$ExtensionEventSerializer, A._$BatchedEventsSerializer, A.ExtensionRequestBuilder, A.ExtensionResponseBuilder, A.ExtensionEventBuilder, A.BatchedEventsBuilder, A.HotReloadRequest, A._$HotReloadRequestSerializer, A.HotReloadRequestBuilder, A.HotReloadResponse, A._$HotReloadResponseSerializer, A.HotReloadResponseBuilder, A.HotRestartRequest, A._$HotRestartRequestSerializer, A.HotRestartRequestBuilder, A.HotRestartResponse, A._$HotRestartResponseSerializer, A.HotRestartResponseBuilder, A.IsolateExit, A.IsolateStart, A._$IsolateExitSerializer, A._$IsolateStartSerializer, A.IsolateExitBuilder, A.IsolateStartBuilder, A.RegisterEvent, A._$RegisterEventSerializer, A.RegisterEventBuilder, A.RunRequest, A._$RunRequestSerializer, A.ServiceExtensionRequest, A._$ServiceExtensionRequestSerializer, A.ServiceExtensionRequestBuilder, A.ServiceExtensionResponse, A._$ServiceExtensionResponseSerializer, A.ServiceExtensionResponseBuilder, A.BatchedStreamController, A.SocketClient, A.Int32, A.Int64, A._StackState, A.BaseClient, A.BaseRequest, A.BaseResponse, A.ClientException, A.MediaType, A.Level, A.LogRecord, A.Logger, A.Context, A.Style, A.ParsedPath, A.PathException, A.Pool, A.PoolResource, A.SourceFile, A.SourceLocationMixin, A.SourceSpanMixin, A.Highlighter, A._Highlight, A._Line, A.SourceLocation, A.SourceSpanException, A.StreamChannelMixin, A._GuaranteeSink, A.StreamChannelController, A.StringScanner, A.RNG, A.UuidV1, A.EventStreamProvider, A._EventStreamSubscription, A.BrowserWebSocket, A.WebSocketEvent, A.WebSocketException, A.WebSocketChannelException, A.DdcLibraryBundleRestarter, A.DdcRestarter, A.ReloadingManager, A.HotReloadFailedException, A.RequireRestarter]);
_inheritMany(J.Interceptor, [J.JSBool, J.JSNull, J.JavaScriptObject, J.JavaScriptBigInt, J.JavaScriptSymbol, J.JSNumber, J.JSString]);
_inheritMany(J.JavaScriptObject, [J.LegacyJavaScriptObject, J.JSArray, A.NativeByteBuffer, A.NativeTypedData]);
_inheritMany(J.LegacyJavaScriptObject, [J.PlainJavaScriptObject, J.UnknownJavaScriptObject, J.JavaScriptFunction]);
@@ -29473,14 +28960,14 @@
_inheritMany(A._CastIterableBase, [A.CastIterable, A.__CastListBase__CastIterableBase_ListMixin]);
_inherit(A._EfficientLengthCastIterable, A.CastIterable);
_inherit(A._CastListBase, A.__CastListBase__CastIterableBase_ListMixin);
- _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._asyncStarHelper_closure0, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.ListSerializer_serialize_closure, A.SetSerializer_serialize_closure, A.CanonicalizedMap_keys_closure, A.ServiceExtensionResponse_ServiceExtensionResponse$fromResult_closure, A.WebSocketClient_stream_closure, A.BaseRequest_closure0, A.BrowserClient_send_closure, A._readBody_closure, A._readBody_closure0, A.ByteStream_toBytes_closure, A.MediaType_toString__closure, A.expectQuotedString_closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.Pool__runOnRelease_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.SseClient_closure0, A.SseClient_closure1, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.BrowserWebSocket_connect_closure, A.BrowserWebSocket_connect_closure0, A.BrowserWebSocket_connect_closure1, A.BrowserWebSocket_connect_closure2, A.AdapterWebSocketChannel_closure, A.AdapterWebSocketChannel__closure, A.AdapterWebSocketChannel__closure0, A.AdapterWebSocketChannel_closure0, A.main__closure1, A.main__closure3, A.main___closure2, A.main___closure1, A.main__closure5, A.main___closure0, A.main___closure, A.main__closure7, A.main__closure8, A.main__closure9, A._sendConnectRequest_closure, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A._sendResponse_closure, A.DdcLibraryBundleRestarter_restart_closure, A.DdcLibraryBundleRestarter_hotReloadStart_closure, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]);
- _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A._Future_timeout_closure1, A._AddStreamState_makeErrorHandler_closure, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A.FutureOfJSAnyToJSPromise_get_toJS_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure0, A.FutureOfVoidToJSPromise_get_toJS_closure, A.FutureOfVoidToJSPromise_get_toJS__closure0, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.CanonicalizedMap_addAll_closure, A.CanonicalizedMap_forEach_closure, A.CanonicalizedMap_map_closure, A.safeUnawaited_closure, A.BaseRequest_closure, A.MediaType_toString_closure, A.Pool__runOnRelease_closure0, A.Highlighter__collateLines_closure0, A.main__closure4, A.main_closure0]);
+ _inheritMany(A.Closure, [A.Closure2Args, A.Closure0Args, A.Instantiation, A.TearOffClosure, A.initHooks_closure, A.initHooks_closure1, A._AsyncRun__initializeScheduleImmediate_internalCallback, A._AsyncRun__initializeScheduleImmediate_closure, A._awaitOnObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure, A._Future_timeout_closure0, A.Stream_length_closure, A.Stream_first_closure0, A._CustomZone_bindUnaryCallback_closure, A._CustomZone_bindUnaryCallbackGuarded_closure, A._RootZone_bindUnaryCallback_closure, A._RootZone_bindUnaryCallbackGuarded_closure, A.runZonedGuarded_closure, A._CustomHashMap_closure, A._LinkedCustomHashMap_closure, A._BigIntImpl_hashCode_finish, A._Uri__makePath_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure, A.FutureOfVoidToJSPromise_get_toJS__closure, A.jsify__convert, A.promiseToFuture_closure, A.promiseToFuture_closure0, A.dartify_convert, A.StreamQueue__ensureListening_closure, A.BuiltListMultimap_BuiltListMultimap_closure, A.BuiltListMultimap_hashCode_closure, A.ListMultimapBuilder_replace_closure, A.BuiltMap_BuiltMap_closure, A.BuiltMap_hashCode_closure, A.BuiltSet_hashCode_closure, A.BuiltSetMultimap_hashCode_closure, A.SetMultimapBuilder_replace_closure, A.newBuiltValueToStringHelper_closure, A.BuiltListMultimapSerializer_serialize_closure, A.BuiltListMultimapSerializer_deserialize_closure, A.BuiltListSerializer_serialize_closure, A.BuiltListSerializer_deserialize_closure, A.BuiltSetMultimapSerializer_serialize_closure, A.BuiltSetMultimapSerializer_deserialize_closure, A.BuiltSetSerializer_serialize_closure, A.BuiltSetSerializer_deserialize_closure, A.ListSerializer_serialize_closure, A.SetSerializer_serialize_closure, A.CanonicalizedMap_keys_closure, A.ServiceExtensionResponse_ServiceExtensionResponse$fromResult_closure, A.WebSocketClient_stream_closure, A.BaseRequest_closure0, A.BrowserClient_send_closure, A.BrowserClient_send_closure0, A.ByteStream_toBytes_closure, A.MediaType_toString__closure, A.expectQuotedString_closure, A.Context_joinAll_closure, A.Context_split_closure, A._validateArgList_closure, A.Pool__runOnRelease_closure, A.Highlighter$__closure, A.Highlighter$___closure, A.Highlighter$__closure0, A.Highlighter__collateLines_closure, A.Highlighter__collateLines_closure1, A.Highlighter__collateLines__closure, A.Highlighter_highlight_closure, A.SseClient_closure0, A.SseClient_closure1, A.generateUuidV4_generateBits, A._GuaranteeSink__addError_closure, A._EventStreamSubscription_closure, A._EventStreamSubscription_onData_closure, A.BrowserWebSocket_connect_closure, A.BrowserWebSocket_connect_closure0, A.BrowserWebSocket_connect_closure1, A.BrowserWebSocket_connect_closure2, A.AdapterWebSocketChannel_closure, A.AdapterWebSocketChannel__closure, A.AdapterWebSocketChannel__closure0, A.AdapterWebSocketChannel_closure0, A.main__closure1, A.main__closure3, A.main___closure2, A.main___closure1, A.main__closure5, A.main___closure0, A.main___closure, A.main__closure7, A.main__closure8, A.main__closure9, A._sendConnectRequest_closure, A._launchCommunicationWithDebugExtension_closure, A._handleAuthRequest_closure, A._sendResponse_closure, A.DdcLibraryBundleRestarter_restart_closure, A.DdcLibraryBundleRestarter_hotReloadStart_closure, A.DdcRestarter_restart_closure0, A.DdcRestarter_restart_closure, A.RequireRestarter__reloadModule_closure0, A.JSArrayExtension_toDartIterable_closure]);
+ _inheritMany(A.Closure2Args, [A._CastListBase_sort_closure, A.CastMap_forEach_closure, A.ConstantMap_map_closure, A.JsLinkedHashMap_addAll_closure, A.initHooks_closure0, A._awaitOnObject_closure0, A._wrapJsFunctionForAsync_closure, A._Future__propagateToListeners_handleWhenCompleteCallback_closure0, A._Future_timeout_closure1, A._BufferingStreamSubscription_asFuture_closure0, A.LinkedHashMap_LinkedHashMap$from_closure, A.MapBase_mapToString_closure, A._JsonStringifier_writeMap_closure, A._BigIntImpl_hashCode_combine, A.Uri__parseIPv4Address_error, A.Uri_parseIPv6Address_error, A.Uri_parseIPv6Address_parseHex, A.FutureOfJSAnyToJSPromise_get_toJS_closure, A.FutureOfJSAnyToJSPromise_get_toJS__closure0, A.FutureOfVoidToJSPromise_get_toJS_closure, A.FutureOfVoidToJSPromise_get_toJS__closure0, A.StreamQueue__ensureListening_closure1, A.hashObjects_closure, A.MapBuilder_replace_closure, A.CanonicalizedMap_addAll_closure, A.CanonicalizedMap_forEach_closure, A.CanonicalizedMap_map_closure, A.safeUnawaited_closure, A.BaseRequest_closure, A.MediaType_toString_closure, A.Pool__runOnRelease_closure0, A.Highlighter__collateLines_closure0, A.generateUuidV4_printDigits, A.generateUuidV4_bitsDigits, A.main__closure4, A.main_closure0]);
_inherit(A.CastList, A._CastListBase);
_inheritMany(A.MapBase, [A.CastMap, A.JsLinkedHashMap, A._HashMap, A._JsonMap]);
_inheritMany(A.Error, [A.LateError, A.TypeError, A.JsNoSuchMethodError, A.UnknownJsTypeError, A.RuntimeError, A._Error, A.JsonUnsupportedObjectError, A.AssertionError, A.ArgumentError, A.UnsupportedError, A.UnimplementedError, A.StateError, A.ConcurrentModificationError, A.BuiltValueNullFieldError, A.BuiltValueNestedFieldError, A.DeserializationError]);
_inherit(A.UnmodifiableListBase, A.ListBase);
_inheritMany(A.UnmodifiableListBase, [A.CodeUnits, A.UnmodifiableListView]);
- _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A._asyncStarHelper_closure, A._AsyncStarStreamController__resumeBody, A._AsyncStarStreamController__resumeBody_closure, A._AsyncStarStreamController_closure0, A._AsyncStarStreamController_closure1, A._AsyncStarStreamController_closure, A._AsyncStarStreamController__closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteErrorObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._AddStreamState_cancel_closure, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.MediaType_MediaType$parse_closure, A.Logger_Logger_closure, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.AdapterWebSocketChannel__closure1, A.main_closure, A.main__closure, A.main__closure0, A.main__closure2, A.main__closure6, A.DdcLibraryBundleRestarter__getSrcModuleLibraries_closure, A.RequireRestarter__reload_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A._createScript__closure, A._createScript__closure0, A.runMain_closure]);
+ _inheritMany(A.Closure0Args, [A.nullFuture_closure, A._AsyncRun__scheduleImmediateJsOverride_internalCallback, A._AsyncRun__scheduleImmediateWithSetImmediate_internalCallback, A._TimerImpl_internalCallback, A._TimerImpl$periodic_closure, A.Future_Future$microtask_closure, A._Future__addListener_closure, A._Future__prependListeners_closure, A._Future__chainCoreFuture_closure, A._Future__asyncCompleteWithValue_closure, A._Future__asyncCompleteErrorObject_closure, A._Future__propagateToListeners_handleWhenCompleteCallback, A._Future__propagateToListeners_handleValueCallback, A._Future__propagateToListeners_handleError, A._Future_timeout_closure, A.Stream_length_closure0, A.Stream_first_closure, A._StreamController__subscribe_closure, A._StreamController__recordCancel_complete, A._BufferingStreamSubscription_asFuture_closure, A._BufferingStreamSubscription_asFuture__closure, A._BufferingStreamSubscription__sendError_sendError, A._BufferingStreamSubscription__sendDone_sendDone, A._PendingEvents_schedule_closure, A._cancelAndValue_closure, A._CustomZone_bindCallback_closure, A._CustomZone_bindCallbackGuarded_closure, A._rootHandleError_closure, A._RootZone_bindCallback_closure, A._RootZone_bindCallbackGuarded_closure, A._Utf8Decoder__decoder_closure, A._Utf8Decoder__decoderNonfatal_closure, A.StreamQueue__ensureListening_closure0, A.Serializers_Serializers_closure, A.Serializers_Serializers_closure0, A.Serializers_Serializers_closure1, A.Serializers_Serializers_closure2, A.Serializers_Serializers_closure3, A._$serializers_closure, A._$serializers_closure0, A.BatchedStreamController__hasEventOrTimeOut_closure, A.BatchedStreamController__hasEventDuring_closure, A.MediaType_MediaType$parse_closure, A.Logger_Logger_closure, A.Highlighter_closure, A.Highlighter__writeFileStart_closure, A.Highlighter__writeMultilineHighlights_closure, A.Highlighter__writeMultilineHighlights_closure0, A.Highlighter__writeMultilineHighlights_closure1, A.Highlighter__writeMultilineHighlights_closure2, A.Highlighter__writeMultilineHighlights__closure, A.Highlighter__writeMultilineHighlights__closure0, A.Highlighter__writeHighlightedText_closure, A.Highlighter__writeIndicator_closure, A.Highlighter__writeIndicator_closure0, A.Highlighter__writeIndicator_closure1, A.Highlighter__writeSidebar_closure, A._Highlight_closure, A.SseClient_closure, A.SseClient__closure, A.SseClient__onOutgoingMessage_closure, A.GuaranteeChannel_closure, A.GuaranteeChannel__closure, A.AdapterWebSocketChannel__closure1, A.main_closure, A.main__closure, A.main__closure0, A.main__closure2, A.main__closure6, A.DdcLibraryBundleRestarter__getSrcModuleLibraries_closure, A.RequireRestarter__reload_closure, A.RequireRestarter__reloadModule_closure, A._createScript_closure, A._createScript__closure, A._createScript__closure0, A.runMain_closure]);
_inheritMany(A.EfficientLengthIterable, [A.ListIterable, A.EmptyIterable, A.LinkedHashMapKeysIterable, A.LinkedHashMapValuesIterable, A.LinkedHashMapEntriesIterable, A._HashMapKeyIterable]);
_inheritMany(A.ListIterable, [A.SubListIterable, A.MappedListIterable, A.ReversedListIterable, A.ListQueue, A._JsonMapKeyIterable]);
_inherit(A.EfficientLengthMappedIterable, A.MappedIterable);
@@ -29508,7 +28995,6 @@
_inheritMany(A._StreamController, [A._AsyncStreamController, A._SyncStreamController]);
_inherit(A._ControllerStream, A._StreamImpl);
_inheritMany(A._BufferingStreamSubscription, [A._ControllerSubscription, A._ForwardingStreamSubscription]);
- _inherit(A._StreamControllerAddStreamState, A._AddStreamState);
_inheritMany(A._DelayedEvent, [A._DelayedData, A._DelayedError]);
_inherit(A._MapStream, A._ForwardingStream);
_inheritMany(A._Zone, [A._CustomZone, A._RootZone]);
@@ -29565,7 +29051,6 @@
_inherit(A._$ServiceExtensionRequest, A.ServiceExtensionRequest);
_inherit(A._$ServiceExtensionResponse, A.ServiceExtensionResponse);
_inheritMany(A.SocketClient, [A.SseSocketClient, A.WebSocketClient]);
- _inherit(A.RequestAbortedException, A.ClientException);
_inherit(A.BrowserClient, A.BaseClient);
_inherit(A.ByteStream, A.StreamView);
_inherit(A.Request, A.BaseRequest);
@@ -29580,7 +29065,7 @@
_inherit(A.SourceSpanWithContext, A.SourceSpanBase);
_inheritMany(A.StreamChannelMixin, [A.SseClient, A.GuaranteeChannel, A.AdapterWebSocketChannel]);
_inherit(A.StringScannerException, A.SourceSpanFormatException);
- _inherit(A.CryptoRNG, A.RNG);
+ _inherit(A.MathRNG, A.RNG);
_inheritMany(A.WebSocketEvent, [A.TextDataReceived, A.BinaryDataReceived, A.CloseReceived]);
_inherit(A.WebSocketConnectionClosed, A.WebSocketException);
_inherit(A._WebSocketSink, A.DelegatingStreamSink);
@@ -29602,7 +29087,7 @@
typeUniverse: {eC: new Map(), tR: {}, eT: {}, tPV: {}, sEA: []},
mangledGlobalNames: {int: "int", double: "double", num: "num", String: "String", bool: "bool", Null: "Null", List: "List", Object: "Object", Map: "Map", JSObject: "JSObject"},
mangledNames: {},
- types: ["~()", "Null()", "~(JSObject)", "Object?(@)", "Null(@)", "Null(Object,StackTrace)", "@(@)", "~(@)", "~(Object?)", "~(Object,StackTrace)", "JSObject()", "Object?(Object?)", "bool(Object?)", "~(~())", "Null(JSObject)", "int(Object?)", "String(String)", "bool(_Highlight)", "bool(Object?,Object?)", "Future<~>()", "Null(JavaScriptFunction)", "~(@,StackTrace)", "bool(String)", "int()", "~(@,@)", "~(Object?,Object?)", "@()", "int(int,int)", "String(Match)", "bool()", "Null(JavaScriptFunction,JavaScriptFunction)", "~(Object[StackTrace?])", "int(@,@)", "int(_Line)", "ListMultimapBuilder<Object,Object>()", "MapBuilder<Object,Object>()", "SetBuilder<Object>()", "int(int,@)", "Object?(~)", "JSObject(Object,StackTrace)", "~(String,int?)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(ServiceExtensionResponseBuilder)", "~(String,int)", "String(@)", "bool(String,String)", "int(String)", "Null(String,String[Object?])", "bool(Object)", "~(List<int>)", "MediaType()", "~(String,String)", "int(int)", "Logger()", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "String(String?)", "String?()", "ListBuilder<Object>()", "_Future<@>?()", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry<Object,List<_Highlight>>)", "~(int,@)", "SourceSpanWithContext()", "Null(@,StackTrace)", "~(String?)", "Future<Null>()", "Null(~())", "Null(WebSocket)", "~(WebSocketEvent)", "Null(Object)", "HotRestartResponse([~(HotRestartResponseBuilder)])", "JSObject(String[bool?])", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "Null(String,String)", "DebugEventBuilder(DebugEventBuilder)", "Null(String)", "RegisterEventBuilder(RegisterEventBuilder)", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "IndentingBuiltValueToStringHelper(String)", "~(bool)", "@(String)", "bool(bool)", "List<String>(String)", "int(String,String)", "Null(JavaScriptObject)", "JSObject()()", "SetMultimapBuilder<Object,Object>()", "@(@,String)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?,Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?,Object?,Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?,Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?,Object?,Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "0^(0^,0^)<num>", "HotReloadResponse([~(HotReloadResponseBuilder)])", "DebugInfoBuilder(DebugInfoBuilder)"],
+ types: ["~()", "Null()", "~(JSObject)", "Object?(@)", "@(@)", "Null(Object,StackTrace)", "Null(@)", "~(@)", "Null(JSObject)", "~(Object?)", "Object?(Object?)", "JSObject()", "~(~())", "~(Object,StackTrace)", "bool(Object?)", "String(String)", "Future<~>()", "bool(Object?,Object?)", "int(Object?)", "bool(_Highlight)", "int(@,@)", "@()", "int(int)", "Null(JavaScriptFunction,JavaScriptFunction)", "~(Object[StackTrace?])", "~(@,@)", "~(@,StackTrace)", "bool()", "int(int,int)", "String(Match)", "bool(String)", "int()", "String(int,int)", "~(Object?,Object?)", "Null(JavaScriptFunction)", "~(String,String)", "@(String)", "@(@,String)", "Null(~())", "~(String,int)", "ListBuilder<DebugEvent>()", "ListBuilder<ExtensionEvent>()", "~(ServiceExtensionResponseBuilder)", "~(String,int?)", "String(@)", "bool(String,String)", "int(String)", "~(Zone,ZoneDelegate,Zone,Object,StackTrace)", "~(List<int>)", "MediaType()", "JSObject(Object,StackTrace)", "Object?(~)", "Logger()", "int(int,@)", "SetMultimapBuilder<Object,Object>()", "String?()", "int(_Line)", "Null(@,StackTrace)", "Object(_Line)", "Object(_Highlight)", "int(_Highlight,_Highlight)", "List<_Line>(MapEntry<Object,List<_Highlight>>)", "IndentingBuiltValueToStringHelper(String)", "SourceSpanWithContext()", "SetBuilder<Object>()", "~(String?)", "Future<Null>()", "ListBuilder<Object>()", "Null(WebSocket)", "~(WebSocketEvent)", "Null(Object)", "ListMultimapBuilder<Object,Object>()", "HotRestartResponse([~(HotRestartResponseBuilder)])", "~(List<DebugEvent>)", "ListBuilder<DebugEvent>(BatchedDebugEventsBuilder)", "Null(String,String)", "DebugEventBuilder(DebugEventBuilder)", "Null(String)", "HotReloadResponse([~(HotReloadResponseBuilder)])", "DevToolsRequestBuilder(DevToolsRequestBuilder)", "Future<~>(String)", "ConnectRequestBuilder(ConnectRequestBuilder)", "DebugInfoBuilder(DebugInfoBuilder)", "~(bool)", "MapBuilder<Object,Object>()", "bool(bool)", "List<String>(String)", "int(String,String)", "Null(JavaScriptObject)", "JSObject()()", "JSObject(String[bool?])", "~(int,@)", "~(Zone?,ZoneDelegate?,Zone,Object,StackTrace)", "0^(Zone?,ZoneDelegate?,Zone,0^())<Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^),1^)<Object?,Object?>", "0^(Zone?,ZoneDelegate?,Zone,0^(1^,2^),1^,2^)<Object?,Object?,Object?>", "0^()(Zone,ZoneDelegate,Zone,0^())<Object?>", "0^(1^)(Zone,ZoneDelegate,Zone,0^(1^))<Object?,Object?>", "0^(1^,2^)(Zone,ZoneDelegate,Zone,0^(1^,2^))<Object?,Object?,Object?>", "AsyncError?(Zone,ZoneDelegate,Zone,Object,StackTrace?)", "~(Zone?,ZoneDelegate?,Zone,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~())", "Timer(Zone,ZoneDelegate,Zone,Duration,~(Timer))", "~(Zone,ZoneDelegate,Zone,String)", "~(String)", "Zone(Zone?,ZoneDelegate?,Zone,ZoneSpecification?,Map<Object?,Object?>?)", "0^(0^,0^)<num>", "RegisterEventBuilder(RegisterEventBuilder)", "String(String?)"],
interceptorsByTag: null,
leafTags: null,
arrayRti: Symbol("$ti"),
@@ -29610,7 +29095,7 @@
"2;": (t1, t2) => o => o instanceof A._Record_2 && t1._is(o._0) && t2._is(o._1)
}
};
- A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","NativeSharedArrayBuffer":"NativeByteBuffer","JavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSArraySafeToStringHook":{"SafeToStringHook":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","Iterable.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_Record_2":{"_Record2":[],"_Record":[]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"LinkedHashMapValuesIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapValueIterator":{"Iterator":["1"]},"LinkedHashMapEntriesIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"LinkedHashMapEntryIterator":{"Iterator":["MapEntry<1,2>"]},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_Record2":{"_Record":[]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeArrayBuffer":{"NativeByteBuffer":[],"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"_UnmodifiableNativeByteBufferView":{"ByteBuffer":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_Future":{"Future":["1"]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"StreamView":{"Stream":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_StreamControllerAddStreamState":{"_AddStreamState":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"1"},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"Encoding":{"Codec":["String","List<int>"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"_UnicodeSubsetEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"AsciiEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"_UnicodeSubsetDecoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"AsciiDecoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Converter":{"StreamTransformer":["1","2"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Latin1Codec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"Latin1Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Latin1Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Utf8Codec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Utf8Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"ListSerializer":{"StructuredSerializer":["List<@>"],"Serializer":["List<@>"]},"MapSerializer":{"StructuredSerializer":["Map<@,@>"],"Serializer":["Map<@,@>"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"SetSerializer":{"StructuredSerializer":["Set<@>"],"Serializer":["Set<@>"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"CanonicalizedMap":{"Map":["2","3"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$HotReloadRequestSerializer":{"StructuredSerializer":["HotReloadRequest"],"Serializer":["HotReloadRequest"]},"_$HotReloadRequest":{"HotReloadRequest":[]},"_$HotReloadResponseSerializer":{"StructuredSerializer":["HotReloadResponse"],"Serializer":["HotReloadResponse"]},"_$HotReloadResponse":{"HotReloadResponse":[]},"_$HotRestartRequestSerializer":{"StructuredSerializer":["HotRestartRequest"],"Serializer":["HotRestartRequest"]},"_$HotRestartRequest":{"HotRestartRequest":[]},"_$HotRestartResponseSerializer":{"StructuredSerializer":["HotRestartResponse"],"Serializer":["HotRestartResponse"]},"_$HotRestartResponse":{"HotRestartResponse":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"_$ServiceExtensionRequestSerializer":{"StructuredSerializer":["ServiceExtensionRequest"],"Serializer":["ServiceExtensionRequest"]},"_$ServiceExtensionRequest":{"ServiceExtensionRequest":[]},"_$ServiceExtensionResponseSerializer":{"StructuredSerializer":["ServiceExtensionResponse"],"Serializer":["ServiceExtensionResponse"]},"_$ServiceExtensionResponse":{"ServiceExtensionResponse":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"RequestAbortedException":{"Exception":[]},"ByteStream":{"StreamView":["List<int>"],"Stream":["List<int>"],"Stream.T":"List<int>","StreamView.T":"List<int>"},"ClientException":{"Exception":[]},"Request":{"BaseRequest":[]},"StreamedResponseV2":{"StreamedResponse":[]},"CaseInsensitiveMap":{"CanonicalizedMap":["String","String","1"],"Map":["String","1"],"CanonicalizedMap.K":"String","CanonicalizedMap.V":"1","CanonicalizedMap.C":"String"},"Level":{"Comparable":["Level"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"_FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"StringScannerException":{"FormatException":[],"Exception":[]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"BrowserWebSocket":{"WebSocket":[]},"TextDataReceived":{"WebSocketEvent":[]},"BinaryDataReceived":{"WebSocketEvent":[]},"CloseReceived":{"WebSocketEvent":[]},"WebSocketException":{"Exception":[]},"WebSocketConnectionClosed":{"Exception":[]},"AdapterWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_WebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannelException":{"Exception":[]},"DdcLibraryBundleRestarter":{"Restarter":[]},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"HotReloadFailedException":{"Exception":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
+ A._Universe_addRules(init.typeUniverse, JSON.parse('{"JavaScriptFunction":"LegacyJavaScriptObject","PlainJavaScriptObject":"LegacyJavaScriptObject","UnknownJavaScriptObject":"LegacyJavaScriptObject","NativeSharedArrayBuffer":"NativeByteBuffer","JavaScriptObject":{"JSObject":[]},"JSArray":{"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"JSBool":{"bool":[],"TrustedGetRuntimeType":[]},"JSNull":{"Null":[],"TrustedGetRuntimeType":[]},"LegacyJavaScriptObject":{"JavaScriptObject":[],"JSObject":[]},"JSArraySafeToStringHook":{"SafeToStringHook":[]},"JSUnmodifiableArray":{"JSArray":["1"],"List":["1"],"JavaScriptObject":[],"EfficientLengthIterable":["1"],"JSObject":[],"Iterable":["1"],"JSIndexable":["1"],"Iterable.E":"1"},"ArrayIterator":{"Iterator":["1"]},"JSNumber":{"double":[],"num":[],"Comparable":["num"]},"JSInt":{"double":[],"int":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSNumNotInt":{"double":[],"num":[],"Comparable":["num"],"TrustedGetRuntimeType":[]},"JSString":{"String":[],"Comparable":["String"],"Pattern":[],"JSIndexable":["@"],"TrustedGetRuntimeType":[]},"_CastIterableBase":{"Iterable":["2"]},"CastIterator":{"Iterator":["2"]},"CastIterable":{"_CastIterableBase":["1","2"],"Iterable":["2"],"Iterable.E":"2"},"_EfficientLengthCastIterable":{"CastIterable":["1","2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"_CastListBase":{"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"]},"CastList":{"_CastListBase":["1","2"],"ListBase":["2"],"List":["2"],"_CastIterableBase":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","Iterable.E":"2"},"CastMap":{"MapBase":["3","4"],"Map":["3","4"],"MapBase.K":"3","MapBase.V":"4"},"LateError":{"Error":[]},"CodeUnits":{"ListBase":["int"],"UnmodifiableListMixin":["int"],"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"],"ListBase.E":"int","Iterable.E":"int","UnmodifiableListMixin.E":"int"},"EfficientLengthIterable":{"Iterable":["1"]},"ListIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"SubListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"ListIterator":{"Iterator":["1"]},"MappedIterable":{"Iterable":["2"],"Iterable.E":"2"},"EfficientLengthMappedIterable":{"MappedIterable":["1","2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"Iterable.E":"2"},"MappedIterator":{"Iterator":["2"]},"MappedListIterable":{"ListIterable":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListIterable.E":"2","Iterable.E":"2"},"WhereIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereIterator":{"Iterator":["1"]},"ExpandIterable":{"Iterable":["2"],"Iterable.E":"2"},"ExpandIterator":{"Iterator":["2"]},"TakeIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthTakeIterable":{"TakeIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"TakeIterator":{"Iterator":["1"]},"SkipIterable":{"Iterable":["1"],"Iterable.E":"1"},"EfficientLengthSkipIterable":{"SkipIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"SkipIterator":{"Iterator":["1"]},"EmptyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"EmptyIterator":{"Iterator":["1"]},"WhereTypeIterable":{"Iterable":["1"],"Iterable.E":"1"},"WhereTypeIterator":{"Iterator":["1"]},"UnmodifiableListBase":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"ReversedListIterable":{"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_Record_2":{"_Record2":[],"_Record":[]},"ConstantMap":{"Map":["1","2"]},"ConstantStringMap":{"ConstantMap":["1","2"],"Map":["1","2"]},"_KeysOrValues":{"Iterable":["1"],"Iterable.E":"1"},"_KeysOrValuesOrElementsIterator":{"Iterator":["1"]},"Instantiation":{"Closure":[],"Function":[]},"Instantiation1":{"Closure":[],"Function":[]},"NullError":{"TypeError":[],"Error":[]},"JsNoSuchMethodError":{"Error":[]},"UnknownJsTypeError":{"Error":[]},"NullThrownFromJavaScriptException":{"Exception":[]},"_StackTrace":{"StackTrace":[]},"Closure":{"Function":[]},"Closure0Args":{"Closure":[],"Function":[]},"Closure2Args":{"Closure":[],"Function":[]},"TearOffClosure":{"Closure":[],"Function":[]},"StaticClosure":{"Closure":[],"Function":[]},"BoundClosure":{"Closure":[],"Function":[]},"RuntimeError":{"Error":[]},"JsLinkedHashMap":{"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"LinkedHashMapKeysIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapKeyIterator":{"Iterator":["1"]},"LinkedHashMapValuesIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"LinkedHashMapValueIterator":{"Iterator":["1"]},"LinkedHashMapEntriesIterable":{"EfficientLengthIterable":["MapEntry<1,2>"],"Iterable":["MapEntry<1,2>"],"Iterable.E":"MapEntry<1,2>"},"LinkedHashMapEntryIterator":{"Iterator":["MapEntry<1,2>"]},"JsIdentityLinkedHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_Record2":{"_Record":[]},"JSSyntaxRegExp":{"RegExp":[],"Pattern":[]},"_MatchImplementation":{"RegExpMatch":[],"Match":[]},"_AllMatchesIterable":{"Iterable":["RegExpMatch"],"Iterable.E":"RegExpMatch"},"_AllMatchesIterator":{"Iterator":["RegExpMatch"]},"StringMatch":{"Match":[]},"_StringAllMatchesIterable":{"Iterable":["Match"],"Iterable.E":"Match"},"_StringAllMatchesIterator":{"Iterator":["Match"]},"NativeByteBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeArrayBuffer":{"JavaScriptObject":[],"JSObject":[],"ByteBuffer":[],"TrustedGetRuntimeType":[]},"NativeTypedData":{"JavaScriptObject":[],"JSObject":[]},"NativeByteData":{"JavaScriptObject":[],"ByteData":[],"JSObject":[],"TrustedGetRuntimeType":[]},"NativeTypedArray":{"JavaScriptIndexingBehavior":["1"],"JavaScriptObject":[],"JSObject":[],"JSIndexable":["1"]},"NativeTypedArrayOfDouble":{"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"]},"NativeTypedArrayOfInt":{"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"]},"NativeFloat32List":{"Float32List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeFloat64List":{"Float64List":[],"ListBase":["double"],"NativeTypedArray":["double"],"List":["double"],"JavaScriptIndexingBehavior":["double"],"JavaScriptObject":[],"EfficientLengthIterable":["double"],"JSObject":[],"JSIndexable":["double"],"Iterable":["double"],"FixedLengthListMixin":["double"],"TrustedGetRuntimeType":[],"ListBase.E":"double","Iterable.E":"double","FixedLengthListMixin.E":"double"},"NativeInt16List":{"NativeTypedArrayOfInt":[],"Int16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt32List":{"NativeTypedArrayOfInt":[],"Int32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeInt8List":{"NativeTypedArrayOfInt":[],"Int8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint16List":{"NativeTypedArrayOfInt":[],"Uint16List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint32List":{"NativeTypedArrayOfInt":[],"Uint32List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8ClampedList":{"NativeTypedArrayOfInt":[],"Uint8ClampedList":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"NativeUint8List":{"NativeTypedArrayOfInt":[],"Uint8List":[],"ListBase":["int"],"NativeTypedArray":["int"],"List":["int"],"JavaScriptIndexingBehavior":["int"],"JavaScriptObject":[],"EfficientLengthIterable":["int"],"JSObject":[],"JSIndexable":["int"],"Iterable":["int"],"FixedLengthListMixin":["int"],"TrustedGetRuntimeType":[],"ListBase.E":"int","Iterable.E":"int","FixedLengthListMixin.E":"int"},"_Type":{"Type":[]},"_Error":{"Error":[]},"_TypeError":{"TypeError":[],"Error":[]},"AsyncError":{"Error":[]},"_TimerImpl":{"Timer":[]},"_AsyncAwaitCompleter":{"Completer":["1"]},"_Completer":{"Completer":["1"]},"_AsyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_SyncCompleter":{"_Completer":["1"],"Completer":["1"]},"_Future":{"Future":["1"]},"StreamView":{"Stream":["1"]},"_StreamController":{"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_AsyncStreamController":{"_AsyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_SyncStreamController":{"_SyncStreamControllerDispatch":["1"],"_StreamController":["1"],"StreamController":["1"],"StreamSink":["1"],"_StreamControllerLifecycle":["1"],"_EventSink":["1"],"_EventDispatch":["1"]},"_ControllerStream":{"_StreamImpl":["1"],"Stream":["1"],"Stream.T":"1"},"_ControllerSubscription":{"_BufferingStreamSubscription":["1"],"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamSinkWrapper":{"StreamSink":["1"]},"_BufferingStreamSubscription":{"StreamSubscription":["1"],"_EventSink":["1"],"_EventDispatch":["1"],"_BufferingStreamSubscription.T":"1"},"_StreamImpl":{"Stream":["1"]},"_DelayedData":{"_DelayedEvent":["1"]},"_DelayedError":{"_DelayedEvent":["@"]},"_DelayedDone":{"_DelayedEvent":["@"]},"_DoneStreamSubscription":{"StreamSubscription":["1"]},"_EmptyStream":{"Stream":["1"],"Stream.T":"1"},"_ForwardingStream":{"Stream":["2"]},"_ForwardingStreamSubscription":{"_BufferingStreamSubscription":["2"],"StreamSubscription":["2"],"_EventSink":["2"],"_EventDispatch":["2"],"_BufferingStreamSubscription.T":"2"},"_MapStream":{"_ForwardingStream":["1","2"],"Stream":["2"],"Stream.T":"2"},"_ZoneSpecification":{"ZoneSpecification":[]},"_ZoneDelegate":{"ZoneDelegate":[]},"_Zone":{"Zone":[]},"_CustomZone":{"_Zone":[],"Zone":[]},"_RootZone":{"_Zone":[],"Zone":[]},"_SplayTreeSetNode":{"_SplayTreeNode":["1","_SplayTreeSetNode<1>"],"_SplayTreeNode.K":"1","_SplayTreeNode.1":"_SplayTreeSetNode<1>"},"_HashMap":{"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_IdentityHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_CustomHashMap":{"_HashMap":["1","2"],"MapBase":["1","2"],"HashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashMapKeyIterable":{"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashMapKeyIterator":{"Iterator":["1"]},"_LinkedCustomHashMap":{"JsLinkedHashMap":["1","2"],"MapBase":["1","2"],"LinkedHashMap":["1","2"],"Map":["1","2"],"MapBase.K":"1","MapBase.V":"2"},"_HashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_HashSetIterator":{"Iterator":["1"]},"_LinkedHashSet":{"_SetBase":["1"],"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"Iterable.E":"1"},"_LinkedHashSetIterator":{"Iterator":["1"]},"UnmodifiableListView":{"ListBase":["1"],"UnmodifiableListMixin":["1"],"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","Iterable.E":"1","UnmodifiableListMixin.E":"1"},"ListBase":{"List":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"MapBase":{"Map":["1","2"]},"MapView":{"Map":["1","2"]},"UnmodifiableMapView":{"_UnmodifiableMapView_MapView__UnmodifiableMapMixin":["1","2"],"MapView":["1","2"],"_UnmodifiableMapMixin":["1","2"],"Map":["1","2"]},"ListQueue":{"Queue":["1"],"ListIterable":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListIterable.E":"1","Iterable.E":"1"},"_ListQueueIterator":{"Iterator":["1"]},"SetBase":{"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SetBase":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"]},"_SplayTreeIterator":{"Iterator":["3"]},"_SplayTreeKeyIterator":{"_SplayTreeIterator":["1","2","1"],"Iterator":["1"],"_SplayTreeIterator.K":"1","_SplayTreeIterator.T":"1","_SplayTreeIterator.1":"2"},"SplayTreeSet":{"SetBase":["1"],"Set":["1"],"EfficientLengthIterable":["1"],"_SplayTree":["1","_SplayTreeSetNode<1>"],"Iterable":["1"],"Iterable.E":"1","_SplayTree.1":"_SplayTreeSetNode<1>","_SplayTree.K":"1"},"Encoding":{"Codec":["String","List<int>"]},"_JsonMap":{"MapBase":["String","@"],"Map":["String","@"],"MapBase.K":"String","MapBase.V":"@"},"_JsonMapKeyIterable":{"ListIterable":["String"],"EfficientLengthIterable":["String"],"Iterable":["String"],"ListIterable.E":"String","Iterable.E":"String"},"AsciiCodec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"_UnicodeSubsetEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"AsciiEncoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"_UnicodeSubsetDecoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"AsciiDecoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Codec":{"Codec":["List<int>","String"],"Codec.S":"List<int>"},"Base64Encoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Base64Decoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Converter":{"StreamTransformer":["1","2"]},"JsonUnsupportedObjectError":{"Error":[]},"JsonCyclicError":{"Error":[]},"JsonCodec":{"Codec":["Object?","String"],"Codec.S":"Object?"},"JsonEncoder":{"Converter":["Object?","String"],"StreamTransformer":["Object?","String"]},"JsonDecoder":{"Converter":["String","Object?"],"StreamTransformer":["String","Object?"]},"Latin1Codec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"Latin1Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Latin1Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"Utf8Codec":{"Encoding":[],"Codec":["String","List<int>"],"Codec.S":"String"},"Utf8Encoder":{"Converter":["String","List<int>"],"StreamTransformer":["String","List<int>"]},"Utf8Decoder":{"Converter":["List<int>","String"],"StreamTransformer":["List<int>","String"]},"BigInt":{"Comparable":["BigInt"]},"DateTime":{"Comparable":["DateTime"]},"double":{"num":[],"Comparable":["num"]},"Duration":{"Comparable":["Duration"]},"int":{"num":[],"Comparable":["num"]},"List":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"num":{"Comparable":["num"]},"RegExp":{"Pattern":[]},"RegExpMatch":{"Match":[]},"Set":{"EfficientLengthIterable":["1"],"Iterable":["1"]},"String":{"Comparable":["String"],"Pattern":[]},"_BigIntImpl":{"BigInt":[],"Comparable":["BigInt"]},"AssertionError":{"Error":[]},"TypeError":{"Error":[]},"ArgumentError":{"Error":[]},"RangeError":{"Error":[]},"IndexError":{"Error":[]},"UnsupportedError":{"Error":[]},"UnimplementedError":{"Error":[]},"StateError":{"Error":[]},"ConcurrentModificationError":{"Error":[]},"OutOfMemoryError":{"Error":[]},"StackOverflowError":{"Error":[]},"_Exception":{"Exception":[]},"FormatException":{"Exception":[]},"IntegerDivisionByZeroException":{"Exception":[],"Error":[]},"_StringStackTrace":{"StackTrace":[]},"StringBuffer":{"StringSink":[]},"_Uri":{"Uri":[]},"_SimpleUri":{"Uri":[]},"_DataUri":{"Uri":[]},"NullRejectionException":{"Exception":[]},"_JSRandom":{"Random":[]},"DelegatingStreamSink":{"StreamSink":["1"]},"ErrorResult":{"Result":["0&"]},"ValueResult":{"Result":["1"]},"_NextRequest":{"_EventRequest":["1"]},"_HasNextRequest":{"_EventRequest":["1"]},"BuiltList":{"Iterable":["1"]},"_BuiltList":{"BuiltList":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltListMultimap":{"BuiltListMultimap":["1","2"]},"_BuiltMap":{"BuiltMap":["1","2"]},"BuiltSet":{"Iterable":["1"]},"_BuiltSet":{"BuiltSet":["1"],"Iterable":["1"],"Iterable.E":"1"},"_BuiltSetMultimap":{"BuiltSetMultimap":["1","2"]},"BuiltValueNullFieldError":{"Error":[]},"BuiltValueNestedFieldError":{"Error":[]},"BoolJsonObject":{"JsonObject":[]},"ListJsonObject":{"JsonObject":[]},"MapJsonObject":{"JsonObject":[]},"NumJsonObject":{"JsonObject":[]},"StringJsonObject":{"JsonObject":[]},"DeserializationError":{"Error":[]},"BigIntSerializer":{"PrimitiveSerializer":["BigInt"],"Serializer":["BigInt"]},"BoolSerializer":{"PrimitiveSerializer":["bool"],"Serializer":["bool"]},"BuiltJsonSerializers":{"Serializers":[]},"BuiltListMultimapSerializer":{"StructuredSerializer":["BuiltListMultimap<@,@>"],"Serializer":["BuiltListMultimap<@,@>"]},"BuiltListSerializer":{"StructuredSerializer":["BuiltList<@>"],"Serializer":["BuiltList<@>"]},"BuiltMapSerializer":{"StructuredSerializer":["BuiltMap<@,@>"],"Serializer":["BuiltMap<@,@>"]},"BuiltSetMultimapSerializer":{"StructuredSerializer":["BuiltSetMultimap<@,@>"],"Serializer":["BuiltSetMultimap<@,@>"]},"BuiltSetSerializer":{"StructuredSerializer":["BuiltSet<@>"],"Serializer":["BuiltSet<@>"]},"DateTimeSerializer":{"PrimitiveSerializer":["DateTime"],"Serializer":["DateTime"]},"DoubleSerializer":{"PrimitiveSerializer":["double"],"Serializer":["double"]},"DurationSerializer":{"PrimitiveSerializer":["Duration"],"Serializer":["Duration"]},"Int32Serializer":{"PrimitiveSerializer":["Int32"],"Serializer":["Int32"]},"Int64Serializer":{"PrimitiveSerializer":["Int64"],"Serializer":["Int64"]},"IntSerializer":{"PrimitiveSerializer":["int"],"Serializer":["int"]},"JsonObjectSerializer":{"PrimitiveSerializer":["JsonObject"],"Serializer":["JsonObject"]},"ListSerializer":{"StructuredSerializer":["List<@>"],"Serializer":["List<@>"]},"MapSerializer":{"StructuredSerializer":["Map<@,@>"],"Serializer":["Map<@,@>"]},"NullSerializer":{"PrimitiveSerializer":["Null"],"Serializer":["Null"]},"NumSerializer":{"PrimitiveSerializer":["num"],"Serializer":["num"]},"RegExpSerializer":{"PrimitiveSerializer":["RegExp"],"Serializer":["RegExp"]},"SetSerializer":{"StructuredSerializer":["Set<@>"],"Serializer":["Set<@>"]},"StringSerializer":{"PrimitiveSerializer":["String"],"Serializer":["String"]},"Uint8ListSerializer":{"PrimitiveSerializer":["Uint8List"],"Serializer":["Uint8List"]},"UriSerializer":{"PrimitiveSerializer":["Uri"],"Serializer":["Uri"]},"CanonicalizedMap":{"Map":["2","3"]},"DefaultEquality":{"Equality":["1"]},"IterableEquality":{"Equality":["Iterable<1>"]},"ListEquality":{"Equality":["List<1>"]},"_UnorderedEquality":{"Equality":["2"]},"SetEquality":{"_UnorderedEquality":["1","Set<1>"],"Equality":["Set<1>"],"_UnorderedEquality.E":"1","_UnorderedEquality.T":"Set<1>"},"MapEquality":{"Equality":["Map<1,2>"]},"DeepCollectionEquality":{"Equality":["@"]},"QueueList":{"ListBase":["1"],"List":["1"],"Queue":["1"],"EfficientLengthIterable":["1"],"Iterable":["1"],"ListBase.E":"1","QueueList.E":"1","Iterable.E":"1"},"_CastQueueList":{"QueueList":["2"],"ListBase":["2"],"List":["2"],"Queue":["2"],"EfficientLengthIterable":["2"],"Iterable":["2"],"ListBase.E":"2","QueueList.E":"2","Iterable.E":"2"},"_$BuildStatusSerializer":{"PrimitiveSerializer":["BuildStatus"],"Serializer":["BuildStatus"]},"_$BuildResultSerializer":{"StructuredSerializer":["BuildResult"],"Serializer":["BuildResult"]},"_$BuildResult":{"BuildResult":[]},"_$ConnectRequestSerializer":{"StructuredSerializer":["ConnectRequest"],"Serializer":["ConnectRequest"]},"_$ConnectRequest":{"ConnectRequest":[]},"_$DebugEventSerializer":{"StructuredSerializer":["DebugEvent"],"Serializer":["DebugEvent"]},"_$BatchedDebugEventsSerializer":{"StructuredSerializer":["BatchedDebugEvents"],"Serializer":["BatchedDebugEvents"]},"_$DebugEvent":{"DebugEvent":[]},"_$BatchedDebugEvents":{"BatchedDebugEvents":[]},"_$DebugInfoSerializer":{"StructuredSerializer":["DebugInfo"],"Serializer":["DebugInfo"]},"_$DebugInfo":{"DebugInfo":[]},"_$DevToolsRequestSerializer":{"StructuredSerializer":["DevToolsRequest"],"Serializer":["DevToolsRequest"]},"_$DevToolsResponseSerializer":{"StructuredSerializer":["DevToolsResponse"],"Serializer":["DevToolsResponse"]},"_$DevToolsRequest":{"DevToolsRequest":[]},"_$DevToolsResponse":{"DevToolsResponse":[]},"_$ErrorResponseSerializer":{"StructuredSerializer":["ErrorResponse"],"Serializer":["ErrorResponse"]},"_$ErrorResponse":{"ErrorResponse":[]},"_$ExtensionRequestSerializer":{"StructuredSerializer":["ExtensionRequest"],"Serializer":["ExtensionRequest"]},"_$ExtensionResponseSerializer":{"StructuredSerializer":["ExtensionResponse"],"Serializer":["ExtensionResponse"]},"_$ExtensionEventSerializer":{"StructuredSerializer":["ExtensionEvent"],"Serializer":["ExtensionEvent"]},"_$BatchedEventsSerializer":{"StructuredSerializer":["BatchedEvents"],"Serializer":["BatchedEvents"]},"_$ExtensionRequest":{"ExtensionRequest":[]},"_$ExtensionResponse":{"ExtensionResponse":[]},"_$ExtensionEvent":{"ExtensionEvent":[]},"_$BatchedEvents":{"BatchedEvents":[]},"_$HotReloadRequestSerializer":{"StructuredSerializer":["HotReloadRequest"],"Serializer":["HotReloadRequest"]},"_$HotReloadRequest":{"HotReloadRequest":[]},"_$HotReloadResponseSerializer":{"StructuredSerializer":["HotReloadResponse"],"Serializer":["HotReloadResponse"]},"_$HotReloadResponse":{"HotReloadResponse":[]},"_$HotRestartRequestSerializer":{"StructuredSerializer":["HotRestartRequest"],"Serializer":["HotRestartRequest"]},"_$HotRestartRequest":{"HotRestartRequest":[]},"_$HotRestartResponseSerializer":{"StructuredSerializer":["HotRestartResponse"],"Serializer":["HotRestartResponse"]},"_$HotRestartResponse":{"HotRestartResponse":[]},"_$IsolateExitSerializer":{"StructuredSerializer":["IsolateExit"],"Serializer":["IsolateExit"]},"_$IsolateStartSerializer":{"StructuredSerializer":["IsolateStart"],"Serializer":["IsolateStart"]},"_$IsolateExit":{"IsolateExit":[]},"_$IsolateStart":{"IsolateStart":[]},"_$RegisterEventSerializer":{"StructuredSerializer":["RegisterEvent"],"Serializer":["RegisterEvent"]},"_$RegisterEvent":{"RegisterEvent":[]},"_$RunRequestSerializer":{"StructuredSerializer":["RunRequest"],"Serializer":["RunRequest"]},"_$RunRequest":{"RunRequest":[]},"_$ServiceExtensionRequestSerializer":{"StructuredSerializer":["ServiceExtensionRequest"],"Serializer":["ServiceExtensionRequest"]},"_$ServiceExtensionRequest":{"ServiceExtensionRequest":[]},"_$ServiceExtensionResponseSerializer":{"StructuredSerializer":["ServiceExtensionResponse"],"Serializer":["ServiceExtensionResponse"]},"_$ServiceExtensionResponse":{"ServiceExtensionResponse":[]},"SseSocketClient":{"SocketClient":[]},"WebSocketClient":{"SocketClient":[]},"Int32":{"Comparable":["Object"]},"Int64":{"Comparable":["Object"]},"ByteStream":{"StreamView":["List<int>"],"Stream":["List<int>"],"Stream.T":"List<int>","StreamView.T":"List<int>"},"ClientException":{"Exception":[]},"Request":{"BaseRequest":[]},"StreamedResponseV2":{"StreamedResponse":[]},"CaseInsensitiveMap":{"CanonicalizedMap":["String","String","1"],"Map":["String","1"],"CanonicalizedMap.K":"String","CanonicalizedMap.V":"1","CanonicalizedMap.C":"String"},"Level":{"Comparable":["Level"]},"PathException":{"Exception":[]},"PosixStyle":{"InternalStyle":[]},"UrlStyle":{"InternalStyle":[]},"WindowsStyle":{"InternalStyle":[]},"FileLocation":{"SourceLocation":[],"Comparable":["SourceLocation"]},"_FileSpan":{"SourceSpanWithContext":[],"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceLocation":{"Comparable":["SourceLocation"]},"SourceLocationMixin":{"SourceLocation":[],"Comparable":["SourceLocation"]},"SourceSpan":{"Comparable":["SourceSpan"]},"SourceSpanBase":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanException":{"Exception":[]},"SourceSpanFormatException":{"FormatException":[],"Exception":[]},"SourceSpanMixin":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SourceSpanWithContext":{"SourceSpan":[],"Comparable":["SourceSpan"]},"SseClient":{"StreamChannel":["String?"]},"GuaranteeChannel":{"StreamChannel":["1"]},"_GuaranteeSink":{"StreamSink":["1"]},"StreamChannelMixin":{"StreamChannel":["1"]},"StringScannerException":{"FormatException":[],"Exception":[]},"_EventStream":{"Stream":["1"],"Stream.T":"1"},"_EventStreamSubscription":{"StreamSubscription":["1"]},"BrowserWebSocket":{"WebSocket":[]},"TextDataReceived":{"WebSocketEvent":[]},"BinaryDataReceived":{"WebSocketEvent":[]},"CloseReceived":{"WebSocketEvent":[]},"WebSocketException":{"Exception":[]},"WebSocketConnectionClosed":{"Exception":[]},"AdapterWebSocketChannel":{"WebSocketChannel":[],"StreamChannel":["@"]},"_WebSocketSink":{"WebSocketSink":[],"DelegatingStreamSink":["@"],"StreamSink":["@"],"DelegatingStreamSink.T":"@"},"WebSocketChannelException":{"Exception":[]},"DdcLibraryBundleRestarter":{"Restarter":[]},"DdcRestarter":{"Restarter":[]},"RequireRestarter":{"Restarter":[]},"HotReloadFailedException":{"Exception":[]},"Int8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint8ClampedList":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint16List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Int32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Uint32List":{"List":["int"],"EfficientLengthIterable":["int"],"Iterable":["int"]},"Float32List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]},"Float64List":{"List":["double"],"EfficientLengthIterable":["double"],"Iterable":["double"]}}'));
A._Universe_addErasedTypes(init.typeUniverse, JSON.parse('{"UnmodifiableListBase":1,"__CastListBase__CastIterableBase_ListMixin":2,"NativeTypedArray":1,"_DelayedEvent":1,"_SplayTreeSet__SplayTree_Iterable":1,"_SplayTreeSet__SplayTree_Iterable_SetMixin":1,"_QueueList_Object_ListMixin":1,"StreamChannelMixin":1}'));
var string$ = {
x00_____: "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\u03f6\x00\u0404\u03f4 \u03f4\u03f6\u01f6\u01f6\u03f6\u03fc\u01f4\u03ff\u03ff\u0584\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u05d4\u01f4\x00\u01f4\x00\u0504\u05c4\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0400\x00\u0400\u0200\u03f7\u0200\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u03ff\u0200\u0200\u0200\u03f7\x00",
@@ -29623,7 +29108,6 @@
Error_: "Error handler must accept one Object or one Object and a StackTrace as arguments, and return a value of the returned future's type",
Hot_reA: "Hot reload is not supported for the AMD module format.",
Hot_reD: "Hot reload is not supported for the DDC module format.",
- max_mu: "max must be in range 0 < max \u2264 2^32, was ",
serial: "serializer must be StructuredSerializer or PrimitiveSerializer"
};
var type$ = (function rtii() {
@@ -29686,7 +29170,6 @@
Iterable_int: findType("Iterable<int>"),
Iterable_nullable_Object: findType("Iterable<Object?>"),
JSArray_FullType: findType("JSArray<FullType>"),
- JSArray_JSObject: findType("JSArray<JSObject>"),
JSArray_Object: findType("JSArray<Object>"),
JSArray_String: findType("JSArray<String>"),
JSArray_Type: findType("JSArray<Type>"),
@@ -29761,7 +29244,6 @@
StackTrace: findType("StackTrace"),
StreamChannelController_nullable_Object: findType("StreamChannelController<Object?>"),
StreamQueue_DebugEvent: findType("StreamQueue<DebugEvent>"),
- Stream_dynamic: findType("Stream<@>"),
StreamedResponse: findType("StreamedResponse"),
String: findType("String"),
String_Function_Match: findType("String(Match)"),
@@ -29785,18 +29267,19 @@
Zone: findType("Zone"),
_AsyncCompleter_BrowserWebSocket: findType("_AsyncCompleter<BrowserWebSocket>"),
_AsyncCompleter_PoolResource: findType("_AsyncCompleter<PoolResource>"),
+ _AsyncCompleter_StreamedResponse: findType("_AsyncCompleter<StreamedResponse>"),
_AsyncCompleter_String: findType("_AsyncCompleter<String>"),
_AsyncCompleter_Uint8List: findType("_AsyncCompleter<Uint8List>"),
_AsyncCompleter_bool: findType("_AsyncCompleter<bool>"),
_AsyncCompleter_dynamic: findType("_AsyncCompleter<@>"),
_AsyncCompleter_void: findType("_AsyncCompleter<~>"),
- _AsyncStreamController_List_int: findType("_AsyncStreamController<List<int>>"),
_BigIntImpl: findType("_BigIntImpl"),
_BuiltMap_dynamic_dynamic: findType("_BuiltMap<@,@>"),
_EventRequest_dynamic: findType("_EventRequest<@>"),
_EventStream_JSObject: findType("_EventStream<JSObject>"),
_Future_BrowserWebSocket: findType("_Future<BrowserWebSocket>"),
_Future_PoolResource: findType("_Future<PoolResource>"),
+ _Future_StreamedResponse: findType("_Future<StreamedResponse>"),
_Future_String: findType("_Future<String>"),
_Future_Uint8List: findType("_Future<Uint8List>"),
_Future_bool: findType("_Future<bool>"),
@@ -29841,7 +29324,6 @@
nullable__Highlight: findType("_Highlight?"),
nullable__LinkedHashSetCell: findType("_LinkedHashSetCell?"),
nullable_bool: findType("bool?"),
- nullable_bool_Function_Object: findType("bool(Object)?"),
nullable_double: findType("double?"),
nullable_int: findType("int?"),
nullable_num: findType("num?"),
@@ -29865,8 +29347,7 @@
void_Function_Object: findType("~(Object)"),
void_Function_Object_StackTrace: findType("~(Object,StackTrace)"),
void_Function_String_dynamic: findType("~(String,@)"),
- void_Function_Timer: findType("~(Timer)"),
- void_Function_int_dynamic: findType("~(int,@)")
+ void_Function_Timer: findType("~(Timer)")
};
})();
(function constants() {
@@ -29879,7 +29360,6 @@
B.JSString_methods = J.JSString.prototype;
B.JavaScriptFunction_methods = J.JavaScriptFunction.prototype;
B.JavaScriptObject_methods = J.JavaScriptObject.prototype;
- B.NativeByteData_methods = A.NativeByteData.prototype;
B.NativeUint32List_methods = A.NativeUint32List.prototype;
B.NativeUint8List_methods = A.NativeUint8List.prototype;
B.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype;
@@ -30306,11 +29786,6 @@
_lazyFinal($, "_Uri__needsNoEncoding", "$get$_Uri__needsNoEncoding", () => A.RegExp_RegExp("^[\\-\\.0-9A-Z_a-z~]*$", true, false));
_lazyFinal($, "_hashSeed", "$get$_hashSeed", () => A.objectHashCode(B.Type_Object_A4p));
_lazyFinal($, "_jsBoxedDartObjectProperty", "$get$_jsBoxedDartObjectProperty", () => Symbol("jsBoxedDartObjectProperty"));
- _lazyFinal($, "Random__secureRandom", "$get$Random__secureRandom", () => {
- var t1 = new A._JSSecureRandom(new DataView(new ArrayBuffer(A._checkLength(8))));
- t1._JSSecureRandom$0();
- return t1;
- });
_lazyFinal($, "isSoundMode", "$get$isSoundMode", () => !type$.List_int._is(A._setArrayType([], A.findType("JSArray<int?>"))));
_lazy($, "newBuiltValueToStringHelper", "$get$newBuiltValueToStringHelper", () => new A.newBuiltValueToStringHelper_closure());
_lazyFinal($, "_runtimeType", "$get$_runtimeType", () => A.getRuntimeTypeOfDartObject(A.RegExp_RegExp("", true, false)));
@@ -30370,10 +29845,11 @@
_lazy($, "_$serviceExtensionResponseSerializer", "$get$_$serviceExtensionResponseSerializer", () => new A._$ServiceExtensionResponseSerializer());
_lazyFinal($, "_logger", "$get$_logger", () => A.Logger_Logger("Utilities"));
_lazyFinal($, "BaseRequest__tokenRE", "$get$BaseRequest__tokenRE", () => A.RegExp_RegExp("^[\\w!#%&'*+\\-.^`|~]+$", true, false));
+ _lazyFinal($, "_digitRegex", "$get$_digitRegex", () => A.RegExp_RegExp("^\\d+$", true, false));
_lazyFinal($, "_escapedChar", "$get$_escapedChar", () => A.RegExp_RegExp('["\\x00-\\x1F\\x7F]', true, false));
_lazyFinal($, "token", "$get$token", () => A.RegExp_RegExp('[^()<>@,;:"\\\\/[\\]?={} \\t\\x00-\\x1F\\x7F]+', true, false));
_lazyFinal($, "_lws", "$get$_lws", () => A.RegExp_RegExp("(?:\\r\\n)?[ \\t]+", true, false));
- _lazyFinal($, "_quotedString", "$get$_quotedString", () => A.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F\\\\]|\\\\.)*"', true, false));
+ _lazyFinal($, "_quotedString", "$get$_quotedString", () => A.RegExp_RegExp('"(?:[^"\\x00-\\x1F\\x7F]|\\\\.)*"', true, false));
_lazyFinal($, "_quotedPair", "$get$_quotedPair", () => A.RegExp_RegExp("\\\\(.)", true, false));
_lazyFinal($, "nonToken", "$get$nonToken", () => A.RegExp_RegExp('[()<>@,;:"\\\\/\\[\\]?={} \\t\\x00-\\x1F\\x7F]', true, false));
_lazyFinal($, "whitespace", "$get$whitespace", () => A.RegExp_RegExp("(?:" + $.$get$_lws().pattern + ")*", true, false));
@@ -30392,8 +29868,8 @@
t4 = A.Completer_Completer(type$.dynamic);
return new A.Pool(t2, t3, t1, 1000, new A.AsyncMemoizer(t4, A.findType("AsyncMemoizer<@>")));
});
- _lazy($, "V1State_random", "$get$V1State_random", () => new A.CryptoRNG());
- _lazy($, "V4State_random", "$get$V4State_random", () => new A.CryptoRNG());
+ _lazy($, "V1State_random", "$get$V1State_random", () => A.MathRNG$());
+ _lazy($, "V4State_random", "$get$V4State_random", () => A.MathRNG$());
_lazyFinal($, "UuidParsing__byteToHex", "$get$UuidParsing__byteToHex", () => {
var i,
_list = J.JSArray_JSArray$allocateGrowable(256, type$.String);
@@ -30401,7 +29877,6 @@
_list[i] = B.JSString_methods.padLeft$2(B.JSInt_methods.toRadixString$1(i, 16), 2, "0");
return _list;
});
- _lazyFinal($, "CryptoRNG__secureRandom", "$get$CryptoRNG__secureRandom", () => $.$get$Random__secureRandom());
_lazyFinal($, "_noncePattern", "$get$_noncePattern", () => A.RegExp_RegExp("^[\\w+/_-]+[=]{0,2}$", true, false));
_lazyFinal($, "_createScript", "$get$_createScript", () => new A._createScript_closure().call$0());
})();
diff --git a/dwds/lib/src/version.dart b/dwds/lib/src/version.dart
index f4414db..9c88b04 100644
--- a/dwds/lib/src/version.dart
+++ b/dwds/lib/src/version.dart
@@ -1,2 +1,2 @@
// Generated code. Do not modify.
-const packageVersion = '25.0.3';
+const packageVersion = '25.1.0-wip';
diff --git a/dwds/pubspec.yaml b/dwds/pubspec.yaml
index bdaf630..987f5e2 100644
--- a/dwds/pubspec.yaml
+++ b/dwds/pubspec.yaml
@@ -1,6 +1,6 @@
name: dwds
# Every time this changes you need to run `dart run build_runner build`.
-version: 25.0.3
+version: 25.1.0-wip
description: >-
A service that proxies between the Chrome debug protocol and the Dart VM
diff --git a/dwds/test/common/hot_restart_common.dart b/dwds/test/common/hot_restart_common.dart
index 5cea54d..de546ba 100644
--- a/dwds/test/common/hot_restart_common.dart
+++ b/dwds/test/common/hot_restart_common.dart
@@ -47,30 +47,37 @@
}
Future<void> makeEditAndRecompile() async {
- context.makeEditToDartEntryFile(
- toReplace: originalString,
- replaceWith: newString,
- );
+ await context.makeEdits([
+ (
+ file: context.project.dartEntryFileName,
+ originalString: originalString,
+ newString: newString,
+ ),
+ ]);
await recompile(hasEdits: true);
}
- /// Wait for main to finish executing before checking expectations by checking
- /// for a log output.
- ///
- /// If [debuggingEnabled] is false, we can't check for Chrome logs and instead
- /// wait 1 second.
- // TODO(srujzs): We should do something less prone to race conditions when
- // debugging is disabled.
- Future<void> waitForMainToExecute({bool debuggingEnabled = true}) async {
- if (!debuggingEnabled) return Future.delayed(const Duration(seconds: 1));
+ // Wait for `expectedStrings` to be printed to the console.
+ Future<void> waitForLogs(List<String> expectedStrings) async {
+ final expectations = List<String>.from(expectedStrings);
final completer = Completer<void>();
- final expectedString = 'main executed';
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((e) {
- if (e.args.first.value == expectedString) {
- completer.complete();
+ final value = e.args.first.value;
+ if (expectations.contains(value)) {
+ expectations.remove(value);
+ if (expectations.isEmpty) {
+ completer.complete();
+ }
}
});
- await completer.future;
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ 'Failed to find logs: $expectedStrings in console.',
+ );
+ },
+ );
await subscription.cancel();
}
@@ -95,14 +102,10 @@
});
test('can live reload changes ', () async {
- final mainDone = waitForMainToExecute();
- await makeEditAndRecompile();
- await mainDone;
- final source = await context.webDriver.pageSource;
-
// A full reload should clear the state.
- expect(source.contains(originalString), isFalse);
- expect(source.contains(newString), isTrue);
+ final logFuture = waitForLogs([newString]);
+ await makeEditAndRecompile();
+ await logFuture;
});
});
@@ -127,14 +130,10 @@
});
test('can live reload changes ', () async {
- final mainDone = waitForMainToExecute(debuggingEnabled: false);
- await makeEditAndRecompile();
- await mainDone;
- final source = await context.webDriver.pageSource;
-
// A full reload should clear the state.
- expect(source.contains(originalString), isFalse);
- expect(source.contains(newString), isTrue);
+ final logFuture = waitForLogs([newString]);
+ await makeEditAndRecompile();
+ await logFuture;
});
});
@@ -160,14 +159,10 @@
});
test('can live reload changes ', () async {
- final mainDone = waitForMainToExecute(debuggingEnabled: false);
- await makeEditAndRecompile();
- await mainDone;
- final source = await context.webDriver.pageSource;
-
// A full reload should clear the state.
- expect(source.contains(originalString), isFalse);
- expect(source.contains(newString), isTrue);
+ final logFuture = waitForLogs([newString]);
+ await makeEditAndRecompile();
+ await logFuture;
});
});
},
@@ -303,7 +298,8 @@
]),
),
);
- final mainDone = waitForMainToExecute();
+ // Main is re-invoked which shouldn't clear the state.
+ final logFuture = waitForLogs(['$originalString $newString']);
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
expect(
await fakeClient.callServiceExtension(hotRestart!),
@@ -311,12 +307,7 @@
);
await eventsDone;
- await mainDone;
-
- final source = await context.webDriver.pageSource;
- // Main is re-invoked which shouldn't clear the state.
- expect(source, contains(originalString));
- expect(source, contains(newString));
+ await logFuture;
});
test('can send events before and after hot restart', () async {
@@ -349,7 +340,8 @@
);
await recompile();
- final mainDone = waitForMainToExecute();
+ // Main is re-invoked which shouldn't clear the state.
+ final logFuture = waitForLogs(['$originalString $originalString']);
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
expect(
await fakeClient.callServiceExtension(hotRestart!),
@@ -368,11 +360,7 @@
);
await eventsDone;
- await mainDone;
-
- final source = await context.webDriver.pageSource;
- // Main is re-invoked which shouldn't clear the state.
- expect(source, contains('Hello World!'));
+ await logFuture;
});
test('can refresh the page via the fullReload service extension', () async {
@@ -390,7 +378,8 @@
]),
),
);
- final mainDone = waitForMainToExecute();
+ // Should see only the new text.
+ final logFuture = waitForLogs([newString]);
final fullReload = context.getRegisteredServiceExtension('fullReload');
expect(
await fakeClient.callServiceExtension(fullReload!),
@@ -398,12 +387,7 @@
);
await eventsDone;
- await mainDone;
-
- final source = await context.webDriver.pageSource;
- // Should see only the new text
- expect(source.contains(originalString), isFalse);
- expect(source.contains(newString), isTrue);
+ await logFuture;
});
test('can hot restart while paused', () async {
@@ -427,17 +411,11 @@
);
await makeEditAndRecompile();
- final mainDone = waitForMainToExecute();
+ // Main is re-invoked which shouldn't clear the state.
+ final logFuture = waitForLogs(['$originalString $newString']);
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
await fakeClient.callServiceExtension(hotRestart!);
-
- await mainDone;
-
- final source = await context.webDriver.pageSource;
-
- // Main is re-invoked which shouldn't clear the state.
- expect(source.contains(originalString), isTrue);
- expect(source.contains(newString), isTrue);
+ await logFuture;
vm = await client.getVM();
isolateId = vm.isolates!.first.id!;
@@ -474,37 +452,25 @@
test('can hot restart with no changes, hot restart with changes, and '
'hot restart again with no changes', () async {
// Empty hot restart.
- var mainDone = waitForMainToExecute();
+ var logFuture = waitForLogs(['$originalString $originalString']);
await recompile();
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
await fakeClient.callServiceExtension(hotRestart!);
-
- await mainDone;
- var source = await context.webDriver.pageSource;
- expect(source.contains(originalString), isTrue);
- expect(source.contains(newString), isFalse);
+ await logFuture;
// Hot restart.
- mainDone = waitForMainToExecute();
+ logFuture = waitForLogs(['$originalString $originalString $newString']);
await makeEditAndRecompile();
await fakeClient.callServiceExtension(hotRestart);
-
- await mainDone;
- source = await context.webDriver.pageSource;
- // Main is re-invoked which shouldn't clear the state.
- expect(source.contains(originalString), isTrue);
- expect(source.contains(newString), isTrue);
+ await logFuture;
// Empty hot restart.
- mainDone = waitForMainToExecute();
+ logFuture = waitForLogs([
+ '$originalString $originalString $newString $newString',
+ ]);
await recompile();
await fakeClient.callServiceExtension(hotRestart);
-
- await mainDone;
- source = await context.webDriver.pageSource;
- expect(source.contains(originalString), isTrue);
- // `newString` should now exist twice in the source.
- expect(source.contains(RegExp('$newString.*$newString')), isTrue);
+ await logFuture;
});
}, timeout: Timeout.factor(2));
@@ -529,19 +495,15 @@
});
test('can hot restart changes ', () async {
- final mainDone = waitForMainToExecute();
- await makeEditAndRecompile();
- await mainDone;
- final source = await context.webDriver.pageSource;
-
// Main is re-invoked which shouldn't clear the state.
- expect(source.contains(originalString), isTrue);
- expect(source.contains(newString), isTrue);
- // The ext.flutter.disassemble callback is invoked and waited for.
- expect(
- source,
- contains('start disassemble end disassemble $newString'),
- );
+ final logFutures = waitForLogs([
+ '$originalString $newString',
+ // The ext.flutter.disassemble callback is invoked and waited for.
+ 'start disassemble',
+ 'end disassemble',
+ ]);
+ await makeEditAndRecompile();
+ await logFutures;
});
test(
@@ -589,19 +551,15 @@
});
test('can hot restart changes ', () async {
- final mainDone = waitForMainToExecute(debuggingEnabled: false);
- await makeEditAndRecompile();
- await mainDone;
- final source = await context.webDriver.pageSource;
-
// Main is re-invoked which shouldn't clear the state.
- expect(source.contains(originalString), isTrue);
- expect(source.contains(newString), isTrue);
- // The ext.flutter.disassemble callback is invoked and waited for.
- expect(
- source,
- contains('start disassemble end disassemble $newString'),
- );
+ final logFutures = waitForLogs([
+ '$originalString $newString',
+ // The ext.flutter.disassemble callback is invoked and waited for.
+ 'start disassemble',
+ 'end disassemble',
+ ]);
+ await makeEditAndRecompile();
+ await logFutures;
});
});
},
@@ -650,7 +608,8 @@
),
);
- final mainDone = waitForMainToExecute();
+ // Main is re-invoked which shouldn't clear the state.
+ final logFuture = waitForLogs(['$originalString $newString']);
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
expect(
await fakeClient.callServiceExtension(hotRestart!),
@@ -659,24 +618,18 @@
await eventsDone;
- final sourceBeforeResume = await context.webDriver.pageSource;
- expect(sourceBeforeResume.contains(newString), isFalse);
-
final vm = await client.getVM();
final isolateId = vm.isolates!.first.id!;
await client.resume(isolateId);
- await mainDone;
-
- final sourceAfterResume = await context.webDriver.pageSource;
- expect(sourceAfterResume.contains(newString), isTrue);
+ await logFuture;
},
);
test(
'after page refresh, does not run app until there is a resume event',
() async {
- final mainDone = waitForMainToExecute();
+ final logFuture = waitForLogs([newString]);
await makeEditAndRecompile();
await context.webDriver.driver.refresh();
@@ -693,17 +646,11 @@
await eventsDone;
- final sourceBeforeResume = await context.webDriver.pageSource;
- expect(sourceBeforeResume.contains(newString), isFalse);
-
final vm = await client.getVM();
final isolateId = vm.isolates!.first.id!;
await client.resume(isolateId);
- await mainDone;
-
- final sourceAfterResume = await context.webDriver.pageSource;
- expect(sourceAfterResume.contains(newString), isTrue);
+ await logFuture;
},
);
});
diff --git a/dwds/test/common/hot_restart_correctness_common.dart b/dwds/test/common/hot_restart_correctness_common.dart
index 381c41a..36ac8e9 100644
--- a/dwds/test/common/hot_restart_correctness_common.dart
+++ b/dwds/test/common/hot_restart_correctness_common.dart
@@ -7,12 +7,13 @@
@Timeout(Duration(minutes: 5))
library;
+import 'dart:async';
+
import 'package:dwds/dwds.dart';
import 'package:dwds/expression_compiler.dart';
import 'package:test/test.dart';
import 'package:test_common/logging.dart';
import 'package:test_common/test_sdk_configuration.dart';
-import 'package:test_common/utilities.dart';
import 'package:vm_service/vm_service.dart';
import '../fixtures/context.dart';
@@ -38,11 +39,13 @@
final context = TestContext(testHotRestart2, provider);
Future<void> makeEditAndRecompile() async {
- context.makeEditToDartLibFile(
- libFileName: 'library2.dart',
- toReplace: originalString,
- replaceWith: newString,
- );
+ await context.makeEdits([
+ (
+ file: 'library2.dart',
+ originalString: originalString,
+ newString: newString,
+ ),
+ ]);
if (compilationMode == CompilationMode.frontendServer) {
await context.recompile(fullRestart: true);
} else {
@@ -51,6 +54,25 @@
}
}
+ // Wait for `expectedString` to be printed to the console.
+ Future<void> waitForLog(String expectedString) async {
+ final completer = Completer<void>();
+ final subscription = context.webkitDebugger.onConsoleAPICalled.listen((e) {
+ if (e.args.first.value == expectedString) {
+ completer.complete();
+ }
+ });
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
+ await subscription.cancel();
+ }
+
group('Injected client', () {
VmService? fakeClient;
@@ -72,18 +94,25 @@
await context.tearDown();
});
+ test('initial state prints the right log', () async {
+ final client = context.debugConnection.vmService;
+
+ final logFuture = waitForLog(
+ 'ConstObject(reloadVariable: 23, ConstantEqualitySuccess)',
+ );
+ final vm = await client.getVM();
+ final isolate = await client.getIsolate(vm.isolates!.first.id!);
+ final rootLib = isolate.rootLib;
+ await client.evaluate(isolate.id!, rootLib!.id!, 'printConst()');
+ await logFuture;
+ });
+
test(
'properly compares constants after hot restart via the service extension',
() async {
final client = context.debugConnection.vmService;
await client.streamListen('Isolate');
- var source = await context.webDriver.pageSource;
- expect(
- source,
- contains('ConstObject(reloadVariable: 23, ConstantEqualitySuccess)'),
- );
-
await makeEditAndRecompile();
final eventsDone = expectLater(
@@ -97,6 +126,9 @@
),
);
+ final logFuture = waitForLog(
+ 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
+ );
final hotRestart = context.getRegisteredServiceExtension('hotRestart');
expect(
await fakeClient!.callServiceExtension(hotRestart!),
@@ -104,16 +136,7 @@
);
await eventsDone;
-
- source = await context.webDriver.pageSource;
- if (dartSdkIsAtLeast('3.4.0-61.0.dev')) {
- expect(
- source,
- contains(
- 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
- ),
- );
- }
+ await logFuture;
},
);
}, timeout: Timeout.factor(2));
@@ -139,25 +162,11 @@
});
test('properly compares constants after hot restart', () async {
- var source = await context.webDriver.pageSource;
- expect(
- source,
- contains(
- 'ConstObject(reloadVariable: 23, ConstantEqualitySuccess)',
- ),
+ final logFuture = waitForLog(
+ 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
);
-
await makeEditAndRecompile();
-
- source = await context.webDriver.pageSource;
- if (dartSdkIsAtLeast('3.4.0-61.0.dev')) {
- expect(
- source,
- contains(
- 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
- ),
- );
- }
+ await logFuture;
});
});
@@ -182,25 +191,11 @@
});
test('properly compares constants after hot restart', () async {
- var source = await context.webDriver.pageSource;
- expect(
- source,
- contains(
- 'ConstObject(reloadVariable: 23, ConstantEqualitySuccess)',
- ),
+ final logFuture = waitForLog(
+ 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
);
-
await makeEditAndRecompile();
-
- source = await context.webDriver.pageSource;
- if (dartSdkIsAtLeast('3.4.0-61.0.dev')) {
- expect(
- source,
- contains(
- 'ConstObject(reloadVariable: 45, ConstantEqualitySuccess)',
- ),
- );
- }
+ await logFuture;
});
});
},
diff --git a/dwds/test/devtools_test.dart b/dwds/test/devtools_test.dart
index 3c246fe..94eeb70 100644
--- a/dwds/test/devtools_test.dart
+++ b/dwds/test/devtools_test.dart
@@ -112,10 +112,13 @@
// https://github.com/dart-lang/webdev/pull/901#issuecomment-586438132
final client = context.debugConnection.vmService;
await client.streamListen('Isolate');
- context.makeEditToDartEntryFile(
- toReplace: 'Hello World!',
- replaceWith: 'Bonjour le monde!',
- );
+ await context.makeEdits([
+ (
+ file: context.project.dartEntryFileName,
+ originalString: 'Hello World!',
+ newString: 'Bonjour le monde!',
+ ),
+ ]);
await context.waitForSuccessfulBuild(propagateToBrowser: true);
final eventsDone = expectLater(
diff --git a/dwds/test/fixtures/context.dart b/dwds/test/fixtures/context.dart
index 6a40c8f..e515f27 100644
--- a/dwds/test/fixtures/context.dart
+++ b/dwds/test/fixtures/context.dart
@@ -492,8 +492,9 @@
if (debugSettings.enableDebugging && !testSettings.waitToDebug) {
await startDebugging();
}
+ _webkitDebugger = WebkitDebugger(WipDebugger(tabConnection));
} else {
- // No tab needs to be dicovered, so fulfill the relevant completer.
+ // No tab needs to be discovered, so fulfill the relevant completer.
tabConnectionCompleter.complete();
}
} catch (e, s) {
@@ -538,7 +539,6 @@
Future<void> startDebugging() async {
debugConnection = await testServer.dwds.debugConnection(appConnection);
- _webkitDebugger = WebkitDebugger(WipDebugger(tabConnection));
}
Future<void> tearDown() async {
@@ -565,23 +565,30 @@
_outputDir = null;
}
- void makeEditToDartEntryFile({
- required String toReplace,
- required String replaceWith,
- }) {
- final file = File(project.dartEntryFilePath);
- final fileContents = file.readAsStringSync();
- file.writeAsStringSync(fileContents.replaceAll(toReplace, replaceWith));
- }
-
- void makeEditToDartLibFile({
- required String libFileName,
- required String toReplace,
- required String replaceWith,
- }) {
- final file = File(project.dartLibFilePath(libFileName));
- final fileContents = file.readAsStringSync();
- file.writeAsStringSync(fileContents.replaceAll(toReplace, replaceWith));
+ /// Given a list of edits, use file IO to write them to the file system.
+ ///
+ /// If `file` has the same name as the project's entry file name, that file
+ /// will be edited. Otherwise, it's assumed to be a library file.
+ // TODO(srujzs): It's possible we may want a library file with the same name
+ // as the entry file, but this function doesn't allow that. Potentially
+ // support that.
+ Future<void> makeEdits(List<Edit> edits) async {
+ // `dart:io`'s `stat` on Windows does not have millisecond precision so we
+ // need to make sure we wait long enough that modifications result in a
+ // timestamp that is guaranteed to be after the previous compile.
+ // TODO(https://github.com/dart-lang/sdk/issues/51937): Remove once this bug
+ // is fixed.
+ if (Platform.isWindows) await Future.delayed(Duration(seconds: 1));
+ for (var (:file, :originalString, :newString) in edits) {
+ if (file == project.dartEntryFileName) {
+ file = project.dartEntryFilePath;
+ } else {
+ file = project.dartLibFilePath(file);
+ }
+ final f = File(project.dartLibFilePath(file));
+ final fileContents = f.readAsStringSync();
+ f.writeAsStringSync(fileContents.replaceAll(originalString, newString));
+ }
}
void addLibraryFile({required String libFileName, required String contents}) {
@@ -677,3 +684,5 @@
return lineNumber + 1;
}
}
+
+typedef Edit = ({String file, String originalString, String newString});
diff --git a/dwds/test/hot_reload_breakpoints_test.dart b/dwds/test/hot_reload_breakpoints_test.dart
index 7849005..7bcb781 100644
--- a/dwds/test/hot_reload_breakpoints_test.dart
+++ b/dwds/test/hot_reload_breakpoints_test.dart
@@ -35,28 +35,9 @@
tearDownAll(provider.dispose);
- void makeEdit(String file, String originalString, String newString) {
- if (file == project.dartEntryFileName) {
- context.makeEditToDartEntryFile(
- toReplace: originalString,
- replaceWith: newString,
- );
- } else {
- context.makeEditToDartLibFile(
- libFileName: file,
- toReplace: originalString,
- replaceWith: newString,
- );
- }
- }
-
- Future<void> makeEditAndRecompile(
- String file,
- String originalString,
- String newString,
- ) async {
- makeEdit(file, originalString, newString);
- await context.recompile(fullRestart: false);
+ Future<void> makeEditsAndRecompile(List<Edit> edits) async {
+ await context.makeEdits(edits);
+ await context.recompile(fullRestart: true);
}
group('when pause_isolates_on_start is true', () {
@@ -128,9 +109,9 @@
await client.resume(isolate.id!);
}
- // When the program is executing, we want to check that at some point it
- // will execute code that will emit [expectedString].
- Future<void> resumeAndExpectLog(String expectedString) async {
+ // Resume the program, and check that at some point it will execute code
+ // that will print `expectedString` to the console.
+ Future<void> resumeAndWaitForLog(String expectedString) async {
final completer = Completer<void>();
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((
e,
@@ -140,7 +121,14 @@
}
});
await resume();
- await completer.future;
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
await subscription.cancel();
}
@@ -184,9 +172,9 @@
await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
}
- // Much like `resumeAndExpectLog`, we need a completer to ensure the log
- // will eventually occur when code is executing.
- Future<void> callEvaluateAndExpectLog(String expectedString) async {
+ // Call the method `evaluate` in the program and wait for `expectedString`
+ // to be printed to the console.
+ Future<void> callEvaluateAndWaitForLog(String expectedString) async {
final completer = Completer<void>();
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((
e,
@@ -199,7 +187,14 @@
final isolate = await client.getIsolate(vm.isolates!.first.id!);
final rootLib = isolate.rootLib;
await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
- await completer.future;
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
await subscription.cancel();
}
@@ -220,7 +215,7 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genString);
+ await resumeAndWaitForLog(genString);
await context.recompile(fullRestart: false);
@@ -234,7 +229,7 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genString);
+ await resumeAndWaitForLog(genString);
});
test('after edit and hot reload, breakpoint is in new file', () async {
@@ -252,10 +247,12 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(oldString);
+ await resumeAndWaitForLog(oldString);
// Modify the string that gets printed.
- await makeEditAndRecompile(mainFile, oldString, newString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldString, newString: newString),
+ ]);
await hotReloadAndHandlePausePost([
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -267,7 +264,7 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(newString);
+ await resumeAndWaitForLog(newString);
});
test('after adding line, hot reload, removing line, and hot reload, '
@@ -285,13 +282,15 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
// Add an extra log before the existing log.
final extraLog = 'hot reload';
final oldString = "log('";
final newString = "log('$extraLog');\n$oldString";
- await makeEditAndRecompile(mainFile, oldString, newString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldString, newString: newString),
+ ]);
bp =
(await hotReloadAndHandlePausePost([
@@ -300,14 +299,16 @@
breakpointFuture = waitForBreakpoint();
- await callEvaluateAndExpectLog(extraLog);
+ await callEvaluateAndWaitForLog(extraLog);
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
// Remove the line we just added.
- await makeEditAndRecompile(mainFile, newString, oldString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: newString, newString: oldString),
+ ]);
await hotReloadAndHandlePausePost([
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -326,7 +327,7 @@
// Should break at `callLog`.
await breakpointFuture;
expect(consoleLogs.contains(extraLog), false);
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
await consoleSubscription.cancel();
});
@@ -347,7 +348,7 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
// Add a library file, import it, and then refer to it in the log.
final libFile = 'library.dart';
@@ -363,10 +364,13 @@
final newImports =
'$oldImports\n'
"import 'package:_test_hot_reload_breakpoints/library.dart';";
- makeEdit(mainFile, oldImports, newImports);
+ final edits = [
+ (file: mainFile, originalString: oldImports, newString: newImports),
+ ];
final oldLog = "log('\$mainValue');";
final newLog = "log('\$libraryValue');";
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ edits.add((file: mainFile, originalString: oldLog, newString: newLog));
+ await makeEditsAndRecompile(edits);
await hotReloadAndHandlePausePost([
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -385,7 +389,7 @@
await resume();
// Should break at `libValue`.
await breakpointFuture;
- await resumeAndExpectLog(libGenLog);
+ await resumeAndWaitForLog(libGenLog);
},
);
@@ -406,10 +410,11 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
// Add library files, import them, but only refer to the last one in main.
final numFiles = 50;
+ final edits = <Edit>[];
for (var i = 1; i <= numFiles; i++) {
final libFile = 'library$i.dart';
context.addLibraryFile(
@@ -422,11 +427,16 @@
final newImports =
'$oldImports\n'
"import 'package:_test_hot_reload_breakpoints/$libFile';";
- makeEdit(mainFile, oldImports, newImports);
+ edits.add((
+ file: mainFile,
+ originalString: oldImports,
+ newString: newImports,
+ ));
}
final oldLog = "log('\$mainValue');";
final newLog = "log('\$libraryValue$numFiles');";
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ edits.add((file: mainFile, originalString: oldLog, newString: newLog));
+ await makeEditsAndRecompile(edits);
await hotReloadAndHandlePausePost([
(file: mainFile, breakpointMarker: callLogMarker, bp: bp),
@@ -449,7 +459,7 @@
await resume();
// Should break at the breakpoint in the last file.
await breakpointFuture;
- await resumeAndExpectLog('library$numFiles gen1');
+ await resumeAndWaitForLog('library$numFiles gen1');
});
test('breakpoint in captured code is deleted', () async {
@@ -460,7 +470,9 @@
final oldLog = "log('\$mainValue');";
final newLog = "log('\${closure()}');";
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldLog, newString: newLog),
+ ]);
bp =
(await hotReloadAndHandlePausePost([
@@ -475,14 +487,16 @@
await breakpointFuture;
final oldCapturedString = 'captured closure gen0';
// Closure gets evaluated for the first time.
- await resumeAndExpectLog(oldCapturedString);
+ await resumeAndWaitForLog(oldCapturedString);
final newCapturedString = 'captured closure gen1';
- await makeEditAndRecompile(
- mainFile,
- oldCapturedString,
- newCapturedString,
- );
+ await makeEditsAndRecompile([
+ (
+ file: mainFile,
+ originalString: oldCapturedString,
+ newString: newCapturedString,
+ ),
+ ]);
await hotReloadAndHandlePausePost([
(file: mainFile, breakpointMarker: capturedStringMarker, bp: bp),
@@ -490,7 +504,7 @@
// Breakpoint should not be hit as it's now deleted. We should also see
// the old string still as the closure has not been reevaluated.
- await callEvaluateAndExpectLog(oldCapturedString);
+ await callEvaluateAndWaitForLog(oldCapturedString);
});
}, timeout: Timeout.factor(2));
@@ -515,7 +529,9 @@
await context.tearDown();
});
- Future<void> callEvaluateAndExpectLog(String expectedString) async {
+ // Call the method `evaluate` in the program and wait for `expectedString`
+ // to be printed to the console.
+ Future<void> callEvaluateAndWaitForLog(String expectedString) async {
final completer = Completer<void>();
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((
e,
@@ -528,7 +544,14 @@
final isolate = await client.getIsolate(vm.isolates!.first.id!);
final rootLib = isolate.rootLib;
await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
- await completer.future;
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
await subscription.cancel();
}
@@ -536,17 +559,19 @@
final oldString = 'main gen0';
final newString = 'main gen1';
- await callEvaluateAndExpectLog(oldString);
+ await callEvaluateAndWaitForLog(oldString);
// Modify the string that gets printed and hot reload.
- await makeEditAndRecompile(mainFile, oldString, newString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldString, newString: newString),
+ ]);
final vm = await client.getVM();
final isolate = await client.getIsolate(vm.isolates!.first.id!);
final report = await client.reloadSources(isolate.id!);
expect(report.success, true);
// Program should not be paused, so this should execute.
- await callEvaluateAndExpectLog(newString);
+ await callEvaluateAndWaitForLog(newString);
});
}, timeout: Timeout.factor(2));
}
diff --git a/dwds/test/hot_reload_test.dart b/dwds/test/hot_reload_test.dart
index 27c48fa..41080f7 100644
--- a/dwds/test/hot_reload_test.dart
+++ b/dwds/test/hot_reload_test.dart
@@ -40,25 +40,38 @@
}
Future<void> makeEditAndRecompile() async {
- context.makeEditToDartLibFile(
- libFileName: 'library1.dart',
- toReplace: originalString,
- replaceWith: newString,
- );
+ await context.makeEdits([
+ (
+ file: 'library1.dart',
+ originalString: originalString,
+ newString: newString,
+ ),
+ ]);
await recompile();
}
- /// Wait for `evaluate` to finish executing before checking expectations by
- /// checking for a log output.
- Future<void> waitForEvaluateToExecute() async {
+ // Call the method `evaluate` in the program and wait for `expectedString` to
+ // be printed to the console.
+ Future<void> callEvaluateAndWaitForLog(String expectedString) async {
+ final client = context.debugConnection.vmService;
final completer = Completer<void>();
- final expectedString = 'evaluate executed';
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((e) {
if (e.args.first.value == expectedString) {
completer.complete();
}
});
- await completer.future;
+ final vm = await client.getVM();
+ final isolate = await client.getIsolate(vm.isolates!.first.id!);
+ final rootLib = isolate.rootLib;
+ await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
await subscription.cancel();
}
@@ -91,63 +104,35 @@
final report = await fakeClient.reloadSources(isolate.id!);
expect(report.success, true);
- var source = await context.webDriver.pageSource;
- // Should not contain the change until the function that updates the page
- // is evaluated in a hot reload.
- expect(source, contains(originalString));
- expect(source.contains(newString), false);
-
- final evaluateDone = waitForEvaluateToExecute();
- final rootLib = isolate.rootLib;
- await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
- await evaluateDone;
- source = await context.webDriver.pageSource;
- expect(source, contains(newString));
- expect(source.contains(originalString), false);
+ await callEvaluateAndWaitForLog(newString);
});
test('can hot reload with no changes, hot reload with changes, and '
'hot reload again with no changes', () async {
final client = context.debugConnection.vmService;
- // Empty hot reload,
+ // Empty hot reload.
await recompile();
final vm = await client.getVM();
final isolate = await client.getIsolate(vm.isolates!.first.id!);
var report = await fakeClient.reloadSources(isolate.id!);
expect(report.success, true);
- var evaluateDone = waitForEvaluateToExecute();
- final rootLib = isolate.rootLib;
- await client.evaluate(isolate.id!, rootLib!.id!, 'evaluate()');
- await evaluateDone;
- var source = await context.webDriver.pageSource;
- expect(source, contains(originalString));
- expect(source.contains(newString), false);
+ await callEvaluateAndWaitForLog(originalString);
// Hot reload.
await makeEditAndRecompile();
report = await fakeClient.reloadSources(isolate.id!);
expect(report.success, true);
- evaluateDone = waitForEvaluateToExecute();
- await client.evaluate(isolate.id!, rootLib.id!, 'evaluate()');
- await evaluateDone;
- source = await context.webDriver.pageSource;
- expect(source, contains(newString));
- expect(source.contains(originalString), false);
+ await callEvaluateAndWaitForLog(newString);
// Empty hot reload.
await recompile();
report = await fakeClient.reloadSources(isolate.id!);
expect(report.success, true);
- evaluateDone = waitForEvaluateToExecute();
- await client.evaluate(isolate.id!, rootLib.id!, 'evaluate()');
- await evaluateDone;
- source = await context.webDriver.pageSource;
- expect(source, contains(newString));
- expect(source.contains(originalString), false);
+ await callEvaluateAndWaitForLog(newString);
});
}, timeout: Timeout.factor(2));
}
diff --git a/dwds/test/hot_restart_breakpoints_test.dart b/dwds/test/hot_restart_breakpoints_test.dart
index 358baa2..1a83b5f 100644
--- a/dwds/test/hot_restart_breakpoints_test.dart
+++ b/dwds/test/hot_restart_breakpoints_test.dart
@@ -36,27 +36,8 @@
tearDownAll(provider.dispose);
- void makeEdit(String file, String originalString, String newString) {
- if (file == project.dartEntryFileName) {
- context.makeEditToDartEntryFile(
- toReplace: originalString,
- replaceWith: newString,
- );
- } else {
- context.makeEditToDartLibFile(
- libFileName: file,
- toReplace: originalString,
- replaceWith: newString,
- );
- }
- }
-
- Future<void> makeEditAndRecompile(
- String file,
- String originalString,
- String newString,
- ) async {
- makeEdit(file, originalString, newString);
+ Future<void> makeEditsAndRecompile(List<Edit> edits) async {
+ await context.makeEdits(edits);
await context.recompile(fullRestart: true);
}
@@ -129,9 +110,9 @@
await client.resume(isolate.id!);
}
- // When the program is executing, we want to check that at some point it
- // will execute code that will emit [expectedString].
- Future<void> resumeAndExpectLog(String expectedString) async {
+ // Resume the program, and check that at some point it will execute code
+ // that will print `expectedString` to the console.
+ Future<void> resumeAndWaitForLog(String expectedString) async {
final completer = Completer<void>();
final subscription = context.webkitDebugger.onConsoleAPICalled.listen((
e,
@@ -141,7 +122,14 @@
}
});
await resume();
- await completer.future;
+ await completer.future.timeout(
+ const Duration(minutes: 1),
+ onTimeout: () {
+ throw TimeoutException(
+ "Failed to find log: '$expectedString' in console.",
+ );
+ },
+ );
await subscription.cancel();
}
@@ -206,7 +194,7 @@
// Should break at `callLog`.
await breakpointFuture;
- await resumeAndExpectLog(genString);
+ await resumeAndWaitForLog(genString);
});
test('after edit and hot restart, breakpoint is in new file', () async {
@@ -215,7 +203,9 @@
await addBreakpoint(file: mainFile, breakpointMarker: callLogMarker);
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldLog, newString: newLog),
+ ]);
final breakpointFuture = waitForBreakpoint();
@@ -226,7 +216,7 @@
// Should break at `callLog`.
await breakpointFuture;
expect(consoleLogs.contains(newLog), false);
- await resumeAndExpectLog(newLog);
+ await resumeAndWaitForLog(newLog);
});
test('after adding line, hot restart, removing line, and hot restart, '
@@ -239,7 +229,9 @@
final extraLog = 'hot reload';
final oldString = "log('";
final newString = "log('$extraLog');\n$oldString";
- await makeEditAndRecompile(mainFile, oldString, newString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: oldString, newString: newString),
+ ]);
var breakpointFuture = waitForBreakpoint();
@@ -251,12 +243,14 @@
await breakpointFuture;
expect(consoleLogs.contains(extraLog), true);
expect(consoleLogs.contains(genLog), false);
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
consoleLogs.clear();
// Remove the line we just added.
- await makeEditAndRecompile(mainFile, newString, oldString);
+ await makeEditsAndRecompile([
+ (file: mainFile, originalString: newString, newString: oldString),
+ ]);
breakpointFuture = waitForBreakpoint();
@@ -268,7 +262,7 @@
await breakpointFuture;
expect(consoleLogs.contains(extraLog), false);
expect(consoleLogs.contains(genLog), false);
- await resumeAndExpectLog(genLog);
+ await resumeAndWaitForLog(genLog);
});
test(
@@ -293,10 +287,13 @@
final newImports =
'$oldImports\n'
"import 'package:_test_hot_restart_breakpoints/library.dart';";
- makeEdit(mainFile, oldImports, newImports);
+ final edits = [
+ (file: mainFile, originalString: oldImports, newString: newImports),
+ ];
final oldLog = "log('$genLog');";
final newLog = "log('\$libraryValue');";
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ edits.add((file: mainFile, originalString: oldLog, newString: newLog));
+ await makeEditsAndRecompile(edits);
var breakpointFuture = waitForBreakpoint();
@@ -315,7 +312,7 @@
// Should break at `libValue`.
await breakpointFuture;
expect(consoleLogs.contains(libGenLog), false);
- await resumeAndExpectLog(libGenLog);
+ await resumeAndWaitForLog(libGenLog);
},
);
@@ -329,6 +326,7 @@
// Add library files, import them, but only refer to the last one in main.
final numFiles = 50;
+ final edits = <Edit>[];
for (var i = 1; i <= numFiles; i++) {
final libFile = 'library$i.dart';
context.addLibraryFile(
@@ -341,11 +339,16 @@
final newImports =
'$oldImports\n'
"import 'package:_test_hot_restart_breakpoints/$libFile';";
- makeEdit(mainFile, oldImports, newImports);
+ edits.add((
+ file: mainFile,
+ originalString: oldImports,
+ newString: newImports,
+ ));
}
final oldLog = "log('$genLog');";
final newLog = "log('\$libraryValue$numFiles');";
- await makeEditAndRecompile(mainFile, oldLog, newLog);
+ edits.add((file: mainFile, originalString: oldLog, newString: newLog));
+ await makeEditsAndRecompile(edits);
var breakpointFuture = waitForBreakpoint();
@@ -366,7 +369,7 @@
// Should break at the breakpoint in the last file.
await breakpointFuture;
expect(consoleLogs.contains(newGenLog), false);
- await resumeAndExpectLog(newGenLog);
+ await resumeAndWaitForLog(newGenLog);
});
});
}
diff --git a/fixtures/_test/example/append_body/main.dart b/fixtures/_test/example/append_body/main.dart
index c030eac..8a89205 100644
--- a/fixtures/_test/example/append_body/main.dart
+++ b/fixtures/_test/example/append_body/main.dart
@@ -4,14 +4,16 @@
import 'dart:async';
import 'dart:developer';
-// TODO: https://github.com/dart-lang/webdev/issues/2508
-// ignore: deprecated_member_use
-import 'dart:html';
import 'dart:js_interop';
@JS('console.log')
external void log(String _);
+// We use this to test whether a hot restart or a full reload occurred. In the
+// former, we should see the old log, but in the latter, we should not.
+@JS('\$previousLog')
+external String? previousLog;
+
void main() {
var count = 0;
// For setting breakpoints.
@@ -19,15 +21,17 @@
print('Count is: ${++count}'); // Breakpoint: printCount
});
- document.body?.appendText('Hello World!');
+ var logMessage = 'Hello World!';
+ // Note that we concatenate instead of logging each one separately to avoid
+ // possibly mixing up logs with a previous call to `main`.
+ if (previousLog != null) logMessage = '$previousLog $logMessage';
+ log(logMessage);
+ previousLog = logMessage;
registerExtension('ext.flutter.disassemble', (_, __) async {
- document.body?.appendText('start disassemble ');
+ log('start disassemble');
await Future.delayed(const Duration(seconds: 1));
- document.body?.appendText('end disassemble ');
+ log('end disassemble');
return ServiceExtensionResponse.result('{}');
});
-
- // Wait for this print statement so that we know main is done executing.
- log('main executed');
}
diff --git a/fixtures/_test_hot_reload/web/main.dart b/fixtures/_test_hot_reload/web/main.dart
index e1b1f02..a85a43a 100644
--- a/fixtures/_test_hot_reload/web/main.dart
+++ b/fixtures/_test_hot_reload/web/main.dart
@@ -10,14 +10,8 @@
@JS('console.log')
external void log(String _);
-@JS('document.body.innerHTML')
-external set innerHtml(String html);
-
void evaluate() {
- innerHtml = 'Program is running!\n $reloadValue}\n';
-
- // Wait for this print statement so that we know evaluate is done executing.
- log('evaluate executed');
+ log('$reloadValue');
}
void main() {
diff --git a/fixtures/_test_hot_restart2/web/main.dart b/fixtures/_test_hot_restart2/web/main.dart
index 090ea67..92d072a 100644
--- a/fixtures/_test_hot_restart2/web/main.dart
+++ b/fixtures/_test_hot_restart2/web/main.dart
@@ -3,9 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
import 'dart:core';
-// TODO: https://github.com/dart-lang/webdev/issues/2508
-// ignore: deprecated_member_use
-import 'dart:html';
+import 'dart:js_interop';
import 'package:_test_hot_restart1/library1.dart';
import 'package:_test_hot_restart2/library2.dart';
@@ -23,6 +21,9 @@
/// Constants in reloaded modules fail to compare with constants in stale
/// constant containers, causing 'ConstantEqualityFailure's.
+@JS('console.log')
+external void log(String _);
+
class ConstObject {
const ConstObject();
String get text => 'ConstObject('
@@ -30,7 +31,10 @@
'${value1 == value2 ? 'ConstantEqualitySuccess' : 'ConstantEqualityFailure'})';
}
+void printConst() {
+ log('${const ConstObject().text}');
+}
+
void main() {
- document.body!.innerHtml =
- 'Program is running!\n${const ConstObject().text}\n';
+ printConst();
}