From 282261b41b10438b10979bdf721c21fef5f8d1a7 Mon Sep 17 00:00:00 2001 From: Natalie Weizenbaum <nweiz@google.com> Date: Tue, 4 Oct 2016 17:23:24 -0700 Subject: [PATCH] Add a top-level "dartTest" object to the host. External tools can use this to communicate with the test runner. --- lib/src/runner/browser/static/host.dart | 25 +- lib/src/runner/browser/static/host.dart.js | 1790 ++++++++++++-------- 2 files changed, 1135 insertions(+), 680 deletions(-) diff --git a/lib/src/runner/browser/static/host.dart b/lib/src/runner/browser/static/host.dart index 4eb5d958..c802b04a 100644 --- a/lib/src/runner/browser/static/host.dart +++ b/lib/src/runner/browser/static/host.dart @@ -20,6 +20,24 @@ class _TestRunner { @JS() external _TestRunner get testRunner; +/// A class that exposes the test API to JS. +/// +/// These are exposed so that tools like IDEs can interact with them via remote +/// debugging. +@JS() +@anonymous +class _JSApi { + /// Causes the test runner to resume running, as though the user had clicked + /// the "play" button. + external Function get resume; + + external factory _JSApi({void resume()}); +} + +/// Sets the top-level `dartTest` object so that it's visible to JS. +@JS("dartTest") +external set _jsApi(_JSApi api); + /// The iframes created for each loaded test suite, indexed by the suite id. final _iframes = new Map<int, IFrameElement>(); @@ -110,9 +128,14 @@ void main() { var play = document.querySelector("#play"); play.onClick.listen((_) { - document.body.classes.remove('paused'); + if (!document.body.classes.remove('paused')) return; serverChannel.sink.add({"command": "resume"}); }); + + _jsApi = new _JSApi(resume: allowInterop(() { + if (!document.body.classes.remove('paused')) return; + serverChannel.sink.add({"command": "resume"}); + })); }, onError: (error, stackTrace) { print("$error\n${new Trace.from(stackTrace).terse}"); }); diff --git a/lib/src/runner/browser/static/host.dart.js b/lib/src/runner/browser/static/host.dart.js index d52559d3..ab52b3ca 100644 --- a/lib/src/runner/browser/static/host.dart.js +++ b/lib/src/runner/browser/static/host.dart.js @@ -461,6 +461,29 @@ f.$stubName = getterStubName; f.$callName = null; } + var isReflectable = array.length > unmangledNameIndex; + if (isReflectable) { + funcs[0].$reflectable = 1; + funcs[0].$reflectionInfo = array; + for (var i = 1; i < funcs.length; i++) { + funcs[i].$reflectable = 2; + funcs[i].$reflectionInfo = array; + } + var mangledNames = isStatic ? init.mangledGlobalNames : init.mangledNames; + var unmangledName = array[unmangledNameIndex]; + var reflectionName = unmangledName; + if (getterStubName) + mangledNames[getterStubName] = reflectionName; + if (isSetter) + reflectionName += "="; + else if (!isGetter) + reflectionName += ":" + (requiredParameterCount + optionalParameterCount); + mangledNames[name] = reflectionName; + funcs[0].$reflectionName = reflectionName; + funcs[0].$metadataIndex = unmangledNameIndex + 1; + if (optionalParameterCount) + prototype[unmangledName + "*"] = funcs[0]; + } } Function.prototype.call$0 = function() { return this(); @@ -593,6 +616,9 @@ toString$0: ["super$Interceptor$toString", function(receiver) { return H.Primitives_objectToHumanReadableString(receiver); }], + noSuchMethod$1: ["super$Interceptor$noSuchMethod", function(receiver, invocation) { + throw H.wrapException(P.NoSuchMethodError$(receiver, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments(), null)); + }], "%": "MediaError|MediaKeyError|PushMessageData|SVGAnimatedLength|SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberList|SVGAnimatedString|SVGAnimatedTransformList" }, JSBool: { @@ -615,6 +641,9 @@ }, get$hashCode: function(receiver) { return 0; + }, + noSuchMethod$1: function(receiver, invocation) { + return this.super$Interceptor$noSuchMethod(receiver, invocation); } }, JavaScriptObject: { @@ -628,6 +657,9 @@ waitUntilDone$0: function(receiver) { return receiver.waitUntilDone(); }, + resume$0: function(receiver) { + return receiver.resume(); + }, $isJSObject: 1 }, PlainJavaScriptObject: { @@ -689,10 +721,10 @@ return receiver.pop(); }, addAll$1: function(receiver, collection) { - var _i; + var t1; this.checkGrowable$1(receiver, "addAll"); - for (_i = 0; _i < 2; ++_i) - receiver.push(collection[_i]); + for (t1 = J.get$iterator$ax(collection); t1.moveNext$0();) + receiver.push(t1.get$current()); }, clear$0: function(receiver) { this.set$length(receiver, 0); @@ -934,6 +966,11 @@ t1 = H.setRuntimeTypeInfo(new Array($length), [$E]); t1.fixed$length = Array; return t1; + }, + JSArray_markUnmodifiableList: function(list) { + list.fixed$length = Array; + list.immutable$list = Array; + return list; } } }, @@ -963,6 +1000,9 @@ }, JSNumber: { "^": "Interceptor;", + get$isNegative: function(receiver) { + return receiver === 0 ? 1 / receiver < 0 : receiver < 0; + }, remainder$1: function(receiver, b) { return receiver % b; }, @@ -1017,8 +1057,16 @@ return receiver - other; }, $mul: function(receiver, other) { + if (typeof other !== "number") + throw H.wrapException(H.argumentErrorValue(other)); return receiver * other; }, + $tdiv: function(receiver, other) { + if ((receiver | 0) === receiver) + if (other >= 1 || false) + return receiver / other | 0; + return this._tdivSlow$1(receiver, other); + }, _tdivFast$1: function(receiver, other) { return (receiver | 0) === receiver ? receiver / other | 0 : this._tdivSlow$1(receiver, other); }, @@ -1033,9 +1081,26 @@ return Math.ceil(quotient); throw H.wrapException(new P.UnsupportedError("Result of truncating division is " + H.S(quotient) + ": " + H.S(receiver) + " ~/ " + other)); }, + $shl: function(receiver, other) { + if (other < 0) + throw H.wrapException(H.argumentErrorValue(other)); + return other > 31 ? 0 : receiver << other >>> 0; + }, _shlPositive$1: function(receiver, other) { return other > 31 ? 0 : receiver << other >>> 0; }, + $shr: function(receiver, other) { + var t1; + if (other < 0) + throw H.wrapException(H.argumentErrorValue(other)); + if (receiver > 0) + t1 = other > 31 ? 0 : receiver >>> other; + else { + t1 = other > 31 ? 31 : other; + t1 = receiver >> t1 >>> 0; + } + return t1; + }, _shrOtherPositive$1: function(receiver, other) { var t1; if (receiver > 0) @@ -1051,6 +1116,14 @@ throw H.wrapException(H.argumentErrorValue(other)); return other > 31 ? 0 : receiver >>> other; }, + $and: function(receiver, other) { + return (receiver & other) >>> 0; + }, + $xor: function(receiver, other) { + if (typeof other !== "number") + throw H.wrapException(H.argumentErrorValue(other)); + return (receiver ^ other) >>> 0; + }, $lt: function(receiver, other) { if (typeof other !== "number") throw H.wrapException(H.argumentErrorValue(other)); @@ -1828,6 +1901,29 @@ t2 = J.getInterceptor$asx(t1); return t2.elementAt$1(t1, J.$sub$n(J.$sub$n(t2.get$length(t1), 1), index)); } + }, + Symbol: { + "^": "Object;__internal$_name<", + $eq: function(_, other) { + if (other == null) + return false; + return other instanceof H.Symbol && J.$eq$(this.__internal$_name, other.__internal$_name); + }, + get$hashCode: function(_) { + var hash, t1; + hash = this._hashCode; + if (hash != null) + return hash; + t1 = J.get$hashCode$(this.__internal$_name); + if (typeof t1 !== "number") + return H.iae(t1); + hash = 536870911 & 664597 * t1; + this._hashCode = hash; + return hash; + }, + toString$0: function(_) { + return 'Symbol("' + H.S(this.__internal$_name) + '")'; + } } }], ["_isolate_helper", "dart:_isolate_helper",, H, { "^": "", @@ -1937,7 +2033,7 @@ return matches[1]; throw H.wrapException(new P.UnsupportedError('Cannot extract URI from "' + H.S(stack) + '"')); }, - IsolateNatives__processWorkerMessage: function(sender, e) { + IsolateNatives__processWorkerMessage: [function(sender, e) { var msg, t1, functionName, entryPoint, args, message, isSpawnUri, startPaused, replyTo, t2, t3, t4, context; msg = new H._Deserializer(true, []).deserialize$1(e.data); t1 = J.getInterceptor$asx(msg); @@ -1991,7 +2087,7 @@ case "error": throw H.wrapException(t1.$index(msg, "msg")); } - }, + }, null, null, 4, 0, null, 40, 39], IsolateNatives__log: function(msg) { var trace, t1, t2, exception; if (init.globalState.isWorker === true) { @@ -2044,14 +2140,14 @@ _Manager: { "^": "Object;nextIsolateId,currentManagerId,nextManagerId,currentContext,rootContext,topEventLoop,fromCommandLine,isWorker,supportsWorkers,isolates,mainManager,managers,entry", static: { - _Manager__serializePrintMessage: function(object) { + _Manager__serializePrintMessage: [function(object) { var t1 = P.LinkedHashMap__makeLiteral(["command", "print", "msg", object]); return new H._Serializer(true, P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6(null, P.$int)).serialize$1(t1); - } + }, null, null, 2, 0, null, 24] } }, _IsolateContext: { - "^": "Object;id,ports,weakPorts,isolateStatics<,controlPort<,pauseCapability,terminateCapability,initialized,isPaused,delayedEvents,pauseTokens,doneHandlers,_scheduledControlEvents,_isExecutingEvent,errorsAreFatal,errorPorts", + "^": "Object;id,ports,weakPorts,isolateStatics<,controlPort<,pauseCapability,terminateCapability,initialized?,isPaused<,delayedEvents<,pauseTokens,doneHandlers,_scheduledControlEvents,_isExecutingEvent,errorsAreFatal,errorPorts", addPause$2: function(authentification, resume) { if (!this.pauseCapability.$eq(0, authentification)) return; @@ -2161,7 +2257,7 @@ } t1._add$1(this.get$kill()); }, - handleUncaughtError$2: function(error, stackTrace) { + handleUncaughtError$2: [function(error, stackTrace) { var t1, message, t2; t1 = this.errorPorts; if (t1._collection$_length === 0) { @@ -2182,7 +2278,7 @@ message[1] = stackTrace == null ? null : J.toString$0$(stackTrace); for (t2 = new P._LinkedHashSetIterator(t1, t1._collection$_modifications, null, null), t2._collection$_cell = t1._collection$_first; t2.moveNext$0();) J.send$1$x(t2._collection$_current, message); - }, + }, "call$2", "get$handleUncaughtError", 4, 0, 11], eval$1: function(code) { var old, result, oldIsExecutingEvent, e, s, exception, t1; old = init.globalState.currentContext; @@ -2214,6 +2310,38 @@ } return result; }, + handleControlMessage$1: function(message) { + var t1 = J.getInterceptor$asx(message); + switch (t1.$index(message, 0)) { + case "pause": + this.addPause$2(t1.$index(message, 1), t1.$index(message, 2)); + break; + case "resume": + this.removePause$1(t1.$index(message, 1)); + break; + case "add-ondone": + this.addDoneListener$2(t1.$index(message, 1), t1.$index(message, 2)); + break; + case "remove-ondone": + this.removeDoneListener$1(t1.$index(message, 1)); + break; + case "set-errors-fatal": + this.setErrorsFatal$2(t1.$index(message, 1), t1.$index(message, 2)); + break; + case "ping": + this.handlePing$3(t1.$index(message, 1), t1.$index(message, 2), t1.$index(message, 3)); + break; + case "kill": + this.handleKill$2(t1.$index(message, 1), t1.$index(message, 2)); + break; + case "getErrors": + this.errorPorts.add$1(0, t1.$index(message, 1)); + break; + case "stopErrors": + this.errorPorts.remove$1(0, t1.$index(message, 1)); + break; + } + }, lookup$1: function(portId) { return this.ports.$index(0, portId); }, @@ -2255,9 +2383,9 @@ }, _IsolateContext_handlePing_respond: { "^": "Closure:2;responsePort,response", - call$0: function() { + call$0: [function() { J.send$1$x(this.responsePort, this.response); - } + }, null, null, 0, 0, null, "call"] }, _EventLoop: { "^": "Object;events,_activeJsAsyncCount", @@ -2330,18 +2458,18 @@ }, _EventLoop__runHelper_next: { "^": "Closure:2;$this", - call$0: function() { + call$0: [function() { if (!this.$this.runIteration$0()) return; P.Timer_Timer(C.Duration_0, this); - } + }, null, null, 0, 0, null, "call"] }, _IsolateEvent: { "^": "Object;isolate,fn,message>", process$0: function() { var t1 = this.isolate; - if (t1.isPaused) { - t1.delayedEvents.push(this); + if (t1.get$isPaused()) { + t1.get$delayedEvents().push(this); return; } t1.eval$1(this.fn); @@ -2361,7 +2489,7 @@ call$0: function() { var t1, t2, t3, t4; t1 = this.context; - t1.initialized = true; + t1.set$initialized(true); if (this.isSpawnUri !== true) this.topLevel.call$1(this.message); else { @@ -2396,38 +2524,7 @@ return; msg = H._clone(message); if (isolate.get$controlPort() === t1) { - t1 = J.getInterceptor$asx(msg); - switch (t1.$index(msg, 0)) { - case "pause": - isolate.addPause$2(t1.$index(msg, 1), t1.$index(msg, 2)); - break; - case "resume": - isolate.removePause$1(t1.$index(msg, 1)); - break; - case "add-ondone": - isolate.addDoneListener$2(t1.$index(msg, 1), t1.$index(msg, 2)); - break; - case "remove-ondone": - isolate.removeDoneListener$1(t1.$index(msg, 1)); - break; - case "set-errors-fatal": - isolate.setErrorsFatal$2(t1.$index(msg, 1), t1.$index(msg, 2)); - break; - case "ping": - isolate.handlePing$3(t1.$index(msg, 1), t1.$index(msg, 2), t1.$index(msg, 3)); - break; - case "kill": - isolate.handleKill$2(t1.$index(msg, 1), t1.$index(msg, 2)); - break; - case "getErrors": - t1 = t1.$index(msg, 1); - isolate.errorPorts.add$1(0, t1); - break; - case "stopErrors": - t1 = t1.$index(msg, 1); - isolate.errorPorts.remove$1(0, t1); - break; - } + isolate.handleControlMessage$1(msg); return; } init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(isolate, new H._NativeJsSendPort_send_closure(this, msg), "receive")); @@ -2471,16 +2568,12 @@ }, get$hashCode: function(_) { var t1, t2, t3; - t1 = this._workerId; - if (typeof t1 !== "number") - return t1.$shl(); - t2 = this._isolateId; - if (typeof t2 !== "number") - return t2.$shl(); + t1 = J.$shl$n(this._workerId, 16); + t2 = J.$shl$n(this._isolateId, 8); t3 = this._receivePortId; if (typeof t3 !== "number") return H.iae(t3); - return (t1 << 16 ^ t2 << 8 ^ t3) >>> 0; + return (t1 ^ t2 ^ t3) >>> 0; } }, RawReceivePortImpl: { @@ -2545,25 +2638,29 @@ }, TimerImpl_internalCallback0: { "^": "Closure:2;$this,callback", - call$0: function() { + call$0: [function() { this.$this._handle = null; --init.globalState.topEventLoop._activeJsAsyncCount; this.callback.call$0(); - } + }, null, null, 0, 0, null, "call"] }, TimerImpl$periodic_closure: { "^": "Closure:1;$this,callback", - call$0: function() { + call$0: [function() { this.callback.call$1(this.$this); - } + }, null, null, 0, 0, null, "call"] }, CapabilityImpl: { "^": "Object;_id<", get$hashCode: function(_) { - var hash = this._id; - if (typeof hash !== "number") - return hash.$shr(); - hash = C.JSNumber_methods._shrOtherPositive$1(hash, 0) ^ C.JSNumber_methods._tdivFast$1(hash, 4294967296); + var hash, t1, t2; + hash = this._id; + t1 = J.getInterceptor$n(hash); + t2 = t1.$shr(hash, 0); + t1 = t1.$tdiv(hash, 4294967296); + if (typeof t1 !== "number") + return H.iae(t1); + hash = t2 ^ t1; hash = (~hash >>> 0) + (hash << 15 >>> 0) & 4294967295; hash = ((hash ^ hash >>> 12) >>> 0) * 5 & 4294967295; hash = ((hash ^ hash >>> 4) >>> 0) * 2057 & 4294967295; @@ -2631,7 +2728,7 @@ if (!(x instanceof P.Object)) this.unsupported$1(x); return ["dart", init.classIdExtractor(x), this.serializeArrayInPlace$1(init.classFieldsExtractor(x))]; - }, "call$1", "get$serialize", 2, 0, 0], + }, "call$1", "get$serialize", 2, 0, 0, 23], unsupported$2: function(x, message) { throw H.wrapException(new P.UnsupportedError(H.S(message == null ? "Can't transmit:" : message) + " " + H.S(x))); }, @@ -2788,7 +2885,7 @@ default: throw H.wrapException("couldn't deserialize: " + H.S(x)); } - }, "call$1", "get$deserialize", 2, 0, 0], + }, "call$1", "get$deserialize", 2, 0, 0, 23], deserializeArrayInPlace$1: function(x) { var t1, i, t2; t1 = J.getInterceptor$asx(x); @@ -2816,11 +2913,8 @@ result = P.LinkedHashMap__makeEmpty(); this.deserializedObjects.push(result); keys = J.map$1$ax(keys, this.get$deserialize()).toList$0(0); - for (t1 = J.getInterceptor$asx(keys), t2 = J.getInterceptor$asx(values), i = 0; i < t1.get$length(keys); ++i) { - if (i >= keys.length) - return H.ioore(keys, i); - result.$indexSet(0, keys[i], this.deserialize$1(t2.$index(values, i))); - } + for (t1 = J.getInterceptor$asx(keys), t2 = J.getInterceptor$asx(values), i = 0; i < t1.get$length(keys); ++i) + result.$indexSet(0, t1.$index(keys, i), this.deserialize$1(t2.$index(values, i))); return result; }, deserializeSendPort$1: function(x) { @@ -3058,6 +3152,8 @@ }, Primitives_stringFromCharCode: function(charCode) { var bits; + if (typeof charCode !== "number") + return H.iae(charCode); if (0 <= charCode) { if (charCode <= 65535) return String.fromCharCode(charCode); @@ -3083,6 +3179,70 @@ throw H.wrapException(H.argumentErrorValue(object)); object[key] = value; }, + Primitives_functionNoSuchMethod: function($function, positionalArguments, namedArguments) { + var t1, $arguments, namedArgumentList, t2; + t1 = {}; + t1.argumentCount = 0; + $arguments = []; + namedArgumentList = []; + if (positionalArguments != null) { + t2 = J.get$length$asx(positionalArguments); + if (typeof t2 !== "number") + return H.iae(t2); + t1.argumentCount = 0 + t2; + C.JSArray_methods.addAll$1($arguments, positionalArguments); + } + t1.names = ""; + if (namedArguments != null && !namedArguments.get$isEmpty(namedArguments)) + namedArguments.forEach$1(0, new H.Primitives_functionNoSuchMethod_closure(t1, $arguments, namedArgumentList)); + return J.noSuchMethod$1$($function, new H.JSInvocationMirror(C.Symbol_call, "call" + "$" + H.S(t1.argumentCount) + t1.names, 0, $arguments, namedArgumentList, null)); + }, + Primitives_applyFunctionWithPositionalArguments: function($function, positionalArguments) { + var $arguments, t1; + if (positionalArguments != null) + $arguments = positionalArguments instanceof Array ? positionalArguments : P.List_List$from(positionalArguments, true, null); + else + $arguments = []; + t1 = $arguments.length; + if (t1 === 0) { + if (!!$function.call$0) + return $function.call$0(); + } else if (t1 === 1) { + if (!!$function.call$1) + return $function.call$1($arguments[0]); + } else if (t1 === 2) { + if (!!$function.call$2) + return $function.call$2($arguments[0], $arguments[1]); + } else if (t1 === 3) { + if (!!$function.call$3) + return $function.call$3($arguments[0], $arguments[1], $arguments[2]); + } else if (t1 === 4) { + if (!!$function.call$4) + return $function.call$4($arguments[0], $arguments[1], $arguments[2], $arguments[3]); + } else if (t1 === 5) + if (!!$function.call$5) + return $function.call$5($arguments[0], $arguments[1], $arguments[2], $arguments[3], $arguments[4]); + return H.Primitives__genericApplyFunctionWithPositionalArguments($function, $arguments); + }, + Primitives__genericApplyFunctionWithPositionalArguments: function($function, $arguments) { + var argumentCount, jsFunction, info, requiredArgumentCount, maxArgumentCount, pos; + argumentCount = $arguments.length; + jsFunction = $function["call" + "$" + argumentCount]; + if (jsFunction == null) { + jsFunction = J.getInterceptor($function)["call*"]; + if (jsFunction == null) + return H.Primitives_functionNoSuchMethod($function, $arguments, null); + info = H.ReflectionInfo_ReflectionInfo(jsFunction); + requiredArgumentCount = info.requiredParameterCount; + maxArgumentCount = requiredArgumentCount + info.optionalParameterCount; + if (info.areOptionalParametersNamed || requiredArgumentCount > argumentCount || maxArgumentCount < argumentCount) + return H.Primitives_functionNoSuchMethod($function, $arguments, null); + $arguments = P.List_List$from($arguments, true, null); + for (pos = argumentCount; pos < maxArgumentCount; ++pos) + C.JSArray_methods.add$1($arguments, init.metadata[info.defaultValue$1(0, pos)]); + } + return jsFunction.apply($function, $arguments); + }, iae: function(argument) { throw H.wrapException(H.argumentErrorValue(argument)); }, @@ -3140,9 +3300,9 @@ wrapper.toString = H.toStringWrapper; return wrapper; }, - toStringWrapper: function() { + toStringWrapper: [function() { return J.toString$0$(this.dartException); - }, + }, null, null, 0, 0, null], throwExpression: function(ex) { throw H.wrapException(ex); }, @@ -3276,7 +3436,7 @@ } return result; }, - invokeClosure: function(closure, isolate, numberOfArguments, arg1, arg2, arg3, arg4) { + invokeClosure: [function(closure, isolate, numberOfArguments, arg1, arg2, arg3, arg4) { switch (numberOfArguments) { case 0: return H._callInIsolate(isolate, new H.invokeClosure_closure(closure)); @@ -3290,7 +3450,7 @@ return H._callInIsolate(isolate, new H.invokeClosure_closure3(closure, arg1, arg2, arg3, arg4)); } throw H.wrapException(P.Exception_Exception("Unsupported number of arguments for wrapped closure")); - }, + }, null, null, 14, 0, null, 32, 30, 36, 21, 20, 26, 25], convertDartClosureToJS: function(closure, arity) { var $function; if (closure == null) @@ -3989,6 +4149,12 @@ suffix = receiver.substring(end); return prefix + replacement + suffix; }, + ConstantMapView: { + "^": "UnmodifiableMapView;_map,$ti", + $asUnmodifiableMapView: Isolate.functionThatReturnsNull, + $asMap: Isolate.functionThatReturnsNull, + $isMap: 1 + }, ConstantMap: { "^": "Object;", get$isEmpty: function(_) { @@ -4034,8 +4200,61 @@ } } }, + JSInvocationMirror: { + "^": "Object;__js_helper$_memberName,_internalName,_kind,_arguments,_namedArgumentNames,_namedIndices", + get$memberName: function() { + return this.__js_helper$_memberName; + }, + get$positionalArguments: function() { + var t1, argumentCount, list, index; + if (this._kind === 1) + return C.List_empty0; + t1 = this._arguments; + argumentCount = t1.length - this._namedArgumentNames.length; + if (argumentCount === 0) + return C.List_empty0; + list = []; + for (index = 0; index < argumentCount; ++index) { + if (index >= t1.length) + return H.ioore(t1, index); + list.push(t1[index]); + } + return J.JSArray_markUnmodifiableList(list); + }, + get$namedArguments: function() { + var t1, namedArgumentCount, t2, namedArgumentsStartIndex, t3, map, i, t4, t5; + if (this._kind !== 0) + return C.Map_empty0; + t1 = this._namedArgumentNames; + namedArgumentCount = t1.length; + t2 = this._arguments; + namedArgumentsStartIndex = t2.length - namedArgumentCount; + if (namedArgumentCount === 0) + return C.Map_empty0; + t3 = P.Symbol0; + map = new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [t3, null]); + for (i = 0; i < namedArgumentCount; ++i) { + if (i >= t1.length) + return H.ioore(t1, i); + t4 = t1[i]; + t5 = namedArgumentsStartIndex + i; + if (t5 < 0 || t5 >= t2.length) + return H.ioore(t2, t5); + map.$indexSet(0, new H.Symbol(t4), t2[t5]); + } + return new H.ConstantMapView(map, [t3, null]); + } + }, ReflectionInfo: { "^": "Object;jsFunction,data>,isAccessor,requiredParameterCount,optionalParameterCount,areOptionalParametersNamed,functionType,cachedSortedIndices", + defaultValue$1: function(_, parameter) { + var t1 = this.requiredParameterCount; + if (typeof parameter !== "number") + return parameter.$lt(); + if (parameter < t1) + return; + return this.data[3 + parameter - t1]; + }, static: { ReflectionInfo_ReflectionInfo: function(jsFunction) { var data, requiredParametersInfo, optionalParametersInfo; @@ -4050,6 +4269,16 @@ } } }, + Primitives_functionNoSuchMethod_closure: { + "^": "Closure:41;_box_0,$arguments,namedArgumentList", + call$2: function($name, argument) { + var t1 = this._box_0; + t1.names = t1.names + "$" + H.S($name); + this.namedArgumentList.push($name); + this.$arguments.push(argument); + ++t1.argumentCount; + } + }, TypeErrorDecoder: { "^": "Object;_pattern,_arguments,_argumentsExpr,_expr,_method,_receiver", matchTypeError$1: function(message) { @@ -4245,10 +4474,7 @@ receiverHashCode = H.Primitives_objectHashCode(this._self); else receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Primitives_objectHashCode(t1); - t1 = H.Primitives_objectHashCode(this._target); - if (typeof receiverHashCode !== "number") - return receiverHashCode.$xor(); - return (receiverHashCode ^ t1) >>> 0; + return J.$xor$n(receiverHashCode, H.Primitives_objectHashCode(this._target)); }, toString$0: function(_) { var receiver = this._receiver; @@ -4620,7 +4846,7 @@ _unlinkCell$1: function(cell) { var previous, next; previous = cell.get$_previous(); - next = cell._next; + next = cell.get$_next(); if (previous == null) this._first = next; else @@ -4679,12 +4905,12 @@ }, JsLinkedHashMap_values_closure: { "^": "Closure:0;$this", - call$1: function(each) { + call$1: [function(each) { return this.$this.$index(0, each); - } + }, null, null, 2, 0, null, 18, "call"] }, LinkedHashMapCell: { - "^": "Object;hashMapCellKey<,hashMapCellValue@,_next,_previous<" + "^": "Object;hashMapCellKey<,hashMapCellValue@,_next<,_previous<" }, LinkedHashMapKeyIterable: { "^": "Iterable;__js_helper$_map,$ti", @@ -4753,7 +4979,7 @@ } }, initHooks_closure1: { - "^": "Closure:29;prototypeForTag", + "^": "Closure:36;prototypeForTag", call$1: function(tag) { return this.prototypeForTag(tag); } @@ -5335,6 +5561,14 @@ }($function, 1); return $.Zone__current.registerBinaryCallback$1(new P._wrapJsFunctionForAsync_closure($protected)); }, + _invokeErrorHandler: function(errorHandler, error, stackTrace) { + var t1 = H.getDynamicRuntimeType(); + t1 = H.buildFunctionType(t1, [t1, t1])._isTest$1(errorHandler); + if (t1) + return errorHandler.call$2(error, stackTrace); + else + return errorHandler.call$1(error); + }, _registerErrorHandler: function(errorHandler, zone) { var t1 = H.getDynamicRuntimeType(); t1 = H.buildFunctionType(t1, [t1, t1])._isTest$1(errorHandler); @@ -5448,12 +5682,12 @@ } }, _nullDataHandler: [function(value) { - }, "call$1", "async___nullDataHandler$closure", 2, 0, 50], + }, "call$1", "async___nullDataHandler$closure", 2, 0, 52, 9], _nullErrorHandler: [function(error, stackTrace) { $.Zone__current.handleUncaughtError$2(error, stackTrace); }, function(error) { return P._nullErrorHandler(error, null); - }, "call$2", "call$1", "async___nullErrorHandler$closure", 2, 2, 6, 0], + }, "call$2", "call$1", "async___nullErrorHandler$closure", 2, 2, 6, 5, 3, 4], _nullDoneHandler: [function() { }, "call$0", "async___nullDoneHandler$closure", 0, 0, 2], _runUserCode: function(userCode, onSuccess, onError) { @@ -5499,7 +5733,7 @@ error = error != null ? error : new P.NullThrownError(); stackTrace = replacement.get$stackTrace(); } - sink._async$_addError$2(error, stackTrace); + sink._addError$2(error, stackTrace); }, Timer_Timer: function(duration, callback) { var t1; @@ -5532,7 +5766,7 @@ var t1 = {}; t1.error = error; P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, stackTrace)); - }, "call$5", "async___rootHandleUncaughtError$closure", 10, 0, 19], + }, "call$5", "async___rootHandleUncaughtError$closure", 10, 0, 12, 0, 2, 1, 3, 4], _rootRun: [function($self, $parent, zone, f) { var old, previous, t1; if (J.$eq$($.Zone__current, zone)) @@ -5546,7 +5780,7 @@ } finally { $.Zone__current = old; } - }, "call$4", "async___rootRun$closure", 8, 0, 51], + }, "call$4", "async___rootRun$closure", 8, 0, 53, 0, 2, 1, 8], _rootRunUnary: [function($self, $parent, zone, f, arg) { var old, previous, t1; if (J.$eq$($.Zone__current, zone)) @@ -5560,7 +5794,7 @@ } finally { $.Zone__current = old; } - }, "call$5", "async___rootRunUnary$closure", 10, 0, 52], + }, "call$5", "async___rootRunUnary$closure", 10, 0, 54, 0, 2, 1, 8, 12], _rootRunBinary: [function($self, $parent, zone, f, arg1, arg2) { var old, previous, t1; if (J.$eq$($.Zone__current, zone)) @@ -5574,34 +5808,34 @@ } finally { $.Zone__current = old; } - }, "call$6", "async___rootRunBinary$closure", 12, 0, 53], + }, "call$6", "async___rootRunBinary$closure", 12, 0, 55, 0, 2, 1, 8, 21, 20], _rootRegisterCallback: [function($self, $parent, zone, f) { return f; - }, "call$4", "async___rootRegisterCallback$closure", 8, 0, 54], + }, "call$4", "async___rootRegisterCallback$closure", 8, 0, 56, 0, 2, 1, 8], _rootRegisterUnaryCallback: [function($self, $parent, zone, f) { return f; - }, "call$4", "async___rootRegisterUnaryCallback$closure", 8, 0, 55], + }, "call$4", "async___rootRegisterUnaryCallback$closure", 8, 0, 57, 0, 2, 1, 8], _rootRegisterBinaryCallback: [function($self, $parent, zone, f) { return f; - }, "call$4", "async___rootRegisterBinaryCallback$closure", 8, 0, 56], + }, "call$4", "async___rootRegisterBinaryCallback$closure", 8, 0, 58, 0, 2, 1, 8], _rootErrorCallback: [function($self, $parent, zone, error, stackTrace) { return; - }, "call$5", "async___rootErrorCallback$closure", 10, 0, 57], + }, "call$5", "async___rootErrorCallback$closure", 10, 0, 59, 0, 2, 1, 3, 4], _rootScheduleMicrotask: [function($self, $parent, zone, f) { var t1 = C.C__RootZone !== zone; if (t1) f = zone.bindCallback$2$runGuarded(f, !(!t1 || C.C__RootZone.get$errorZone() === zone.get$errorZone())); P._scheduleAsyncCallback(f); - }, "call$4", "async___rootScheduleMicrotask$closure", 8, 0, 58], + }, "call$4", "async___rootScheduleMicrotask$closure", 8, 0, 60, 0, 2, 1, 8], _rootCreateTimer: [function($self, $parent, zone, duration, callback) { return P.Timer__createTimer(duration, C.C__RootZone !== zone ? zone.bindCallback$1(callback) : callback); - }, "call$5", "async___rootCreateTimer$closure", 10, 0, 59], + }, "call$5", "async___rootCreateTimer$closure", 10, 0, 61, 0, 2, 1, 19, 15], _rootCreatePeriodicTimer: [function($self, $parent, zone, duration, callback) { return P.Timer__createPeriodicTimer(duration, C.C__RootZone !== zone ? zone.bindUnaryCallback$1(callback) : callback); - }, "call$5", "async___rootCreatePeriodicTimer$closure", 10, 0, 60], + }, "call$5", "async___rootCreatePeriodicTimer$closure", 10, 0, 62, 0, 2, 1, 19, 15], _rootPrint: [function($self, $parent, zone, line) { H.printString(H.S(line)); - }, "call$4", "async___rootPrint$closure", 8, 0, 61], + }, "call$4", "async___rootPrint$closure", 8, 0, 63, 0, 2, 1, 10], _printToZone: [function(line) { J.print$1$x($.Zone__current, line); }, "call$1", "async___printToZone$closure", 2, 0, 7], @@ -5637,13 +5871,13 @@ t1._createTimer = zone.get$_createTimer(); specification.get$createPeriodicTimer(); t1._createPeriodicTimer = zone.get$_createPeriodicTimer(); - specification.get$print(specification); + J.get$print$x(specification); t1._print = zone.get$_print(); specification.get$fork(); t1._fork = zone.get$_fork(); t1._handleUncaughtError = specification.get$handleUncaughtError() != null ? new P._ZoneFunction(t1, specification.get$handleUncaughtError()) : zone.get$_handleUncaughtError(); return t1; - }, "call$5", "async___rootFork$closure", 10, 0, 62], + }, "call$5", "async___rootFork$closure", 10, 0, 64, 0, 2, 1, 27, 28], runZoned: function(body, onError, zoneSpecification, zoneValues) { var errorHandler, zone; errorHandler = new P.runZoned_closure(onError); @@ -5653,17 +5887,17 @@ }, _AsyncRun__initializeScheduleImmediate_internalCallback: { "^": "Closure:0;_box_0", - call$1: function(_) { + call$1: [function(_) { var t1, f; --init.globalState.topEventLoop._activeJsAsyncCount; t1 = this._box_0; f = t1.storedCallback; t1.storedCallback = null; f.call$0(); - } + }, null, null, 2, 0, null, 6, "call"] }, _AsyncRun__initializeScheduleImmediate_closure: { - "^": "Closure:30;_box_0,div,span", + "^": "Closure:39;_box_0,div,span", call$1: function(callback) { var t1, t2; ++init.globalState.topEventLoop._activeJsAsyncCount; @@ -5675,35 +5909,35 @@ }, _AsyncRun__scheduleImmediateJsOverride_internalCallback: { "^": "Closure:1;callback", - call$0: function() { + call$0: [function() { --init.globalState.topEventLoop._activeJsAsyncCount; this.callback.call$0(); - } + }, null, null, 0, 0, null, "call"] }, _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: { "^": "Closure:1;callback", - call$0: function() { + call$0: [function() { --init.globalState.topEventLoop._activeJsAsyncCount; this.callback.call$0(); - } + }, null, null, 0, 0, null, "call"] }, _awaitOnObject_closure: { "^": "Closure:0;bodyFunction", - call$1: function(result) { + call$1: [function(result) { return this.bodyFunction.call$2(0, result); - } + }, null, null, 2, 0, null, 14, "call"] }, _awaitOnObject_closure0: { "^": "Closure:5;bodyFunction", - call$2: function(error, stackTrace) { + call$2: [function(error, stackTrace) { this.bodyFunction.call$2(1, new H.ExceptionAndStackTrace(error, stackTrace)); - } + }, null, null, 4, 0, null, 3, 4, "call"] }, _wrapJsFunctionForAsync_closure: { - "^": "Closure:27;$protected", - call$2: function(errorCode, result) { + "^": "Closure:50;$protected", + call$2: [function(errorCode, result) { this.$protected(errorCode, result); - } + }, null, null, 4, 0, null, 31, 14, "call"] }, Future: { "^": "Object;$ti" @@ -5751,13 +5985,13 @@ t1._complete$1(value); }, function($receiver) { return this.complete$1($receiver, null); - }, "complete$0", "call$1", "call$0", "get$complete", 0, 2, 28, 0], + }, "complete$0", "call$1", "call$0", "get$complete", 0, 2, 45, 5, 9], _completeError$2: function(error, stackTrace) { this.future._completeError$2(error, stackTrace); } }, _FutureListener: { - "^": "Object;_nextListener<,result,state,callback,errorCallback", + "^": "Object;_nextListener@,result>,state,callback,errorCallback<", get$_zone: function() { return this.result._zone; }, @@ -5770,6 +6004,9 @@ get$handlesComplete: function() { return this.state === 8; }, + get$hasErrorCallback: function() { + return this.errorCallback != null; + }, handleValue$1: function(sourceResult) { return this.result._zone.runUnary$2(this.callback, sourceResult); }, @@ -5798,13 +6035,20 @@ } }, _Future: { - "^": "Object;_state<,_zone,_resultOrListeners<,$ti", + "^": "Object;_state<,_zone<,_resultOrListeners<,$ti", get$_isChained: function() { return this._state === 2; }, get$_isComplete: function() { return this._state >= 4; }, + get$_hasError: function() { + return this._state === 8; + }, + _setChained$1: function(source) { + this._state = 2; + this._resultOrListeners = source; + }, then$2$onError: function(f, onError) { var currentZone = $.Zone__current; if (currentZone !== C.C__RootZone) { @@ -5829,6 +6073,30 @@ this._addListener$1(new P._FutureListener(null, result, 8, t1 !== C.C__RootZone ? t1.registerCallback$1(action) : action, null)); return result; }, + _setPendingComplete$0: function() { + this._state = 1; + }, + _clearPendingComplete$0: function() { + this._state = 0; + }, + get$_error: function() { + return this._resultOrListeners; + }, + get$_chainSource: function() { + return this._resultOrListeners; + }, + _setValue$1: function(value) { + this._state = 4; + this._resultOrListeners = value; + }, + _setErrorObject$1: function(error) { + this._state = 8; + this._resultOrListeners = error; + }, + _cloneResult$1: function(source) { + this._state = source.get$_state(); + this._resultOrListeners = source.get$_resultOrListeners(); + }, _addListener$1: function(listener) { var t1, source; t1 = this._state; @@ -5842,8 +6110,8 @@ source._addListener$1(listener); return; } - this._state = source._state; - this._resultOrListeners = source._resultOrListeners; + this._state = source.get$_state(); + this._resultOrListeners = source.get$_resultOrListeners(); } this._zone.scheduleMicrotask$1(new P._Future__addListener_closure(this, listener)); } @@ -5860,8 +6128,8 @@ this._resultOrListeners = listeners; if (existingListeners != null) { for (cursor = listeners; cursor.get$_nextListener() != null;) - cursor = cursor._nextListener; - cursor._nextListener = existingListeners; + cursor = cursor.get$_nextListener(); + cursor.set$_nextListener(existingListeners); } } else { if (t2 === 2) { @@ -5870,8 +6138,8 @@ source._prependListeners$1(listeners); return; } - this._state = source._state; - this._resultOrListeners = source._resultOrListeners; + this._state = source.get$_state(); + this._resultOrListeners = source.get$_resultOrListeners(); } t1.listeners = this._reverseListeners$1(listeners); this._zone.scheduleMicrotask$1(new P._Future__prependListeners_closure(t1, this)); @@ -5886,7 +6154,7 @@ var current, prev, next; for (current = listeners, prev = null; current != null; prev = current, current = next) { next = current.get$_nextListener(); - current._nextListener = prev; + current.set$_nextListener(prev); } return prev; }, @@ -5908,7 +6176,7 @@ P._Future__propagateToListeners(this, listeners); }, function(error) { return this._completeError$2(error, null); - }, "_completeError$1", "call$2", "call$1", "get$_completeError", 2, 2, 6, 0], + }, "_completeError$1", "call$2", "call$1", "get$_completeError", 2, 2, 6, 5, 3, 4], _asyncComplete$1: function(value) { if (!!J.getInterceptor(value).$isFuture) { if (value._state === 8) { @@ -5929,7 +6197,7 @@ static: { _Future__chainForeignFuture: function(source, target) { var e, s, exception, t1; - target._state = 1; + target._setPendingComplete$0(); try { source.then$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target)); } catch (exception) { @@ -5940,52 +6208,47 @@ } }, _Future__chainCoreFuture: function(source, target) { - var t1, current, listeners; + var listeners; for (; source.get$_isChained();) - source = source._resultOrListeners; - t1 = source.get$_isComplete(); - current = target._resultOrListeners; - if (t1) { - target._resultOrListeners = null; - listeners = target._reverseListeners$1(current); - target._state = source._state; - target._resultOrListeners = source._resultOrListeners; + source = source.get$_chainSource(); + if (source.get$_isComplete()) { + listeners = target._removeListeners$0(); + target._cloneResult$1(source); P._Future__propagateToListeners(target, listeners); } else { - target._state = 2; - target._resultOrListeners = source; - source._prependListeners$1(current); + listeners = target.get$_resultOrListeners(); + target._setChained$1(source); + source._prependListeners$1(listeners); } }, _Future__propagateToListeners: function(source, listeners) { - var t1, t2, t3, hasError, asyncError, listeners0, sourceResult, zone, oldZone, t4, result, current; + var t1, t2, t3, hasError, asyncError, listeners0, sourceResult, zone, oldZone, t4, result; t1 = {}; t1.source = source; for (t2 = source; true;) { t3 = {}; - hasError = t2._state === 8; + hasError = t2.get$_hasError(); if (listeners == null) { if (hasError) { - asyncError = t2._resultOrListeners; - t2._zone.handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace()); + asyncError = t1.source.get$_error(); + t1.source.get$_zone().handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace()); } return; } for (; listeners.get$_nextListener() != null; listeners = listeners0) { - listeners0 = listeners._nextListener; - listeners._nextListener = null; + listeners0 = listeners.get$_nextListener(); + listeners.set$_nextListener(null); P._Future__propagateToListeners(t1.source, listeners); } - sourceResult = t1.source._resultOrListeners; + sourceResult = t1.source.get$_resultOrListeners(); t3.listenerHasError = hasError; t3.listenerValueOrError = sourceResult; t2 = !hasError; if (!t2 || listeners.get$handlesValue() || listeners.get$handlesComplete()) { zone = listeners.get$_zone(); - if (hasError && !t1.source._zone.inSameErrorZone$1(zone)) { - t2 = t1.source; - asyncError = t2._resultOrListeners; - t2._zone.handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace()); + if (hasError && !t1.source.get$_zone().inSameErrorZone$1(zone)) { + asyncError = t1.source.get$_error(); + t1.source.get$_zone().handleUncaughtError$2(J.get$error$x(asyncError), asyncError.get$stackTrace()); return; } oldZone = $.Zone__current; @@ -6005,14 +6268,11 @@ t2 = t3.listenerValueOrError; t4 = J.getInterceptor(t2); if (!!t4.$isFuture) { - result = listeners.result; + result = J.get$result$x(listeners); if (!!t4.$is_Future) if (t2._state >= 4) { - current = result._resultOrListeners; - result._resultOrListeners = null; - listeners = result._reverseListeners$1(current); - result._state = t2._state; - result._resultOrListeners = t2._resultOrListeners; + listeners = result._removeListeners$0(); + result._cloneResult$1(t2); t1.source = t2; continue; } else @@ -6022,17 +6282,14 @@ return; } } - result = listeners.result; + result = J.get$result$x(listeners); listeners = result._removeListeners$0(); t2 = t3.listenerHasError; t3 = t3.listenerValueOrError; - if (!t2) { - result._state = 4; - result._resultOrListeners = t3; - } else { - result._state = 8; - result._resultOrListeners = t3; - } + if (!t2) + result._setValue$1(t3); + else + result._setErrorObject$1(t3); t1.source = result; t2 = result; } @@ -6041,61 +6298,60 @@ }, _Future__addListener_closure: { "^": "Closure:1;$this,listener", - call$0: function() { + call$0: [function() { P._Future__propagateToListeners(this.$this, this.listener); - } + }, null, null, 0, 0, null, "call"] }, _Future__prependListeners_closure: { "^": "Closure:1;_box_0,$this", - call$0: function() { + call$0: [function() { P._Future__propagateToListeners(this.$this, this._box_0.listeners); - } + }, null, null, 0, 0, null, "call"] }, _Future__chainForeignFuture_closure: { "^": "Closure:0;target", - call$1: function(value) { + call$1: [function(value) { var t1 = this.target; - t1._state = 0; + t1._clearPendingComplete$0(); t1._complete$1(value); - } + }, null, null, 2, 0, null, 9, "call"] }, _Future__chainForeignFuture_closure0: { - "^": "Closure:32;target", - call$2: function(error, stackTrace) { + "^": "Closure:40;target", + call$2: [function(error, stackTrace) { this.target._completeError$2(error, stackTrace); - }, - call$1: function(error) { + }, function(error) { return this.call$2(error, null); - } + }, "call$1", null, null, null, 2, 2, null, 5, 3, 4, "call"] }, _Future__chainForeignFuture_closure1: { "^": "Closure:1;target,e,s", - call$0: function() { + call$0: [function() { this.target._completeError$2(this.e, this.s); - } + }, null, null, 0, 0, null, "call"] }, _Future__asyncComplete_closure: { "^": "Closure:1;$this,coreFuture", - call$0: function() { + call$0: [function() { P._Future__chainCoreFuture(this.coreFuture, this.$this); - } + }, null, null, 0, 0, null, "call"] }, _Future__asyncComplete_closure0: { "^": "Closure:1;$this,typedValue", - call$0: function() { + call$0: [function() { var t1, listeners; t1 = this.$this; listeners = t1._removeListeners$0(); t1._state = 4; t1._resultOrListeners = this.typedValue; P._Future__propagateToListeners(t1, listeners); - } + }, null, null, 0, 0, null, "call"] }, _Future__asyncCompleteError_closure: { "^": "Closure:1;$this,error,stackTrace", - call$0: function() { + call$0: [function() { this.$this._completeError$2(this.error, this.stackTrace); - } + }, null, null, 0, 0, null, "call"] }, _Future__propagateToListeners_handleWhenCompleteCallback: { "^": "Closure:2;_box_1,_box_0,hasError,listener", @@ -6109,7 +6365,7 @@ e = t1; s = H.getTraceFromException(exception); if (this.hasError) { - t1 = J.get$error$x(this._box_1.source._resultOrListeners); + t1 = J.get$error$x(this._box_1.source.get$_error()); t2 = e; t2 = t1 == null ? t2 == null : t1 === t2; t1 = t2; @@ -6117,7 +6373,7 @@ t1 = false; t2 = this._box_0; if (t1) - t2.listenerValueOrError = this._box_1.source._resultOrListeners; + t2.listenerValueOrError = this._box_1.source.get$_error(); else t2.listenerValueOrError = new P.AsyncError(e, s); t2.listenerHasError = true; @@ -6141,9 +6397,9 @@ }, _Future__propagateToListeners_handleWhenCompleteCallback_closure: { "^": "Closure:0;originalSource", - call$1: function(_) { + call$1: [function(_) { return this.originalSource; - } + }, null, null, 2, 0, null, 6, "call"] }, _Future__propagateToListeners_handleValueCallback: { "^": "Closure:2;_box_0,listener,sourceResult", @@ -6166,9 +6422,9 @@ call$0: function() { var asyncError, e, s, t1, t2, exception, t3, t4; try { - asyncError = this._box_1.source._resultOrListeners; + asyncError = this._box_1.source.get$_error(); t1 = this.listener; - if (t1.matchesErrorTest$1(asyncError) === true && t1.errorCallback != null) { + if (t1.matchesErrorTest$1(asyncError) === true && t1.get$hasErrorCallback()) { t2 = this._box_0; t2.listenerValueOrError = t1.handleError$1(asyncError); t2.listenerHasError = false; @@ -6178,11 +6434,11 @@ e = t1; s = H.getTraceFromException(exception); t1 = this._box_1; - t2 = J.get$error$x(t1.source._resultOrListeners); + t2 = J.get$error$x(t1.source.get$_error()); t3 = e; t4 = this._box_0; if (t2 == null ? t3 == null : t2 === t3) - t4.listenerValueOrError = t1.source._resultOrListeners; + t4.listenerValueOrError = t1.source.get$_error(); else t4.listenerValueOrError = new P.AsyncError(e, s); t4.listenerHasError = true; @@ -6197,6 +6453,12 @@ map$1: function(_, convert) { return new P._MapStream(convert, this, [H.getRuntimeTypeArgument(this, "Stream", 0), null]); }, + handleError$2$test: function(onError, test) { + return new P._HandleErrorStream(onError, test, this, [H.getRuntimeTypeArgument(this, "Stream", 0)]); + }, + handleError$1: function(onError) { + return this.handleError$2$test(onError, null); + }, pipe$1: function(streamConsumer) { return streamConsumer.addStream$1(this).then$1(new P.Stream_pipe_closure(streamConsumer)); }, @@ -6243,18 +6505,18 @@ }, Stream_pipe_closure: { "^": "Closure:0;streamConsumer", - call$1: function(_) { + call$1: [function(_) { return this.streamConsumer.close$0(0); - } + }, null, null, 2, 0, null, 6, "call"] }, Stream_contains_closure: { "^": "Closure;_box_0,$this,needle,future", - call$1: function(element) { + call$1: [function(element) { var t1, t2; t1 = this._box_0; t2 = this.future; P._runUserCode(new P.Stream_contains__closure(this.needle, element), new P.Stream_contains__closure0(t1, t2), P._cancelAndErrorClosure(t1.subscription, t2)); - }, + }, null, null, 2, 0, null, 22, "call"], $signature: function() { return H.computeSignature(function(T) { return {func: 1, args: [T]}; @@ -6268,7 +6530,7 @@ } }, Stream_contains__closure0: { - "^": "Closure:31;_box_0,future", + "^": "Closure:38;_box_0,future", call$1: function(isMatch) { if (isMatch === true) P._cancelAndValue(this._box_0.subscription, this.future, true); @@ -6276,15 +6538,15 @@ }, Stream_contains_closure0: { "^": "Closure:1;future", - call$0: function() { + call$0: [function() { this.future._complete$1(false); - } + }, null, null, 0, 0, null, "call"] }, Stream_forEach_closure: { "^": "Closure;_box_0,$this,action,future", - call$1: function(element) { + call$1: [function(element) { P._runUserCode(new P.Stream_forEach__closure(this.action, element), new P.Stream_forEach__closure0(), P._cancelAndErrorClosure(this._box_0.subscription, this.future)); - }, + }, null, null, 2, 0, null, 22, "call"], $signature: function() { return H.computeSignature(function(T) { return {func: 1, args: [T]}; @@ -6304,39 +6566,39 @@ }, Stream_forEach_closure0: { "^": "Closure:1;future", - call$0: function() { + call$0: [function() { this.future._complete$1(null); - } + }, null, null, 0, 0, null, "call"] }, Stream_length_closure: { "^": "Closure:0;_box_0", - call$1: function(_) { + call$1: [function(_) { ++this._box_0.count; - } + }, null, null, 2, 0, null, 6, "call"] }, Stream_length_closure0: { "^": "Closure:1;_box_0,future", - call$0: function() { + call$0: [function() { this.future._complete$1(this._box_0.count); - } + }, null, null, 0, 0, null, "call"] }, Stream_isEmpty_closure: { "^": "Closure:0;_box_0,future", - call$1: function(_) { + call$1: [function(_) { P._cancelAndValue(this._box_0.subscription, this.future, false); - } + }, null, null, 2, 0, null, 6, "call"] }, Stream_isEmpty_closure0: { "^": "Closure:1;future", - call$0: function() { + call$0: [function() { this.future._complete$1(true); - } + }, null, null, 0, 0, null, "call"] }, Stream_toList_closure: { "^": "Closure;$this,result", - call$1: function(data) { + call$1: [function(data) { this.result.push(data); - }, + }, null, null, 2, 0, null, 16, "call"], $signature: function() { return H.computeSignature(function(T) { return {func: 1, args: [T]}; @@ -6345,15 +6607,19 @@ }, Stream_toList_closure0: { "^": "Closure:1;result,future", - call$0: function() { + call$0: [function() { this.future._complete$1(this.result); - } + }, null, null, 0, 0, null, "call"] }, StreamSubscription: { "^": "Object;" }, _StreamController: { "^": "Object;_state<,$ti", + get$isPaused: function() { + var t1 = this._state; + return (t1 & 1) !== 0 ? this.get$_subscription().get$_isInputPaused() : (t1 & 2) === 0; + }, get$_pendingEvents: function() { if ((this._state & 8) === 0) return this._varData; @@ -6371,10 +6637,10 @@ } state = this._varData; if (state.get$varData() == null) - state.varData = new P._StreamImplEvents(null, null, 0, this.$ti); - return state.varData; + state.set$varData(new P._StreamImplEvents(null, null, 0, this.$ti)); + return state.get$varData(); }, - get$_async$_subscription: function() { + get$_subscription: function() { if ((this._state & 8) !== 0) return this._varData.get$varData(); return this._varData; @@ -6400,7 +6666,7 @@ return H.computeSignature(function(T) { return {func: 1, v: true, args: [T]}; }, this.$receiver, "_StreamController"); - }], + }, 9], addError$2: [function(error, stackTrace) { var replacement; if (this._state >= 4) @@ -6412,11 +6678,11 @@ error = error != null ? error : new P.NullThrownError(); stackTrace = replacement.get$stackTrace(); } - this._async$_addError$2(error, stackTrace); + this._addError$2(error, stackTrace); }, function(error) { return this.addError$2(error, null); - }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 33, 0], - close$0: function(_) { + }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 37, 5, 3, 4], + close$0: [function(_) { var t1 = this._state; if ((t1 & 4) !== 0) return this._ensureDoneFuture$0(); @@ -6429,7 +6695,7 @@ else if ((t1 & 3) === 0) this._ensurePendingEvents$0().add$1(0, C.C__DelayedDone); return this._ensureDoneFuture$0(); - }, + }, null, "get$close", 0, 0, null], _async$_add$1: function(value) { var t1 = this._state; if ((t1 & 1) !== 0) @@ -6437,7 +6703,7 @@ else if ((t1 & 3) === 0) this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, null, this.$ti)); }, - _async$_addError$2: function(error, stackTrace) { + _addError$2: function(error, stackTrace) { var t1 = this._state; if ((t1 & 1) !== 0) this._sendError$2(error, stackTrace); @@ -6457,7 +6723,7 @@ if ((t2 & 8) !== 0) { addState = this._varData; addState.set$varData(subscription); - addState.addSubscription.resume$0(); + addState.resume$0(0); } else this._varData = subscription; subscription._setPendingEvents$1(pendingEvents); @@ -6502,22 +6768,22 @@ }, _StreamController__recordCancel_complete: { "^": "Closure:2;$this", - call$0: function() { + call$0: [function() { var t1 = this.$this._doneFuture; if (t1 != null && t1._state === 0) t1._asyncComplete$1(null); - } + }, null, null, 0, 0, null, "call"] }, _SyncStreamControllerDispatch: { "^": "Object;", _sendData$1: function(data) { - this.get$_async$_subscription()._async$_add$1(data); + this.get$_subscription()._async$_add$1(data); }, _sendError$2: function(error, stackTrace) { - this.get$_async$_subscription()._async$_addError$2(error, stackTrace); + this.get$_subscription()._addError$2(error, stackTrace); }, _sendDone$0: function() { - this.get$_async$_subscription()._close$0(); + this.get$_subscription()._close$0(); } }, _SyncStreamController: { @@ -6552,7 +6818,7 @@ _onResume$0: [function() { var t1 = this._controller; if ((t1._state & 8) !== 0) - t1._varData.resume$0(); + t1._varData.resume$0(0); P._runGuarded(t1.onResume); }, "call$0", "get$_onResume", 0, 0, 2] }, @@ -6567,13 +6833,13 @@ return H.computeSignature(function(T) { return {func: 1, v: true, args: [T]}; }, this.$receiver, "_StreamSinkWrapper"); - }] + }, 16] }, _EventSink: { "^": "Object;" }, _BufferingStreamSubscription: { - "^": "Object;_state<,$ti", + "^": "Object;_zone<,_state<,$ti", _setPendingEvents$1: function(pendingEvents) { if (pendingEvents == null) return; @@ -6596,7 +6862,7 @@ pause$0: function($receiver) { return this.pause$1($receiver, null); }, - resume$0: function() { + resume$0: function(_) { var t1 = this._state; if ((t1 & 8) !== 0) return; @@ -6628,6 +6894,12 @@ t1 = this._cancelFuture; return t1 == null ? $.$get$Future__nullFuture() : t1; }, + get$_isInputPaused: function() { + return (this._state & 4) !== 0; + }, + get$isPaused: function() { + return this._state >= 128; + }, _cancel$0: function() { var t1 = (this._state | 8) >>> 0; this._state = t1; @@ -6646,7 +6918,7 @@ else this._addPending$1(new P._DelayedData(data, null, [null])); }], - _async$_addError$2: ["super$_BufferingStreamSubscription$_addError", function(error, stackTrace) { + _addError$2: ["super$_BufferingStreamSubscription$_addError", function(error, stackTrace) { var t1 = this._state; if ((t1 & 8) !== 0) return; @@ -6793,7 +7065,7 @@ }, _BufferingStreamSubscription__sendError_sendError: { "^": "Closure:2;$this,error,stackTrace", - call$0: function() { + call$0: [function() { var t1, t2, t3, t4, t5, t6; t1 = this.$this; t2 = t1._state; @@ -6810,11 +7082,11 @@ else t4.runUnaryGuarded$2(t6, t5); t1._state = (t1._state & 4294967263) >>> 0; - } + }, null, null, 0, 0, null, "call"] }, _BufferingStreamSubscription__sendDone_sendDone: { "^": "Closure:2;$this", - call$0: function() { + call$0: [function() { var t1, t2; t1 = this.$this; t2 = t1._state; @@ -6823,7 +7095,7 @@ t1._state = (t2 | 42) >>> 0; t1._zone.runGuarded$1(t1._onDone); t1._state = (t1._state & 4294967263) >>> 0; - } + }, null, null, 0, 0, null, "call"] }, _StreamImpl: { "^": "Stream;$ti", @@ -6890,7 +7162,7 @@ }, _PendingEvents_schedule_closure: { "^": "Closure:1;$this,dispatch", - call$0: function() { + call$0: [function() { var t1, oldState, $event, t2; t1 = this.$this; oldState = t1._state; @@ -6903,7 +7175,7 @@ if (t2 == null) t1.lastPendingEvent = null; $event.perform$1(this.dispatch); - } + }, null, null, 0, 0, null, "call"] }, _StreamImplEvents: { "^": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state,$ti", @@ -6922,7 +7194,10 @@ } }, _DoneStreamSubscription: { - "^": "Object;_zone,_state<,_onDone", + "^": "Object;_zone<,_state<,_onDone", + get$isPaused: function() { + return this._state >= 4; + }, _schedule$0: function() { if ((this._state & 2) !== 0) return; @@ -6935,7 +7210,7 @@ pause$0: function($receiver) { return this.pause$1($receiver, null); }, - resume$0: function() { + resume$0: function(_) { var t1 = this._state; if (t1 >= 4) { t1 -= 4; @@ -6959,7 +7234,7 @@ }, "call$0", "get$_sendDone", 0, 0, 2] }, _StreamIterator: { - "^": "Object;_async$_subscription,_stateData,_isPaused,$ti" + "^": "Object;_subscription,_stateData,_isPaused,$ti" }, _EmptyStream: { "^": "Stream;$ti", @@ -6977,9 +7252,9 @@ }, _cancelAndError_closure: { "^": "Closure:1;future,error,stackTrace", - call$0: function() { + call$0: [function() { return this.future._completeError$2(this.error, this.stackTrace); - } + }, null, null, 0, 0, null, "call"] }, _cancelAndErrorClosure_closure: { "^": "Closure:5;subscription,future", @@ -6989,9 +7264,9 @@ }, _cancelAndValue_closure: { "^": "Closure:1;future,value", - call$0: function() { + call$0: [function() { return this.future._complete$1(this.value); - } + }, null, null, 0, 0, null, "call"] }, _ForwardingStream: { "^": "Stream;$ti", @@ -7011,40 +7286,40 @@ sink._async$_add$1(data); }, _handleError$3: function(error, stackTrace, sink) { - sink._async$_addError$2(error, stackTrace); + sink._addError$2(error, stackTrace); }, $asStream: function($S, $T) { return [$T]; } }, _ForwardingStreamSubscription: { - "^": "_BufferingStreamSubscription;_stream,_async$_subscription,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending,$ti", + "^": "_BufferingStreamSubscription;_stream,_subscription,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending,$ti", _async$_add$1: function(data) { if ((this._state & 2) !== 0) return; this.super$_BufferingStreamSubscription$_add(data); }, - _async$_addError$2: function(error, stackTrace) { + _addError$2: function(error, stackTrace) { if ((this._state & 2) !== 0) return; this.super$_BufferingStreamSubscription$_addError(error, stackTrace); }, _onPause$0: [function() { - var t1 = this._async$_subscription; + var t1 = this._subscription; if (t1 == null) return; t1.pause$0(0); }, "call$0", "get$_onPause", 0, 0, 2], _onResume$0: [function() { - var t1 = this._async$_subscription; + var t1 = this._subscription; if (t1 == null) return; - t1.resume$0(); + t1.resume$0(0); }, "call$0", "get$_onResume", 0, 0, 2], _onCancel$0: function() { - var t1 = this._async$_subscription; + var t1 = this._subscription; if (t1 != null) { - this._async$_subscription = null; + this._subscription = null; return t1.cancel$0(); } return; @@ -7055,10 +7330,10 @@ return H.computeSignature(function(S, T) { return {func: 1, v: true, args: [S]}; }, this.$receiver, "_ForwardingStreamSubscription"); - }], + }, 16], _handleError$2: [function(error, stackTrace) { this._stream._handleError$3(error, stackTrace, this); - }, "call$2", "get$_handleError", 4, 0, 34], + }, "call$2", "get$_handleError", 4, 0, 11, 3, 4], _handleDone$0: [function() { this._close$0(); }, "call$0", "get$_handleDone", 0, 0, 2], @@ -7066,7 +7341,7 @@ var t1, t2; t1 = this.get$_handleData(); t2 = this.get$_handleError(); - this._async$_subscription = this._stream._async$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2); + this._subscription = this._stream._async$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2); }, $as_BufferingStreamSubscription: function($S, $T) { return [$T]; @@ -7100,6 +7375,33 @@ sink._async$_add$1(outputEvent); } }, + _HandleErrorStream: { + "^": "_ForwardingStream;_transform,_test,_async$_source,$ti", + _handleError$3: function(error, stackTrace, sink) { + var matches, e, s, exception, t1; + matches = true; + if (matches === true) + try { + P._invokeErrorHandler(this._transform, error, stackTrace); + } catch (exception) { + t1 = H.unwrapException(exception); + e = t1; + s = H.getTraceFromException(exception); + t1 = e; + if (t1 == null ? error == null : t1 === error) + sink._addError$2(error, stackTrace); + else + P._addErrorWithReplacement(sink, e, s); + return; + } + else + sink._addError$2(error, stackTrace); + }, + $as_ForwardingStream: function($T) { + return [$T, $T]; + }, + $asStream: null + }, Timer: { "^": "Object;" }, @@ -7180,37 +7482,37 @@ implementation = this._delegationTarget.get$_run(); implZone = implementation.zone; return implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, f); - }, "call$2", "get$run", 4, 0, 36], + }, "call$2", "get$run", 4, 0, 34], runUnary$3: [function(zone, f, arg) { var implementation, implZone; implementation = this._delegationTarget.get$_runUnary(); implZone = implementation.zone; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, f, arg); - }, "call$3", "get$runUnary", 6, 0, 37], + }, "call$3", "get$runUnary", 6, 0, 32], runBinary$4: [function(zone, f, arg1, arg2) { var implementation, implZone; implementation = this._delegationTarget.get$_runBinary(); implZone = implementation.zone; return implementation.$function.call$6(implZone, P._parentDelegate(implZone), zone, f, arg1, arg2); - }, "call$4", "get$runBinary", 8, 0, 38], + }, "call$4", "get$runBinary", 8, 0, 31], registerCallback$2: [function(zone, f) { var implementation, implZone; implementation = this._delegationTarget.get$_registerCallback(); implZone = implementation.zone; return implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, f); - }, "call$2", "get$registerCallback", 4, 0, 39], + }, "call$2", "get$registerCallback", 4, 0, 30], registerUnaryCallback$2: [function(zone, f) { var implementation, implZone; implementation = this._delegationTarget.get$_registerUnaryCallback(); implZone = implementation.zone; return implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, f); - }, "call$2", "get$registerUnaryCallback", 4, 0, 40], + }, "call$2", "get$registerUnaryCallback", 4, 0, 29], registerBinaryCallback$2: [function(zone, f) { var implementation, implZone; implementation = this._delegationTarget.get$_registerBinaryCallback(); implZone = implementation.zone; return implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, f); - }, "call$2", "get$registerBinaryCallback", 4, 0, 43], + }, "call$2", "get$registerBinaryCallback", 4, 0, 28], errorCallback$3: [function(zone, error, stackTrace) { var implementation, implZone; implementation = this._delegationTarget.get$_errorCallback(); @@ -7218,37 +7520,37 @@ if (implZone === C.C__RootZone) return; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, error, stackTrace); - }, "call$3", "get$errorCallback", 6, 0, 48], + }, "call$3", "get$errorCallback", 6, 0, 33], scheduleMicrotask$2: [function(zone, f) { var implementation, implZone; implementation = this._delegationTarget.get$_scheduleMicrotask(); implZone = implementation.zone; implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, f); - }, "call$2", "get$scheduleMicrotask", 4, 0, 21], + }, "call$2", "get$scheduleMicrotask", 4, 0, 23], createTimer$3: [function(zone, duration, f) { var implementation, implZone; implementation = this._delegationTarget.get$_createTimer(); implZone = implementation.zone; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, duration, f); - }, "call$3", "get$createTimer", 6, 0, 23], + }, "call$3", "get$createTimer", 6, 0, 24], createPeriodicTimer$3: [function(zone, period, f) { var implementation, implZone; implementation = this._delegationTarget.get$_createPeriodicTimer(); implZone = implementation.zone; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, period, f); - }, "call$3", "get$createPeriodicTimer", 6, 0, 24], + }, "call$3", "get$createPeriodicTimer", 6, 0, 25], print$2: [function(_, zone, line) { var implementation, implZone; implementation = this._delegationTarget.get$_print(); implZone = implementation.zone; implementation.$function.call$4(implZone, P._parentDelegate(implZone), zone, line); - }, "call$2", "get$print", 4, 0, 25], + }, "call$2", "get$print", 4, 0, 26], fork$3: [function(zone, specification, zoneValues) { var implementation, implZone; implementation = this._delegationTarget.get$_fork(); implZone = implementation.zone; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, specification, zoneValues); - }, "call$3", "get$fork", 6, 0, 26] + }, "call$3", "get$fork", 6, 0, 27] }, _Zone: { "^": "Object;", @@ -7352,49 +7654,49 @@ return implementation.$function.call$5(t1, parentDelegate, this, specification, zoneValues); }, function() { return this.fork$2$specification$zoneValues(null, null); - }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 10, 0, 0], + }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 21, 5, 5], run$1: [function(f) { var implementation, t1, parentDelegate; implementation = this._run; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$4(t1, parentDelegate, this, f); - }, "call$1", "get$run", 2, 0, 11], + }, "call$1", "get$run", 2, 0, 20], runUnary$2: [function(f, arg) { var implementation, t1, parentDelegate; implementation = this._runUnary; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$5(t1, parentDelegate, this, f, arg); - }, "call$2", "get$runUnary", 4, 0, 12], + }, "call$2", "get$runUnary", 4, 0, 19], runBinary$3: [function(f, arg1, arg2) { var implementation, t1, parentDelegate; implementation = this._runBinary; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$6(t1, parentDelegate, this, f, arg1, arg2); - }, "call$3", "get$runBinary", 6, 0, 13], + }, "call$3", "get$runBinary", 6, 0, 18], registerCallback$1: [function(callback) { var implementation, t1, parentDelegate; implementation = this._registerCallback; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$4(t1, parentDelegate, this, callback); - }, "call$1", "get$registerCallback", 2, 0, 14], + }, "call$1", "get$registerCallback", 2, 0, 17], registerUnaryCallback$1: [function(callback) { var implementation, t1, parentDelegate; implementation = this._registerUnaryCallback; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$4(t1, parentDelegate, this, callback); - }, "call$1", "get$registerUnaryCallback", 2, 0, 9], + }, "call$1", "get$registerUnaryCallback", 2, 0, 8], registerBinaryCallback$1: [function(callback) { var implementation, t1, parentDelegate; implementation = this._registerBinaryCallback; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$4(t1, parentDelegate, this, callback); - }, "call$1", "get$registerBinaryCallback", 2, 0, 15], + }, "call$1", "get$registerBinaryCallback", 2, 0, 16], errorCallback$2: [function(error, stackTrace) { var implementation, implementationZone, parentDelegate; implementation = this._errorCallback; @@ -7403,7 +7705,7 @@ return; parentDelegate = P._parentDelegate(implementationZone); return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace); - }, "call$2", "get$errorCallback", 4, 0, 16], + }, "call$2", "get$errorCallback", 4, 0, 15], scheduleMicrotask$1: [function(f) { var implementation, t1, parentDelegate; implementation = this._scheduleMicrotask; @@ -7417,14 +7719,14 @@ t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$5(t1, parentDelegate, this, duration, f); - }, "call$2", "get$createTimer", 4, 0, 17], + }, "call$2", "get$createTimer", 4, 0, 14], createPeriodicTimer$2: [function(duration, f) { var implementation, t1, parentDelegate; implementation = this._createPeriodicTimer; t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$5(t1, parentDelegate, this, duration, f); - }, "call$2", "get$createPeriodicTimer", 4, 0, 18], + }, "call$2", "get$createPeriodicTimer", 4, 0, 13], print$1: [function(_, line) { var implementation, t1, parentDelegate; implementation = this._print; @@ -7435,21 +7737,21 @@ }, _CustomZone_bindCallback_closure: { "^": "Closure:1;$this,registered", - call$0: function() { + call$0: [function() { return this.$this.runGuarded$1(this.registered); - } + }, null, null, 0, 0, null, "call"] }, _CustomZone_bindCallback_closure0: { "^": "Closure:1;$this,registered", - call$0: function() { + call$0: [function() { return this.$this.run$1(this.registered); - } + }, null, null, 0, 0, null, "call"] }, _CustomZone_bindUnaryCallback_closure: { "^": "Closure:0;$this,registered", - call$1: function(arg) { + call$1: [function(arg) { return this.$this.runUnaryGuarded$2(this.registered, arg); - } + }, null, null, 2, 0, null, 12, "call"] }, _rootHandleUncaughtError_closure: { "^": "Closure:1;_box_0,stackTrace", @@ -7602,68 +7904,68 @@ return P._rootFork(null, null, this, specification, zoneValues); }, function() { return this.fork$2$specification$zoneValues(null, null); - }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 10, 0, 0], + }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 21, 5, 5], run$1: [function(f) { if ($.Zone__current === C.C__RootZone) return f.call$0(); return P._rootRun(null, null, this, f); - }, "call$1", "get$run", 2, 0, 11], + }, "call$1", "get$run", 2, 0, 20], runUnary$2: [function(f, arg) { if ($.Zone__current === C.C__RootZone) return f.call$1(arg); return P._rootRunUnary(null, null, this, f, arg); - }, "call$2", "get$runUnary", 4, 0, 12], + }, "call$2", "get$runUnary", 4, 0, 19], runBinary$3: [function(f, arg1, arg2) { if ($.Zone__current === C.C__RootZone) return f.call$2(arg1, arg2); return P._rootRunBinary(null, null, this, f, arg1, arg2); - }, "call$3", "get$runBinary", 6, 0, 13], + }, "call$3", "get$runBinary", 6, 0, 18], registerCallback$1: [function(f) { return f; - }, "call$1", "get$registerCallback", 2, 0, 14], + }, "call$1", "get$registerCallback", 2, 0, 17], registerUnaryCallback$1: [function(f) { return f; - }, "call$1", "get$registerUnaryCallback", 2, 0, 9], + }, "call$1", "get$registerUnaryCallback", 2, 0, 8], registerBinaryCallback$1: [function(f) { return f; - }, "call$1", "get$registerBinaryCallback", 2, 0, 15], + }, "call$1", "get$registerBinaryCallback", 2, 0, 16], errorCallback$2: [function(error, stackTrace) { return; - }, "call$2", "get$errorCallback", 4, 0, 16], + }, "call$2", "get$errorCallback", 4, 0, 15], scheduleMicrotask$1: [function(f) { P._rootScheduleMicrotask(null, null, this, f); }, "call$1", "get$scheduleMicrotask", 2, 0, 4], createTimer$2: [function(duration, f) { return P.Timer__createTimer(duration, f); - }, "call$2", "get$createTimer", 4, 0, 17], + }, "call$2", "get$createTimer", 4, 0, 14], createPeriodicTimer$2: [function(duration, f) { return P.Timer__createPeriodicTimer(duration, f); - }, "call$2", "get$createPeriodicTimer", 4, 0, 18], + }, "call$2", "get$createPeriodicTimer", 4, 0, 13], print$1: [function(_, line) { H.printString(line); }, "call$1", "get$print", 2, 0, 7] }, _RootZone_bindCallback_closure: { "^": "Closure:1;$this,f", - call$0: function() { + call$0: [function() { return this.$this.runGuarded$1(this.f); - } + }, null, null, 0, 0, null, "call"] }, _RootZone_bindCallback_closure0: { "^": "Closure:1;$this,f", - call$0: function() { + call$0: [function() { return this.$this.run$1(this.f); - } + }, null, null, 0, 0, null, "call"] }, _RootZone_bindUnaryCallback_closure: { "^": "Closure:0;$this,f", - call$1: function(arg) { + call$1: [function(arg) { return this.$this.runUnaryGuarded$2(this.f, arg); - } + }, null, null, 2, 0, null, 12, "call"] }, runZoned_closure: { - "^": "Closure:19;onError", - call$5: function($self, $parent, zone, error, stackTrace) { + "^": "Closure:12;onError", + call$5: [function($self, $parent, zone, error, stackTrace) { var e, s, t1, t2, exception; try { t1 = this.onError; @@ -7685,7 +7987,7 @@ else return $parent.handleUncaughtError$3(zone, e, s); } - } + }, null, null, 10, 0, null, 0, 2, 1, 3, 4, "call"] } }], ["dart.collection", "dart:collection",, P, { "^": "", @@ -7735,14 +8037,14 @@ t1.push(iterable); try { t2 = buffer; - t2._contents = P.StringBuffer__writeAll(t2.get$_contents(), iterable, ", "); + t2.set$_contents(P.StringBuffer__writeAll(t2.get$_contents(), iterable, ", ")); } finally { if (0 >= t1.length) return H.ioore(t1, -1); t1.pop(); } t1 = buffer; - t1._contents = t1.get$_contents() + rightDelimiter; + t1.set$_contents(t1.get$_contents() + rightDelimiter); t1 = buffer.get$_contents(); return t1.charCodeAt(0) == 0 ? t1 : t1; }, @@ -7849,11 +8151,11 @@ try { $.$get$_toStringVisiting().push(m); t2 = result; - t2._contents = t2.get$_contents() + "{"; + t2.set$_contents(t2.get$_contents() + "{"); t1.first = true; m.forEach$1(0, new P.Maps_mapToString_closure(t1, result)); t1 = result; - t1._contents = t1.get$_contents() + "}"; + t1.set$_contents(t1.get$_contents() + "}"); } finally { t1 = $.$get$_toStringVisiting(); if (0 >= t1.length) @@ -8141,10 +8443,10 @@ cell = this._collection$_first; modifications = this._collection$_modifications; for (; cell != null;) { - action.call$1(cell._element); + action.call$1(cell.get$_element()); if (modifications !== this._collection$_modifications) throw H.wrapException(new P.ConcurrentModificationError(this)); - cell = cell._collection$_next; + cell = cell.get$_collection$_next(); } }, add$1: function(_, element) { @@ -8257,7 +8559,7 @@ _collection$_unlinkCell$1: function(cell) { var previous, next; previous = cell.get$_collection$_previous(); - next = cell._collection$_next; + next = cell.get$_collection$_next(); if (previous == null) this._collection$_first = next; else @@ -8265,7 +8567,7 @@ if (next == null) this._collection$_last = previous; else - next._collection$_previous = previous; + next.set$_collection$_previous(previous); --this._collection$_length; this._collection$_modifications = this._collection$_modifications + 1 & 67108863; }, @@ -8293,7 +8595,7 @@ } }, _LinkedHashSetCell: { - "^": "Object;_element<,_collection$_next,_collection$_previous<" + "^": "Object;_element<,_collection$_next<,_collection$_previous@" }, _LinkedHashSetIterator: { "^": "Object;_set,_collection$_modifications,_collection$_cell,_collection$_current", @@ -8310,8 +8612,8 @@ this._collection$_current = null; return false; } else { - this._collection$_current = t1._element; - this._collection$_cell = t1._collection$_next; + this._collection$_current = t1.get$_element(); + this._collection$_cell = this._collection$_cell.get$_collection$_next(); return true; } } @@ -8319,9 +8621,9 @@ }, closure6: { "^": "Closure:3;result", - call$2: function(k, v) { + call$2: [function(k, v) { this.result.$indexSet(0, k, v); - } + }, null, null, 4, 0, null, 33, 34, "call"] }, _HashSetBase: { "^": "SetBase;$ti" @@ -8429,7 +8731,7 @@ } }, function($receiver, start, end, iterable) { return this.setRange$4($receiver, start, end, iterable, 0); - }, "setRange$3", null, null, "get$setRange", 6, 2, null, 1], + }, "setRange$3", null, null, "get$setRange", 6, 2, null, 35], replaceRange$3: function(receiver, start, end, newContents) { var removeLength, insertLength, t1, t2, delta, insertEnd, newLength; P.RangeError_checkValidRange(start, end, this.get$length(receiver), null, null, null); @@ -8730,7 +9032,7 @@ }, _defaultToEncodable: [function(object) { return object.toJson$0(); - }, "call$1", "convert___defaultToEncodable$closure", 2, 0, 0], + }, "call$1", "convert___defaultToEncodable$closure", 2, 0, 0, 24], _JsonMap: { "^": "Object;_original,_processed,_data", $index: function(_, key) { @@ -8877,9 +9179,9 @@ }, _JsonMap_values_closure: { "^": "Closure:0;$this", - call$1: function(each) { + call$1: [function(each) { return this.$this.$index(0, each); - } + }, null, null, 2, 0, null, 18, "call"] }, Codec: { "^": "Object;" @@ -9114,7 +9416,7 @@ }, _JsonStringifier_writeMap_closure: { "^": "Closure:3;_box_0,keyValueList", - call$2: function(key, value) { + call$2: [function(key, value) { var t1, t2, t3, i, t4; if (typeof key !== "string") this._box_0.allStringKeys = false; @@ -9131,7 +9433,7 @@ if (i >= t4) return H.ioore(t1, i); t1[i] = value; - } + }, null, null, 4, 0, null, 17, 9, "call"] }, _JsonStringStringifier: { "^": "_JsonStringifier;_convert$_sink,_seen,_toEncodable", @@ -9259,7 +9561,7 @@ if (this._bufferIndex + 3 >= t2) break; stringIndex0 = stringIndex + 1; - if (this._writeSurrogate$2(codeUnit, C.JSString_methods.codeUnitAt$1(str, stringIndex0))) + if (this._writeSurrogate$2(codeUnit, t3.codeUnitAt$1(str, stringIndex0))) stringIndex = stringIndex0; } else if (codeUnit <= 2047) { t4 = this._bufferIndex; @@ -9336,12 +9638,11 @@ if (i === endIndex) break $loop$0; unit = t3.$index(codeUnits, i); - if (typeof unit !== "number") - return unit.$and(); - if ((unit & 192) !== 128) - throw H.wrapException(new P.FormatException("Bad UTF-8 encoding 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null)); + t5 = J.getInterceptor$n(unit); + if (t5.$and(unit, 192) !== 128) + throw H.wrapException(new P.FormatException("Bad UTF-8 encoding 0x" + t5.toRadixString$1(unit, 16), null, null)); else { - value = (value << 6 | unit & 63) >>> 0; + value = (value << 6 | t5.$and(unit, 63)) >>> 0; --expectedUnits; ++i; } @@ -9375,27 +9676,25 @@ if (t6.$lt(unit, 0)) throw H.wrapException(new P.FormatException("Negative UTF-8 code unit: -0x" + J.toRadixString$1$n(t6.$negate(unit), 16), null, null)); else { - if (typeof unit !== "number") - return unit.$and(); - if ((unit & 224) === 192) { - value = unit & 31; + if (t6.$and(unit, 224) === 192) { + value = t6.$and(unit, 31); expectedUnits = 1; extraUnits = 1; continue $loop$0; } - if ((unit & 240) === 224) { - value = unit & 15; + if (t6.$and(unit, 240) === 224) { + value = t6.$and(unit, 15); expectedUnits = 2; extraUnits = 2; continue $loop$0; } - if ((unit & 248) === 240 && unit < 245) { - value = unit & 7; + if (t6.$and(unit, 248) === 240 && t6.$lt(unit, 245)) { + value = t6.$and(unit, 7); expectedUnits = 3; extraUnits = 3; continue $loop$0; } - throw H.wrapException(new P.FormatException("Bad UTF-8 encoding 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null)); + throw H.wrapException(new P.FormatException("Bad UTF-8 encoding 0x" + t6.toRadixString$1(unit, 16), null, null)); } } break $loop$0; @@ -9408,22 +9707,20 @@ } }, _Utf8Decoder_convert_scanOneByteCharacters: { - "^": "Closure:41;endIndex", + "^": "Closure:42;endIndex", call$2: function(units, from) { var to, t1, i, unit; to = this.endIndex; for (t1 = J.getInterceptor$asx(units), i = from; i < to; ++i) { unit = t1.$index(units, i); - if (typeof unit !== "number") - return unit.$and(); - if ((unit & 127) !== unit) + if (J.$and$n(unit, 127) !== unit) return i - from; } return to - from; } }, _Utf8Decoder_convert_addSingleBytes: { - "^": "Closure:64;$this,codeUnits,startIndex,endIndex", + "^": "Closure:43;$this,codeUnits,startIndex,endIndex", call$2: function(from, to) { this.$this._stringSink._contents += P.String_String$fromCharCodes(this.codeUnits, from, to); } @@ -9504,10 +9801,7 @@ return result; }, List_List$unmodifiable: function(elements, $E) { - var result = P.List_List$from(elements, false, $E); - result.fixed$length = Array; - result.immutable$list = Array; - return result; + return J.JSArray_markUnmodifiableList(P.List_List$from(elements, false, $E)); }, print: function(object) { var line, t1; @@ -9542,16 +9836,17 @@ throw H.wrapException(new P.UnsupportedError("'Uri.base' is not supported")); }, Uri_parse: function(uri, start, end) { - var t1, t2, delta, t3, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, t4, t5, isSimple, scheme, t6, t7, t8, schemeAuth, t9; + var t1, t2, t3, delta, indices, schemeEnd, hostStart, portStart, pathStart, queryStart, fragmentStart, t4, t5, isSimple, scheme, t6, t7, t8, schemeAuth, t9; end = J.get$length$asx(uri); t1 = start + 5; t2 = J.getInterceptor$n(end); if (t2.$ge(end, t1)) { - delta = ((J.codeUnitAt$1$s(uri, start + 4) ^ 58) * 3 | C.JSString_methods.codeUnitAt$1(uri, start) ^ 100 | C.JSString_methods.codeUnitAt$1(uri, start + 1) ^ 97 | C.JSString_methods.codeUnitAt$1(uri, start + 2) ^ 116 | C.JSString_methods.codeUnitAt$1(uri, start + 3) ^ 97) >>> 0; + t3 = J.getInterceptor$s(uri); + delta = ((t3.codeUnitAt$1(uri, start + 4) ^ 58) * 3 | t3.codeUnitAt$1(uri, start) ^ 100 | t3.codeUnitAt$1(uri, start + 1) ^ 97 | t3.codeUnitAt$1(uri, start + 2) ^ 116 | t3.codeUnitAt$1(uri, start + 3) ^ 97) >>> 0; if (delta === 0) - return P.UriData__parse(start > 0 || t2.$lt(end, uri.length) ? C.JSString_methods.substring$2(uri, start, end) : uri, 5, null).get$uri(); + return P.UriData__parse(start > 0 || t2.$lt(end, t3.get$length(uri)) ? t3.substring$2(uri, start, end) : uri, 5, null).get$uri(); else if (delta === 32) - return P.UriData__parse(C.JSString_methods.substring$2(uri, t1, end), 0, null).get$uri(); + return P.UriData__parse(t3.substring$2(uri, t1, end), 0, null).get$uri(); } t3 = new Array(8); t3.fixed$length = Array; @@ -9606,17 +9901,18 @@ scheme = null; isSimple = false; } else { - if (t3.$eq(schemeEnd, start + 4)) - if (J.startsWith$2$s(uri, "file", start)) { + if (t3.$eq(schemeEnd, start + 4)) { + t1 = J.getInterceptor$s(uri); + if (t1.startsWith$2(uri, "file", start)) { if (t5.$le(hostStart, start)) { - if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) { + if (!t1.startsWith$2(uri, "/", pathStart)) { schemeAuth = "file:///"; delta = 3; } else { schemeAuth = "file://"; delta = 2; } - uri = schemeAuth + C.JSString_methods.substring$2(uri, pathStart, end); + uri = schemeAuth + t1.substring$2(uri, pathStart, end); schemeEnd = t3.$sub(schemeEnd, start); t1 = delta - start; queryStart = t7.$add(queryStart, t1); @@ -9627,19 +9923,19 @@ portStart = 7; pathStart = 7; } else { - t1 = J.getInterceptor(pathStart); - if (t1.$eq(pathStart, queryStart)) - if (start === 0 && t2.$eq(end, uri.length)) { - uri = C.JSString_methods.replaceRange$3(uri, pathStart, queryStart, "/"); + t8 = J.getInterceptor(pathStart); + if (t8.$eq(pathStart, queryStart)) + if (start === 0 && t2.$eq(end, t1.get$length(uri))) { + uri = t1.replaceRange$3(uri, pathStart, queryStart, "/"); queryStart = t7.$add(queryStart, 1); fragmentStart = t4.$add(fragmentStart, 1); end = t2.$add(end, 1); } else { - uri = C.JSString_methods.substring$2(uri, start, pathStart) + "/" + C.JSString_methods.substring$2(uri, queryStart, end); + uri = t1.substring$2(uri, start, pathStart) + "/" + t1.substring$2(uri, queryStart, end); schemeEnd = t3.$sub(schemeEnd, start); hostStart = t5.$sub(hostStart, start); portStart = t6.$sub(portStart, start); - pathStart = t1.$sub(pathStart, start); + pathStart = t8.$sub(pathStart, start); t1 = 1 - start; queryStart = t7.$add(queryStart, t1); fragmentStart = t4.$add(fragmentStart, t1); @@ -9648,23 +9944,23 @@ } } scheme = "file"; - } else if (C.JSString_methods.startsWith$2(uri, "http", start)) { - if (t6.$gt(portStart, start) && J.$eq$(t6.$add(portStart, 3), pathStart) && C.JSString_methods.startsWith$2(uri, "80", t6.$add(portStart, 1))) { - t1 = start === 0 && t2.$eq(end, uri.length); - t8 = J.getInterceptor$n(pathStart); - if (t1) { - uri = C.JSString_methods.replaceRange$3(uri, portStart, pathStart, ""); - pathStart = t8.$sub(pathStart, 3); + } else if (t1.startsWith$2(uri, "http", start)) { + if (t6.$gt(portStart, start) && J.$eq$(t6.$add(portStart, 3), pathStart) && t1.startsWith$2(uri, "80", t6.$add(portStart, 1))) { + t8 = start === 0 && t2.$eq(end, t1.get$length(uri)); + t9 = J.getInterceptor$n(pathStart); + if (t8) { + uri = t1.replaceRange$3(uri, portStart, pathStart, ""); + pathStart = t9.$sub(pathStart, 3); queryStart = t7.$sub(queryStart, 3); fragmentStart = t4.$sub(fragmentStart, 3); end = t2.$sub(end, 3); } else { - uri = C.JSString_methods.substring$2(uri, start, portStart) + C.JSString_methods.substring$2(uri, pathStart, end); + uri = t1.substring$2(uri, start, portStart) + t1.substring$2(uri, pathStart, end); schemeEnd = t3.$sub(schemeEnd, start); hostStart = t5.$sub(hostStart, start); portStart = t6.$sub(portStart, start); t1 = 3 + start; - pathStart = t8.$sub(pathStart, t1); + pathStart = t9.$sub(pathStart, t1); queryStart = t7.$sub(queryStart, t1); fragmentStart = t4.$sub(fragmentStart, t1); end = uri.length; @@ -9674,7 +9970,7 @@ scheme = "http"; } else scheme = null; - else if (t3.$eq(schemeEnd, t1) && J.startsWith$2$s(uri, "https", start)) { + } else if (t3.$eq(schemeEnd, t1) && J.startsWith$2$s(uri, "https", start)) { if (t6.$gt(portStart, start) && J.$eq$(t6.$add(portStart, 4), pathStart) && J.startsWith$2$s(uri, "443", t6.$add(portStart, 1))) { t1 = start === 0 && t2.$eq(end, J.get$length$asx(uri)); t8 = J.getInterceptor$asx(uri); @@ -9686,7 +9982,7 @@ fragmentStart = t4.$sub(fragmentStart, 4); end = t2.$sub(end, 3); } else { - uri = t8.substring$2(uri, start, portStart) + C.JSString_methods.substring$2(uri, pathStart, end); + uri = t8.substring$2(uri, start, portStart) + t8.substring$2(uri, pathStart, end); schemeEnd = t3.$sub(schemeEnd, start); hostStart = t5.$sub(hostStart, start); portStart = t6.$sub(portStart, start); @@ -9723,37 +10019,37 @@ }, Uri_decodeComponent: [function(encodedComponent) { return P._Uri__uriDecode(encodedComponent, 0, J.get$length$asx(encodedComponent), C.Utf8Codec_false, false); - }, "call$1", "core_Uri_decodeComponent$closure", 2, 0, 63], + }, "call$1", "core_Uri_decodeComponent$closure", 2, 0, 65, 37], Uri_splitQueryString: function(query, encoding) { return C.JSArray_methods.fold$2(query.split("&"), P.LinkedHashMap__makeEmpty(), new P.Uri_splitQueryString_closure(encoding)); }, Uri__parseIPv4Address: function(host, start, end) { - var t1, t2, result, i, partStart, partIndex, t3, $char, part, partIndex0; + var t1, t2, result, t3, i, partStart, partIndex, t4, $char, part, partIndex0; t1 = new P.Uri__parseIPv4Address_error(host); t2 = H._checkLength(4); result = new Uint8Array(t2); - for (i = start, partStart = i, partIndex = 0; t3 = J.getInterceptor$n(i), t3.$lt(i, end); i = t3.$add(i, 1)) { - $char = C.JSString_methods.codeUnitAt$1(host, i); + for (t3 = J.getInterceptor$s(host), i = start, partStart = i, partIndex = 0; t4 = J.getInterceptor$n(i), t4.$lt(i, end); i = t4.$add(i, 1)) { + $char = t3.codeUnitAt$1(host, i); if ($char !== 46) { if (($char ^ 48) > 9) t1.call$2("invalid character", i); } else { if (partIndex === 3) t1.call$2("IPv4 address should contain exactly 4 parts", i); - part = H.Primitives_parseInt(C.JSString_methods.substring$2(host, partStart, i), null, null); + part = H.Primitives_parseInt(t3.substring$2(host, partStart, i), null, null); if (J.$gt$n(part, 255)) t1.call$2("each part must be in the range 0..255", partStart); partIndex0 = partIndex + 1; if (partIndex >= t2) return H.ioore(result, partIndex); result[partIndex] = part; - partStart = t3.$add(i, 1); + partStart = t4.$add(i, 1); partIndex = partIndex0; } } if (partIndex !== 3) t1.call$2("IPv4 address should contain exactly 4 parts", end); - part = H.Primitives_parseInt(C.JSString_methods.substring$2(host, partStart, end), null, null); + part = H.Primitives_parseInt(t3.substring$2(host, partStart, end), null, null); if (J.$gt$n(part, 255)) t1.call$2("each part must be in the range 0..255", partStart); if (partIndex >= t2) @@ -9762,32 +10058,33 @@ return result; }, Uri_parseIPv6Address: function(host, start, end) { - var t1, t2, parts, i, partStart, wildcardSeen, seenDot, t3, $char, atEnd, isLastWildcard, last, bytes, index, value, wildCardLength, j; + var t1, t2, t3, parts, i, partStart, wildcardSeen, seenDot, t4, $char, atEnd, isLastWildcard, last, bytes, index, value, wildCardLength, j; if (end == null) - end = host.length; + end = J.get$length$asx(host); t1 = new P.Uri_parseIPv6Address_error(host); t2 = new P.Uri_parseIPv6Address_parseHex(host, t1); - if (host.length < 2) + t3 = J.getInterceptor$asx(host); + if (J.$lt$n(t3.get$length(host), 2)) t1.call$1("address is too short"); parts = []; - for (i = start, partStart = i, wildcardSeen = false, seenDot = false; t3 = J.getInterceptor$n(i), t3.$lt(i, end); i = J.$add$ns(i, 1)) { - $char = C.JSString_methods.codeUnitAt$1(host, i); + for (i = start, partStart = i, wildcardSeen = false, seenDot = false; t4 = J.getInterceptor$n(i), t4.$lt(i, end); i = J.$add$ns(i, 1)) { + $char = t3.codeUnitAt$1(host, i); if ($char === 58) { - if (t3.$eq(i, start)) { - i = t3.$add(i, 1); - if (C.JSString_methods.codeUnitAt$1(host, i) !== 58) + if (t4.$eq(i, start)) { + i = t4.$add(i, 1); + if (t3.codeUnitAt$1(host, i) !== 58) t1.call$2("invalid start colon.", i); partStart = i; } - t3 = J.getInterceptor(i); - if (t3.$eq(i, partStart)) { + t4 = J.getInterceptor(i); + if (t4.$eq(i, partStart)) { if (wildcardSeen) t1.call$2("only one wildcard `::` is allowed", i); parts.push(-1); wildcardSeen = true; } else parts.push(t2.call$2(partStart, i)); - partStart = t3.$add(i, 1); + partStart = t4.$add(i, 1); } else if ($char === 46) seenDot = true; } @@ -9802,20 +10099,16 @@ parts.push(t2.call$2(partStart, end)); else { last = P.Uri__parseIPv4Address(host, partStart, end); - t2 = last[0]; - if (typeof t2 !== "number") - return t2.$shl(); + t2 = J.$shl$n(last[0], 8); t3 = last[1]; if (typeof t3 !== "number") return H.iae(t3); - parts.push((t2 << 8 | t3) >>> 0); - t3 = last[2]; - if (typeof t3 !== "number") - return t3.$shl(); + parts.push((t2 | t3) >>> 0); + t3 = J.$shl$n(last[2], 8); t2 = last[3]; if (typeof t2 !== "number") return H.iae(t2); - parts.push((t3 << 8 | t2) >>> 0); + parts.push((t3 | t2) >>> 0); } if (wildcardSeen) { if (parts.length > 7) @@ -9825,7 +10118,8 @@ bytes = new Uint8Array(16); for (i = 0, index = 0; i < parts.length; ++i) { value = parts[i]; - if (J.getInterceptor(value).$eq(value, -1)) { + t1 = J.getInterceptor(value); + if (t1.$eq(value, -1)) { wildCardLength = 9 - parts.length; for (j = 0; j < wildCardLength; ++j) { if (index < 0 || index >= 16) @@ -9838,16 +10132,15 @@ index += 2; } } else { - if (typeof value !== "number") - return value.$shr(); - t1 = C.JSNumber_methods._shrOtherPositive$1(value, 8); + t2 = t1.$shr(value, 8); if (index < 0 || index >= 16) return H.ioore(bytes, index); - bytes[index] = t1; - t1 = index + 1; - if (t1 >= 16) - return H.ioore(bytes, t1); - bytes[t1] = value & 255; + bytes[index] = t2; + t2 = index + 1; + t1 = t1.$and(value, 255); + if (t2 >= 16) + return H.ioore(bytes, t2); + bytes[t2] = t1; index += 2; } } @@ -9994,16 +10287,28 @@ table = tables[state]; $char = t1.codeUnitAt$1(uri, i) ^ 96; transition = J.$index$asx(table, $char > 95 ? 31 : $char); - if (typeof transition !== "number") - return transition.$and(); - state = transition & 31; - t2 = C.JSNumber_methods._shrOtherPositive$1(transition, 5); + t2 = J.getInterceptor$n(transition); + state = t2.$and(transition, 31); + t2 = t2.$shr(transition, 5); if (t2 >= 8) return H.ioore(indices, t2); indices[t2] = i; } return state; }, + NoSuchMethodError_toString_closure: { + "^": "Closure:66;_box_0,sb", + call$2: [function(key, value) { + var t1, t2, t3; + t1 = this.sb; + t2 = this._box_0; + t1._contents += t2.comma; + t3 = t1._contents += H.S(key.get$__internal$_name()); + t1._contents = t3 + ": "; + t1._contents += H.S(P.Error_safeToString(value)); + t2.comma = ", "; + }, null, null, 4, 0, null, 17, 9, "call"] + }, bool: { "^": "Object;" }, @@ -10087,6 +10392,11 @@ $mul: function(_, factor) { return new P.Duration(C.JSInt_methods.round$0(this._duration * factor)); }, + $tdiv: function(_, quotient) { + if (quotient === 0) + throw H.wrapException(new P.IntegerDivisionByZeroException()); + return new P.Duration(C.JSInt_methods.$tdiv(this._duration, quotient)); + }, $lt: function(_, other) { return this._duration < other.get$_duration(); }, @@ -10133,7 +10443,7 @@ } }, Duration_toString_sixDigits: { - "^": "Closure:20;", + "^": "Closure:10;", call$1: function(n) { if (n >= 100000) return "" + n; @@ -10149,7 +10459,7 @@ } }, Duration_toString_twoDigits: { - "^": "Closure:20;", + "^": "Closure:10;", call$1: function(n) { if (n >= 10) return "" + n; @@ -10293,6 +10603,30 @@ } } }, + NoSuchMethodError: { + "^": "Error;_core$_receiver,_memberName,_core$_arguments,_namedArguments,_existingArgumentNames", + toString$0: function(_) { + var t1, sb, t2, t3, _i, argument, receiverText, actualParameters; + t1 = {}; + sb = new P.StringBuffer(""); + t1.comma = ""; + for (t2 = this._core$_arguments, t3 = t2.length, _i = 0; _i < t3; ++_i) { + argument = t2[_i]; + sb._contents += t1.comma; + sb._contents += H.S(P.Error_safeToString(argument)); + t1.comma = ", "; + } + this._namedArguments.forEach$1(0, new P.NoSuchMethodError_toString_closure(t1, sb)); + receiverText = P.Error_safeToString(this._core$_receiver); + actualParameters = sb.toString$0(0); + return "NoSuchMethodError: method not found: '" + H.S(this._memberName.__internal$_name) + "'\nReceiver: " + H.S(receiverText) + "\nArguments: [" + actualParameters + "]"; + }, + static: { + NoSuchMethodError$: function(receiver, memberName, positionalArguments, namedArguments, existingArgumentNames) { + return new P.NoSuchMethodError(receiver, memberName, positionalArguments, namedArguments, existingArgumentNames); + } + } + }, UnsupportedError: { "^": "Error;message>", toString$0: function(_) { @@ -10446,6 +10780,12 @@ return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mul(" ", offset - start + prefix.length) + "^\n"; } }, + IntegerDivisionByZeroException: { + "^": "Object;", + toString$0: function(_) { + return "IntegerDivisionByZeroException"; + } + }, Expando: { "^": "Object;name,_jsWeakMapOrKey", toString$0: function(_) { @@ -10591,6 +10931,9 @@ toString$0: function(_) { return H.Primitives_objectToHumanReadableString(this); }, + noSuchMethod$1: function(_, invocation) { + throw H.wrapException(P.NoSuchMethodError$(this, invocation.get$memberName(), invocation.get$positionalArguments(), invocation.get$namedArguments(), null)); + }, toString: function() { return this.toString$0(this); } @@ -10606,7 +10949,7 @@ }, "+String": 0, StringBuffer: { - "^": "Object;_contents<", + "^": "Object;_contents@", get$length: function(_) { return this._contents.length; }, @@ -10644,6 +10987,9 @@ } } }, + Symbol0: { + "^": "Object;" + }, Uri_splitQueryString_closure: { "^": "Closure:3;encoding", call$2: function(map, element) { @@ -10655,7 +11001,7 @@ J.$indexSet$ax(map, P._Uri__uriDecode(element, 0, t1.get$length(element), this.encoding, true), ""); } else if (index !== 0) { key = t1.substring$2(element, 0, index); - value = C.JSString_methods.substring$1(element, index + 1); + value = t1.substring$1(element, index + 1); t1 = this.encoding; J.$indexSet$ax(map, P._Uri__uriDecode(key, 0, key.length, t1, true), P._Uri__uriDecode(value, 0, value.length, t1, true)); } @@ -10663,13 +11009,13 @@ } }, Uri__parseIPv4Address_error: { - "^": "Closure:44;host", + "^": "Closure:46;host", call$2: function(msg, position) { throw H.wrapException(new P.FormatException("Illegal IPv4 address, " + msg, this.host, position)); } }, Uri_parseIPv6Address_error: { - "^": "Closure:45;host", + "^": "Closure:47;host", call$2: function(msg, position) { throw H.wrapException(new P.FormatException("Illegal IPv6 address, " + msg, this.host, position)); }, @@ -10678,12 +11024,12 @@ } }, Uri_parseIPv6Address_parseHex: { - "^": "Closure:46;host,error", + "^": "Closure:48;host,error", call$2: function(start, end) { var value, t1; if (J.$gt$n(J.$sub$n(end, start), 4)) this.error.call$2("an IPv6 part can only contain a maximum of 4 hex digits", start); - value = H.Primitives_parseInt(C.JSString_methods.substring$2(this.host, start, end), 16, null); + value = H.Primitives_parseInt(J.substring$2$s(this.host, start, end), 16, null); t1 = J.getInterceptor$n(value); if (t1.$lt(value, 0) || t1.$gt(value, 65535)) this.error.call$2("each part must be in the range of `0x0..0xFFFF`", start); @@ -11106,18 +11452,17 @@ }, _Uri__makeWindowsFileUrl: function(path, slashTerminated) { var t1, pathSegments, pathStart, hostPart; - if (J.startsWith$1$s(path, "\\\\?\\")) - if (C.JSString_methods.startsWith$2(path, "UNC\\", 4)) - path = C.JSString_methods.replaceRange$3(path, 0, 7, "\\"); + t1 = J.getInterceptor$s(path); + if (t1.startsWith$1(path, "\\\\?\\")) + if (t1.startsWith$2(path, "UNC\\", 4)) + path = t1.replaceRange$3(path, 0, 7, "\\"); else { - path = C.JSString_methods.substring$1(path, 4); + path = t1.substring$1(path, 4); if (path.length < 3 || C.JSString_methods.codeUnitAt$1(path, 1) !== 58 || C.JSString_methods.codeUnitAt$1(path, 2) !== 92) throw H.wrapException(P.ArgumentError$("Windows paths with \\\\?\\ prefix must be absolute")); } - else { - H.checkString("\\"); - path = H.stringReplaceAllUnchecked(path, "/", "\\"); - } + else + path = t1.replaceAll$2(path, "/", "\\"); t1 = path.length; if (t1 > 1 && C.JSString_methods.codeUnitAt$1(path, 1) === 58) { P._Uri__checkWindowsDriveLetter(C.JSString_methods.codeUnitAt$1(path, 0), true); @@ -11152,45 +11497,46 @@ return port; }, _Uri__makeHost: function(host, start, end, strictIPv6) { - var t1, t2, i; + var t1, t2, t3, i; if (host == null) return; t1 = J.getInterceptor(start); if (t1.$eq(start, end)) return ""; - if (J.getInterceptor$s(host).codeUnitAt$1(host, start) === 91) { - t2 = J.getInterceptor$n(end); - if (C.JSString_methods.codeUnitAt$1(host, t2.$sub(end, 1)) !== 93) + t2 = J.getInterceptor$s(host); + if (t2.codeUnitAt$1(host, start) === 91) { + t3 = J.getInterceptor$n(end); + if (t2.codeUnitAt$1(host, t3.$sub(end, 1)) !== 93) P._Uri__fail(host, start, "Missing end `]` to match `[` in host"); - P.Uri_parseIPv6Address(host, t1.$add(start, 1), t2.$sub(end, 1)); - return C.JSString_methods.substring$2(host, start, end).toLowerCase(); + P.Uri_parseIPv6Address(host, t1.$add(start, 1), t3.$sub(end, 1)); + return t2.substring$2(host, start, end).toLowerCase(); } for (i = start; t1 = J.getInterceptor$n(i), t1.$lt(i, end); i = t1.$add(i, 1)) - if (C.JSString_methods.codeUnitAt$1(host, i) === 58) { + if (t2.codeUnitAt$1(host, i) === 58) { P.Uri_parseIPv6Address(host, start, end); - return "[" + host + "]"; + return "[" + H.S(host) + "]"; } return P._Uri__normalizeRegName(host, start, end); }, _Uri__normalizeRegName: function(host, start, end) { - var index, sectionStart, buffer, isNormalized, t1, $char, replacement, t2, slice, sourceLength, tail; - for (index = start, sectionStart = index, buffer = null, isNormalized = true; t1 = J.getInterceptor$n(index), t1.$lt(index, end);) { - $char = C.JSString_methods.codeUnitAt$1(host, index); + var t1, index, sectionStart, buffer, isNormalized, t2, $char, replacement, t3, slice, sourceLength, tail; + for (t1 = J.getInterceptor$s(host), index = start, sectionStart = index, buffer = null, isNormalized = true; t2 = J.getInterceptor$n(index), t2.$lt(index, end);) { + $char = t1.codeUnitAt$1(host, index); if ($char === 37) { replacement = P._Uri__normalizeEscape(host, index, true); - t2 = replacement == null; - if (t2 && isNormalized) { - index = t1.$add(index, 3); + t3 = replacement == null; + if (t3 && isNormalized) { + index = t2.$add(index, 3); continue; } if (buffer == null) buffer = new P.StringBuffer(""); - slice = C.JSString_methods.substring$2(host, sectionStart, index); + slice = t1.substring$2(host, sectionStart, index); if (!isNormalized) slice = slice.toLowerCase(); buffer._contents = buffer._contents + slice; - if (t2) { - replacement = C.JSString_methods.substring$2(host, index, t1.$add(index, 3)); + if (t3) { + replacement = t1.substring$2(host, index, t2.$add(index, 3)); sourceLength = 3; } else if (replacement === "%") { replacement = "%25"; @@ -11198,42 +11544,42 @@ } else sourceLength = 3; buffer._contents += replacement; - index = t1.$add(index, sourceLength); + index = t2.$add(index, sourceLength); sectionStart = index; isNormalized = true; } else { if ($char < 127) { - t2 = $char >>> 4; - if (t2 >= 8) - return H.ioore(C.List_qNA, t2); - t2 = (C.List_qNA[t2] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0; + t3 = $char >>> 4; + if (t3 >= 8) + return H.ioore(C.List_qNA, t3); + t3 = (C.List_qNA[t3] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0; } else - t2 = false; - if (t2) { + t3 = false; + if (t3) { if (isNormalized && 65 <= $char && 90 >= $char) { if (buffer == null) buffer = new P.StringBuffer(""); if (J.$lt$n(sectionStart, index)) { - t2 = C.JSString_methods.substring$2(host, sectionStart, index); - buffer._contents = buffer._contents + t2; + t3 = t1.substring$2(host, sectionStart, index); + buffer._contents = buffer._contents + t3; sectionStart = index; } isNormalized = false; } - index = t1.$add(index, 1); + index = t2.$add(index, 1); } else { if ($char <= 93) { - t2 = $char >>> 4; - if (t2 >= 8) - return H.ioore(C.List_2Vk, t2); - t2 = (C.List_2Vk[t2] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0; + t3 = $char >>> 4; + if (t3 >= 8) + return H.ioore(C.List_2Vk, t3); + t3 = (C.List_2Vk[t3] & C.JSInt_methods._shlPositive$1(1, $char & 15)) !== 0; } else - t2 = false; - if (t2) + t3 = false; + if (t3) P._Uri__fail(host, index, "Invalid character"); else { - if (($char & 64512) === 55296 && J.$lt$n(t1.$add(index, 1), end)) { - tail = C.JSString_methods.codeUnitAt$1(host, t1.$add(index, 1)); + if (($char & 64512) === 55296 && J.$lt$n(t2.$add(index, 1), end)) { + tail = t1.codeUnitAt$1(host, t2.$add(index, 1)); if ((tail & 64512) === 56320) { $char = (65536 | ($char & 1023) << 10 | tail & 1023) >>> 0; sourceLength = 2; @@ -11243,31 +11589,32 @@ sourceLength = 1; if (buffer == null) buffer = new P.StringBuffer(""); - slice = C.JSString_methods.substring$2(host, sectionStart, index); + slice = t1.substring$2(host, sectionStart, index); if (!isNormalized) slice = slice.toLowerCase(); buffer._contents = buffer._contents + slice; buffer._contents += P._Uri__escapeChar($char); - index = t1.$add(index, sourceLength); + index = t2.$add(index, sourceLength); sectionStart = index; } } } } if (buffer == null) - return C.JSString_methods.substring$2(host, start, end); + return t1.substring$2(host, start, end); if (J.$lt$n(sectionStart, end)) { - slice = C.JSString_methods.substring$2(host, sectionStart, end); + slice = t1.substring$2(host, sectionStart, end); buffer._contents += !isNormalized ? slice.toLowerCase() : slice; } t1 = buffer._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; }, _Uri__makeScheme: function(scheme, start, end) { - var lowerCase, i, containsUpperCase, codeUnit, t1; + var t1, lowerCase, i, containsUpperCase, codeUnit, t2; if (start === end) return ""; - lowerCase = J.getInterceptor$s(scheme).codeUnitAt$1(scheme, start) | 32; + t1 = J.getInterceptor$s(scheme); + lowerCase = t1.codeUnitAt$1(scheme, start) | 32; if (!(97 <= lowerCase && lowerCase <= 122)) P._Uri__fail(scheme, start, "Scheme not starting with alphabetic character"); if (typeof end !== "number") @@ -11275,20 +11622,20 @@ i = start; containsUpperCase = false; for (; i < end; ++i) { - codeUnit = C.JSString_methods.codeUnitAt$1(scheme, i); + codeUnit = t1.codeUnitAt$1(scheme, i); if (codeUnit < 128) { - t1 = codeUnit >>> 4; - if (t1 >= 8) - return H.ioore(C.List_JYB, t1); - t1 = (C.List_JYB[t1] & C.JSInt_methods._shlPositive$1(1, codeUnit & 15)) !== 0; + t2 = codeUnit >>> 4; + if (t2 >= 8) + return H.ioore(C.List_JYB, t2); + t2 = (C.List_JYB[t2] & C.JSInt_methods._shlPositive$1(1, codeUnit & 15)) !== 0; } else - t1 = false; - if (!t1) + t2 = false; + if (!t2) P._Uri__fail(scheme, i, "Illegal scheme character"); if (65 <= codeUnit && codeUnit <= 90) containsUpperCase = true; } - scheme = C.JSString_methods.substring$2(scheme, start, end); + scheme = t1.substring$2(scheme, start, end); return P._Uri__canonicalizeScheme(containsUpperCase ? scheme.toLowerCase() : scheme); }, _Uri__canonicalizeScheme: function(scheme) { @@ -11346,28 +11693,29 @@ return P._Uri__normalize(fragment, start, end, C.List_CVk); }, _Uri__normalizeEscape: function(source, index, lowerCase) { - var t1, firstDigit, secondDigit, firstDigitValue, secondDigitValue, value, t2; + var t1, t2, firstDigit, secondDigit, firstDigitValue, secondDigitValue, value, t3; t1 = J.getInterceptor$ns(index); - if (J.$ge$n(t1.$add(index, 2), source.length)) + t2 = J.getInterceptor$asx(source); + if (J.$ge$n(t1.$add(index, 2), t2.get$length(source))) return "%"; - firstDigit = C.JSString_methods.codeUnitAt$1(source, t1.$add(index, 1)); - secondDigit = C.JSString_methods.codeUnitAt$1(source, t1.$add(index, 2)); + firstDigit = t2.codeUnitAt$1(source, t1.$add(index, 1)); + secondDigit = t2.codeUnitAt$1(source, t1.$add(index, 2)); firstDigitValue = P._Uri__parseHexDigit(firstDigit); secondDigitValue = P._Uri__parseHexDigit(secondDigit); if (firstDigitValue < 0 || secondDigitValue < 0) return "%"; value = firstDigitValue * 16 + secondDigitValue; if (value < 127) { - t2 = C.JSInt_methods._shrOtherPositive$1(value, 4); - if (t2 >= 8) - return H.ioore(C.List_nxB, t2); - t2 = (C.List_nxB[t2] & C.JSInt_methods._shlPositive$1(1, value & 15)) !== 0; + t3 = C.JSInt_methods._shrOtherPositive$1(value, 4); + if (t3 >= 8) + return H.ioore(C.List_nxB, t3); + t3 = (C.List_nxB[t3] & C.JSInt_methods._shlPositive$1(1, value & 15)) !== 0; } else - t2 = false; - if (t2) + t3 = false; + if (t3) return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 90 >= value ? (value | 32) >>> 0 : value); if (firstDigit >= 97 || secondDigit >= 97) - return C.JSString_methods.substring$2(source, index, t1.$add(index, 3)).toUpperCase(); + return t2.substring$2(source, index, t1.$add(index, 3)).toUpperCase(); return; }, _Uri__parseHexDigit: function($char) { @@ -11464,7 +11812,7 @@ } else { if (($char & 64512) === 55296) if (J.$lt$n(t2.$add(index, 1), end)) { - tail = C.JSString_methods.codeUnitAt$1(component, t2.$add(index, 1)); + tail = t1.codeUnitAt$1(component, t2.$add(index, 1)); if ((tail & 64512) === 56320) { $char = (65536 | ($char & 1023) << 10 | tail & 1023) >>> 0; sourceLength = 2; @@ -11479,7 +11827,7 @@ } if (buffer == null) buffer = new P.StringBuffer(""); - t3 = C.JSString_methods.substring$2(component, sectionStart, index); + t3 = t1.substring$2(component, sectionStart, index); buffer._contents = buffer._contents + t3; buffer._contents += H.S(replacement); index = t2.$add(index, sourceLength); @@ -11598,9 +11946,9 @@ return t2.charCodeAt(0) == 0 ? t2 : t2; }, _Uri__hexCharPairToByte: function(s, pos) { - var $byte, i, charCode; - for ($byte = 0, i = 0; i < 2; ++i) { - charCode = C.JSString_methods.codeUnitAt$1(s, pos + i); + var t1, $byte, i, charCode; + for (t1 = J.getInterceptor$s(s), $byte = 0, i = 0; i < 2; ++i) { + charCode = t1.codeUnitAt$1(s, pos + i); if (48 <= charCode && charCode <= 57) $byte = $byte * 16 + charCode - 48; else { @@ -11617,7 +11965,7 @@ var t1, i, simple, codeUnit, t2, bytes; if (typeof end !== "number") return H.iae(end); - t1 = J.getInterceptor$s(text); + t1 = J.getInterceptor$asx(text); i = start; while (true) { if (!(i < end)) { @@ -11654,7 +12002,10 @@ if (codeUnit > 127) throw H.wrapException(P.ArgumentError$("Illegal percent encoding in URI")); if (codeUnit === 37) { - if (i + 3 > text.length) + t2 = t1.get$length(text); + if (typeof t2 !== "number") + return H.iae(t2); + if (i + 3 > t2) throw H.wrapException(P.ArgumentError$("Truncated URI")); bytes.push(P._Uri__hexCharPairToByte(text, i + 1)); i += 2; @@ -11686,9 +12037,9 @@ }, _Uri__makePath_closure: { "^": "Closure:0;", - call$1: function(s) { + call$1: [function(s) { return P._Uri__uriEncode(C.List_qg40, s, C.Utf8Codec_false, false); - } + }, null, null, 2, 0, null, 38, "call"] }, UriData: { "^": "Object;_text,_separatorIndices,_uriCache", @@ -11834,7 +12185,7 @@ } }, _createTables_build: { - "^": "Closure:47;tables", + "^": "Closure:49;tables", call$2: function(state, defaultTransition) { var t1 = this.tables; if (state >= t1.length) @@ -11845,7 +12196,7 @@ } }, _createTables_setChars: { - "^": "Closure:8;", + "^": "Closure:9;", call$3: function(target, chars, transition) { var t1, t2, i; for (t1 = chars.length, t2 = J.getInterceptor$ax(target), i = 0; i < t1; ++i) @@ -11853,7 +12204,7 @@ } }, _createTables_setRange: { - "^": "Closure:8;", + "^": "Closure:9;", call$3: function(target, range, transition) { var i, n, t1; for (i = C.JSString_methods.codeUnitAt$1(range, 0), n = C.JSString_methods.codeUnitAt$1(range, 1), t1 = J.getInterceptor$ax(target); i <= n; ++i) @@ -11947,7 +12298,7 @@ return t4.$lt(t1, t3.get$length(t2)) ? t3.substring$1(t2, t4.$add(t1, 1)) : ""; }, get$origin: function(_) { - var t1, t2, isHttp, t3, t4; + var t1, t2, isHttp, t3, t4, t5; t1 = this._schemeEnd; t2 = J.getInterceptor(t1); isHttp = t2.$eq(t1, 4) && J.startsWith$1$s(this._uri, "http"); @@ -11963,7 +12314,8 @@ if (J.$eq$(t3, t2.$add(t1, 3))) return J.substring$2$s(this._uri, 0, this._pathStart); t4 = this._uri; - return J.getInterceptor$s(t4).substring$2(t4, 0, t2.$add(t1, 3)) + C.JSString_methods.substring$2(t4, t3, this._pathStart); + t5 = J.getInterceptor$s(t4); + return t5.substring$2(t4, 0, t2.$add(t1, 3)) + t5.substring$2(t4, t3, this._pathStart); }, get$queryParameters: function() { if (!J.$lt$n(this._queryStart, this._fragmentStart)) @@ -12038,34 +12390,35 @@ return base.removeFragment$0(); } t2 = ref._uri; - if (J.getInterceptor$s(t2).startsWith$2(t2, "/", refStart)) { - t3 = base._pathStart; - delta = J.$sub$n(t3, refStart); - return new P._SimpleUri(J.substring$2$s(base._uri, 0, t3) + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, t3, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); + t3 = J.getInterceptor$s(t2); + if (t3.startsWith$2(t2, "/", refStart)) { + t4 = base._pathStart; + delta = J.$sub$n(t4, refStart); + return new P._SimpleUri(J.substring$2$s(base._uri, 0, t4) + t3.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, t4, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); } baseStart = base._pathStart; baseEnd = base._queryStart; - t3 = J.getInterceptor(baseStart); - if (t3.$eq(baseStart, baseEnd) && J.$gt$n(base._hostStart, 0)) { - for (; C.JSString_methods.startsWith$2(t2, "../", refStart);) + t4 = J.getInterceptor(baseStart); + if (t4.$eq(baseStart, baseEnd) && J.$gt$n(base._hostStart, 0)) { + for (; t3.startsWith$2(t2, "../", refStart);) refStart = J.$add$ns(refStart, 3); - delta = J.$add$ns(t3.$sub(baseStart, refStart), 1); - return new P._SimpleUri(J.substring$2$s(base._uri, 0, baseStart) + "/" + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); + delta = J.$add$ns(t4.$sub(baseStart, refStart), 1); + return new P._SimpleUri(J.substring$2$s(base._uri, 0, baseStart) + "/" + t3.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); } baseUri = base._uri; - for (t3 = J.getInterceptor$s(baseUri), baseStart0 = baseStart; t3.startsWith$2(baseUri, "../", baseStart0);) + for (t4 = J.getInterceptor$s(baseUri), baseStart0 = baseStart; t4.startsWith$2(baseUri, "../", baseStart0);) baseStart0 = J.$add$ns(baseStart0, 3); backCount = 0; while (true) { - t3 = J.getInterceptor$ns(refStart); - if (!(J.$le$n(t3.$add(refStart, 3), t1) && C.JSString_methods.startsWith$2(t2, "../", refStart))) + t5 = J.getInterceptor$ns(refStart); + if (!(J.$le$n(t5.$add(refStart, 3), t1) && t3.startsWith$2(t2, "../", refStart))) break; - refStart = t3.$add(refStart, 3); + refStart = t5.$add(refStart, 3); ++backCount; } - for (insert = ""; t4 = J.getInterceptor$n(baseEnd), t4.$gt(baseEnd, baseStart0);) { - baseEnd = t4.$sub(baseEnd, 1); - if (C.JSString_methods.codeUnitAt$1(baseUri, baseEnd) === 47) { + for (insert = ""; t6 = J.getInterceptor$n(baseEnd), t6.$gt(baseEnd, baseStart0);) { + baseEnd = t6.$sub(baseEnd, 1); + if (t4.codeUnitAt$1(baseUri, baseEnd) === 47) { if (backCount === 0) { insert = "/"; break; @@ -12074,13 +12427,13 @@ insert = "/"; } } - t4 = J.getInterceptor(baseEnd); - if (t4.$eq(baseEnd, baseStart0) && !J.$gt$n(base._schemeEnd, 0) && !C.JSString_methods.startsWith$2(baseUri, "/", baseStart)) { - refStart = t3.$sub(refStart, backCount * 3); + t6 = J.getInterceptor(baseEnd); + if (t6.$eq(baseEnd, baseStart0) && !J.$gt$n(base._schemeEnd, 0) && !t4.startsWith$2(baseUri, "/", baseStart)) { + refStart = t5.$sub(refStart, backCount * 3); insert = ""; } - delta = J.$add$ns(t4.$sub(baseEnd, refStart), insert.length); - return new P._SimpleUri(C.JSString_methods.substring$2(baseUri, 0, baseEnd) + insert + C.JSString_methods.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); + delta = J.$add$ns(t6.$sub(baseEnd, refStart), insert.length); + return new P._SimpleUri(t4.substring$2(baseUri, 0, baseEnd) + insert + t3.substring$1(t2, refStart), base._schemeEnd, base._hostStart, base._portStart, baseStart, J.$add$ns(t1, delta), J.$add$ns(ref._fragmentStart, delta), base._schemeCache, null); }, toFilePath$1$windows: function(windows) { var t1, t2, t3, t4; @@ -12133,7 +12486,7 @@ return false; }, _toNonSimple$0: function() { - var t1, t2, t3, t4, t5, t6, t7, t8; + var t1, t2, t3, t4, t5, t6, t7, t8, t9; t1 = this.get$scheme(); t2 = this.get$userInfo(); t3 = this._hostStart; @@ -12145,10 +12498,11 @@ t4 = this.get$hasPort() ? this.get$port(this) : null; t5 = this._uri; t6 = this._queryStart; - t7 = J.substring$2$s(t5, this._pathStart, t6); - t8 = this._fragmentStart; - t6 = J.$lt$n(t6, t8) ? this.get$query(this) : null; - return new P._Uri(t1, t2, t3, t4, t7, t6, J.$lt$n(t8, t5.length) ? this.get$fragment() : null, null, null, null, null, null); + t7 = J.getInterceptor$s(t5); + t8 = t7.substring$2(t5, this._pathStart, t6); + t9 = this._fragmentStart; + t6 = J.$lt$n(t6, t9) ? this.get$query(this) : null; + return new P._Uri(t1, t2, t3, t4, t8, t6, J.$lt$n(t9, t7.get$length(t5)) ? this.get$fragment() : null, null, null, null, null, null); }, toString$0: function(_) { return this._uri; @@ -12672,6 +13026,9 @@ postMessage$2: function($receiver, message, targetOrigin) { return this.postMessage$3($receiver, message, targetOrigin, null); }, + print$0: [function(receiver) { + return receiver.print(); + }, "call$0", "get$print", 0, 0, 2], $isInterceptor: 1, "%": "DOMWindow|Window" }, @@ -12827,7 +13184,10 @@ pause$0: function($receiver) { return this.pause$1($receiver, null); }, - resume$0: function() { + get$isPaused: function() { + return this._pauseCount > 0; + }, + resume$0: function(_) { if (this._html$_target == null || this._pauseCount <= 0) return; --this._pauseCount; @@ -13028,9 +13388,9 @@ }, _StructuredClone_walk_closure: { "^": "Closure:3;_box_0,$this", - call$2: function(key, value) { + call$2: [function(key, value) { this._box_0.copy[key] = this.$this.walk$1(value); - } + }, null, null, 4, 0, null, 17, 9, "call"] }, _AcceptStructuredClone: { "^": "Object;", @@ -13137,22 +13497,46 @@ }, convertNativePromiseToDartFuture_closure: { "^": "Closure:0;completer", - call$1: function(result) { + call$1: [function(result) { return this.completer.complete$1(0, result); - } + }, null, null, 2, 0, null, 14, "call"] }, convertNativePromiseToDartFuture_closure0: { "^": "Closure:0;completer", - call$1: function(result) { + call$1: [function(result) { return this.completer.completeError$1(result); - } + }, null, null, 2, 0, null, 14, "call"] } }], ["dart.dom.indexed_db", "dart:indexed_db",, P, { "^": "" + }], ["dart.js", "dart:js",, P, { + "^": "", + _convertDartFunctionFast: function(f) { + var existing, ret; + existing = f.$dart_jsFunction; + if (existing != null) + return existing; + ret = function(_call, f) { + return function() { + return _call(f, Array.prototype.slice.apply(arguments)); + }; + }(P._callDartFunctionFast, f); + ret[$.$get$DART_CLOSURE_PROPERTY_NAME()] = f; + f.$dart_jsFunction = ret; + return ret; + }, + _callDartFunctionFast: [function(callback, $arguments) { + return H.Primitives_applyFunctionWithPositionalArguments(callback, $arguments); + }, null, null, 4, 0, null, 15, 29], + allowInterop: function(f) { + if (typeof f == "function") + return f; + else + return P._convertDartFunctionFast(f); + } }], ["dart.math", "dart:math",, P, { "^": "", max: [function(a, b) { - var t1; if (typeof a !== "number") throw H.wrapException(P.ArgumentError$(a)); if (typeof b !== "number") @@ -13169,14 +13553,10 @@ return b; return a; } - if (b === 0) - t1 = a === 0 ? 1 / a < 0 : a < 0; - else - t1 = false; - if (t1) + if (b === 0 && C.JSNumber_methods.get$isNegative(a)) return b; return a; - }, "call$2", "math__max$closure", 4, 0, 42] + }, "call$2", "math__max$closure", 4, 0, 44] }], ["dart.dom.svg", "dart:svg",, P, { "^": "", AElement: { @@ -13190,82 +13570,82 @@ "%": "SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement|SVGAnimationElement|SVGSetElement" }, FEBlendElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEBlendElement" }, FEColorMatrixElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEColorMatrixElement" }, FEComponentTransferElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEComponentTransferElement" }, FECompositeElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFECompositeElement" }, FEConvolveMatrixElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEConvolveMatrixElement" }, FEDiffuseLightingElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEDiffuseLightingElement" }, FEDisplacementMapElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEDisplacementMapElement" }, FEFloodElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEFloodElement" }, FEGaussianBlurElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEGaussianBlurElement" }, FEImageElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEImageElement" }, FEMergeElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEMergeElement" }, FEMorphologyElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEMorphologyElement" }, FEOffsetElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFEOffsetElement" }, FESpecularLightingElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFESpecularLightingElement" }, FETileElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFETileElement" }, FETurbulenceElement: { - "^": "SvgElement;", + "^": "SvgElement;result=", $isInterceptor: 1, "%": "SVGFETurbulenceElement" }, @@ -13409,9 +13789,9 @@ }, NullStreamSink_addStream_closure: { "^": "Closure:1;$this", - call$0: function() { + call$0: [function() { this.$this._addingStream = false; - } + }, null, null, 0, 0, null, "call"] } }], ["", "package:path/path.dart",, D, { "^": "", @@ -13466,7 +13846,7 @@ var t1; M._validateArgList("absolute", [part1, part2, part3, part4, part5, part6, part7]); t1 = this.style; - t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1); + t1 = J.$gt$n(t1.rootLength$1(part1), 0) && !t1.isRootRelative$1(part1); if (t1) return part1; t1 = this._context$_current; @@ -13503,7 +13883,7 @@ } buffer._contents = ""; buffer._contents += parsed.toString$0(0); - } else if (t3.rootLength$1(part) > 0) { + } else if (J.$gt$n(t3.rootLength$1(part), 0)) { isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(part); buffer._contents = ""; buffer._contents += H.S(part); @@ -13540,22 +13920,27 @@ return parsed.toString$0(0); }, _needsNormalization$1: function(path) { - var codeUnits, t1, root, t2, i, start, previous, t3, previousPrevious, codeUnit, t4; + var codeUnits, t1, root, t2, i, start, previous, t3, previousPrevious, t4, codeUnit, t5; codeUnits = J.get$codeUnits$s(path); t1 = this.style; root = t1.rootLength$1(path); - if (root !== 0) { - if (t1 === $.$get$Style_windows()) - for (t2 = codeUnits.__internal$_string, i = 0; i < root; ++i) + if (!J.$eq$(root, 0)) { + if (t1 === $.$get$Style_windows()) { + if (typeof root !== "number") + return H.iae(root); + t2 = codeUnits.__internal$_string; + i = 0; + for (; i < root; ++i) if (C.JSString_methods.codeUnitAt$1(t2, i) === 47) return true; + } start = root; previous = 47; } else { start = 0; previous = null; } - for (t2 = codeUnits.__internal$_string, t3 = t2.length, i = start, previousPrevious = null; i < t3; ++i, previousPrevious = previous, previous = codeUnit) { + for (t2 = codeUnits.__internal$_string, t3 = t2.length, i = start, previousPrevious = null; t4 = J.getInterceptor$n(i), t4.$lt(i, t3); i = t4.$add(i, 1), previousPrevious = previous, previous = codeUnit) { codeUnit = C.JSString_methods.codeUnitAt$1(t2, i); if (t1.isSeparator$1(codeUnit)) { if (t1 === $.$get$Style_windows() && codeUnit === 47) @@ -13563,10 +13948,10 @@ if (previous != null && t1.isSeparator$1(previous)) return true; if (previous === 46) - t4 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious); + t5 = previousPrevious == null || previousPrevious === 46 || t1.isSeparator$1(previousPrevious); else - t4 = false; - if (t4) + t5 = false; + if (t5) return true; } } @@ -13584,16 +13969,16 @@ }, relative$2$from: function(path, from) { var t1, fromParsed, pathParsed, t2, t3; - if (this.style.rootLength$1(path) <= 0) + if (!J.$gt$n(this.style.rootLength$1(path), 0)) return this.normalize$1(path); t1 = this._context$_current; from = t1 != null ? t1 : D.current(); t1 = this.style; - if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) + if (!J.$gt$n(t1.rootLength$1(from), 0) && J.$gt$n(t1.rootLength$1(path), 0)) return this.normalize$1(path); - if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path)) + if (!J.$gt$n(t1.rootLength$1(path), 0) || t1.isRootRelative$1(path)) path = this.absolute$1(0, path); - if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0) + if (!J.$gt$n(t1.rootLength$1(path), 0) && J.$gt$n(t1.rootLength$1(from), 0)) throw H.wrapException(new X.PathException('Unable to find a path to "' + H.S(path) + '" from "' + H.S(from) + '".')); fromParsed = X.ParsedPath_ParsedPath$parse(from, t1); fromParsed.normalize$0(); @@ -13656,7 +14041,7 @@ toUri$1: function(path) { var t1, t2; t1 = this.style; - if (t1.rootLength$1(path) <= 0) + if (!J.$gt$n(t1.rootLength$1(path), 0)) return t1.relativePathToUri$1(path); else { t2 = this._context$_current; @@ -13719,9 +14104,9 @@ }, _validateArgList_closure: { "^": "Closure:0;", - call$1: function(arg) { + call$1: [function(arg) { return arg == null ? "null" : '"' + H.S(arg) + '"'; - } + }, null, null, 2, 0, null, 12, "call"] } }], ["", "package:path/src/internal_style.dart",, B, { "^": "", @@ -13729,7 +14114,7 @@ "^": "Style;", getRoot$1: function(path) { var $length = this.rootLength$1(path); - if ($length > 0) + if (J.$gt$n($length, 0)) return J.substring$2$s(path, 0, $length); return this.isRootRelative$1(path) ? J.$index$asx(path, 0) : null; }, @@ -13797,7 +14182,14 @@ this.parts = newParts; this.separators = newSeparators; t1 = this.root; - if (t1 != null && this.style === $.$get$Style_windows()) + if (t1 != null) { + t2 = this.style; + t3 = $.$get$Style_windows(); + t3 = t2 == null ? t3 == null : t2 === t3; + t2 = t3; + } else + t2 = false; + if (t2) this.root = J.replaceAll$2$s(t1, "/", "\\"); this.removeTrailingSeparators$0(); }, @@ -13849,10 +14241,8 @@ if (!(i < t2)) break; if (style.isSeparator$1(t1.codeUnitAt$1(path, i))) { - parts.push(C.JSString_methods.substring$2(path, start, i)); - if (i >= path.length) - return H.ioore(path, i); - separators.push(path[i]); + parts.push(t1.substring$2(path, start, i)); + separators.push(t1.$index(path, i)); start = i + 1; } ++i; @@ -13958,7 +14348,7 @@ return false; if (t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)) !== 47) return true; - return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(path) === path.length; + return t1.endsWith$1(path, "://") && J.$eq$(this.rootLength$1(path), t1.get$length(path)); }, rootLength$1: function(path) { var t1, index; @@ -13967,12 +14357,12 @@ return 0; if (t1.codeUnitAt$1(path, 0) === 47) return 1; - index = C.JSString_methods.indexOf$1(path, "/"); - if (index > 0 && C.JSString_methods.startsWith$2(path, "://", index - 1)) { - index = C.JSString_methods.indexOf$2(path, "/", index + 2); + index = t1.indexOf$1(path, "/"); + if (index > 0 && t1.startsWith$2(path, "://", index - 1)) { + index = t1.indexOf$2(path, "/", index + 2); if (index > 0) return index; - return path.length; + return t1.get$length(path); } return 0; }, @@ -14008,42 +14398,41 @@ return !(t1 === 47 || t1 === 92); }, rootLength$1: function(path) { - var t1, index; + var t1, index, t2; t1 = J.getInterceptor$asx(path); if (t1.get$isEmpty(path) === true) return 0; if (t1.codeUnitAt$1(path, 0) === 47) return 1; - if (C.JSString_methods.codeUnitAt$1(path, 0) === 92) { - t1 = path.length; - if (t1 < 2 || C.JSString_methods.codeUnitAt$1(path, 1) !== 92) + if (t1.codeUnitAt$1(path, 0) === 92) { + if (J.$lt$n(t1.get$length(path), 2) || t1.codeUnitAt$1(path, 1) !== 92) return 1; - index = C.JSString_methods.indexOf$2(path, "\\", 2); + index = t1.indexOf$2(path, "\\", 2); if (index > 0) { - index = C.JSString_methods.indexOf$2(path, "\\", index + 1); + index = t1.indexOf$2(path, "\\", index + 1); if (index > 0) return index; } - return t1; + return t1.get$length(path); } - if (path.length < 3) + if (J.$lt$n(t1.get$length(path), 3)) return 0; - t1 = C.JSString_methods.codeUnitAt$1(path, 0); - if (!(t1 >= 65 && t1 <= 90)) - t1 = t1 >= 97 && t1 <= 122; + t2 = t1.codeUnitAt$1(path, 0); + if (!(t2 >= 65 && t2 <= 90)) + t2 = t2 >= 97 && t2 <= 122; else - t1 = true; - if (!t1) + t2 = true; + if (!t2) return 0; - if (C.JSString_methods.codeUnitAt$1(path, 1) !== 58) + if (t1.codeUnitAt$1(path, 1) !== 58) return 0; - t1 = C.JSString_methods.codeUnitAt$1(path, 2); + t1 = t1.codeUnitAt$1(path, 2); if (!(t1 === 47 || t1 === 92)) return 0; return 3; }, isRootRelative$1: function(path) { - return this.rootLength$1(path) === 1; + return J.$eq$(this.rootLength$1(path), 1); }, pathFromUri$1: function(uri) { var path, t1; @@ -14158,9 +14547,9 @@ }, closure3: { "^": "Closure:0;", - call$1: function(trace) { + call$1: [function(trace) { return Y.Trace$parseFriendly(trace); - } + }, null, null, 2, 0, null, 13, "call"] }, Chain_terse_closure: { "^": "Closure:0;", @@ -14170,9 +14559,9 @@ }, Chain_foldFrames_closure: { "^": "Closure:0;predicate,terse", - call$1: function(trace) { + call$1: [function(trace) { return trace.foldFrames$2$terse(this.predicate, this.terse); - } + }, null, null, 2, 0, null, 13, "call"] }, Chain_foldFrames_closure0: { "^": "Closure:0;terse", @@ -14194,27 +14583,27 @@ }, Chain_toString_closure0: { "^": "Closure:0;", - call$1: function(trace) { + call$1: [function(trace) { return new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure0(), [null, null]).fold$2(0, 0, P.math__max$closure()); - } + }, null, null, 2, 0, null, 13, "call"] }, Chain_toString__closure0: { "^": "Closure:0;", - call$1: function(frame) { + call$1: [function(frame) { return J.get$length$asx(J.get$location$x(frame)); - } + }, null, null, 2, 0, null, 11, "call"] }, Chain_toString_closure: { "^": "Closure:0;longest", - call$1: function(trace) { + call$1: [function(trace) { return new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure(this.longest), [null, null]).join$0(0); - } + }, null, null, 2, 0, null, 13, "call"] }, Chain_toString__closure: { "^": "Closure:0;longest", - call$1: function(frame) { + call$1: [function(frame) { return J.padRight$1$s(J.get$location$x(frame), this.longest) + " " + H.S(frame.get$member()) + "\n"; - } + }, null, null, 2, 0, null, 11, "call"] } }], ["", "package:stack_trace/src/frame.dart",, A, { "^": "", @@ -14269,7 +14658,7 @@ return P._Uri__Uri$file(uriOrPath, true); else if (t1.startsWith$1(uriOrPath, "/")) return P._Uri__Uri$file(uriOrPath, false); - if (C.JSString_methods.contains$1(uriOrPath, "\\")) + if (t1.contains$1(uriOrPath, "\\") === true) return $.$get$windows().toUri$1(uriOrPath); return P.Uri_parse(uriOrPath, 0, null); }, @@ -14617,9 +15006,9 @@ }, Trace__parseVM_closure: { "^": "Closure:0;", - call$1: function(line) { + call$1: [function(line) { return A.Frame_Frame$parseVM(line); - } + }, null, null, 2, 0, null, 10, "call"] }, Trace$parseV8_closure: { "^": "Closure:0;", @@ -14629,9 +15018,9 @@ }, Trace$parseV8_closure0: { "^": "Closure:0;", - call$1: function(line) { + call$1: [function(line) { return A.Frame_Frame$parseV8(line); - } + }, null, null, 2, 0, null, 10, "call"] }, Trace$parseJSCore_closure: { "^": "Closure:0;", @@ -14641,9 +15030,9 @@ }, Trace$parseJSCore_closure0: { "^": "Closure:0;", - call$1: function(line) { + call$1: [function(line) { return A.Frame_Frame$parseV8(line); - } + }, null, null, 2, 0, null, 10, "call"] }, Trace$parseFirefox_closure: { "^": "Closure:0;", @@ -14654,9 +15043,9 @@ }, Trace$parseFirefox_closure0: { "^": "Closure:0;", - call$1: function(line) { + call$1: [function(line) { return A.Frame_Frame$parseFirefox(line); - } + }, null, null, 2, 0, null, 10, "call"] }, Trace$parseFriendly_closure: { "^": "Closure:0;", @@ -14666,9 +15055,9 @@ }, Trace$parseFriendly_closure0: { "^": "Closure:0;", - call$1: function(line) { + call$1: [function(line) { return A.Frame_Frame$parseFriendly(line); - } + }, null, null, 2, 0, null, 10, "call"] }, Trace_terse_closure: { "^": "Closure:0;", @@ -14692,26 +15081,26 @@ }, Trace_foldFrames_closure0: { "^": "Closure:0;_box_0", - call$1: function(frame) { + call$1: [function(frame) { if (frame instanceof N.UnparsedFrame || this._box_0.predicate.call$1(frame) !== true) return frame; return new A.Frame(P.Uri_parse(J.replaceAll$2$s(frame.get$library(), $.$get$_terseRegExp(), ""), 0, null), null, null, frame.get$member()); - } + }, null, null, 2, 0, null, 11, "call"] }, Trace_toString_closure0: { "^": "Closure:0;", - call$1: function(frame) { + call$1: [function(frame) { return J.get$length$asx(J.get$location$x(frame)); - } + }, null, null, 2, 0, null, 11, "call"] }, Trace_toString_closure: { "^": "Closure:0;longest", - call$1: function(frame) { + call$1: [function(frame) { var t1 = J.getInterceptor(frame); if (!!t1.$isUnparsedFrame) return H.S(frame) + "\n"; return J.padRight$1$s(t1.get$location(frame), this.longest) + " " + H.S(frame.get$member()) + "\n"; - } + }, null, null, 2, 0, null, 11, "call"] } }], ["", "package:stack_trace/src/unparsed_frame.dart",, N, { "^": "", @@ -14724,10 +15113,10 @@ }], ["", "package:stream_channel/src/guarantee_channel.dart",, K, { "^": "", GuaranteeChannel: { - "^": "StreamChannelMixin;_sink,_streamController,_subscription,_disconnected,$ti", + "^": "StreamChannelMixin;_sink,_streamController,_guarantee_channel$_subscription,_disconnected,$ti", _onSinkDisconnected$0: function() { this._disconnected = true; - var t1 = this._subscription; + var t1 = this._guarantee_channel$_subscription; if (t1 != null) t1.cancel$0(); this._streamController.close$0(0); @@ -14756,16 +15145,16 @@ return; t2 = this._box_0.innerStream; t3 = t1._streamController; - t1._subscription = t2.listen$3$onDone$onError(t3.get$add(t3), new K.GuaranteeChannel__closure(t1), t1._streamController.get$addError()); + t1._guarantee_channel$_subscription = t2.listen$3$onDone$onError(t3.get$add(t3), new K.GuaranteeChannel__closure(t1), t1._streamController.get$addError()); } }, GuaranteeChannel__closure: { "^": "Closure:1;$this", - call$0: function() { + call$0: [function() { var t1 = this.$this; t1._sink._onStreamDisconnected$0(); t1._streamController.close$0(0); - } + }, null, null, 0, 0, null, "call"] }, _GuaranteeSink: { "^": "Object;_guarantee_channel$_inner,_channel,_doneCompleter,_disconnected,_closed,_addStreamSubscription,_addStreamCompleter,_allowErrors,$ti", @@ -14789,16 +15178,16 @@ throw H.wrapException(new P.StateError("Cannot add event while adding stream.")); if (this._disconnected) return; - this._addError$2(error, stackTrace); + this._guarantee_channel$_addError$2(error, stackTrace); }, function(error) { return this.addError$2(error, null); - }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 6, 0], - _addError$2: [function(error, stackTrace) { + }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 6, 5, 3, 4], + _guarantee_channel$_addError$2: [function(error, stackTrace) { this._guarantee_channel$_inner._async$_target.addError$2(error, stackTrace); return; }, function(error) { - return this._addError$2(error, null); - }, "_addError$1", "call$2", "call$1", "get$_addError", 2, 2, 6, 0], + return this._guarantee_channel$_addError$2(error, null); + }, "_guarantee_channel$_addError$1", "call$2", "call$1", "get$_guarantee_channel$_addError", 2, 2, 6, 5, 3, 4], addStream$1: function(stream) { var t1, t2, t3; if (this._closed) @@ -14813,7 +15202,7 @@ this._addStreamCompleter = new P._SyncCompleter(new P._Future(0, $.Zone__current, null, [null]), [null]); t1 = this._guarantee_channel$_inner; t1 = t1.get$add(t1); - t2 = this.get$_addError(); + t2 = this.get$_guarantee_channel$_addError(); t3 = this._addStreamCompleter; this._addStreamSubscription = stream.listen$3$onDone$onError(t1, t3.get$complete(t3), t2); return this._addStreamCompleter.future.then$1(new K._GuaranteeSink_addStream_closure(this)); @@ -14845,11 +15234,11 @@ }, _GuaranteeSink_addStream_closure: { "^": "Closure:0;$this", - call$1: function(_) { + call$1: [function(_) { var t1 = this.$this; t1._addStreamCompleter = null; t1._addStreamSubscription = null; - } + }, null, null, 2, 0, null, 6, "call"] } }], ["", "package:stream_channel/src/multi_channel.dart",, D, { "^": "", @@ -14932,19 +15321,19 @@ }, _MultiChannel_closure: { "^": "Closure:0;$this", - call$1: function(message) { + call$1: [function(message) { return this.$this._multi_channel$_inner._sink.add$1(0, [0, message]); - } + }, null, null, 2, 0, null, 7, "call"] }, _MultiChannel_closure0: { "^": "Closure:1;$this", - call$0: function() { + call$0: [function() { return this.$this._closeChannel$2(0, 0); - } + }, null, null, 0, 0, null, "call"] }, _MultiChannel_closure1: { "^": "Closure:0;$this", - call$1: function(message) { + call$1: [function(message) { var t1, controller; t1 = J.getInterceptor$asx(message); controller = this.$this._controllers.$index(0, t1.$index(message, 0)); @@ -14955,20 +15344,20 @@ return; } controller._local._sink.close$0(0); - } + }, null, null, 2, 0, null, 7, "call"] }, _MultiChannel_virtualChannel_closure: { "^": "Closure:0;_box_0,$this", - call$1: function(message) { + call$1: [function(message) { return this.$this._multi_channel$_inner._sink.add$1(0, [this._box_0.outputId, message]); - } + }, null, null, 2, 0, null, 7, "call"] }, _MultiChannel_virtualChannel_closure0: { "^": "Closure:1;_box_0,$this", - call$0: function() { + call$0: [function() { var t1 = this._box_0; return this.$this._closeChannel$2(t1.inputId, t1.outputId); - } + }, null, null, 0, 0, null, "call"] }, VirtualChannel: { "^": "StreamChannelMixin;_parent,id,stream,sink" @@ -15044,9 +15433,13 @@ "^": "JavaScriptObject;", "%": "" }, + _JSApi: { + "^": "JavaScriptObject;", + "%": "" + }, main_closure: { "^": "Closure:1;", - call$0: function() { + call$0: [function() { var serverChannel, t1; serverChannel = M._connectToServer(); t1 = serverChannel._mainController._foreign._streamController; @@ -15055,11 +15448,13 @@ P.Timer_Timer$periodic(P.Duration$(0, 0, 0, 0, 0, 1), new M.main__closure0(serverChannel)); t1 = J.get$onClick$x(document.querySelector("#play")); new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new M.main__closure1(serverChannel)), false, [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); - } + t1 = {resume: P.allowInterop(new M.main__closure2(serverChannel))}; + self.dartTest = t1; + }, null, null, 0, 0, null, "call"] }, main__closure: { "^": "Closure:0;serverChannel", - call$1: function(message) { + call$1: [function(message) { var t1, suiteChannel, iframeChannel; t1 = J.getInterceptor$asx(message); if (J.$eq$(t1.$index(message, "command"), "loadSuite")) { @@ -15079,44 +15474,55 @@ W._ElementCssClassSet__remove(t1, "paused"); } else J.remove$0$ax($.$get$_iframes().$index(0, t1.$index(message, "id"))); - } + }, null, null, 2, 0, null, 7, "call"] }, main__closure0: { "^": "Closure:0;serverChannel", - call$1: function(_) { + call$1: [function(_) { return this.serverChannel._mainController._foreign._sink.add$1(0, P.LinkedHashMap__makeLiteral(["command", "ping"])); - } + }, null, null, 2, 0, null, 6, "call"] }, main__closure1: { "^": "Closure:0;serverChannel", - call$1: function(_) { + call$1: [function(_) { var t1 = document.body; t1.toString; - W._ElementCssClassSet__remove(t1, "paused"); + if (!W._ElementCssClassSet__remove(t1, "paused")) + return; this.serverChannel._mainController._foreign._sink.add$1(0, P.LinkedHashMap__makeLiteral(["command", "resume"])); - } + }, null, null, 2, 0, null, 6, "call"] + }, + main__closure2: { + "^": "Closure:1;serverChannel", + call$0: [function() { + var t1 = document.body; + t1.toString; + if (!W._ElementCssClassSet__remove(t1, "paused")) + return; + this.serverChannel._mainController._foreign._sink.add$1(0, P.LinkedHashMap__makeLiteral(["command", "resume"])); + }, null, null, 0, 0, null, "call"] }, main_closure0: { "^": "Closure:3;", - call$2: function(error, stackTrace) { + call$2: [function(error, stackTrace) { P.print(H.S(error) + "\n" + H.S(Y.Trace_Trace$from(stackTrace).get$terse())); - } + }, null, null, 4, 0, null, 3, 4, "call"] }, _connectToServer_closure: { "^": "Closure:0;controller", - call$1: function(message) { + call$1: [function(message) { this.controller._local._sink.add$1(0, C.JsonCodec_null_null.decode$1(J.get$data$x(message))); - } + }, null, null, 2, 0, null, 7, "call"] }, _connectToServer_closure0: { "^": "Closure:0;webSocket", - call$1: function(message) { + call$1: [function(message) { return this.webSocket.send(C.JsonCodec_null_null.encode$1(message)); - } + }, null, null, 2, 0, null, 7, "call"] }, _connectToIframe_closure: { "^": "Closure:0;iframe,controller,readyCompleter", - call$1: function(message) { + call$1: [function(message) { var t1, t2, t3; t1 = J.getInterceptor$x(message); t2 = t1.get$origin(message); @@ -15130,11 +15536,11 @@ this.readyCompleter.complete$0(0); else this.controller._local._sink.add$1(0, J.$index$asx(t1.get$data(message), "data")); - } + }, null, null, 2, 0, null, 7, "call"] }, _connectToIframe_closure0: { - "^": "Closure:49;iframe,readyCompleter", - call$1: function(message) { + "^": "Closure:51;iframe,readyCompleter", + call$1: [function(message) { var $async$goto = 0, $async$completer = new P.Completer_Completer$sync(), $async$handler = 1, $async$currentError, $async$self = this, t1, t2; var $async$call$1 = P._wrapJsFunctionForAsync(function($async$errorCode, $async$result) { if ($async$errorCode === 1) { @@ -15160,7 +15566,7 @@ } }); return P._asyncHelper(null, $async$call$1, $async$completer); - } + }, null, null, 2, 0, null, 7, "call"] } }, 1]]; setupProgram(dart, 0); @@ -15298,6 +15704,12 @@ J.get$parent$x = function(receiver) { return J.getInterceptor$x(receiver).get$parent(receiver); }; + J.get$print$x = function(receiver) { + return J.getInterceptor$x(receiver).get$print(receiver); + }; + J.get$result$x = function(receiver) { + return J.getInterceptor$x(receiver).get$result(receiver); + }; J.get$src$x = function(receiver) { return J.getInterceptor$x(receiver).get$src(receiver); }; @@ -15306,6 +15718,11 @@ return receiver + a0; return J.getInterceptor$ns(receiver).$add(receiver, a0); }; + J.$and$n = function(receiver, a0) { + if (typeof receiver == "number" && typeof a0 == "number") + return (receiver & a0) >>> 0; + return J.getInterceptor$n(receiver).$and(receiver, a0); + }; J.$ge$n = function(receiver, a0) { if (typeof receiver == "number" && typeof a0 == "number") return receiver >= a0; @@ -15344,11 +15761,19 @@ return receiver * a0; return J.getInterceptor$ns(receiver).$mul(receiver, a0); }; + J.$shl$n = function(receiver, a0) { + return J.getInterceptor$n(receiver).$shl(receiver, a0); + }; J.$sub$n = function(receiver, a0) { if (typeof receiver == "number" && typeof a0 == "number") return receiver - a0; return J.getInterceptor$n(receiver).$sub(receiver, a0); }; + J.$xor$n = function(receiver, a0) { + if (typeof receiver == "number" && typeof a0 == "number") + return (receiver ^ a0) >>> 0; + return J.getInterceptor$n(receiver).$xor(receiver, a0); + }; J._addEventListener$3$x = function(receiver, a0, a1, a2) { return J.getInterceptor$x(receiver)._addEventListener$3(receiver, a0, a1, a2); }; @@ -15440,6 +15865,9 @@ return a0 != null && receiver === a0; return J.getInterceptor(receiver).$eq(receiver, a0); }; + J.noSuchMethod$1$ = function(receiver, a0) { + return J.getInterceptor(receiver).noSuchMethod$1(receiver, a0); + }; J.toString$0$ = function(receiver) { return J.getInterceptor(receiver).toString$0(receiver); }; @@ -15611,12 +16039,16 @@ C.List_WnV = Isolate.makeConstantList(["/", "\\"]); C.List_cSk = Isolate.makeConstantList(["/"]); C.List_empty = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [P.String]); + C.List_empty0 = Isolate.makeConstantList([]); C.List_gRj = Isolate.makeConstantList([0, 0, 32722, 12287, 65534, 34815, 65534, 18431]); C.List_nxB = Isolate.makeConstantList([0, 0, 24576, 1023, 65534, 34815, 65534, 18431]); C.List_qNA = Isolate.makeConstantList([0, 0, 32754, 11263, 65534, 34815, 65534, 18431]); C.List_qg40 = Isolate.makeConstantList([0, 0, 32722, 12287, 65535, 34815, 65534, 18431]); C.List_qg4 = Isolate.makeConstantList([0, 0, 65490, 12287, 65535, 34815, 65534, 18431]); C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, P.String]); + C.List_empty1 = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [P.Symbol0]); + C.Map_empty0 = new H.ConstantStringMap(0, {}, C.List_empty1, [P.Symbol0, null]); + C.Symbol_call = new H.Symbol("call"); C.Utf8Codec_false = new P.Utf8Codec(false); C._ZoneFunction_3bB = new P._ZoneFunction(C.C__RootZone, P.async___rootCreatePeriodicTimer$closure()); C._ZoneFunction_7G2 = new P._ZoneFunction(C.C__RootZone, P.async___rootRegisterBinaryCallback$closure()); @@ -15804,8 +16236,8 @@ }, "_currentUrl"]); Isolate = Isolate.$finishIsolateConstructor(Isolate); $ = new Isolate(); - init.metadata = [null, 0]; - init.types = [{func: 1, args: [,]}, {func: 1}, {func: 1, v: true}, {func: 1, args: [,,]}, {func: 1, v: true, args: [{func: 1, v: true}]}, {func: 1, args: [, P.StackTrace]}, {func: 1, v: true, args: [,], opt: [P.StackTrace]}, {func: 1, v: true, args: [P.String]}, {func: 1, v: true, args: [P.Uint8List, P.String, P.$int]}, {func: 1, ret: {func: 1, args: [,]}, args: [{func: 1, args: [,]}]}, {func: 1, ret: P.Zone, named: {specification: P.ZoneSpecification, zoneValues: P.Map}}, {func: 1, args: [{func: 1}]}, {func: 1, args: [{func: 1, args: [,]},,]}, {func: 1, args: [{func: 1, args: [,,]},,,]}, {func: 1, ret: {func: 1}, args: [{func: 1}]}, {func: 1, ret: {func: 1, args: [,,]}, args: [{func: 1, args: [,,]}]}, {func: 1, ret: P.AsyncError, args: [P.Object, P.StackTrace]}, {func: 1, ret: P.Timer, args: [P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.Timer, args: [P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, ret: P.String, args: [P.$int]}, {func: 1, v: true, args: [P.Zone, {func: 1}]}, {func: 1, args: [, P.String]}, {func: 1, ret: P.Timer, args: [P.Zone, P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, v: true, args: [P.Zone, P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneSpecification, P.Map]}, {func: 1, args: [P.$int,,]}, {func: 1, v: true, opt: [,]}, {func: 1, args: [P.String]}, {func: 1, args: [{func: 1, v: true}]}, {func: 1, args: [P.bool]}, {func: 1, args: [,], opt: [,]}, {func: 1, v: true, args: [P.Object], opt: [P.StackTrace]}, {func: 1, v: true, args: [, P.StackTrace]}, {func: 1, args: [P.Zone,, P.StackTrace]}, {func: 1, args: [P.Zone, {func: 1}]}, {func: 1, args: [P.Zone, {func: 1, args: [,]},,]}, {func: 1, args: [P.Zone, {func: 1, args: [,,]},,,]}, {func: 1, ret: {func: 1}, args: [P.Zone, {func: 1}]}, {func: 1, ret: {func: 1, args: [,]}, args: [P.Zone, {func: 1, args: [,]}]}, {func: 1, ret: P.$int, args: [, P.$int]}, {func: 1, ret: P.num, args: [P.num, P.num]}, {func: 1, ret: {func: 1, args: [,,]}, args: [P.Zone, {func: 1, args: [,,]}]}, {func: 1, v: true, args: [P.String, P.$int]}, {func: 1, v: true, args: [P.String], opt: [,]}, {func: 1, ret: P.$int, args: [P.$int, P.$int]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.Object, P.StackTrace]}, {func: 1, ret: P.Future, args: [,]}, {func: 1, v: true, args: [,]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,]},,]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,,]},,,]}, {func: 1, ret: {func: 1}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, ret: {func: 1, args: [,]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,]}]}, {func: 1, ret: {func: 1, args: [,,]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,,]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, v: true, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, v: true, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, P.Map]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, v: true, args: [P.$int, P.$int]}]; + init.metadata = ["self", "zone", "parent", "error", "stackTrace", null, "_", "message", "f", "value", "line", "frame", "arg", "trace", "result", "callback", "data", "key", "each", "duration", "arg2", "arg1", "element", "x", "object", "arg4", "arg3", "specification", "zoneValues", "arguments", "isolate", "errorCode", "closure", "k", "v", 0, "numberOfArguments", "encodedComponent", "s", "e", "sender"]; + init.types = [{func: 1, args: [,]}, {func: 1}, {func: 1, v: true}, {func: 1, args: [,,]}, {func: 1, v: true, args: [{func: 1, v: true}]}, {func: 1, args: [, P.StackTrace]}, {func: 1, v: true, args: [,], opt: [P.StackTrace]}, {func: 1, v: true, args: [P.String]}, {func: 1, ret: {func: 1, args: [,]}, args: [{func: 1, args: [,]}]}, {func: 1, v: true, args: [P.Uint8List, P.String, P.$int]}, {func: 1, ret: P.String, args: [P.$int]}, {func: 1, v: true, args: [, P.StackTrace]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone,, P.StackTrace]}, {func: 1, ret: P.Timer, args: [P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, ret: P.Timer, args: [P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.AsyncError, args: [P.Object, P.StackTrace]}, {func: 1, ret: {func: 1, args: [,,]}, args: [{func: 1, args: [,,]}]}, {func: 1, ret: {func: 1}, args: [{func: 1}]}, {func: 1, args: [{func: 1, args: [,,]},,,]}, {func: 1, args: [{func: 1, args: [,]},,]}, {func: 1, args: [{func: 1}]}, {func: 1, ret: P.Zone, named: {specification: P.ZoneSpecification, zoneValues: P.Map}}, {func: 1, args: [, P.String]}, {func: 1, v: true, args: [P.Zone, {func: 1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, v: true, args: [P.Zone, P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneSpecification, P.Map]}, {func: 1, ret: {func: 1, args: [,,]}, args: [P.Zone, {func: 1, args: [,,]}]}, {func: 1, ret: {func: 1, args: [,]}, args: [P.Zone, {func: 1, args: [,]}]}, {func: 1, ret: {func: 1}, args: [P.Zone, {func: 1}]}, {func: 1, args: [P.Zone, {func: 1, args: [,,]},,,]}, {func: 1, args: [P.Zone, {func: 1, args: [,]},,]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.Object, P.StackTrace]}, {func: 1, args: [P.Zone, {func: 1}]}, {func: 1, args: [P.Zone,, P.StackTrace]}, {func: 1, args: [P.String]}, {func: 1, v: true, args: [P.Object], opt: [P.StackTrace]}, {func: 1, args: [P.bool]}, {func: 1, args: [{func: 1, v: true}]}, {func: 1, args: [,], opt: [,]}, {func: 1, args: [P.String,,]}, {func: 1, ret: P.$int, args: [, P.$int]}, {func: 1, v: true, args: [P.$int, P.$int]}, {func: 1, ret: P.num, args: [P.num, P.num]}, {func: 1, v: true, opt: [,]}, {func: 1, v: true, args: [P.String, P.$int]}, {func: 1, v: true, args: [P.String], opt: [,]}, {func: 1, ret: P.$int, args: [P.$int, P.$int]}, {func: 1, ret: P.Uint8List, args: [,,]}, {func: 1, args: [P.$int,,]}, {func: 1, ret: P.Future, args: [,]}, {func: 1, v: true, args: [,]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,]},,]}, {func: 1, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,,]},,,]}, {func: 1, ret: {func: 1}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, ret: {func: 1, args: [,]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,]}]}, {func: 1, ret: {func: 1, args: [,,]}, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1, args: [,,]}]}, {func: 1, ret: P.AsyncError, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Object, P.StackTrace]}, {func: 1, v: true, args: [P.Zone, P.ZoneDelegate, P.Zone, {func: 1}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, v: true}]}, {func: 1, ret: P.Timer, args: [P.Zone, P.ZoneDelegate, P.Zone, P.Duration, {func: 1, v: true, args: [P.Timer]}]}, {func: 1, v: true, args: [P.Zone, P.ZoneDelegate, P.Zone, P.String]}, {func: 1, ret: P.Zone, args: [P.Zone, P.ZoneDelegate, P.Zone, P.ZoneSpecification, P.Map]}, {func: 1, ret: P.String, args: [P.String]}, {func: 1, args: [P.Symbol0,,]}]; function convertToFastObject(properties) { function MyClass() { } -- GitLab