From fc40a2fab2c82d6fb9827c99f1ab71d8ac6732e3 Mon Sep 17 00:00:00 2001 From: Natalie Weizenbaum <nex342@gmail.com> Date: Thu, 20 Oct 2016 14:39:31 -0700 Subject: [PATCH] Make test iframes visible when debugging. Make test iframes visible when debugging. Closes #429 --- CHANGELOG.md | 4 + README.md | 6 + lib/src/runner/browser/platform.dart | 5 +- lib/src/runner/browser/static/host.css | 16 + lib/src/runner/browser/static/host.dart | 10 +- lib/src/runner/browser/static/host.dart.js | 1152 ++++++++++---------- lib/src/runner/browser/static/index.html | 3 +- pubspec.yaml | 2 +- 8 files changed, 609 insertions(+), 589 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fa6972d2..75f59f65 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.12.15+11 + +* Make test iframes visible when debugging. + ## 0.12.15+10 * Throw a better error if a group body is asynchronous. diff --git a/README.md b/README.md index bc5d6c8e..dfa9b06e 100644 --- a/README.md +++ b/README.md @@ -599,6 +599,12 @@ breakpoint, the runner will open its own debugging console in the terminal that controls how tests are run. You can type "restart" there to re-run your test as many times as you need to figure out what's going on. +Normally, browser tests are run in hidden iframes. However, when debugging, the +iframe for the current test suite is expanded to fill the browser window so you +can see and interact with any HTML it renders. Note that the Dart animation may +still be visible behind the iframe; to hide it, just add a `background-color` to +the page's HTML. + ## Testing With `barback` Packages using the `barback` transformer system may need to test code that's diff --git a/lib/src/runner/browser/platform.dart b/lib/src/runner/browser/platform.dart index 656912fb..f9cd17e3 100644 --- a/lib/src/runner/browser/platform.dart +++ b/lib/src/runner/browser/platform.dart @@ -374,7 +374,10 @@ class BrowserPlatform extends PlatformPlugin { var webSocketUrl = url.replace(scheme: 'ws').resolve(path); var hostUrl = (_config.pubServeUrl == null ? url : _config.pubServeUrl) .resolve('packages/test/src/runner/browser/static/index.html') - .replace(queryParameters: {'managerUrl': webSocketUrl.toString()}); + .replace(queryParameters: { + 'managerUrl': webSocketUrl.toString(), + 'debug': _config.pauseAfterLoad.toString() + }); var future = BrowserManager.start(platform, hostUrl, completer.future, debug: _config.pauseAfterLoad); diff --git a/lib/src/runner/browser/static/host.css b/lib/src/runner/browser/static/host.css index 6a7bcc30..3e211800 100644 --- a/lib/src/runner/browser/static/host.css +++ b/lib/src/runner/browser/static/host.css @@ -19,6 +19,7 @@ iframe { .paused #play { display: block; + z-index: 1; } .paused #dark { @@ -37,6 +38,21 @@ iframe { animation-play-state: paused; } +.debug body { + margin: 0; + padding: 0; +} + +.debug iframe { + visibility: visible; + border: none; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} + /* Compiled output from * http://codepen.io/mknadler/pen/11b75cb014a3c382f54abf527655af21. */ diff --git a/lib/src/runner/browser/static/host.dart b/lib/src/runner/browser/static/host.dart index 74015a26..4eb5d958 100644 --- a/lib/src/runner/browser/static/host.dart +++ b/lib/src/runner/browser/static/host.dart @@ -23,6 +23,9 @@ external _TestRunner get testRunner; /// The iframes created for each loaded test suite, indexed by the suite id. final _iframes = new Map<int, IFrameElement>(); +/// The URL for the current page. +final _currentUrl = Uri.parse(window.location.href); + /// Code that runs in the browser and loads test suites at the server's behest. /// /// One instance of this runs for each browser. When the server tells it to load @@ -79,6 +82,10 @@ void main() { // rendered. testRunner?.waitUntilDone(); + if (_currentUrl.queryParameters['debug'] == 'true') { + document.body.classes.add('debug'); + } + runZoned(() { var serverChannel = _connectToServer(); serverChannel.stream.listen((message) { @@ -116,8 +123,7 @@ void main() { MultiChannel _connectToServer() { // The `managerUrl` query parameter contains the WebSocket URL of the remote // [BrowserManager] with which this communicates. - var currentUrl = Uri.parse(window.location.href); - var webSocket = new WebSocket(currentUrl.queryParameters['managerUrl']); + var webSocket = new WebSocket(_currentUrl.queryParameters['managerUrl']); var controller = new StreamChannelController(sync: true); webSocket.onMessage.listen((message) { diff --git a/lib/src/runner/browser/static/host.dart.js b/lib/src/runner/browser/static/host.dart.js index 274769fa..d52559d3 100644 --- a/lib/src/runner/browser/static/host.dart.js +++ b/lib/src/runner/browser/static/host.dart.js @@ -1,4 +1,4 @@ -// Generated by dart2js, the Dart to JavaScript compiler version: 1.19.1. +// Generated by dart2js, the Dart to JavaScript compiler version: 1.20.1. // The code supports the following hooks: // dartPrint(message): // if this function is defined it is called instead of the Dart [print] @@ -10,7 +10,7 @@ // [args] is passed to [dartMainRunner]. // // dartDeferredLibraryLoader(uri, successCallback, errorCallback): -// if this function is defined, it will be called when a deferered library +// if this function is defined, it will be called when a deferred library // is loaded. It should load and eval the javascript of `uri`, and call // successCallback. If it fails to do so, it should call errorCallback with // an error. @@ -647,7 +647,7 @@ } }, JSArray: { - "^": "Interceptor;", + "^": "Interceptor;$ti", checkMutable$1: function(receiver, reason) { if (!!receiver.immutable$list) throw H.wrapException(new P.UnsupportedError(reason)); @@ -707,7 +707,7 @@ } }, map$1: function(receiver, f) { - return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null, null]); + return new H.MappedListIterable(receiver, f, [null, null]); }, join$1: function(receiver, separator) { var t1, list, i, t2; @@ -938,26 +938,26 @@ } }, JSUnmodifiableArray: { - "^": "JSArray;" + "^": "JSArray;$ti" }, ArrayIterator: { - "^": "Object;__interceptors$_iterable,__interceptors$_length,__interceptors$_index,__interceptors$_current", + "^": "Object;_iterable,__interceptors$_length,_index,__interceptors$_current", get$current: function() { return this.__interceptors$_current; }, moveNext$0: function() { var t1, $length, t2; - t1 = this.__interceptors$_iterable; + t1 = this._iterable; $length = t1.length; if (this.__interceptors$_length !== $length) throw H.wrapException(H.throwConcurrentModificationError(t1)); - t2 = this.__interceptors$_index; + t2 = this._index; if (t2 >= $length) { this.__interceptors$_current = null; return false; } this.__interceptors$_current = t1[t2]; - this.__interceptors$_index = t2 + 1; + this._index = t2 + 1; return true; } }, @@ -1197,9 +1197,6 @@ substring$1: function($receiver, startIndex) { return this.substring$2($receiver, startIndex, null); }, - toLowerCase$0: function(receiver) { - return receiver.toLowerCase(); - }, trim$0: function(receiver) { var result, endIndex, startIndex, t1, endIndex0; result = receiver.trim(); @@ -1238,6 +1235,15 @@ } return result; }, + padRight$2: function(receiver, width, padding) { + var delta = J.$sub$n(width, receiver.length); + if (J.$le$n(delta, 0)) + return receiver; + return receiver + this.$mul(padding, delta); + }, + padRight$1: function($receiver, width) { + return this.padRight$2($receiver, width, " "); + }, get$codeUnits: function(receiver) { return new H.CodeUnits(receiver); }, @@ -1402,7 +1408,7 @@ } }, ListIterable: { - "^": "Iterable;", + "^": "Iterable;$ti", get$iterator: function(_) { return new H.ListIterator(this, this.get$length(this), 0, null); }, @@ -1480,7 +1486,7 @@ return this.join$1($receiver, ""); }, map$1: function(_, f) { - return H.setRuntimeTypeInfo(new H.MappedListIterable(this, f), [H.getRuntimeTypeArgument(this, "ListIterable", 0), null]); + return new H.MappedListIterable(this, f, [H.getRuntimeTypeArgument(this, "ListIterable", 0), null]); }, fold$2: function(_, initialValue, combine) { var $length, value, i; @@ -1521,10 +1527,10 @@ $isEfficientLength: 1 }, SubListIterable: { - "^": "ListIterable;_iterable,__internal$_start,_endOrLength", + "^": "ListIterable;__internal$_iterable,__internal$_start,_endOrLength,$ti", get$_endIndex: function() { var $length, t1; - $length = J.get$length$asx(this._iterable); + $length = J.get$length$asx(this.__internal$_iterable); t1 = this._endOrLength; if (t1 == null || J.$gt$n(t1, $length)) return $length; @@ -1532,7 +1538,7 @@ }, get$_startIndex: function() { var $length, t1; - $length = J.get$length$asx(this._iterable); + $length = J.get$length$asx(this.__internal$_iterable); t1 = this.__internal$_start; if (J.$gt$n(t1, $length)) return $length; @@ -1540,7 +1546,7 @@ }, get$length: function(_) { var $length, t1, t2; - $length = J.get$length$asx(this._iterable); + $length = J.get$length$asx(this.__internal$_iterable); t1 = this.__internal$_start; if (J.$ge$n(t1, $length)) return 0; @@ -1553,12 +1559,12 @@ var realIndex = J.$add$ns(this.get$_startIndex(), index); if (J.$lt$n(index, 0) || J.$ge$n(realIndex, this.get$_endIndex())) throw H.wrapException(P.IndexError$(index, this, "index", null, null)); - return J.elementAt$1$ax(this._iterable, realIndex); + return J.elementAt$1$ax(this.__internal$_iterable, realIndex); }, toList$1$growable: function(_, growable) { var start, t1, t2, end, end0, $length, result, t3, i, t4; start = this.__internal$_start; - t1 = this._iterable; + t1 = this.__internal$_iterable; t2 = J.getInterceptor$asx(t1); end = t2.get$length(t1); end0 = this._endOrLength; @@ -1569,7 +1575,7 @@ $length = 0; if (typeof $length !== "number") return H.iae($length); - result = H.setRuntimeTypeInfo(new Array($length), [H.getTypeArgumentByIndex(this, 0)]); + result = H.setRuntimeTypeInfo(new Array($length), this.$ti); if (typeof $length !== "number") return H.iae($length); t3 = J.getInterceptor$ns(start); @@ -1600,25 +1606,25 @@ }, static: { SubListIterable$: function(_iterable, _start, _endOrLength, $E) { - var t1 = H.setRuntimeTypeInfo(new H.SubListIterable(_iterable, _start, _endOrLength), [$E]); + var t1 = new H.SubListIterable(_iterable, _start, _endOrLength, [$E]); t1.SubListIterable$3(_iterable, _start, _endOrLength, $E); return t1; } } }, ListIterator: { - "^": "Object;_iterable,_length,_index,_current", + "^": "Object;__internal$_iterable,__internal$_length,__internal$_index,_current", get$current: function() { return this._current; }, moveNext$0: function() { var t1, t2, $length, t3; - t1 = this._iterable; + t1 = this.__internal$_iterable; t2 = J.getInterceptor$asx(t1); $length = t2.get$length(t1); - if (!J.$eq$(this._length, $length)) + if (!J.$eq$(this.__internal$_length, $length)) throw H.wrapException(new P.ConcurrentModificationError(t1)); - t3 = this._index; + t3 = this.__internal$_index; if (typeof $length !== "number") return H.iae($length); if (t3 >= $length) { @@ -1626,22 +1632,20 @@ return false; } this._current = t2.elementAt$1(t1, t3); - ++this._index; + ++this.__internal$_index; return true; } }, MappedIterable: { - "^": "Iterable;_iterable,_f", + "^": "Iterable;__internal$_iterable,_f,$ti", get$iterator: function(_) { - var t1 = new H.MappedIterator(null, J.get$iterator$ax(this._iterable), this._f); - t1.$builtinTypeInfo = this.$builtinTypeInfo; - return t1; + return new H.MappedIterator(null, J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti); }, get$length: function(_) { - return J.get$length$asx(this._iterable); + return J.get$length$asx(this.__internal$_iterable); }, get$isEmpty: function(_) { - return J.get$isEmpty$asx(this._iterable); + return J.get$isEmpty$asx(this.__internal$_iterable); }, $asIterable: function($S, $T) { return [$T]; @@ -1649,17 +1653,17 @@ static: { MappedIterable_MappedIterable: function(iterable, $function, $S, $T) { if (!!J.getInterceptor(iterable).$isEfficientLength) - return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(iterable, $function), [$S, $T]); - return H.setRuntimeTypeInfo(new H.MappedIterable(iterable, $function), [$S, $T]); + return new H.EfficientLengthMappedIterable(iterable, $function, [$S, $T]); + return new H.MappedIterable(iterable, $function, [$S, $T]); } } }, EfficientLengthMappedIterable: { - "^": "MappedIterable;_iterable,_f", + "^": "MappedIterable;__internal$_iterable,_f,$ti", $isEfficientLength: 1 }, MappedIterator: { - "^": "Iterator;_current,_iterator,_f", + "^": "Iterator;_current,_iterator,_f,$ti", moveNext$0: function() { var t1 = this._iterator; if (t1.moveNext$0()) { @@ -1674,7 +1678,7 @@ } }, MappedListIterable: { - "^": "ListIterable;_source,_f", + "^": "ListIterable;_source,_f,$ti", get$length: function(_) { return J.get$length$asx(this._source); }, @@ -1690,15 +1694,16 @@ $isEfficientLength: 1 }, WhereIterable: { - "^": "Iterable;_iterable,_f", + "^": "Iterable;__internal$_iterable,_f,$ti", get$iterator: function(_) { - var t1 = new H.WhereIterator(J.get$iterator$ax(this._iterable), this._f); - t1.$builtinTypeInfo = this.$builtinTypeInfo; - return t1; + return new H.WhereIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, this.$ti); + }, + map$1: function(_, f) { + return new H.MappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), null]); } }, WhereIterator: { - "^": "Iterator;_iterator,_f", + "^": "Iterator;_iterator,_f,$ti", moveNext$0: function() { var t1, t2; for (t1 = this._iterator, t2 = this._f; t1.moveNext$0();) @@ -1711,9 +1716,9 @@ } }, ExpandIterable: { - "^": "Iterable;_iterable,_f", + "^": "Iterable;__internal$_iterable,_f,$ti", get$iterator: function(_) { - return new H.ExpandIterator(J.get$iterator$ax(this._iterable), this._f, C.C_EmptyIterator, null); + return new H.ExpandIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, C.C_EmptyIterator, null); }, $asIterable: function($S, $T) { return [$T]; @@ -1743,15 +1748,13 @@ } }, SkipWhileIterable: { - "^": "Iterable;_iterable,_f", + "^": "Iterable;__internal$_iterable,_f,$ti", get$iterator: function(_) { - var t1 = new H.SkipWhileIterator(J.get$iterator$ax(this._iterable), this._f, false); - t1.$builtinTypeInfo = this.$builtinTypeInfo; - return t1; + return new H.SkipWhileIterator(J.get$iterator$ax(this.__internal$_iterable), this._f, false, this.$ti); } }, SkipWhileIterator: { - "^": "Iterator;_iterator,_f,_hasSkipped", + "^": "Iterator;_iterator,_f,_hasSkipped,$ti", moveNext$0: function() { var t1, t2; if (!this._hasSkipped) { @@ -1776,7 +1779,7 @@ } }, FixedLengthListMixin: { - "^": "Object;", + "^": "Object;$ti", set$length: function(receiver, newLength) { throw H.wrapException(new P.UnsupportedError("Cannot change the length of a fixed-length list")); }, @@ -1785,7 +1788,7 @@ } }, UnmodifiableListMixin: { - "^": "Object;", + "^": "Object;$ti", $indexSet: function(_, index, value) { throw H.wrapException(new P.UnsupportedError("Cannot modify an unmodifiable list")); }, @@ -1809,13 +1812,13 @@ $isEfficientLength: 1 }, UnmodifiableListBase: { - "^": "ListBase+UnmodifiableListMixin;", - $isList: 1, + "^": "ListBase+UnmodifiableListMixin;$ti", $asList: null, + $isList: 1, $isEfficientLength: 1 }, ReversedListIterable: { - "^": "ListIterable;_source", + "^": "ListIterable;_source,$ti", get$length: function(_) { return J.get$length$asx(this._source); }, @@ -1860,16 +1863,17 @@ t2.supportsWorkers = t4; t2.fromCommandLine = t3 && t5; t2.topEventLoop = new H._EventLoop(P.ListQueue$(null, H._IsolateEvent), 0); - t2.isolates = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [P.$int, H._IsolateContext]); - t2.managers = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [P.$int, null]); + t3 = P.$int; + t2.isolates = new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [t3, H._IsolateContext]); + t2.managers = new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [t3, null]); if (t2.isWorker === true) { - t3 = new H._MainManagerStub(); - t2.mainManager = t3; + t4 = new H._MainManagerStub(); + t2.mainManager = t4; self.onmessage = function(f, a) { return function(e) { f(a, e); }; - }(H.IsolateNatives__processWorkerMessage, t3); + }(H.IsolateNatives__processWorkerMessage, t4); self.dartPrint = self.dartPrint || function(serialize) { return function(object) { if (self.console && self.console.log) @@ -1882,11 +1886,11 @@ if (init.globalState.isWorker === true) return; t2 = init.globalState.nextIsolateId++; - t3 = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [P.$int, H.RawReceivePortImpl]); - t4 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int); + t4 = new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [t3, H.RawReceivePortImpl]); + t3 = P.LinkedHashSet_LinkedHashSet(null, null, null, t3); t5 = new H.RawReceivePortImpl(0, null, false); - rootContext = new H._IsolateContext(t2, t3, t4, init.createNewIsolate(), t5, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null)); - t4.add$1(0, 0); + rootContext = new H._IsolateContext(t2, t4, t3, init.createNewIsolate(), t5, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null)); + t3.add$1(0, 0); rootContext._addRegistration$2(0, t5); init.globalState.rootContext = rootContext; init.globalState.currentContext = rootContext; @@ -1948,11 +1952,12 @@ startPaused = t1.$index(msg, "startPaused"); replyTo = new H._Deserializer(true, []).deserialize$1(t1.$index(msg, "replyTo")); t1 = init.globalState.nextIsolateId++; - t2 = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [P.$int, H.RawReceivePortImpl]); - t3 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int); + t2 = P.$int; + t3 = new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [t2, H.RawReceivePortImpl]); + t2 = P.LinkedHashSet_LinkedHashSet(null, null, null, t2); t4 = new H.RawReceivePortImpl(0, null, false); - context = new H._IsolateContext(t1, t2, t3, init.createNewIsolate(), t4, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null)); - t3.add$1(0, 0); + context = new H._IsolateContext(t1, t3, t2, init.createNewIsolate(), t4, new H.CapabilityImpl(H.random64()), new H.CapabilityImpl(H.random64()), false, false, [], P.LinkedHashSet_LinkedHashSet(null, null, null, null), null, null, false, true, P.LinkedHashSet_LinkedHashSet(null, null, null, null)); + t2.add$1(0, 0); context._addRegistration$2(0, t4); init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(context, new H.IsolateNatives__processWorkerMessage_closure(entryPoint, args, message, isSpawnUri, startPaused, replyTo), "worker-start")); init.globalState.currentContext = context; @@ -2288,7 +2293,7 @@ if (t2) { t1 = t1.mainManager; t2 = P.LinkedHashMap__makeLiteral(["command", "close"]); - t2 = new H._Serializer(true, H.setRuntimeTypeInfo(new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0), [null, P.$int])).serialize$1(t2); + t2 = new H._Serializer(true, new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0, [null, P.$int])).serialize$1(t2); t1.toString; self.postMessage(t2); } @@ -3560,13 +3565,13 @@ return (Math.random() * 0x100000000 >>> 0) + (Math.random() * 0x100000000 >>> 0) * 4294967296; }, setRuntimeTypeInfo: function(target, rti) { - target.$builtinTypeInfo = rti; + target.$ti = rti; return target; }, getRuntimeTypeInfo: function(target) { if (target == null) return; - return target.$builtinTypeInfo; + return target.$ti; }, getRuntimeTypeArguments: function(target, substitutionName) { return H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTypeInfo(target)); @@ -3606,18 +3611,18 @@ allDynamic = false; t1 = buffer._contents += H.S(H.runtimeTypeToString(argument, onTypeVariable)); } - return allDynamic ? "" : "<" + H.S(buffer) + ">"; + return allDynamic ? "" : "<" + buffer.toString$0(0) + ">"; }, substitute: function(substitution, $arguments) { - if (typeof substitution == "function") { - substitution = substitution.apply(null, $arguments); - if (substitution == null) - return substitution; - if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array) - return substitution; - if (typeof substitution == "function") - return substitution.apply(null, $arguments); - } + if (substitution == null) + return $arguments; + substitution = substitution.apply(null, $arguments); + if (substitution == null) + return; + if (typeof substitution === "object" && substitution !== null && substitution.constructor === Array) + return substitution; + if (typeof substitution == "function") + return substitution.apply(null, $arguments); return $arguments; }, areSubtypes: function(s, t) { @@ -3634,7 +3639,7 @@ return signature.apply(context, H.getRuntimeTypeArguments(context, contextName)); }, isSubtype: function(s, t) { - var t1, typeOfS, t2, typeOfT, substitution; + var t1, typeOfS, t2, typeOfT, typeOfTString, substitution; if (s === t) return true; if (s == null || t == null) @@ -3648,9 +3653,10 @@ t2 = typeof t === "object" && t !== null && t.constructor === Array; typeOfT = t2 ? t[0] : t; if (typeOfT !== typeOfS) { - if (!('$is' + H.runtimeTypeToString(typeOfT, null) in typeOfS.prototype)) + typeOfTString = H.runtimeTypeToString(typeOfT, null); + if (!('$is' + typeOfTString in typeOfS.prototype)) return false; - substitution = typeOfS.prototype["$as" + H.S(H.runtimeTypeToString(typeOfT, null))]; + substitution = typeOfS.prototype["$as" + H.S(typeOfTString)]; } else substitution = null; if (!t1 && substitution == null || !t2) @@ -4000,7 +4006,7 @@ $isMap: 1 }, ConstantStringMap: { - "^": "ConstantMap;__js_helper$_length,_jsObject,_keys", + "^": "ConstantMap;__js_helper$_length,_jsObject,_keys,$ti", get$length: function(_) { return this.__js_helper$_length; }, @@ -4434,7 +4440,7 @@ } }, JsLinkedHashMap: { - "^": "Object;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications", + "^": "Object;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications,$ti", get$length: function(_) { return this.__js_helper$_length; }, @@ -4445,7 +4451,7 @@ return !this.get$isEmpty(this); }, get$keys: function() { - return H.setRuntimeTypeInfo(new H.LinkedHashMapKeyIterable(this), [H.getTypeArgumentByIndex(this, 0)]); + return new H.LinkedHashMapKeyIterable(this, [H.getTypeArgumentByIndex(this, 0)]); }, get$values: function(_) { return H.MappedIterable_MappedIterable(this.get$keys(), new H.JsLinkedHashMap_values_closure(this), H.getTypeArgumentByIndex(this, 0), H.getTypeArgumentByIndex(this, 1)); @@ -4667,7 +4673,7 @@ $isMap: 1, static: { JsLinkedHashMap_JsLinkedHashMap$es6: function($K, $V) { - return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [$K, $V]); + return new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [$K, $V]); } } }, @@ -4681,26 +4687,26 @@ "^": "Object;hashMapCellKey<,hashMapCellValue@,_next,_previous<" }, LinkedHashMapKeyIterable: { - "^": "Iterable;_map", + "^": "Iterable;__js_helper$_map,$ti", get$length: function(_) { - return this._map.__js_helper$_length; + return this.__js_helper$_map.__js_helper$_length; }, get$isEmpty: function(_) { - return this._map.__js_helper$_length === 0; + return this.__js_helper$_map.__js_helper$_length === 0; }, get$iterator: function(_) { var t1, t2; - t1 = this._map; + t1 = this.__js_helper$_map; t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, null, null); t2._cell = t1._first; return t2; }, contains$1: function(_, element) { - return this._map.containsKey$1(element); + return this.__js_helper$_map.containsKey$1(element); }, forEach$1: function(_, f) { var t1, cell, modifications; - t1 = this._map; + t1 = this.__js_helper$_map; cell = t1._first; modifications = t1._modifications; for (; cell != null;) { @@ -4713,12 +4719,12 @@ $isEfficientLength: 1 }, LinkedHashMapKeyIterator: { - "^": "Object;_map,_modifications,_cell,__js_helper$_current", + "^": "Object;__js_helper$_map,_modifications,_cell,__js_helper$_current", get$current: function() { return this.__js_helper$_current; }, moveNext$0: function() { - var t1 = this._map; + var t1 = this.__js_helper$_map; if (this._modifications !== t1._modifications) throw H.wrapException(new P.ConcurrentModificationError(t1)); else { @@ -4741,13 +4747,13 @@ } }, initHooks_closure0: { - "^": "Closure:31;getUnknownTag", + "^": "Closure:22;getUnknownTag", call$2: function(o, tag) { return this.getUnknownTag(o, tag); } }, initHooks_closure1: { - "^": "Closure:28;prototypeForTag", + "^": "Closure:29;prototypeForTag", call$1: function(tag) { return this.prototypeForTag(tag); } @@ -5076,14 +5082,21 @@ }, NativeTypedArray_ListMixin: { "^": "NativeTypedArray+ListMixin;", - $isList: 1, + $asJavaScriptIndexingBehavior: Isolate.functionThatReturnsNull, + $asJSIndexable: Isolate.functionThatReturnsNull, $asList: function() { return [P.$double]; }, + $isList: 1, $isEfficientLength: 1 }, NativeTypedArray_ListMixin_FixedLengthListMixin: { - "^": "NativeTypedArray_ListMixin+FixedLengthListMixin;" + "^": "NativeTypedArray_ListMixin+FixedLengthListMixin;", + $asJavaScriptIndexingBehavior: Isolate.functionThatReturnsNull, + $asJSIndexable: Isolate.functionThatReturnsNull, + $asList: function() { + return [P.$double]; + } }, NativeTypedArrayOfInt: { "^": "NativeTypedArray_ListMixin_FixedLengthListMixin0;", @@ -5110,14 +5123,21 @@ }, NativeTypedArray_ListMixin0: { "^": "NativeTypedArray+ListMixin;", - $isList: 1, + $asJavaScriptIndexingBehavior: Isolate.functionThatReturnsNull, + $asJSIndexable: Isolate.functionThatReturnsNull, $asList: function() { return [P.$int]; }, + $isList: 1, $isEfficientLength: 1 }, NativeTypedArray_ListMixin_FixedLengthListMixin0: { - "^": "NativeTypedArray_ListMixin0+FixedLengthListMixin;" + "^": "NativeTypedArray_ListMixin0+FixedLengthListMixin;", + $asJavaScriptIndexingBehavior: Isolate.functionThatReturnsNull, + $asJSIndexable: Isolate.functionThatReturnsNull, + $asList: function() { + return [P.$int]; + } }, NativeFloat32List: { "^": "NativeTypedArrayOfDouble;", @@ -5294,7 +5314,7 @@ else if (!!t1.$isFuture) object.then$2$onError(thenCallback, errorCallback); else { - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + future = new P._Future(0, $.Zone__current, null, [null]); future._state = 4; future._resultOrListeners = object; future._thenNoZoneRegistration$2(thenCallback, null); @@ -5324,12 +5344,12 @@ return zone.registerUnaryCallback$1(errorHandler); }, Future_Future$value: function(value, $T) { - var t1 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [$T]); + var t1 = new P._Future(0, $.Zone__current, null, [$T]); t1._asyncComplete$1(value); return t1; }, Completer_Completer$sync: function($T) { - return H.setRuntimeTypeInfo(new P._SyncCompleter(H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [$T])), [$T]); + return new P._SyncCompleter(new P._Future(0, $.Zone__current, null, [$T]), [$T]); }, _microtaskLoop: function() { var t1, t2; @@ -5406,15 +5426,10 @@ t1.scheduleMicrotask$1(t1.bindCallback$2$runGuarded(callback, true)); }, StreamIterator_StreamIterator: function(stream, $T) { - var t1, t2, t3; - t1 = H.setRuntimeTypeInfo(new P._StreamIteratorImpl(null, null, null, 0), [$T]); - t2 = t1.get$_async$_onData(); - t3 = t1.get$_onError(); - t1._subscription = stream.listen$4$cancelOnError$onDone$onError(t2, true, t1.get$_onDone(), t3); - return t1; + return new P._StreamIterator(null, stream, false, [$T]); }, StreamController_StreamController: function(onCancel, onListen, onPause, onResume, sync, $T) { - return H.setRuntimeTypeInfo(new P._SyncStreamController(null, 0, null, onListen, onPause, onResume, onCancel), [$T]); + return new P._SyncStreamController(null, 0, null, onListen, onPause, onResume, onCancel, [$T]); }, _runGuarded: function(notificationHandler) { var result, e, s, exception, t1; @@ -5462,7 +5477,7 @@ }, _cancelAndError: function(subscription, future, error, stackTrace) { var cancelFuture = subscription.cancel$0(); - if (!!J.getInterceptor(cancelFuture).$isFuture) + if (!!J.getInterceptor(cancelFuture).$isFuture && cancelFuture !== $.$get$Future__nullFuture()) cancelFuture.whenComplete$1(new P._cancelAndError_closure(future, error, stackTrace)); else future._completeError$2(error, stackTrace); @@ -5472,7 +5487,7 @@ }, _cancelAndValue: function(subscription, future, value) { var cancelFuture = subscription.cancel$0(); - if (!!J.getInterceptor(cancelFuture).$isFuture) + if (!!J.getInterceptor(cancelFuture).$isFuture && cancelFuture !== $.$get$Future__nullFuture()) cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value)); else future._complete$1(value); @@ -5517,7 +5532,7 @@ var t1 = {}; t1.error = error; P._schedulePriorityAsyncCallback(new P._rootHandleUncaughtError_closure(t1, stackTrace)); - }, "call$5", "async___rootHandleUncaughtError$closure", 10, 0, 20], + }, "call$5", "async___rootHandleUncaughtError$closure", 10, 0, 19], _rootRun: [function($self, $parent, zone, f) { var old, previous, t1; if (J.$eq$($.Zone__current, zone)) @@ -5648,7 +5663,7 @@ } }, _AsyncRun__initializeScheduleImmediate_closure: { - "^": "Closure:29;_box_0,div,span", + "^": "Closure:30;_box_0,div,span", call$1: function(callback) { var t1, t2; ++init.globalState.topEventLoop._activeJsAsyncCount; @@ -5685,16 +5700,16 @@ } }, _wrapJsFunctionForAsync_closure: { - "^": "Closure:48;$protected", + "^": "Closure:27;$protected", call$2: function(errorCode, result) { this.$protected(errorCode, result); } }, Future: { - "^": "Object;" + "^": "Object;$ti" }, _Completer: { - "^": "Object;future<", + "^": "Object;future<,$ti", completeError$2: function(error, stackTrace) { var replacement; error = error != null ? error : new P.NullThrownError(); @@ -5713,7 +5728,7 @@ } }, _AsyncCompleter: { - "^": "_Completer;future", + "^": "_Completer;future,$ti", complete$1: function(_, value) { var t1 = this.future; if (t1._state !== 0) @@ -5728,7 +5743,7 @@ } }, _SyncCompleter: { - "^": "_Completer;future", + "^": "_Completer;future,$ti", complete$1: [function(_, value) { var t1 = this.future; if (t1._state !== 0) @@ -5736,7 +5751,7 @@ t1._complete$1(value); }, function($receiver) { return this.complete$1($receiver, null); - }, "complete$0", "call$1", "call$0", "get$complete", 0, 2, 27, 0], + }, "complete$0", "call$1", "call$0", "get$complete", 0, 2, 28, 0], _completeError$2: function(error, stackTrace) { this.future._completeError$2(error, stackTrace); } @@ -5769,11 +5784,11 @@ t2 = H.getDynamicRuntimeType(); t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(t1); t3 = J.getInterceptor$x(asyncError); - t4 = this.result; + t4 = this.result._zone; if (t2) - return t4._zone.runBinary$3(t1, t3.get$error(asyncError), asyncError.get$stackTrace()); + return t4.runBinary$3(t1, t3.get$error(asyncError), asyncError.get$stackTrace()); else - return t4._zone.runUnary$2(t1, t3.get$error(asyncError)); + return t4.runUnary$2(t1, t3.get$error(asyncError)); }, handleWhenComplete$0: function() { return this.result._zone.run$1(this.callback); @@ -5783,7 +5798,7 @@ } }, _Future: { - "^": "Object;_state@,_zone,_resultOrListeners<", + "^": "Object;_state<,_zone,_resultOrListeners<,$ti", get$_isChained: function() { return this._state === 2; }, @@ -5803,15 +5818,14 @@ return this.then$2$onError(f, null); }, _thenNoZoneRegistration$2: function(f, onError) { - var result = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + var result = new P._Future(0, $.Zone__current, null, [null]); this._addListener$1(new P._FutureListener(null, result, onError == null ? 1 : 3, f, onError)); return result; }, whenComplete$1: function(action) { var t1, result; t1 = $.Zone__current; - result = new P._Future(0, t1, null); - result.$builtinTypeInfo = this.$builtinTypeInfo; + result = new P._Future(0, t1, null, this.$ti); this._addListener$1(new P._FutureListener(null, result, 8, t1 !== C.C__RootZone ? t1.registerCallback$1(action) : action, null)); return result; }, @@ -5915,7 +5929,7 @@ static: { _Future__chainForeignFuture: function(source, target) { var e, s, exception, t1; - target.set$_state(1); + target._state = 1; try { source.then$2$onError(new P._Future__chainForeignFuture_closure(target), new P._Future__chainForeignFuture_closure0(target)); } catch (exception) { @@ -6179,9 +6193,9 @@ "^": "Object;callback,next" }, Stream: { - "^": "Object;", + "^": "Object;$ti", map$1: function(_, convert) { - return H.setRuntimeTypeInfo(new P._MapStream(convert, this), [H.getRuntimeTypeArgument(this, "Stream", 0), null]); + return new P._MapStream(convert, this, [H.getRuntimeTypeArgument(this, "Stream", 0), null]); }, pipe$1: function(streamConsumer) { return streamConsumer.addStream$1(this).then$1(new P.Stream_pipe_closure(streamConsumer)); @@ -6189,7 +6203,7 @@ contains$1: function(_, needle) { var t1, future; t1 = {}; - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.bool]); + future = new P._Future(0, $.Zone__current, null, [P.bool]); t1.subscription = null; t1.subscription = this.listen$4$cancelOnError$onDone$onError(new P.Stream_contains_closure(t1, this, needle, future), true, new P.Stream_contains_closure0(future), future.get$_completeError()); return future; @@ -6197,7 +6211,7 @@ forEach$1: function(_, action) { var t1, future; t1 = {}; - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + future = new P._Future(0, $.Zone__current, null, [null]); t1.subscription = null; t1.subscription = this.listen$4$cancelOnError$onDone$onError(new P.Stream_forEach_closure(t1, this, action, future), true, new P.Stream_forEach_closure0(future), future.get$_completeError()); return future; @@ -6205,7 +6219,7 @@ get$length: function(_) { var t1, future; t1 = {}; - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.$int]); + future = new P._Future(0, $.Zone__current, null, [P.$int]); t1.count = 0; this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t1), true, new P.Stream_length_closure0(t1, future), future.get$_completeError()); return future; @@ -6213,15 +6227,16 @@ get$isEmpty: function(_) { var t1, future; t1 = {}; - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [P.bool]); + future = new P._Future(0, $.Zone__current, null, [P.bool]); t1.subscription = null; t1.subscription = this.listen$4$cancelOnError$onDone$onError(new P.Stream_isEmpty_closure(t1, future), true, new P.Stream_isEmpty_closure0(future), future.get$_completeError()); return future; }, toList$0: function(_) { - var result, future; - result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(this, "Stream", 0)]); - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [[P.List, H.getRuntimeTypeArgument(this, "Stream", 0)]]); + var t1, result, future; + t1 = H.getRuntimeTypeArgument(this, "Stream", 0); + result = H.setRuntimeTypeInfo([], [t1]); + future = new P._Future(0, $.Zone__current, null, [[P.List, t1]]); this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(this, result), true, new P.Stream_toList_closure0(result, future), future.get$_completeError()); return future; } @@ -6253,7 +6268,7 @@ } }, Stream_contains__closure0: { - "^": "Closure:30;_box_0,future", + "^": "Closure:31;_box_0,future", call$1: function(isMatch) { if (isMatch === true) P._cancelAndValue(this._box_0.subscription, this.future, true); @@ -6338,7 +6353,7 @@ "^": "Object;" }, _StreamController: { - "^": "Object;_state@", + "^": "Object;_state<,$ti", get$_pendingEvents: function() { if ((this._state & 8) === 0) return this._varData; @@ -6349,21 +6364,17 @@ if ((this._state & 8) === 0) { t1 = this._varData; if (t1 == null) { - t1 = new P._StreamImplEvents(null, null, 0); - t1.$builtinTypeInfo = this.$builtinTypeInfo; + t1 = new P._StreamImplEvents(null, null, 0, this.$ti); this._varData = t1; } return t1; } state = this._varData; - if (state.get$varData() == null) { - t1 = new P._StreamImplEvents(null, null, 0); - t1.$builtinTypeInfo = this.$builtinTypeInfo; - state.varData = t1; - } + if (state.get$varData() == null) + state.varData = new P._StreamImplEvents(null, null, 0, this.$ti); return state.varData; }, - get$_subscription: function() { + get$_async$_subscription: function() { if ((this._state & 8) !== 0) return this._varData.get$varData(); return this._varData; @@ -6376,7 +6387,7 @@ _ensureDoneFuture$0: function() { var t1 = this._doneFuture; if (t1 == null) { - t1 = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + t1 = (this._state & 2) !== 0 ? $.$get$Future__nullFuture() : new P._Future(0, $.Zone__current, null, [null]); this._doneFuture = t1; } return t1; @@ -6404,7 +6415,7 @@ this._async$_addError$2(error, stackTrace); }, function(error) { return this.addError$2(error, null); - }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 10, 0], + }, "addError$1", "call$2", "call$1", "get$addError", 2, 2, 33, 0], close$0: function(_) { var t1 = this._state; if ((t1 & 4) !== 0) @@ -6420,16 +6431,11 @@ return this._ensureDoneFuture$0(); }, _async$_add$1: function(value) { - var t1, t2; - t1 = this._state; + var t1 = this._state; if ((t1 & 1) !== 0) this._sendData$1(value); - else if ((t1 & 3) === 0) { - t1 = this._ensurePendingEvents$0(); - t2 = new P._DelayedData(value, null); - t2.$builtinTypeInfo = this.$builtinTypeInfo; - t1.add$1(0, t2); - } + else if ((t1 & 3) === 0) + this._ensurePendingEvents$0().add$1(0, new P._DelayedData(value, null, this.$ti)); }, _async$_addError$2: function(error, stackTrace) { var t1 = this._state; @@ -6439,16 +6445,16 @@ this._ensurePendingEvents$0().add$1(0, new P._DelayedError(error, stackTrace, null)); }, _subscribe$4: function(onData, onError, onDone, cancelOnError) { - var t1, subscription, pendingEvents, addState; + var t1, t2, subscription, pendingEvents, addState; if ((this._state & 3) !== 0) throw H.wrapException(new P.StateError("Stream has already been listened to.")); t1 = $.Zone__current; - subscription = new P._ControllerSubscription(this, null, null, null, t1, cancelOnError ? 1 : 0, null, null); - subscription.$builtinTypeInfo = this.$builtinTypeInfo; + t2 = cancelOnError ? 1 : 0; + subscription = new P._ControllerSubscription(this, null, null, null, t1, t2, null, null, this.$ti); subscription._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, H.getTypeArgumentByIndex(this, 0)); pendingEvents = this.get$_pendingEvents(); - t1 = this._state |= 1; - if ((t1 & 8) !== 0) { + t2 = this._state |= 1; + if ((t2 & 8) !== 0) { addState = this._varData; addState.set$varData(subscription); addState.addSubscription.resume$0(); @@ -6474,7 +6480,7 @@ t1 = H.unwrapException(exception); e = t1; s = H.getTraceFromException(exception); - result0 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + result0 = new P._Future(0, $.Zone__current, null, [null]); result0._asyncCompleteError$2(e, s); result = result0; } @@ -6505,20 +6511,20 @@ _SyncStreamControllerDispatch: { "^": "Object;", _sendData$1: function(data) { - this.get$_subscription()._async$_add$1(data); + this.get$_async$_subscription()._async$_add$1(data); }, _sendError$2: function(error, stackTrace) { - this.get$_subscription()._async$_addError$2(error, stackTrace); + this.get$_async$_subscription()._async$_addError$2(error, stackTrace); }, _sendDone$0: function() { - this.get$_subscription()._close$0(); + this.get$_async$_subscription()._close$0(); } }, _SyncStreamController: { - "^": "_StreamController+_SyncStreamControllerDispatch;_varData,_state,_doneFuture,onListen,onPause,onResume,onCancel" + "^": "_StreamController+_SyncStreamControllerDispatch;_varData,_state,_doneFuture,onListen,onPause,onResume,onCancel,$ti" }, _ControllerStream: { - "^": "_StreamImpl;_controller", + "^": "_StreamImpl;_controller,$ti", get$hashCode: function(_) { return (H.Primitives_objectHashCode(this._controller) ^ 892482866) >>> 0; }, @@ -6533,7 +6539,7 @@ } }, _ControllerSubscription: { - "^": "_BufferingStreamSubscription;_controller,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending", + "^": "_BufferingStreamSubscription;_controller,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending,$ti", _onCancel$0: function() { return this._controller._recordCancel$1(this); }, @@ -6551,7 +6557,7 @@ }, "call$0", "get$_onResume", 0, 0, 2] }, _StreamSinkWrapper: { - "^": "Object;_async$_target", + "^": "Object;_async$_target,$ti", add$1: [function(_, data) { var t1 = this._async$_target; if (t1._state >= 4) @@ -6567,7 +6573,7 @@ "^": "Object;" }, _BufferingStreamSubscription: { - "^": "Object;_state@", + "^": "Object;_state<,$ti", _setPendingEvents$1: function(pendingEvents) { if (pendingEvents == null) return; @@ -6617,10 +6623,10 @@ cancel$0: function() { var t1 = (this._state & 4294967279) >>> 0; this._state = t1; - if ((t1 & 8) !== 0) - return this._cancelFuture; - this._cancel$0(); - return this._cancelFuture; + if ((t1 & 8) === 0) + this._cancel$0(); + t1 = this._cancelFuture; + return t1 == null ? $.$get$Future__nullFuture() : t1; }, _cancel$0: function() { var t1 = (this._state | 8) >>> 0; @@ -6638,7 +6644,7 @@ if (t1 < 32) this._sendData$1(data); else - this._addPending$1(H.setRuntimeTypeInfo(new P._DelayedData(data, null), [null])); + this._addPending$1(new P._DelayedData(data, null, [null])); }], _async$_addError$2: ["super$_BufferingStreamSubscription$_addError", function(error, stackTrace) { var t1 = this._state; @@ -6671,7 +6677,7 @@ var pending, t1; pending = this._pending; if (pending == null) { - pending = H.setRuntimeTypeInfo(new P._StreamImplEvents(null, null, 0), [null]); + pending = new P._StreamImplEvents(null, null, 0, [null]); this._pending = pending; } pending.add$1(0, $event); @@ -6691,14 +6697,19 @@ this._checkState$1((t1 & 4) !== 0); }, _sendError$2: function(error, stackTrace) { - var t1, t2; + var t1, t2, t3; t1 = this._state; t2 = new P._BufferingStreamSubscription__sendError_sendError(this, error, stackTrace); if ((t1 & 1) !== 0) { this._state = (t1 | 16) >>> 0; this._cancel$0(); t1 = this._cancelFuture; - if (!!J.getInterceptor(t1).$isFuture) + if (!!J.getInterceptor(t1).$isFuture) { + t3 = $.$get$Future__nullFuture(); + t3 = t1 == null ? t3 != null : t1 !== t3; + } else + t3 = false; + if (t3) t1.whenComplete$1(t2); else t2.call$0(); @@ -6708,12 +6719,17 @@ } }, _sendDone$0: function() { - var t1, t2; + var t1, t2, t3; t1 = new P._BufferingStreamSubscription__sendDone_sendDone(this); this._cancel$0(); this._state = (this._state | 16) >>> 0; t2 = this._cancelFuture; - if (!!J.getInterceptor(t2).$isFuture) + if (!!J.getInterceptor(t2).$isFuture) { + t3 = $.$get$Future__nullFuture(); + t3 = t2 == null ? t3 != null : t2 !== t3; + } else + t3 = false; + if (t3) t2.whenComplete$1(t1); else t1.call$0(); @@ -6810,7 +6826,7 @@ } }, _StreamImpl: { - "^": "Stream;", + "^": "Stream;$ti", listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { return this._controller._subscribe$4(onData, onError, onDone, true === cancelOnError); }, @@ -6831,7 +6847,7 @@ "^": "Object;next@" }, _DelayedData: { - "^": "_DelayedEvent;value,next", + "^": "_DelayedEvent;value,next,$ti", perform$1: function(dispatch) { dispatch._sendData$1(this.value); } @@ -6855,7 +6871,7 @@ } }, _PendingEvents: { - "^": "Object;_state@", + "^": "Object;_state<", schedule$1: function(dispatch) { var t1 = this._state; if (t1 === 1) @@ -6890,7 +6906,7 @@ } }, _StreamImplEvents: { - "^": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state", + "^": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state,$ti", get$isEmpty: function(_) { return this.lastPendingEvent == null; }, @@ -6906,7 +6922,7 @@ } }, _DoneStreamSubscription: { - "^": "Object;_zone,_state@,_onDone", + "^": "Object;_zone,_state<,_onDone", _schedule$0: function() { if ((this._state & 2) !== 0) return; @@ -6929,7 +6945,7 @@ } }, cancel$0: function() { - return; + return $.$get$Future__nullFuture(); }, _sendDone$0: [function() { var t1 = (this._state & 4294967293) >>> 0; @@ -6942,60 +6958,11 @@ this._zone.runGuarded$1(t1); }, "call$0", "get$_sendDone", 0, 0, 2] }, - _StreamIteratorImpl: { - "^": "Object;_subscription,_async$_current,_futureOrPrefetch,_state@", - _clear$0: function(_) { - this._subscription = null; - this._futureOrPrefetch = null; - this._async$_current = null; - this._state = 1; - }, - _async$_onData$1: [function(data) { - var hasNext; - if (this._state === 2) { - this._async$_current = data; - hasNext = this._futureOrPrefetch; - this._futureOrPrefetch = null; - this._state = 0; - hasNext._complete$1(true); - return; - } - this._subscription.pause$0(0); - this._futureOrPrefetch = data; - this._state = 3; - }, "call$1", "get$_async$_onData", 2, 0, function() { - return H.computeSignature(function(T) { - return {func: 1, v: true, args: [T]}; - }, this.$receiver, "_StreamIteratorImpl"); - }], - _onError$2: [function(error, stackTrace) { - var hasNext; - if (this._state === 2) { - hasNext = this._futureOrPrefetch; - this._clear$0(0); - hasNext._completeError$2(error, stackTrace); - return; - } - this._subscription.pause$0(0); - this._futureOrPrefetch = new P.AsyncError(error, stackTrace); - this._state = 4; - }, function(error) { - return this._onError$2(error, null); - }, "_onError$1", "call$2", "call$1", "get$_onError", 2, 2, 10, 0], - _onDone$0: [function() { - if (this._state === 2) { - var hasNext = this._futureOrPrefetch; - this._clear$0(0); - hasNext._complete$1(false); - return; - } - this._subscription.pause$0(0); - this._futureOrPrefetch = null; - this._state = 5; - }, "call$0", "get$_onDone", 0, 0, 2] + _StreamIterator: { + "^": "Object;_async$_subscription,_stateData,_isPaused,$ti" }, _EmptyStream: { - "^": "Stream;", + "^": "Stream;$ti", listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { var t1 = new P._DoneStreamSubscription($.Zone__current, 0, onDone); t1._schedule$0(); @@ -7027,7 +6994,7 @@ } }, _ForwardingStream: { - "^": "Stream;", + "^": "Stream;$ti", listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { return this._createSubscription$4(onData, onError, onDone, true === cancelOnError); }, @@ -7051,7 +7018,7 @@ } }, _ForwardingStreamSubscription: { - "^": "_BufferingStreamSubscription;_stream,_subscription,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending", + "^": "_BufferingStreamSubscription;_stream,_async$_subscription,_async$_onData,_onError,_onDone,_zone,_state,_cancelFuture,_pending,$ti", _async$_add$1: function(data) { if ((this._state & 2) !== 0) return; @@ -7063,21 +7030,21 @@ this.super$_BufferingStreamSubscription$_addError(error, stackTrace); }, _onPause$0: [function() { - var t1 = this._subscription; + var t1 = this._async$_subscription; if (t1 == null) return; t1.pause$0(0); }, "call$0", "get$_onPause", 0, 0, 2], _onResume$0: [function() { - var t1 = this._subscription; + var t1 = this._async$_subscription; if (t1 == null) return; t1.resume$0(); }, "call$0", "get$_onResume", 0, 0, 2], _onCancel$0: function() { - var t1 = this._subscription; + var t1 = this._async$_subscription; if (t1 != null) { - this._subscription = null; + this._async$_subscription = null; return t1.cancel$0(); } return; @@ -7091,7 +7058,7 @@ }], _handleError$2: [function(error, stackTrace) { this._stream._handleError$3(error, stackTrace, this); - }, "call$2", "get$_handleError", 4, 0, 33], + }, "call$2", "get$_handleError", 4, 0, 34], _handleDone$0: [function() { this._close$0(); }, "call$0", "get$_handleDone", 0, 0, 2], @@ -7099,23 +7066,25 @@ var t1, t2; t1 = this.get$_handleData(); t2 = this.get$_handleError(); - this._subscription = this._stream._async$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2); + this._async$_subscription = this._stream._async$_source.listen$3$onDone$onError(t1, this.get$_handleDone(), t2); }, $as_BufferingStreamSubscription: function($S, $T) { return [$T]; }, static: { _ForwardingStreamSubscription$: function(_stream, onData, onError, onDone, cancelOnError, $S, $T) { - var t1 = $.Zone__current; - t1 = H.setRuntimeTypeInfo(new P._ForwardingStreamSubscription(_stream, null, null, null, null, t1, cancelOnError ? 1 : 0, null, null), [$S, $T]); - t1._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, $T); - t1._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, cancelOnError, $S, $T); - return t1; + var t1, t2; + t1 = $.Zone__current; + t2 = cancelOnError ? 1 : 0; + t2 = new P._ForwardingStreamSubscription(_stream, null, null, null, null, t1, t2, null, null, [$S, $T]); + t2._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnError, $T); + t2._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, cancelOnError, $S, $T); + return t2; } } }, _MapStream: { - "^": "_ForwardingStream;_transform,_async$_source", + "^": "_ForwardingStream;_transform,_async$_source,$ti", _handleData$2: function(inputEvent, sink) { var outputEvent, e, s, exception, t1; outputEvent = null; @@ -7205,43 +7174,43 @@ implementation = this._delegationTarget.get$_handleUncaughtError(); implZone = implementation.zone; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, error, stackTrace); - }, "call$3", "get$handleUncaughtError", 6, 0, 34], + }, "call$3", "get$handleUncaughtError", 6, 0, 35], run$2: [function(zone, f) { var implementation, implZone; 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, 35], + }, "call$2", "get$run", 4, 0, 36], 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, 36], + }, "call$3", "get$runUnary", 6, 0, 37], 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, 37], + }, "call$4", "get$runBinary", 8, 0, 38], 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, 38], + }, "call$2", "get$registerCallback", 4, 0, 39], 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, 39], + }, "call$2", "get$registerUnaryCallback", 4, 0, 40], 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, 40], + }, "call$2", "get$registerBinaryCallback", 4, 0, 43], errorCallback$3: [function(zone, error, stackTrace) { var implementation, implZone; implementation = this._delegationTarget.get$_errorCallback(); @@ -7249,13 +7218,13 @@ if (implZone === C.C__RootZone) return; return implementation.$function.call$5(implZone, P._parentDelegate(implZone), zone, error, stackTrace); - }, "call$3", "get$errorCallback", 6, 0, 43], + }, "call$3", "get$errorCallback", 6, 0, 48], 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, 22], + }, "call$2", "get$scheduleMicrotask", 4, 0, 21], createTimer$3: [function(zone, duration, f) { var implementation, implZone; implementation = this._delegationTarget.get$_createTimer(); @@ -7383,35 +7352,35 @@ 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, 11, 0, 0], + }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 10, 0, 0], 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, 12], + }, "call$1", "get$run", 2, 0, 11], 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, 13], + }, "call$2", "get$runUnary", 4, 0, 12], 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, 14], + }, "call$3", "get$runBinary", 6, 0, 13], 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, 15], + }, "call$1", "get$registerCallback", 2, 0, 14], registerUnaryCallback$1: [function(callback) { var implementation, t1, parentDelegate; implementation = this._registerUnaryCallback; @@ -7425,7 +7394,7 @@ t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$4(t1, parentDelegate, this, callback); - }, "call$1", "get$registerBinaryCallback", 2, 0, 16], + }, "call$1", "get$registerBinaryCallback", 2, 0, 15], errorCallback$2: [function(error, stackTrace) { var implementation, implementationZone, parentDelegate; implementation = this._errorCallback; @@ -7434,7 +7403,7 @@ return; parentDelegate = P._parentDelegate(implementationZone); return implementation.$function.call$5(implementationZone, parentDelegate, this, error, stackTrace); - }, "call$2", "get$errorCallback", 4, 0, 17], + }, "call$2", "get$errorCallback", 4, 0, 16], scheduleMicrotask$1: [function(f) { var implementation, t1, parentDelegate; implementation = this._scheduleMicrotask; @@ -7448,14 +7417,14 @@ t1 = implementation.zone; parentDelegate = P._parentDelegate(t1); return implementation.$function.call$5(t1, parentDelegate, this, duration, f); - }, "call$2", "get$createTimer", 4, 0, 18], + }, "call$2", "get$createTimer", 4, 0, 17], 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, 19], + }, "call$2", "get$createPeriodicTimer", 4, 0, 18], print$1: [function(_, line) { var implementation, t1, parentDelegate; implementation = this._print; @@ -7633,43 +7602,43 @@ 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, 11, 0, 0], + }, "fork$0", "call$2$specification$zoneValues", "call$0", "get$fork", 0, 5, 10, 0, 0], 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, 12], + }, "call$1", "get$run", 2, 0, 11], 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, 13], + }, "call$2", "get$runUnary", 4, 0, 12], 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, 14], + }, "call$3", "get$runBinary", 6, 0, 13], registerCallback$1: [function(f) { return f; - }, "call$1", "get$registerCallback", 2, 0, 15], + }, "call$1", "get$registerCallback", 2, 0, 14], registerUnaryCallback$1: [function(f) { return f; }, "call$1", "get$registerUnaryCallback", 2, 0, 9], registerBinaryCallback$1: [function(f) { return f; - }, "call$1", "get$registerBinaryCallback", 2, 0, 16], + }, "call$1", "get$registerBinaryCallback", 2, 0, 15], errorCallback$2: [function(error, stackTrace) { return; - }, "call$2", "get$errorCallback", 4, 0, 17], + }, "call$2", "get$errorCallback", 4, 0, 16], 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, 18], + }, "call$2", "get$createTimer", 4, 0, 17], createPeriodicTimer$2: [function(duration, f) { return P.Timer__createPeriodicTimer(duration, f); - }, "call$2", "get$createPeriodicTimer", 4, 0, 19], + }, "call$2", "get$createPeriodicTimer", 4, 0, 18], print$1: [function(_, line) { H.printString(line); }, "call$1", "get$print", 2, 0, 7] @@ -7693,7 +7662,7 @@ } }, runZoned_closure: { - "^": "Closure:20;onError", + "^": "Closure:19;onError", call$5: function($self, $parent, zone, error, stackTrace) { var e, s, t1, t2, exception; try { @@ -7711,8 +7680,7 @@ e = t1; s = H.getTraceFromException(exception); t1 = e; - t2 = error; - if (t1 == null ? t2 == null : t1 === t2) + if (t1 == null ? error == null : t1 === error) return $parent.handleUncaughtError$3(zone, error, stackTrace); else return $parent.handleUncaughtError$3(zone, e, s); @@ -7722,16 +7690,16 @@ }], ["dart.collection", "dart:collection",, P, { "^": "", LinkedHashMap_LinkedHashMap$_empty: function($K, $V) { - return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [$K, $V]); + return new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [$K, $V]); }, LinkedHashMap__makeEmpty: function() { - return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [null, null]); + return new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [null, null]); }, LinkedHashMap__makeLiteral: function(keyValuePairs) { - return H.fillLiteralMap(keyValuePairs, H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null, null, 0), [null, null])); + return H.fillLiteralMap(keyValuePairs, new H.JsLinkedHashMap(0, null, null, null, null, null, 0, [null, null])); }, HashMap_HashMap: function(equals, hashCode, isValidKey, $K, $V) { - return H.setRuntimeTypeInfo(new P._HashMap(0, null, null, null, null), [$K, $V]); + return new P._HashMap(0, null, null, null, null, [$K, $V]); }, HashMap_HashMap$from: function(other, $K, $V) { var result = P.HashMap_HashMap(null, null, null, $K, $V); @@ -7870,7 +7838,7 @@ parts.push(ultimateString); }, LinkedHashSet_LinkedHashSet: function(equals, hashCode, isValidKey, $E) { - return H.setRuntimeTypeInfo(new P._LinkedHashSet(0, null, null, null, null, null, 0), [$E]); + return new P._LinkedHashSet(0, null, null, null, null, null, 0, [$E]); }, Maps_mapToString: function(m) { var t1, result, t2; @@ -7883,7 +7851,7 @@ t2 = result; t2._contents = t2.get$_contents() + "{"; t1.first = true; - J.forEach$1$ax(m, new P.Maps_mapToString_closure(t1, result)); + m.forEach$1(0, new P.Maps_mapToString_closure(t1, result)); t1 = result; t1._contents = t1.get$_contents() + "}"; } finally { @@ -7896,7 +7864,7 @@ return t1.charCodeAt(0) == 0 ? t1 : t1; }, _HashMap: { - "^": "Object;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_collection$_keys", + "^": "Object;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_collection$_keys,$ti", get$length: function(_) { return this._collection$_length; }, @@ -8087,7 +8055,7 @@ } }, _LinkedIdentityHashMap: { - "^": "JsLinkedHashMap;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications", + "^": "JsLinkedHashMap;__js_helper$_length,_strings,_nums,_rest,_first,_last,_modifications,$ti", internalComputeHashCode$1: function(key) { return H.objectHashCode(key) & 0x3ffffff; }, @@ -8105,12 +8073,12 @@ }, static: { _LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $V) { - return H.setRuntimeTypeInfo(new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0), [$K, $V]); + return new P._LinkedIdentityHashMap(0, null, null, null, null, null, 0, [$K, $V]); } } }, _LinkedHashSet: { - "^": "_HashSetBase;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_collection$_first,_collection$_last,_collection$_modifications", + "^": "_HashSetBase;_collection$_length,_collection$_strings,_collection$_nums,_collection$_rest,_collection$_first,_collection$_last,_collection$_modifications,$ti", get$iterator: function(_) { var t1 = new P._LinkedHashSetIterator(this, this._collection$_modifications, null, null); t1._collection$_cell = this._collection$_first; @@ -8356,22 +8324,22 @@ } }, _HashSetBase: { - "^": "SetBase;" + "^": "SetBase;$ti" }, IterableBase: { - "^": "Iterable;" + "^": "Iterable;$ti" }, ListBase: { - "^": "Object_ListMixin;" + "^": "Object_ListMixin;$ti" }, Object_ListMixin: { "^": "Object+ListMixin;", - $isList: 1, $asList: null, + $isList: 1, $isEfficientLength: 1 }, ListMixin: { - "^": "Object;", + "^": "Object;$ti", get$iterator: function(receiver) { return new H.ListIterator(receiver, this.get$length(receiver), 0, null); }, @@ -8416,7 +8384,7 @@ return false; }, map$1: function(receiver, f) { - return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null, null]); + return new H.MappedListIterable(receiver, f, [null, null]); }, skip$1: function(receiver, count) { return H.SubListIterable$(receiver, count, null, H.getRuntimeTypeArgument(receiver, "ListMixin", 0)); @@ -8531,30 +8499,31 @@ MapView: { "^": "Object;", $index: function(_, key) { - return J.$index$asx(this._collection$_map, key); + return J.$index$asx(this._map, key); }, $indexSet: function(_, key, value) { - J.$indexSet$ax(this._collection$_map, key, value); + J.$indexSet$ax(this._map, key, value); }, forEach$1: function(_, action) { - J.forEach$1$ax(this._collection$_map, action); + J.forEach$1$ax(this._map, action); }, get$isEmpty: function(_) { - return J.get$isEmpty$asx(this._collection$_map); + return J.get$isEmpty$asx(this._map); }, get$isNotEmpty: function(_) { - return J.get$isNotEmpty$asx(this._collection$_map); + return J.get$isNotEmpty$asx(this._map); }, get$length: function(_) { - return J.get$length$asx(this._collection$_map); + return J.get$length$asx(this._map); }, toString$0: function(_) { - return J.toString$0$(this._collection$_map); + return J.toString$0$(this._map); }, $isMap: 1 }, UnmodifiableMapView: { - "^": "MapView+_UnmodifiableMapMixin;_collection$_map", + "^": "MapView+_UnmodifiableMapMixin;_map,$ti", + $asMap: null, $isMap: 1 }, Maps_mapToString_closure: { @@ -8572,7 +8541,7 @@ } }, ListQueue: { - "^": "ListIterable;_table,_head,_tail,_modificationCount", + "^": "ListIterable;_table,_head,_tail,_modificationCount,$ti", get$iterator: function(_) { return new P._ListQueueIterator(this, this._tail, this._modificationCount, this._head, null); }, @@ -8659,7 +8628,7 @@ var t1, newTable, t2, split; t1 = new Array(this._table.length * 2); t1.fixed$length = Array; - newTable = H.setRuntimeTypeInfo(t1, [H.getTypeArgumentByIndex(this, 0)]); + newTable = H.setRuntimeTypeInfo(t1, this.$ti); t1 = this._table; t2 = this._head; split = t1.length - t2; @@ -8677,7 +8646,7 @@ $isEfficientLength: 1, static: { ListQueue$: function(initialCapacity, $E) { - var t1 = H.setRuntimeTypeInfo(new P.ListQueue(null, 0, 0, 0), [$E]); + var t1 = new P.ListQueue(null, 0, 0, 0, [$E]); t1.ListQueue$1(initialCapacity, $E); return t1; } @@ -8708,7 +8677,7 @@ } }, SetMixin: { - "^": "Object;", + "^": "Object;$ti", get$isEmpty: function(_) { return this._collection$_length === 0; }, @@ -8716,7 +8685,7 @@ return this._collection$_length !== 0; }, map$1: function(_, f) { - return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(this, f), [H.getTypeArgumentByIndex(this, 0), null]); + return new H.EfficientLengthMappedIterable(this, f, [H.getTypeArgumentByIndex(this, 0), null]); }, toString$0: function(_) { return P.IterableBase_iterableToFullString(this, "{", "}"); @@ -8729,7 +8698,7 @@ $isEfficientLength: 1 }, SetBase: { - "^": "SetMixin;" + "^": "SetMixin;$ti" } }], ["dart.convert", "dart:convert",, P, { "^": "", @@ -8746,9 +8715,8 @@ return object; }, _parseJson: function(source, reviver) { - var parsed, e, t1, exception; - t1 = source; - if (typeof t1 !== "string") + var parsed, e, exception, t1; + if (typeof source !== "string") throw H.wrapException(H.argumentErrorValue(source)); parsed = null; try { @@ -9226,14 +9194,14 @@ _Utf8Encoder: { "^": "Object;_carry,_bufferIndex,_buffer", _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) { - var t1, t2, rune, t3, t4; + var t1, t2, t3, t4, rune; t1 = this._buffer; t2 = this._bufferIndex; + t3 = t2 + 1; + t4 = t1.length; if ((nextCodeUnit & 64512) === 56320) { rune = 65536 + ((leadingSurrogate & 1023) << 10 >>> 0) | nextCodeUnit & 1023; - t3 = t2 + 1; this._bufferIndex = t3; - t4 = t1.length; if (t2 >= t4) return H.ioore(t1, t2); t1[t2] = (240 | rune >>> 18) >>> 0; @@ -9253,9 +9221,7 @@ t1[t3] = 128 | rune & 63; return true; } else { - t3 = t2 + 1; this._bufferIndex = t3; - t4 = t1.length; if (t2 >= t4) return H.ioore(t1, t2); t1[t2] = 224 | leadingSurrogate >>> 12; @@ -9581,7 +9547,7 @@ t1 = start + 5; t2 = J.getInterceptor$n(end); if (t2.$ge(end, t1)) { - delta = ((J.getInterceptor$s(uri).codeUnitAt$1(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; + 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; 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(); else if (delta === 32) @@ -9641,7 +9607,7 @@ isSimple = false; } else { if (t3.$eq(schemeEnd, start + 4)) - if (J.getInterceptor$s(uri).startsWith$2(uri, "file", start)) { + if (J.startsWith$2$s(uri, "file", start)) { if (t5.$le(hostStart, start)) { if (!C.JSString_methods.startsWith$2(uri, "/", pathStart)) { schemeAuth = "file:///"; @@ -10167,7 +10133,7 @@ } }, Duration_toString_sixDigits: { - "^": "Closure:21;", + "^": "Closure:20;", call$1: function(n) { if (n >= 100000) return "" + n; @@ -10183,7 +10149,7 @@ } }, Duration_toString_twoDigits: { - "^": "Closure:21;", + "^": "Closure:20;", call$1: function(n) { if (n >= 10) return "" + n; @@ -10516,12 +10482,12 @@ }, "+int": 0, Iterable: { - "^": "Object;", + "^": "Object;$ti", map$1: function(_, f) { return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument(this, "Iterable", 0), null); }, where$1: ["super$Iterable$where", function(_, test) { - return H.setRuntimeTypeInfo(new H.WhereIterable(this, test), [H.getRuntimeTypeArgument(this, "Iterable", 0)]); + return new H.WhereIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]); }], contains$1: function(_, element) { var t1; @@ -10555,7 +10521,7 @@ return !this.get$isEmpty(this); }, skipWhile$1: ["super$Iterable$skipWhile", function(_, test) { - return H.setRuntimeTypeInfo(new H.SkipWhileIterable(this, test), [H.getRuntimeTypeArgument(this, "Iterable", 0)]); + return new H.SkipWhileIterable(this, test, [H.getRuntimeTypeArgument(this, "Iterable", 0)]); }], get$first: function(_) { var it = this.get$iterator(this); @@ -10595,13 +10561,13 @@ "^": "Object;" }, List: { - "^": "Object;", + "^": "Object;$ti", $asList: null, $isEfficientLength: 1 }, "+List": 0, Map: { - "^": "Object;" + "^": "Object;$ti" }, Null: { "^": "Object;", @@ -10762,16 +10728,19 @@ pathToSplit = this._path; if (pathToSplit.length !== 0 && C.JSString_methods.codeUnitAt$1(pathToSplit, 0) === 47) pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1); - result = pathToSplit === "" ? C.List_empty : P.List_List$unmodifiable(H.setRuntimeTypeInfo(new H.MappedListIterable(pathToSplit.split("/"), P.core_Uri_decodeComponent$closure()), [null, null]), P.String); + result = pathToSplit === "" ? C.List_empty : P.List_List$unmodifiable(new H.MappedListIterable(pathToSplit.split("/"), P.core_Uri_decodeComponent$closure(), [null, null]), P.String); this._pathSegments = result; return result; }, get$queryParameters: function() { - var t1 = this._queryParameters; + var t1, t2; + t1 = this._queryParameters; if (t1 == null) { t1 = this._query; - t1 = H.setRuntimeTypeInfo(new P.UnmodifiableMapView(P.Uri_splitQueryString(t1 == null ? "" : t1, C.Utf8Codec_false)), [P.String, P.String]); - this._queryParameters = t1; + t2 = P.String; + t2 = new P.UnmodifiableMapView(P.Uri_splitQueryString(t1 == null ? "" : t1, C.Utf8Codec_false), [t2, t2]); + this._queryParameters = t2; + t1 = t2; } return t1; }, @@ -11352,7 +11321,7 @@ result = P._Uri__normalize(path, start, end, C.List_qg4); else { pathSegments.toString; - result = H.setRuntimeTypeInfo(new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure()), [null, null]).join$1(0, "/"); + result = new H.MappedListIterable(pathSegments, new P._Uri__makePath_closure(), [null, null]).join$1(0, "/"); } if (result.length === 0) { if (isFile) @@ -11999,7 +11968,8 @@ get$queryParameters: function() { if (!J.$lt$n(this._queryStart, this._fragmentStart)) return C.Map_empty; - return H.setRuntimeTypeInfo(new P.UnmodifiableMapView(P.Uri_splitQueryString(this.get$query(this), C.Utf8Codec_false)), [P.String, P.String]); + var t1 = P.String; + return new P.UnmodifiableMapView(P.Uri_splitQueryString(this.get$query(this), C.Utf8Codec_false), [t1, t1]); }, _isPort$1: function(port) { var portDigitStart = J.$add$ns(this._portStart, 1); @@ -12023,7 +11993,7 @@ return this._toNonSimple$0().resolveUri$1(reference); }, _simpleMerge$2: function(base, ref) { - var t1, t2, t3, t4, t5, t6, isSimple, delta, refStart, baseEnd, backCount, insert; + var t1, t2, t3, t4, t5, t6, isSimple, delta, refStart, baseStart, baseEnd, baseUri, baseStart0, backCount, insert; t1 = ref._schemeEnd; t2 = J.getInterceptor$n(t1); if (t2.$gt(t1, 0)) @@ -12073,42 +12043,44 @@ 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 = base._pathStart; + baseStart = base._pathStart; baseEnd = base._queryStart; - t4 = J.getInterceptor(t3); - if (t4.$eq(t3, baseEnd) && J.$gt$n(base._hostStart, 0)) { + t3 = J.getInterceptor(baseStart); + if (t3.$eq(baseStart, baseEnd) && J.$gt$n(base._hostStart, 0)) { for (; C.JSString_methods.startsWith$2(t2, "../", refStart);) refStart = J.$add$ns(refStart, 3); - delta = J.$add$ns(t4.$sub(t3, refStart), 1); - 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); + 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); } - t4 = base._uri; - if (J.getInterceptor$s(t4).startsWith$2(t4, "../", t3)) - return this._toNonSimple$0().resolveUri$1(ref); - backCount = 1; + baseUri = base._uri; + for (t3 = J.getInterceptor$s(baseUri), baseStart0 = baseStart; t3.startsWith$2(baseUri, "../", baseStart0);) + baseStart0 = J.$add$ns(baseStart0, 3); + backCount = 0; while (true) { - t5 = J.getInterceptor$ns(refStart); - if (!(J.$le$n(t5.$add(refStart, 3), t1) && C.JSString_methods.startsWith$2(t2, "../", refStart))) + t3 = J.getInterceptor$ns(refStart); + if (!(J.$le$n(t3.$add(refStart, 3), t1) && C.JSString_methods.startsWith$2(t2, "../", refStart))) break; - refStart = t5.$add(refStart, 3); + refStart = t3.$add(refStart, 3); ++backCount; } - for (insert = ""; t5 = J.getInterceptor$n(baseEnd), t5.$gt(baseEnd, t3);) { - baseEnd = t5.$sub(baseEnd, 1); - if (C.JSString_methods.codeUnitAt$1(t4, baseEnd) === 47) { - --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) { if (backCount === 0) { insert = "/"; break; } + --backCount; insert = "/"; } } - t5 = J.getInterceptor(baseEnd); - if (t5.$eq(baseEnd, 0) && !C.JSString_methods.startsWith$2(t4, "/", t3)) + 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); insert = ""; - delta = J.$add$ns(t5.$sub(baseEnd, refStart), insert.length); - return new P._SimpleUri(C.JSString_methods.substring$2(t4, 0, baseEnd) + insert + 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); + } + 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); }, toFilePath$1$windows: function(windows) { var t1, t2, t3, t4; @@ -12185,6 +12157,9 @@ } }], ["dart.dom.html", "dart:html",, W, { "^": "", + window: function() { + return window; + }, WebSocket_WebSocket: function(url, protocols) { return new WebSocket(url); }, @@ -12360,7 +12335,7 @@ return receiver.localName; }, get$onClick: function(receiver) { - return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "click", false), [H.getTypeArgumentByIndex(C.EventStreamProvider_click, 0)]); + return new W._ElementEventStreamImpl(receiver, "click", false, [W.MouseEvent]); }, $isElement: 1, $isNode: 1, @@ -12444,18 +12419,18 @@ }, Interceptor_ListMixin: { "^": "Interceptor+ListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, Interceptor_ListMixin_ImmutableListMixin: { "^": "Interceptor_ListMixin+ImmutableListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, IFrameElement: { @@ -12517,7 +12492,6 @@ t2.mustCopy = true; return t2.walk$1(t1); }, - $isObject: 1, "%": "MessageEvent" }, MidiMessageEvent: { @@ -12538,11 +12512,6 @@ "^": "EventTarget;", "%": "MIDIInput;MIDIPort" }, - MouseEvent: { - "^": "UIEvent;", - $isObject: 1, - "%": "DragEvent|MouseEvent|PointerEvent|WheelEvent" - }, Navigator: { "^": "Interceptor;", $isInterceptor: 1, @@ -12608,18 +12577,18 @@ }, Interceptor_ListMixin0: { "^": "Interceptor+ListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, Interceptor_ListMixin_ImmutableListMixin0: { "^": "Interceptor_ListMixin0+ImmutableListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, ObjectElement: { @@ -12679,7 +12648,7 @@ }, UIEvent: { "^": "Event;", - "%": "FocusEvent|SVGZoomEvent|TouchEvent;UIEvent" + "%": "DragEvent|FocusEvent|MouseEvent|PointerEvent|SVGZoomEvent|TouchEvent|WheelEvent;UIEvent" }, WebSocket: { "^": "EventTarget;", @@ -12808,28 +12777,24 @@ }, Interceptor_ListMixin1: { "^": "Interceptor+ListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, Interceptor_ListMixin_ImmutableListMixin1: { "^": "Interceptor_ListMixin1+ImmutableListMixin;", - $isList: 1, $asList: function() { return [W.Node]; }, + $isList: 1, $isEfficientLength: 1 }, - EventStreamProvider: { - "^": "Object;_eventType" - }, _EventStream: { - "^": "Stream;_html$_target,_eventType,_useCapture", + "^": "Stream;_html$_target,_eventType,_useCapture,$ti", listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onDone, onError) { - var t1 = new W._EventStreamSubscription(0, this._html$_target, this._eventType, W._wrapZone(onData), false); - t1.$builtinTypeInfo = this.$builtinTypeInfo; + var t1 = new W._EventStreamSubscription(0, this._html$_target, this._eventType, W._wrapZone(onData), false, this.$ti); t1._tryResume$0(); return t1; }, @@ -12841,10 +12806,10 @@ } }, _ElementEventStreamImpl: { - "^": "_EventStream;_html$_target,_eventType,_useCapture" + "^": "_EventStream;_html$_target,_eventType,_useCapture,$ti" }, _EventStreamSubscription: { - "^": "StreamSubscription;_pauseCount,_html$_target,_eventType,_onData,_useCapture", + "^": "StreamSubscription;_pauseCount,_html$_target,_eventType,_onData,_useCapture,$ti", cancel$0: function() { if (this._html$_target == null) return; @@ -12892,7 +12857,7 @@ } }, ImmutableListMixin: { - "^": "Object;", + "^": "Object;$ti", get$iterator: function(receiver) { return new W.FixedSizeListIterator(receiver, this.get$length(receiver), -1, null); }, @@ -12913,11 +12878,11 @@ $isEfficientLength: 1 }, FixedSizeListIterator: { - "^": "Object;_array,_html$_length,_position,_html$_current", + "^": "Object;_array,_length,_position,_html$_current", moveNext$0: function() { var nextPosition, t1; nextPosition = this._position + 1; - t1 = this._html$_length; + t1 = this._length; if (nextPosition < t1) { this._html$_current = J.$index$asx(this._array, nextPosition); this._position = nextPosition; @@ -12969,9 +12934,11 @@ }], ["html_common", "dart:html_common",, P, { "^": "", convertNativePromiseToDartFuture: function(promise) { - var completer = H.setRuntimeTypeInfo(new P._AsyncCompleter(H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null])), [null]); + var t1, completer; + t1 = new P._Future(0, $.Zone__current, null, [null]); + completer = new P._AsyncCompleter(t1, [null]); promise.then(H.convertDartClosureToJS(new P.convertNativePromiseToDartFuture_closure(completer), 1))["catch"](H.convertDartClosureToJS(new P.convertNativePromiseToDartFuture_closure0(completer), 1)); - return completer.future; + return t1; }, _StructuredClone: { "^": "Object;", @@ -13340,7 +13307,7 @@ SvgElement: { "^": "Element;", get$onClick: function(receiver) { - return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "click", false), [H.getTypeArgumentByIndex(C.EventStreamProvider_click, 0)]); + return new W._ElementEventStreamImpl(receiver, "click", false, [W.MouseEvent]); }, $isInterceptor: 1, "%": "SVGComponentTransferFunctionElement|SVGDescElement|SVGDiscardElement|SVGFEDistantLightElement|SVGFEFuncAElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEMergeNodeElement|SVGFEPointLightElement|SVGFESpotLightElement|SVGMetadataElement|SVGStopElement|SVGStyleElement|SVGTitleElement;SVGElement" @@ -13417,14 +13384,14 @@ }], ["", "package:async/src/null_stream_sink.dart",, S, { "^": "", NullStreamSink: { - "^": "Object;done,_null_stream_sink$_closed,_addingStream", + "^": "Object;done,_null_stream_sink$_closed,_addingStream,$ti", addStream$1: function(stream) { var future; this._checkEventAllowed$0(); this._addingStream = true; future = stream.listen$1(null).cancel$0(); if (future == null) { - future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + future = new P._Future(0, $.Zone__current, null, [null]); future._asyncComplete$1(null); } return future.whenComplete$1(new S.NullStreamSink_addStream_closure(this)); @@ -13446,7 +13413,7 @@ this.$this._addingStream = false; } } - }], ["path", "package:path/path.dart",, B, { + }], ["", "package:path/path.dart",, D, { "^": "", current: function() { var uri, t1, t2, path; @@ -13467,10 +13434,10 @@ return t1; } } - }], ["path.context", "package:path/src/context.dart",, F, { + }], ["", "package:path/src/context.dart",, M, { "^": "", _validateArgList: function(method, args) { - var numArgs, i, numArgs0, message, t1, t2, t3, t4, t5; + var numArgs, i, numArgs0, message, t1, t2; for (numArgs = args.length, i = 1; i < numArgs; ++i) { if (args[i] == null || args[i - 1] != null) continue; @@ -13482,19 +13449,12 @@ message = new P.StringBuffer(""); t1 = method + "("; message._contents = t1; - t2 = H.setRuntimeTypeInfo(new H.SubListIterable(args, 0, numArgs), [H.getTypeArgumentByIndex(args, 0)]); - t3 = t2.__internal$_start; - t4 = J.getInterceptor$n(t3); - if (t4.$lt(t3, 0)) - H.throwExpression(P.RangeError$range(t3, 0, null, "start", null)); - t5 = t2._endOrLength; - if (t5 != null) { - if (J.$lt$n(t5, 0)) - H.throwExpression(P.RangeError$range(t5, 0, null, "end", null)); - if (t4.$gt(t3, t5)) - H.throwExpression(P.RangeError$range(t3, 0, t5, "start", null)); - } - t1 += H.setRuntimeTypeInfo(new H.MappedListIterable(t2, new F._validateArgList_closure()), [H.getRuntimeTypeArgument(t2, "ListIterable", 0), null]).join$1(0, ", "); + t2 = H.getTypeArgumentByIndex(args, 0); + if (numArgs < 0) + H.throwExpression(P.RangeError$range(numArgs, 0, null, "end", null)); + if (0 > numArgs) + H.throwExpression(P.RangeError$range(0, 0, numArgs, "start", null)); + t1 += new H.MappedListIterable(new H.SubListIterable(args, 0, numArgs, [t2]), new M._validateArgList_closure(), [t2, null]).join$1(0, ", "); message._contents = t1; message._contents = t1 + ("): part " + (i - 1) + " was null, but part " + i + " was not."); throw H.wrapException(P.ArgumentError$(message.toString$0(0))); @@ -13504,21 +13464,21 @@ "^": "Object;style,_context$_current", absolute$7: function(_, part1, part2, part3, part4, part5, part6, part7) { var t1; - F._validateArgList("absolute", [part1, part2, part3, part4, part5, part6, part7]); + M._validateArgList("absolute", [part1, part2, part3, part4, part5, part6, part7]); t1 = this.style; t1 = t1.rootLength$1(part1) > 0 && !t1.isRootRelative$1(part1); if (t1) return part1; t1 = this._context$_current; - return this.join$8(0, t1 != null ? t1 : B.current(), part1, part2, part3, part4, part5, part6, part7); + return this.join$8(0, t1 != null ? t1 : D.current(), part1, part2, part3, part4, part5, part6, part7); }, absolute$1: function($receiver, part1) { return this.absolute$7($receiver, part1, null, null, null, null, null, null); }, join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8) { var parts = H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, part6, part7, part8], [P.String]); - F._validateArgList("join", parts); - return this.joinAll$1(H.setRuntimeTypeInfo(new H.WhereIterable(parts, new F.Context_join_closure()), [H.getTypeArgumentByIndex(parts, 0)])); + M._validateArgList("join", parts); + return this.joinAll$1(new H.WhereIterable(parts, new M.Context_join_closure(), [H.getTypeArgumentByIndex(parts, 0)])); }, join$2: function($receiver, part1, part2) { return this.join$8($receiver, part1, part2, null, null, null, null, null, null); @@ -13526,56 +13486,56 @@ joinAll$1: function(parts) { var buffer, t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, part, parsed, t4, t5; buffer = new P.StringBuffer(""); - for (t1 = H.setRuntimeTypeInfo(new H.WhereIterable(parts, new F.Context_joinAll_closure()), [H.getRuntimeTypeArgument(parts, "Iterable", 0)]), t1 = H.setRuntimeTypeInfo(new H.WhereIterator(J.get$iterator$ax(t1._iterable), t1._f), [H.getTypeArgumentByIndex(t1, 0)]), t2 = this.style, t3 = t1._iterator, needsSeparator = false, isAbsoluteAndNotRootRelative = false; t1.moveNext$0();) { - part = t3.get$current(); - if (t2.isRootRelative$1(part) && isAbsoluteAndNotRootRelative) { - parsed = Q.ParsedPath_ParsedPath$parse(part, t2); + for (t1 = parts.get$iterator(parts), t2 = new H.WhereIterator(t1, new M.Context_joinAll_closure(), [H.getTypeArgumentByIndex(parts, 0)]), t3 = this.style, needsSeparator = false, isAbsoluteAndNotRootRelative = false; t2.moveNext$0();) { + part = t1.get$current(); + if (t3.isRootRelative$1(part) && isAbsoluteAndNotRootRelative) { + parsed = X.ParsedPath_ParsedPath$parse(part, t3); t4 = buffer._contents; t4 = t4.charCodeAt(0) == 0 ? t4 : t4; - t4 = C.JSString_methods.substring$2(t4, 0, t2.rootLength$1(t4)); + t4 = C.JSString_methods.substring$2(t4, 0, t3.rootLength$1(t4)); parsed.root = t4; - if (t2.needsSeparator$1(t4)) { + if (t3.needsSeparator$1(t4)) { t4 = parsed.separators; - t5 = t2.get$separator(); + t5 = t3.get$separator(); if (0 >= t4.length) return H.ioore(t4, 0); t4[0] = t5; } buffer._contents = ""; buffer._contents += parsed.toString$0(0); - } else if (t2.rootLength$1(part) > 0) { - isAbsoluteAndNotRootRelative = !t2.isRootRelative$1(part); + } else if (t3.rootLength$1(part) > 0) { + isAbsoluteAndNotRootRelative = !t3.isRootRelative$1(part); buffer._contents = ""; buffer._contents += H.S(part); } else { t4 = J.getInterceptor$asx(part); - if (!(J.$gt$n(t4.get$length(part), 0) && t2.containsSeparator$1(t4.$index(part, 0)) === true)) + if (!(J.$gt$n(t4.get$length(part), 0) && t3.containsSeparator$1(t4.$index(part, 0)) === true)) if (needsSeparator) - buffer._contents += t2.get$separator(); + buffer._contents += t3.get$separator(); buffer._contents += H.S(part); } - needsSeparator = t2.needsSeparator$1(part); + needsSeparator = t3.needsSeparator$1(part); } t1 = buffer._contents; return t1.charCodeAt(0) == 0 ? t1 : t1; }, split$1: function(_, path) { var parsed, t1, t2; - parsed = Q.ParsedPath_ParsedPath$parse(path, this.style); + parsed = X.ParsedPath_ParsedPath$parse(path, this.style); t1 = parsed.parts; - t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new F.Context_split_closure()), [H.getTypeArgumentByIndex(t1, 0)]); - t1 = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable", 0)); - parsed.parts = t1; - t2 = parsed.root; - if (t2 != null) - C.JSArray_methods.insert$2(t1, 0, t2); + t2 = H.getTypeArgumentByIndex(t1, 0); + t2 = P.List_List$from(new H.WhereIterable(t1, new M.Context_split_closure(), [t2]), true, t2); + parsed.parts = t2; + t1 = parsed.root; + if (t1 != null) + C.JSArray_methods.insert$2(t2, 0, t1); return parsed.parts; }, normalize$1: function(path) { var parsed; if (!this._needsNormalization$1(path)) return path; - parsed = Q.ParsedPath_ParsedPath$parse(path, this.style); + parsed = X.ParsedPath_ParsedPath$parse(path, this.style); parsed.normalize$0(); return parsed.toString$0(0); }, @@ -13627,33 +13587,24 @@ if (this.style.rootLength$1(path) <= 0) return this.normalize$1(path); t1 = this._context$_current; - from = t1 != null ? t1 : B.current(); + from = t1 != null ? t1 : D.current(); t1 = this.style; if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) return this.normalize$1(path); if (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) - throw H.wrapException(new E.PathException('Unable to find a path to "' + H.S(path) + '" from "' + H.S(from) + '".')); - fromParsed = Q.ParsedPath_ParsedPath$parse(from, t1); + 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(); - pathParsed = Q.ParsedPath_ParsedPath$parse(path, t1); + pathParsed = X.ParsedPath_ParsedPath$parse(path, t1); pathParsed.normalize$0(); t2 = fromParsed.parts; if (t2.length > 0 && J.$eq$(t2[0], ".")) return pathParsed.toString$0(0); if (!J.$eq$(fromParsed.root, pathParsed.root)) { t2 = fromParsed.root; - if (!(t2 == null || pathParsed.root == null)) { - t2 = J.toLowerCase$0$s(t2); - H.checkString("\\"); - t2 = H.stringReplaceAllUnchecked(t2, "/", "\\"); - t3 = J.toLowerCase$0$s(pathParsed.root); - H.checkString("\\"); - t3 = t2 !== H.stringReplaceAllUnchecked(t3, "/", "\\"); - t2 = t3; - } else - t2 = true; + t2 = t2 == null || pathParsed.root == null || !t1.pathsEqual$2(t2, pathParsed.root); } else t2 = false; if (t2) @@ -13662,7 +13613,7 @@ t2 = fromParsed.parts; if (t2.length > 0) { t3 = pathParsed.parts; - t2 = t3.length > 0 && J.$eq$(t2[0], t3[0]); + t2 = t3.length > 0 && t1.pathsEqual$2(t2[0], t3[0]); } else t2 = false; if (!t2) @@ -13674,7 +13625,7 @@ } t2 = fromParsed.parts; if (t2.length > 0 && J.$eq$(t2[0], "..")) - throw H.wrapException(new E.PathException('Unable to find a path to "' + H.S(path) + '" from "' + H.S(from) + '".')); + throw H.wrapException(new X.PathException('Unable to find a path to "' + H.S(path) + '" from "' + H.S(from) + '".')); C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fromParsed.parts.length, "..", false, null)); t2 = pathParsed.separators; if (0 >= t2.length) @@ -13709,7 +13660,7 @@ return t1.relativePathToUri$1(path); else { t2 = this._context$_current; - return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : B.current(), path)); + return t1.absolutePathToUri$1(this.join$2(0, t2 != null ? t2 : D.current(), path)); } }, prettyUri$1: function(uri) { @@ -13741,10 +13692,10 @@ }, static: { Context_Context: function(current, style) { - current = style == null ? B.current() : "."; + current = style == null ? D.current() : "."; if (style == null) style = $.$get$Style_platform(); - return new F.Context(style, current); + return new M.Context(style, current); } } }, @@ -13772,7 +13723,7 @@ return arg == null ? "null" : '"' + H.S(arg) + '"'; } } - }], ["path.internal_style", "package:path/src/internal_style.dart",, E, { + }], ["", "package:path/src/internal_style.dart",, B, { "^": "", InternalStyle: { "^": "Style;", @@ -13784,14 +13735,17 @@ }, relativePathToUri$1: function(path) { var segments, t1; - segments = F.Context_Context(null, this).split$1(0, path); + segments = M.Context_Context(null, this).split$1(0, path); t1 = J.getInterceptor$asx(path); if (this.isSeparator$1(t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)))) C.JSArray_methods.add$1(segments, ""); return P._Uri__Uri(null, null, null, segments, null, null, null, null, null); + }, + pathsEqual$2: function(path1, path2) { + return J.$eq$(path1, path2); } } - }], ["path.parsed_path", "package:path/src/parsed_path.dart",, Q, { + }], ["", "package:path/src/parsed_path.dart",, X, { "^": "", ParsedPath: { "^": "Object;style,root,isRootRelative,parts,separators", @@ -13817,14 +13771,15 @@ if (t2 > 0) t1[t2 - 1] = ""; }, - normalize$0: function() { - var newParts, t1, t2, leadingDoubles, _i, part, t3, newSeparators; - newParts = H.setRuntimeTypeInfo([], [P.String]); - for (t1 = this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { - part = t1[_i]; - t3 = J.getInterceptor(part); - if (!(t3.$eq(part, ".") || t3.$eq(part, ""))) - if (t3.$eq(part, "..")) + normalize$1$canonicalize: function(canonicalize) { + var t1, newParts, t2, t3, leadingDoubles, _i, part, t4, newSeparators; + t1 = P.String; + newParts = H.setRuntimeTypeInfo([], [t1]); + for (t2 = this.parts, t3 = t2.length, leadingDoubles = 0, _i = 0; _i < t2.length; t2.length === t3 || (0, H.throwConcurrentModificationError)(t2), ++_i) { + part = t2[_i]; + t4 = J.getInterceptor(part); + if (!(t4.$eq(part, ".") || t4.$eq(part, ""))) + if (t4.$eq(part, "..")) if (newParts.length > 0) newParts.pop(); else @@ -13836,7 +13791,7 @@ C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingDoubles, "..", false, null)); if (newParts.length === 0 && this.root == null) newParts.push("."); - newSeparators = P.List_List$generate(newParts.length, new Q.ParsedPath_normalize_closure(this), true, P.String); + newSeparators = P.List_List$generate(newParts.length, new X.ParsedPath_normalize_closure(this), true, t1); t1 = this.root; C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.length > 0 && this.style.needsSeparator$1(t1) ? this.style.get$separator() : ""); this.parts = newParts; @@ -13846,6 +13801,9 @@ this.root = J.replaceAll$2$s(t1, "/", "\\"); this.removeTrailingSeparators$0(); }, + normalize$0: function() { + return this.normalize$1$canonicalize(false); + }, toString$0: function(_) { var builder, t1, i; builder = new P.StringBuffer(""); @@ -13867,13 +13825,14 @@ }, static: { ParsedPath_ParsedPath$parse: function(path, style) { - var root, isRootRelative, parts, separators, t1, start, i, t2; + var root, isRootRelative, t1, parts, separators, start, i, t2; root = style.getRoot$1(path); isRootRelative = style.isRootRelative$1(path); if (root != null) path = J.substring$1$s(path, J.get$length$asx(root)); - parts = H.setRuntimeTypeInfo([], [P.String]); - separators = H.setRuntimeTypeInfo([], [P.String]); + t1 = [P.String]; + parts = H.setRuntimeTypeInfo([], t1); + separators = H.setRuntimeTypeInfo([], t1); t1 = J.getInterceptor$asx(path); if (t1.get$isNotEmpty(path) && style.isSeparator$1(t1.codeUnitAt$1(path, 0))) { separators.push(t1.$index(path, 0)); @@ -13905,7 +13864,7 @@ parts.push(t1.substring$1(path, start)); separators.push(""); } - return new Q.ParsedPath(style, root, isRootRelative, parts, separators); + return new X.ParsedPath(style, root, isRootRelative, parts, separators); } } }, @@ -13915,7 +13874,7 @@ return this.$this.style.get$separator(); } } - }], ["path.path_exception", "package:path/src/path_exception.dart",, E, { + }], ["", "package:path/src/path_exception.dart",, X, { "^": "", PathException: { "^": "Object;message>", @@ -13923,7 +13882,7 @@ return "PathException: " + this.message; } } - }], ["path.style", "package:path/src/style.dart",, S, { + }], ["", "package:path/src/style.dart",, O, { "^": "", Style__getPlatformStyle: function() { if (P.Uri_base().get$scheme() !== "file") @@ -13941,7 +13900,7 @@ return this.get$name(this); } } - }], ["path.style.posix", "package:path/src/style/posix.dart",, Z, { + }], ["", "package:path/src/style/posix.dart",, E, { "^": "", PosixStyle: { "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern", @@ -13974,7 +13933,7 @@ }, absolutePathToUri$1: function(path) { var parsed, t1; - parsed = Q.ParsedPath_ParsedPath$parse(path, this); + parsed = X.ParsedPath_ParsedPath$parse(path, this); t1 = parsed.parts; if (t1.length === 0) C.JSArray_methods.addAll$1(t1, ["", ""]); @@ -13983,7 +13942,7 @@ return P._Uri__Uri(null, null, null, parsed.parts, null, null, null, "file", null); } } - }], ["path.style.url", "package:path/src/style/url.dart",, E, { + }], ["", "package:path/src/style/url.dart",, F, { "^": "", UrlStyle: { "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern", @@ -14031,7 +13990,7 @@ return P.Uri_parse(path, 0, null); } } - }], ["path.style.windows", "package:path/src/style/windows.dart",, T, { + }], ["", "package:path/src/style/windows.dart",, L, { "^": "", WindowsStyle: { "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSeparatorPattern,rootPattern,relativeRootPattern", @@ -14102,10 +14061,10 @@ }, absolutePathToUri$1: function(path) { var parsed, t1, rootParts, t2; - parsed = Q.ParsedPath_ParsedPath$parse(path, this); + parsed = X.ParsedPath_ParsedPath$parse(path, this); if (J.startsWith$1$s(parsed.root, "\\\\")) { t1 = J.split$1$s(parsed.root, "\\"); - rootParts = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new T.WindowsStyle_absolutePathToUri_closure()), [H.getTypeArgumentByIndex(t1, 0)]); + rootParts = new H.WhereIterable(t1, new L.WindowsStyle_absolutePathToUri_closure(), [H.getTypeArgumentByIndex(t1, 0)]); C.JSArray_methods.insert$2(parsed.parts, 0, rootParts.get$last(rootParts)); if (parsed.get$hasTrailingSeparator()) C.JSArray_methods.add$1(parsed.parts, ""); @@ -14119,6 +14078,40 @@ C.JSArray_methods.insert$2(t1, 0, H.stringReplaceAllUnchecked(t2, "\\", "")); return P._Uri__Uri(null, null, null, parsed.parts, null, null, null, "file", null); } + }, + codeUnitsEqual$2: function(codeUnit1, codeUnit2) { + var upperCase1; + if (codeUnit1 === codeUnit2) + return true; + if (codeUnit1 === 47) + return codeUnit2 === 92; + if (codeUnit1 === 92) + return codeUnit2 === 47; + if ((codeUnit1 ^ codeUnit2) !== 32) + return false; + upperCase1 = codeUnit1 | 32; + return upperCase1 >= 97 && upperCase1 <= 122; + }, + pathsEqual$2: function(path1, path2) { + var t1, t2, i, t3; + if (path1 == null ? path2 == null : path1 === path2) + return true; + t1 = J.getInterceptor$asx(path1); + t2 = J.getInterceptor$asx(path2); + if (!J.$eq$(t1.get$length(path1), t2.get$length(path2))) + return false; + i = 0; + while (true) { + t3 = t1.get$length(path1); + if (typeof t3 !== "number") + return H.iae(t3); + if (!(i < t3)) + break; + if (!this.codeUnitsEqual$2(t1.codeUnitAt$1(path1, i), t2.codeUnitAt$1(path2, i))) + return false; + ++i; + } + return true; } }, WindowsStyle_absolutePathToUri_closure: { @@ -14136,19 +14129,21 @@ }, foldFrames$2$terse: function(predicate, terse) { var foldedTraces, nonEmptyTraces; - foldedTraces = H.setRuntimeTypeInfo(new H.MappedListIterable(this.traces, new U.Chain_foldFrames_closure(predicate, true)), [null, null]); - nonEmptyTraces = foldedTraces.super$Iterable$where(foldedTraces, new U.Chain_foldFrames_closure0(true)); + foldedTraces = new H.MappedListIterable(this.traces, new U.Chain_foldFrames_closure(predicate, true), [null, null]); + nonEmptyTraces = foldedTraces.super$Iterable$where(0, new U.Chain_foldFrames_closure0(true)); if (!nonEmptyTraces.get$iterator(nonEmptyTraces).moveNext$0() && !foldedTraces.get$isEmpty(foldedTraces)) return new U.Chain(P.List_List$unmodifiable([foldedTraces.get$last(foldedTraces)], Y.Trace)); return new U.Chain(P.List_List$unmodifiable(nonEmptyTraces, Y.Trace)); }, toTrace$0: function() { var t1 = this.traces; - return new Y.Trace(P.List_List$unmodifiable(H.setRuntimeTypeInfo(new H.ExpandIterable(t1, new U.Chain_toTrace_closure()), [H.getTypeArgumentByIndex(t1, 0), null]), A.Frame)); + return new Y.Trace(P.List_List$unmodifiable(new H.ExpandIterable(t1, new U.Chain_toTrace_closure(), [H.getTypeArgumentByIndex(t1, 0), null]), A.Frame)); }, toString$0: function(_) { - var t1 = this.traces; - return H.setRuntimeTypeInfo(new H.MappedListIterable(t1, new U.Chain_toString_closure(H.setRuntimeTypeInfo(new H.MappedListIterable(t1, new U.Chain_toString_closure0()), [null, null]).fold$2(0, 0, P.math__max$closure()))), [null, null]).join$1(0, "===== asynchronous gap ===========================\n"); + var t1, t2; + t1 = this.traces; + t2 = [null, null]; + return new H.MappedListIterable(t1, new U.Chain_toString_closure(new H.MappedListIterable(t1, new U.Chain_toString_closure0(), t2).fold$2(0, 0, P.math__max$closure())), t2).join$1(0, "===== asynchronous gap ===========================\n"); }, static: { Chain_Chain$parse: function(chain) { @@ -14157,7 +14152,7 @@ return new U.Chain(P.List_List$unmodifiable([], Y.Trace)); if (t1.contains$1(chain, "===== asynchronous gap ===========================\n") !== true) return new U.Chain(P.List_List$unmodifiable([Y.Trace_Trace$parse(chain)], Y.Trace)); - return new U.Chain(P.List_List$unmodifiable(H.setRuntimeTypeInfo(new H.MappedListIterable(t1.split$1(chain, "===== asynchronous gap ===========================\n"), new U.closure3()), [null, null]), Y.Trace)); + return new U.Chain(P.List_List$unmodifiable(new H.MappedListIterable(t1.split$1(chain, "===== asynchronous gap ===========================\n"), new U.closure3(), [null, null]), Y.Trace)); } } }, @@ -14200,7 +14195,7 @@ Chain_toString_closure0: { "^": "Closure:0;", call$1: function(trace) { - return H.setRuntimeTypeInfo(new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure0()), [null, null]).fold$2(0, 0, P.math__max$closure()); + return new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure0(), [null, null]).fold$2(0, 0, P.math__max$closure()); } }, Chain_toString__closure0: { @@ -14212,13 +14207,13 @@ Chain_toString_closure: { "^": "Closure:0;longest", call$1: function(trace) { - return H.setRuntimeTypeInfo(new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure(this.longest)), [null, null]).join$0(0); + return new H.MappedListIterable(trace.get$frames(), new U.Chain_toString__closure(this.longest), [null, null]).join$0(0); } }, Chain_toString__closure: { "^": "Closure:0;longest", call$1: function(frame) { - return H.S(B.padRight(J.get$location$x(frame), this.longest)) + " " + H.S(frame.get$member()) + "\n"; + return J.padRight$1$s(J.get$location$x(frame), this.longest) + " " + H.S(frame.get$member()) + "\n"; } } }], ["", "package:stack_trace/src/frame.dart",, A, { @@ -14496,26 +14491,29 @@ return this.foldFrames$2$terse(new Y.Trace_terse_closure(), true); }, foldFrames$2$terse: function(predicate, terse) { - var t1, newFrames, t2, frame; + var t1, t2, newFrames, t3, frame; t1 = {}; t1.predicate = predicate; t1.predicate = new Y.Trace_foldFrames_closure(predicate); - newFrames = H.setRuntimeTypeInfo([], [A.Frame]); - for (t2 = this.frames, t2 = H.setRuntimeTypeInfo(new H.ReversedListIterable(t2), [H.getTypeArgumentByIndex(t2, 0)]), t2 = new H.ListIterator(t2, t2.get$length(t2), 0, null); t2.moveNext$0();) { - frame = t2._current; + t2 = A.Frame; + newFrames = H.setRuntimeTypeInfo([], [t2]); + for (t3 = this.frames, t3 = new H.ReversedListIterable(t3, [H.getTypeArgumentByIndex(t3, 0)]), t3 = new H.ListIterator(t3, t3.get$length(t3), 0, null); t3.moveNext$0();) { + frame = t3._current; if (frame instanceof N.UnparsedFrame || t1.predicate.call$1(frame) !== true) newFrames.push(frame); else if (newFrames.length === 0 || t1.predicate.call$1(C.JSArray_methods.get$last(newFrames)) !== true) newFrames.push(new A.Frame(frame.get$uri(), frame.get$line(), frame.get$column(), frame.get$member())); } - newFrames = H.setRuntimeTypeInfo(new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(t1)), [null, null]).toList$0(0); + newFrames = new H.MappedListIterable(newFrames, new Y.Trace_foldFrames_closure0(t1), [null, null]).toList$0(0); if (newFrames.length > 1 && C.JSArray_methods.get$first(newFrames).get$isCore()) C.JSArray_methods.removeAt$1(newFrames, 0); - return new Y.Trace(P.List_List$unmodifiable(H.setRuntimeTypeInfo(new H.ReversedListIterable(newFrames), [H.getTypeArgumentByIndex(newFrames, 0)]), A.Frame)); + return new Y.Trace(P.List_List$unmodifiable(new H.ReversedListIterable(newFrames, [H.getTypeArgumentByIndex(newFrames, 0)]), t2)); }, toString$0: function(_) { - var t1 = this.frames; - return H.setRuntimeTypeInfo(new H.MappedListIterable(t1, new Y.Trace_toString_closure(H.setRuntimeTypeInfo(new H.MappedListIterable(t1, new Y.Trace_toString_closure0()), [null, null]).fold$2(0, 0, P.math__max$closure()))), [null, null]).join$0(0); + var t1, t2; + t1 = this.frames; + t2 = [null, null]; + return new H.MappedListIterable(t1, new Y.Trace_toString_closure(new H.MappedListIterable(t1, new Y.Trace_toString_closure0(), t2).fold$2(0, 0, P.math__max$closure())), t2).join$0(0); }, $isStackTrace: 1, static: { @@ -14533,27 +14531,29 @@ Trace_Trace$parse: function(trace) { var error, t1, exception; try { - if (J.get$isEmpty$asx(trace) === true) { - t1 = P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [A.Frame]), A.Frame); + t1 = J.getInterceptor$asx(trace); + if (t1.get$isEmpty(trace) === true) { + t1 = A.Frame; + t1 = P.List_List$unmodifiable(H.setRuntimeTypeInfo([], [t1]), t1); return new Y.Trace(t1); } - if (J.contains$1$asx(trace, $.$get$_v8Trace()) === true) { + if (t1.contains$1(trace, $.$get$_v8Trace()) === true) { t1 = Y.Trace$parseV8(trace); return t1; } - if (J.contains$1$asx(trace, "\tat ") === true) { + if (t1.contains$1(trace, "\tat ") === true) { t1 = Y.Trace$parseJSCore(trace); return t1; } - if (J.contains$1$asx(trace, $.$get$_firefoxSafariTrace()) === true) { + if (t1.contains$1(trace, $.$get$_firefoxSafariTrace()) === true) { t1 = Y.Trace$parseFirefox(trace); return t1; } - if (J.contains$1$asx(trace, "===== asynchronous gap ===========================\n") === true) { + if (t1.contains$1(trace, "===== asynchronous gap ===========================\n") === true) { t1 = U.Chain_Chain$parse(trace).toTrace$0(); return t1; } - if (J.contains$1$asx(trace, $.$get$_friendlyTrace()) === true) { + if (t1.contains$1(trace, $.$get$_friendlyTrace()) === true) { t1 = Y.Trace$parseFriendly(trace); return t1; } @@ -14572,35 +14572,38 @@ var lines, t1, $frames; lines = J.trim$0$s(trace).split("\n"); t1 = H.SubListIterable$(lines, 0, lines.length - 1, H.getTypeArgumentByIndex(lines, 0)); - $frames = H.setRuntimeTypeInfo(new H.MappedListIterable(t1, new Y.Trace__parseVM_closure()), [H.getRuntimeTypeArgument(t1, "ListIterable", 0), null]).toList$0(0); + $frames = new H.MappedListIterable(t1, new Y.Trace__parseVM_closure(), [H.getTypeArgumentByIndex(t1, 0), null]).toList$0(0); if (!J.endsWith$1$s(C.JSArray_methods.get$last(lines), ".da")) C.JSArray_methods.add$1($frames, A.Frame_Frame$parseVM(C.JSArray_methods.get$last(lines))); return $frames; }, Trace$parseV8: function(trace) { var t1 = J.split$1$s(trace, "\n"); - t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)); - t1 = t1.super$Iterable$skipWhile(t1, new Y.Trace$parseV8_closure()); - return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), H.getRuntimeTypeArgument(t1, "Iterable", 0), null), A.Frame)); + t1 = H.SubListIterable$(t1, 1, null, H.getTypeArgumentByIndex(t1, 0)).super$Iterable$skipWhile(0, new Y.Trace$parseV8_closure()); + return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseV8_closure0(), H.getTypeArgumentByIndex(t1, 0), null), A.Frame)); }, Trace$parseJSCore: function(trace) { - var t1 = J.split$1$s(trace, "\n"); - t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new Y.Trace$parseJSCore_closure()), [H.getTypeArgumentByIndex(t1, 0)]); - return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseJSCore_closure0(), H.getRuntimeTypeArgument(t1, "Iterable", 0), null), A.Frame)); + var t1, t2; + t1 = J.split$1$s(trace, "\n"); + t2 = H.getTypeArgumentByIndex(t1, 0); + return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseJSCore_closure(), [t2]), new Y.Trace$parseJSCore_closure0(), [t2, null]), A.Frame)); }, Trace$parseFirefox: function(trace) { - var t1 = J.trim$0$s(trace).split("\n"); - t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new Y.Trace$parseFirefox_closure()), [H.getTypeArgumentByIndex(t1, 0)]); - return new Y.Trace(P.List_List$unmodifiable(H.MappedIterable_MappedIterable(t1, new Y.Trace$parseFirefox_closure0(), H.getRuntimeTypeArgument(t1, "Iterable", 0), null), A.Frame)); + var t1, t2; + t1 = J.trim$0$s(trace).split("\n"); + t2 = H.getTypeArgumentByIndex(t1, 0); + return new Y.Trace(P.List_List$unmodifiable(new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseFirefox_closure(), [t2]), new Y.Trace$parseFirefox_closure0(), [t2, null]), A.Frame)); }, Trace$parseFriendly: function(trace) { - var t1 = J.getInterceptor$asx(trace); + var t1, t2; + t1 = J.getInterceptor$asx(trace); if (t1.get$isEmpty(trace) === true) t1 = []; else { t1 = t1.trim$0(trace).split("\n"); - t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new Y.Trace$parseFriendly_closure()), [H.getTypeArgumentByIndex(t1, 0)]); - t1 = H.MappedIterable_MappedIterable(t1, new Y.Trace$parseFriendly_closure0(), H.getRuntimeTypeArgument(t1, "Iterable", 0), null); + t2 = H.getTypeArgumentByIndex(t1, 0); + t2 = new H.MappedIterable(new H.WhereIterable(t1, new Y.Trace$parseFriendly_closure(), [t2]), new Y.Trace$parseFriendly_closure0(), [t2, null]); + t1 = t2; } return new Y.Trace(P.List_List$unmodifiable(t1, A.Frame)); } @@ -14707,7 +14710,7 @@ var t1 = J.getInterceptor(frame); if (!!t1.$isUnparsedFrame) return H.S(frame) + "\n"; - return H.S(B.padRight(t1.get$location(frame), this.longest)) + " " + H.S(frame.get$member()) + "\n"; + return J.padRight$1$s(t1.get$location(frame), this.longest) + " " + H.S(frame.get$member()) + "\n"; } } }], ["", "package:stack_trace/src/unparsed_frame.dart",, N, { @@ -14718,42 +14721,19 @@ return this.member; } } - }], ["", "package:stack_trace/src/utils.dart",, B, { - "^": "", - padRight: function(string, $length) { - var t1, result, t2, i, t3; - t1 = J.getInterceptor$asx(string); - if (J.$ge$n(t1.get$length(string), $length)) - return string; - result = new P.StringBuffer(""); - result._contents = H.S(string); - t2 = J.getInterceptor$n($length); - i = 0; - while (true) { - t3 = t2.$sub($length, t1.get$length(string)); - if (typeof t3 !== "number") - return H.iae(t3); - if (!(i < t3)) - break; - result._contents += " "; - ++i; - } - t1 = result._contents; - return t1.charCodeAt(0) == 0 ? t1 : t1; - } }], ["", "package:stream_channel/src/guarantee_channel.dart",, K, { "^": "", GuaranteeChannel: { - "^": "StreamChannelMixin;_sink,_streamController,_guarantee_channel$_subscription,_disconnected", + "^": "StreamChannelMixin;_sink,_streamController,_subscription,_disconnected,$ti", _onSinkDisconnected$0: function() { this._disconnected = true; - var t1 = this._guarantee_channel$_subscription; + var t1 = this._subscription; if (t1 != null) t1.cancel$0(); this._streamController.close$0(0); }, GuaranteeChannel$3$allowSinkErrors: function(innerSink, allowSinkErrors, _box_0, $T) { - this._sink = H.setRuntimeTypeInfo(new K._GuaranteeSink(innerSink, this, H.setRuntimeTypeInfo(new P._AsyncCompleter(H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null])), [null]), false, false, null, null, true), [$T]); + this._sink = new K._GuaranteeSink(innerSink, this, new P._AsyncCompleter(new P._Future(0, $.Zone__current, null, [null]), [null]), false, false, null, null, true, [$T]); this._streamController = P.StreamController_StreamController(null, new K.GuaranteeChannel_closure(_box_0, this), null, null, true, $T); }, static: { @@ -14761,7 +14741,7 @@ var t1, t2; t1 = {}; t1.innerStream = innerStream; - t2 = H.setRuntimeTypeInfo(new K.GuaranteeChannel(null, null, null, false), [$T]); + t2 = new K.GuaranteeChannel(null, null, null, false, [$T]); t2.GuaranteeChannel$3$allowSinkErrors(innerSink, true, t1, $T); return t2; } @@ -14776,7 +14756,7 @@ return; t2 = this._box_0.innerStream; t3 = t1._streamController; - t1._guarantee_channel$_subscription = t2.listen$3$onDone$onError(t3.get$add(t3), new K.GuaranteeChannel__closure(t1), t1._streamController.get$addError()); + t1._subscription = t2.listen$3$onDone$onError(t3.get$add(t3), new K.GuaranteeChannel__closure(t1), t1._streamController.get$addError()); } }, GuaranteeChannel__closure: { @@ -14788,7 +14768,7 @@ } }, _GuaranteeSink: { - "^": "Object;_guarantee_channel$_inner,_channel,_doneCompleter,_disconnected,_closed,_addStreamSubscription,_addStreamCompleter,_allowErrors", + "^": "Object;_guarantee_channel$_inner,_channel,_doneCompleter,_disconnected,_closed,_addStreamSubscription,_addStreamCompleter,_allowErrors,$ti", add$1: function(_, data) { var t1; if (this._closed) @@ -14826,11 +14806,11 @@ if (this._addStreamSubscription != null) throw H.wrapException(new P.StateError("Cannot add stream while adding stream.")); if (this._disconnected) { - t1 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); + t1 = new P._Future(0, $.Zone__current, null, [null]); t1._asyncComplete$1(null); return t1; } - this._addStreamCompleter = H.setRuntimeTypeInfo(new P._SyncCompleter(H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null])), [null]); + 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(); @@ -14893,10 +14873,9 @@ t2 = inputId; } if (this._multi_channel$_inner == null) { - t1 = H.setRuntimeTypeInfo(new P._EmptyStream(), [null]); - t3 = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null]); - t3._asyncComplete$1(null); - return new D.VirtualChannel(this, t2, t1, H.setRuntimeTypeInfo(new S.NullStreamSink(t3, false, false), [null])); + t1 = new P._Future(0, $.Zone__current, null, [null]); + t1._asyncComplete$1(null); + return new D.VirtualChannel(this, t2, new P._EmptyStream([null]), new S.NullStreamSink(t1, false, false, [null])); } t3 = this._controllers; if (t3.containsKey$1(t2)) @@ -14905,11 +14884,12 @@ t3.$indexSet(0, t2, controller); t2 = controller._local._streamController; t2.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t2), [H.getTypeArgumentByIndex(t2, 0)]).listen$2$onDone(new D._MultiChannel_virtualChannel_closure(t1, this), new D._MultiChannel_virtualChannel_closure0(t1, this)); + new P._ControllerStream(t2, [H.getTypeArgumentByIndex(t2, 0)]).listen$2$onDone(new D._MultiChannel_virtualChannel_closure(t1, this), new D._MultiChannel_virtualChannel_closure0(t1, this)); t1 = t1.outputId; - t2 = controller._foreign._streamController; - t2.toString; - return new D.VirtualChannel(this, t1, H.setRuntimeTypeInfo(new P._ControllerStream(t2), [H.getTypeArgumentByIndex(t2, 0)]), controller._foreign._sink); + t2 = controller._foreign; + t3 = t2._streamController; + t3.toString; + return new D.VirtualChannel(this, t1, new P._ControllerStream(t3, [H.getTypeArgumentByIndex(t3, 0)]), t2._sink); }, _closeChannel$2: function(inputId, outputId) { var t1, t2; @@ -14937,10 +14917,10 @@ this._controllers.$indexSet(0, 0, t1); t2 = t1._local._streamController; t2.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t2), [H.getTypeArgumentByIndex(t2, 0)]).listen$2$onDone(new D._MultiChannel_closure(this), new D._MultiChannel_closure0(this)); + new P._ControllerStream(t2, [H.getTypeArgumentByIndex(t2, 0)]).listen$2$onDone(new D._MultiChannel_closure(this), new D._MultiChannel_closure0(this)); t2 = this._multi_channel$_inner._streamController; t2.toString; - this._innerStreamSubscription = H.setRuntimeTypeInfo(new P._ControllerStream(t2), [H.getTypeArgumentByIndex(t2, 0)]).listen$3$onDone$onError(new D._MultiChannel_closure1(this), this.get$_closeInnerChannel(), t1._local._sink.get$addError()); + this._innerStreamSubscription = new P._ControllerStream(t2, [H.getTypeArgumentByIndex(t2, 0)]).listen$3$onDone$onError(new D._MultiChannel_closure1(this), this.get$_closeInnerChannel(), t1._local._sink.get$addError()); }, static: { _MultiChannel$: function(_inner) { @@ -14996,20 +14976,22 @@ }], ["", "package:stream_channel/src/stream_channel_controller.dart",, B, { "^": "", StreamChannelController: { - "^": "Object;_local,_foreign", + "^": "Object;_local,_foreign,$ti", get$local: function() { return this._local; }, StreamChannelController$2$allowForeignErrors$sync: function(allowForeignErrors, sync, $T) { - var localToForeignController, foreignToLocalController; + var localToForeignController, foreignToLocalController, t1, t2; localToForeignController = P.StreamController_StreamController(null, null, null, null, true, $T); foreignToLocalController = P.StreamController_StreamController(null, null, null, null, true, $T); - this._local = K.GuaranteeChannel$(H.setRuntimeTypeInfo(new P._ControllerStream(foreignToLocalController), [H.getTypeArgumentByIndex(foreignToLocalController, 0)]), H.setRuntimeTypeInfo(new P._StreamSinkWrapper(localToForeignController), [H.getTypeArgumentByIndex(localToForeignController, 0)]), true, null); - this._foreign = K.GuaranteeChannel$(H.setRuntimeTypeInfo(new P._ControllerStream(localToForeignController), [H.getTypeArgumentByIndex(localToForeignController, 0)]), H.setRuntimeTypeInfo(new P._StreamSinkWrapper(foreignToLocalController), [H.getTypeArgumentByIndex(foreignToLocalController, 0)]), true, null); + t1 = H.getTypeArgumentByIndex(foreignToLocalController, 0); + t2 = H.getTypeArgumentByIndex(localToForeignController, 0); + this._local = K.GuaranteeChannel$(new P._ControllerStream(foreignToLocalController, [t1]), new P._StreamSinkWrapper(localToForeignController, [t2]), true, null); + this._foreign = K.GuaranteeChannel$(new P._ControllerStream(localToForeignController, [t2]), new P._StreamSinkWrapper(foreignToLocalController, [t1]), true, null); }, static: { StreamChannelController$: function(allowForeignErrors, sync, $T) { - var t1 = H.setRuntimeTypeInfo(new B.StreamChannelController(null, null), [$T]); + var t1 = new B.StreamChannelController(null, null, [$T]); t1.StreamChannelController$2$allowForeignErrors$sync(true, true, $T); return t1; } @@ -15026,17 +15008,21 @@ var t1 = self.testRunner; if (!(t1 == null)) J.waitUntilDone$0$x(t1); + if (J.$eq$($.$get$_currentUrl().get$queryParameters().$index(0, "debug"), "true")) { + t1 = document.body; + t1.toString; + W._ElementCssClassSet__add(t1, "debug"); + } P.runZoned(new M.main_closure(), new M.main_closure0(), null, null); }, "call$0", "host__main$closure", 0, 0, 2], _connectToServer: function() { var webSocket, controller, t1; - webSocket = W.WebSocket_WebSocket(P.Uri_parse(window.location.href, 0, null).get$queryParameters().$index(0, "managerUrl"), null); + webSocket = W.WebSocket_WebSocket($.$get$_currentUrl().get$queryParameters().$index(0, "managerUrl"), null); controller = B.StreamChannelController$(true, true, null); - t1 = H.setRuntimeTypeInfo(new W._EventStream(webSocket, "message", false), [H.getTypeArgumentByIndex(C.EventStreamProvider_message, 0)]); - H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new M._connectToServer_closure(controller)), false), [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); + new W._EventStreamSubscription(0, webSocket, "message", W._wrapZone(new M._connectToServer_closure(controller)), false, [W.MessageEvent])._tryResume$0(); t1 = controller._local._streamController; t1.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t1), [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M._connectToServer_closure0(webSocket)); + new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M._connectToServer_closure0(webSocket)); return D._MultiChannel$(controller._foreign); }, _connectToIframe: function(url, id) { @@ -15047,12 +15033,11 @@ J.set$src$x(iframe, url); document.body.appendChild(iframe); controller = B.StreamChannelController$(true, true, null); - readyCompleter = H.setRuntimeTypeInfo(new P._AsyncCompleter(H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [null])), [null]); - t1 = H.setRuntimeTypeInfo(new W._EventStream(window, "message", false), [H.getTypeArgumentByIndex(C.EventStreamProvider_message, 0)]); - H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new M._connectToIframe_closure(iframe, controller, readyCompleter)), false), [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); + readyCompleter = new P._AsyncCompleter(new P._Future(0, $.Zone__current, null, [null]), [null]); + new W._EventStreamSubscription(0, window, "message", W._wrapZone(new M._connectToIframe_closure(iframe, controller, readyCompleter)), false, [W.MessageEvent])._tryResume$0(); t1 = controller._local._streamController; t1.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t1), [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M._connectToIframe_closure0(iframe, readyCompleter)); + new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M._connectToIframe_closure0(iframe, readyCompleter)); return controller._foreign; }, _TestRunner: { @@ -15066,10 +15051,10 @@ serverChannel = M._connectToServer(); t1 = serverChannel._mainController._foreign._streamController; t1.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t1), [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M.main__closure(serverChannel)); + new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).listen$1(new M.main__closure(serverChannel)); 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")); - H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new M.main__closure1(serverChannel)), false), [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); + new W._EventStreamSubscription(0, t1._html$_target, t1._eventType, W._wrapZone(new M.main__closure1(serverChannel)), false, [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); } }, main__closure: { @@ -15083,7 +15068,7 @@ suiteChannel.stream.pipe$1(iframeChannel._sink); t1 = iframeChannel._streamController; t1.toString; - H.setRuntimeTypeInfo(new P._ControllerStream(t1), [H.getTypeArgumentByIndex(t1, 0)]).pipe$1(suiteChannel.sink); + new P._ControllerStream(t1, [H.getTypeArgumentByIndex(t1, 0)]).pipe$1(suiteChannel.sink); } else if (J.$eq$(t1.$index(message, "command"), "displayPause")) { t1 = document.body; t1.toString; @@ -15168,13 +15153,13 @@ t2 = window.location; J.postMessage$2$x(t1, message, (t2 && C.Location_methods).get$origin(t2)); // implicit return - return P._asyncHelper(null, 0, $async$completer, null); + return P._asyncHelper(null, 0, $async$completer); case 1: // rethrow return P._asyncHelper($async$currentError, 1, $async$completer); } }); - return P._asyncHelper(null, $async$call$1, $async$completer, null); + return P._asyncHelper(null, $async$call$1, $async$completer); } } }, 1]]; @@ -15400,6 +15385,9 @@ J.matchAsPrefix$2$s = function(receiver, a0, a1) { return J.getInterceptor$s(receiver).matchAsPrefix$2(receiver, a0, a1); }; + J.padRight$1$s = function(receiver, a0) { + return J.getInterceptor$s(receiver).padRight$1(receiver, a0); + }; J.postMessage$2$x = function(receiver, a0, a1) { return J.getInterceptor$x(receiver).postMessage$2(receiver, a0, a1); }; @@ -15433,9 +15421,6 @@ J.substring$2$s = function(receiver, a0, a1) { return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1); }; - J.toLowerCase$0$s = function(receiver) { - return J.getInterceptor$s(receiver).toLowerCase$0(receiver); - }; J.toRadixString$1$n = function(receiver, a0) { return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0); }; @@ -15474,6 +15459,7 @@ C.NativeUint8List_methods = H.NativeUint8List.prototype; C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; + C.Window_methods = W.Window.prototype; C.C_DynamicRuntimeType = new H.DynamicRuntimeType(); C.C_EmptyIterator = new H.EmptyIterator(); C.C_OutOfMemoryError = new P.OutOfMemoryError(); @@ -15481,8 +15467,6 @@ C.C__DelayedDone = new P._DelayedDone(); C.C__RootZone = new P._RootZone(); C.Duration_0 = new P.Duration(0); - C.EventStreamProvider_click = H.setRuntimeTypeInfo(new W.EventStreamProvider("click"), [W.MouseEvent]); - C.EventStreamProvider_message = H.setRuntimeTypeInfo(new W.EventStreamProvider("message"), [W.MessageEvent]); C.JS_CONST_0 = function(hooks) { if (typeof dartExperimentalFixupGetTag != "function") return hooks; hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); @@ -15632,7 +15616,7 @@ 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 = H.setRuntimeTypeInfo(new H.ConstantStringMap(0, {}, C.List_empty), [P.String, P.String]); + C.Map_empty = new H.ConstantStringMap(0, {}, C.List_empty, [P.String, P.String]); 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()); @@ -15772,17 +15756,17 @@ }, "_Uri__needsNoEncoding", "_scannerTables", "$get$_scannerTables", function() { return P._createTables(); }, "_scannerTables", "windows", "$get$windows", function() { - return F.Context_Context(null, $.$get$Style_windows()); + return M.Context_Context(null, $.$get$Style_windows()); }, "windows", "context", "$get$context", function() { - return new F.Context($.$get$Style_platform(), null); + return new M.Context($.$get$Style_platform(), null); }, "context", "Style_posix", "$get$Style_posix", function() { - return new Z.PosixStyle("posix", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("[^/]$", true, false), P.RegExp_RegExp("^/", true, false), null); + return new E.PosixStyle("posix", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("[^/]$", true, false), P.RegExp_RegExp("^/", true, false), null); }, "Style_posix", "Style_windows", "$get$Style_windows", function() { - return new T.WindowsStyle("windows", "\\", C.List_WnV, P.RegExp_RegExp("[/\\\\]", true, false), P.RegExp_RegExp("[^/\\\\]$", true, false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false)); + return new L.WindowsStyle("windows", "\\", C.List_WnV, P.RegExp_RegExp("[/\\\\]", true, false), P.RegExp_RegExp("[^/\\\\]$", true, false), P.RegExp_RegExp("^(\\\\\\\\[^\\\\]+\\\\[^\\\\/]+|[a-zA-Z]:[/\\\\])", true, false), P.RegExp_RegExp("^[/\\\\](?![/\\\\])", true, false)); }, "Style_windows", "Style_url", "$get$Style_url", function() { - return new E.UrlStyle("url", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), P.RegExp_RegExp("^/", true, false)); + return new F.UrlStyle("url", "/", C.List_cSk, P.RegExp_RegExp("/", true, false), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), P.RegExp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), P.RegExp_RegExp("^/", true, false)); }, "Style_url", "Style_platform", "$get$Style_platform", function() { - return S.Style__getPlatformStyle(); + return O.Style__getPlatformStyle(); }, "Style_platform", "_vmFrame", "$get$_vmFrame", function() { return P.RegExp_RegExp("^#\\d+\\s+(\\S.*) \\((.+?)((?::\\d+){0,2})\\)$", true, false); }, "_vmFrame", "_v8Frame", "$get$_v8Frame", function() { @@ -15815,11 +15799,13 @@ return P.RegExp_RegExp("^[^\\s]+( \\d+(:\\d+)?)?[ \\t]+[^\\s]+$", true, true); }, "_friendlyTrace", "_iframes", "$get$_iframes", function() { return H.JsLinkedHashMap_JsLinkedHashMap$es6(P.$int, W.IFrameElement); - }, "_iframes"]); + }, "_iframes", "_currentUrl", "$get$_currentUrl", function() { + return P.Uri_parse(C.Window_methods.get$location(W.window()).href, 0, null); + }, "_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, v: true, args: [P.Object], opt: [P.StackTrace]}, {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, 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, v: true, opt: [,]}, {func: 1, args: [P.String]}, {func: 1, args: [{func: 1, v: true}]}, {func: 1, args: [P.bool]}, {func: 1, args: [, P.String]}, {func: 1, args: [,], opt: [,]}, {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: {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: P.AsyncError, args: [P.Zone, P.Object, P.StackTrace]}, {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, v: true, args: [P.$int, P.$int]}]; + 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]}]; function convertToFastObject(properties) { function MyClass() { } diff --git a/lib/src/runner/browser/static/index.html b/lib/src/runner/browser/static/index.html index c0da83e2..69617fad 100644 --- a/lib/src/runner/browser/static/index.html +++ b/lib/src/runner/browser/static/index.html @@ -5,8 +5,7 @@ <link rel="stylesheet" type="text/css" href="host.css" /> </head> <body> - <svg version="1.1" x="0px" y="0px" width="400px" height="400px" - viewBox="0 0 400 400"> + <svg id="dart" version="1.1" x="0px" y="0px" width="400px" height="400px" viewBox="0 0 400 400"> <path id="right-flank" fill="#0083C9" d="M249.379,226.486l-6.676,15.572L166.174,166h58.82c0,0,2.807-0.409,3.645,1.966L249.379,226.486z"/> <path id="right-ear" fill="#00D2B8" d="M201.84,141.906L166.174,166h58.82c0,0,2.168-0.25,2.645,0.566l-2.694-8.848l-15.024-14.68C207.555,140.329,203.578,140.744,201.84,141.906z"/> <path id="left-flank" fill="#00D2B8" d="M242.616,241.856l-15.022,6.799l-60.493-21.429c-1.035-0.395-1.101-3.696-1.101-3.696v-57.932L242.616,241.856z"/> diff --git a/pubspec.yaml b/pubspec.yaml index b39ae027..4e0529d9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,5 +1,5 @@ name: test -version: 0.12.15+10 +version: 0.12.15+11 author: Dart Team <misc@dartlang.org> description: A library for writing dart unit tests. homepage: https://github.com/dart-lang/test -- GitLab