| OLD | NEW |
| (Empty) |
| 1 // Generated by dart2js, the Dart to JavaScript compiler version: 1.13.0-dev.3.1
. | |
| 2 // The code supports the following hooks: | |
| 3 // dartPrint(message): | |
| 4 // if this function is defined it is called instead of the Dart [print] | |
| 5 // method. | |
| 6 // | |
| 7 // dartMainRunner(main, args): | |
| 8 // if this function is defined, the Dart [main] method will not be invoked | |
| 9 // directly. Instead, a closure that will invoke [main], and its arguments | |
| 10 // [args] is passed to [dartMainRunner]. | |
| 11 // | |
| 12 // dartDeferredLibraryLoader(uri, successCallback, errorCallback): | |
| 13 // if this function is defined, it will be called when a deferered library | |
| 14 // is loaded. It should load and eval the javascript of `uri`, and call | |
| 15 // successCallback. If it fails to do so, it should call errorCallback with | |
| 16 // an error. | |
| 17 (function() { | |
| 18 // /* ::norenaming:: */ | |
| 19 var supportsDirectProtoAccess = function() { | |
| 20 var cls = function() { | |
| 21 }; | |
| 22 cls.prototype = {p: {}}; | |
| 23 var object = new cls(); | |
| 24 return object.__proto__ && object.__proto__.p === cls.prototype.p; | |
| 25 }(); | |
| 26 function map(x) { | |
| 27 x = Object.create(null); | |
| 28 x.x = 0; | |
| 29 delete x.x; | |
| 30 return x; | |
| 31 } | |
| 32 // The global objects start as so-called "slow objects". For V8, this | |
| 33 // means that it won't try to make map transitions as we add properties | |
| 34 // to these objects. Later on, we attempt to turn these objects into | |
| 35 // fast objects by calling "convertToFastObject" (see | |
| 36 // [emitConvertToFastObjectFunction]). | |
| 37 var A = map(); | |
| 38 var B = map(); | |
| 39 var C = map(); | |
| 40 var D = map(); | |
| 41 var E = map(); | |
| 42 var F = map(); | |
| 43 var G = map(); | |
| 44 var H = map(); | |
| 45 var J = map(); | |
| 46 var K = map(); | |
| 47 var L = map(); | |
| 48 var M = map(); | |
| 49 var N = map(); | |
| 50 var O = map(); | |
| 51 var P = map(); | |
| 52 var Q = map(); | |
| 53 var R = map(); | |
| 54 var S = map(); | |
| 55 var T = map(); | |
| 56 var U = map(); | |
| 57 var V = map(); | |
| 58 var W = map(); | |
| 59 var X = map(); | |
| 60 var Y = map(); | |
| 61 var Z = map(); | |
| 62 function Isolate() { | |
| 63 } | |
| 64 init(); | |
| 65 // Constructors are generated at runtime. | |
| 66 function setupProgram(programData, typesOffset) { | |
| 67 "use strict"; | |
| 68 function generateAccessor(fieldDescriptor, accessors, cls) { | |
| 69 var fieldInformation = fieldDescriptor.split("-"); | |
| 70 var field = fieldInformation[0]; | |
| 71 var len = field.length; | |
| 72 var code = field.charCodeAt(len - 1); | |
| 73 var reflectable; | |
| 74 if (fieldInformation.length > 1) | |
| 75 reflectable = true; | |
| 76 else | |
| 77 reflectable = false; | |
| 78 code = code >= 60 && code <= 64 ? code - 59 : code >= 123 && code <= 126 ?
code - 117 : code >= 37 && code <= 43 ? code - 27 : 0; | |
| 79 if (code) { | |
| 80 var getterCode = code & 3; | |
| 81 var setterCode = code >> 2; | |
| 82 var accessorName = field = field.substring(0, len - 1); | |
| 83 var divider = field.indexOf(":"); | |
| 84 if (divider > 0) { | |
| 85 accessorName = field.substring(0, divider); | |
| 86 field = field.substring(divider + 1); | |
| 87 } | |
| 88 if (getterCode) { | |
| 89 var args = getterCode & 2 ? "receiver" : ""; | |
| 90 var receiver = getterCode & 1 ? "this" : "receiver"; | |
| 91 var body = "return " + receiver + "." + field; | |
| 92 var property = cls + ".prototype.get$" + accessorName + "="; | |
| 93 var fn = "function(" + args + "){" + body + "}"; | |
| 94 if (reflectable) | |
| 95 accessors.push(property + "$reflectable(" + fn + ");\n"); | |
| 96 else | |
| 97 accessors.push(property + fn + ";\n"); | |
| 98 } | |
| 99 if (setterCode) { | |
| 100 var args = setterCode & 2 ? "receiver, value" : "value"; | |
| 101 var receiver = setterCode & 1 ? "this" : "receiver"; | |
| 102 var body = receiver + "." + field + " = value"; | |
| 103 var property = cls + ".prototype.set$" + accessorName + "="; | |
| 104 var fn = "function(" + args + "){" + body + "}"; | |
| 105 if (reflectable) | |
| 106 accessors.push(property + "$reflectable(" + fn + ");\n"); | |
| 107 else | |
| 108 accessors.push(property + fn + ";\n"); | |
| 109 } | |
| 110 } | |
| 111 return field; | |
| 112 } | |
| 113 function defineClass(name, fields) { | |
| 114 var accessors = []; | |
| 115 var str = "function " + name + "("; | |
| 116 var body = ""; | |
| 117 var fieldNames = ""; | |
| 118 for (var i = 0; i < fields.length; i++) { | |
| 119 if (i != 0) | |
| 120 str += ", "; | |
| 121 var field = generateAccessor(fields[i], accessors, name); | |
| 122 fieldNames += "'" + field + "',"; | |
| 123 var parameter = "p_" + field; | |
| 124 str += parameter; | |
| 125 body += "this." + field + " = " + parameter + ";\n"; | |
| 126 } | |
| 127 if (supportsDirectProtoAccess) | |
| 128 body += "this." + "$deferredAction" + "();"; | |
| 129 str += ") {\n" + body + "}\n"; | |
| 130 str += name + ".builtin$cls=\"" + name + "\";\n"; | |
| 131 str += "$desc=$collectedClasses." + name + "[1];\n"; | |
| 132 str += name + ".prototype = $desc;\n"; | |
| 133 if (typeof defineClass.name != "string") | |
| 134 str += name + ".name=\"" + name + "\";\n"; | |
| 135 str += name + "." + "$__fields__" + "=[" + fieldNames + "];\n"; | |
| 136 str += accessors.join(""); | |
| 137 return str; | |
| 138 } | |
| 139 init.createNewIsolate = function() { | |
| 140 return new Isolate(); | |
| 141 }; | |
| 142 init.classIdExtractor = function(o) { | |
| 143 return o.constructor.name; | |
| 144 }; | |
| 145 init.classFieldsExtractor = function(o) { | |
| 146 var fieldNames = o.constructor.$__fields__; | |
| 147 if (!fieldNames) | |
| 148 return []; | |
| 149 var result = []; | |
| 150 result.length = fieldNames.length; | |
| 151 for (var i = 0; i < fieldNames.length; i++) | |
| 152 result[i] = o[fieldNames[i]]; | |
| 153 return result; | |
| 154 }; | |
| 155 init.instanceFromClassId = function(name) { | |
| 156 return new init.allClasses[name](); | |
| 157 }; | |
| 158 init.initializeEmptyInstance = function(name, o, fields) { | |
| 159 init.allClasses[name].apply(o, fields); | |
| 160 return o; | |
| 161 }; | |
| 162 var inheritFrom = supportsDirectProtoAccess ? function(constructor, superCon
structor) { | |
| 163 var prototype = constructor.prototype; | |
| 164 prototype.__proto__ = superConstructor.prototype; | |
| 165 prototype.constructor = constructor; | |
| 166 prototype["$is" + constructor.name] = constructor; | |
| 167 return convertToFastObject(prototype); | |
| 168 } : function() { | |
| 169 function tmp() { | |
| 170 } | |
| 171 return function(constructor, superConstructor) { | |
| 172 tmp.prototype = superConstructor.prototype; | |
| 173 var object = new tmp(); | |
| 174 convertToSlowObject(object); | |
| 175 var properties = constructor.prototype; | |
| 176 var members = Object.keys(properties); | |
| 177 for (var i = 0; i < members.length; i++) { | |
| 178 var member = members[i]; | |
| 179 object[member] = properties[member]; | |
| 180 } | |
| 181 object["$is" + constructor.name] = constructor; | |
| 182 object.constructor = constructor; | |
| 183 constructor.prototype = object; | |
| 184 return object; | |
| 185 }; | |
| 186 }(); | |
| 187 function finishClasses(processedClasses) { | |
| 188 var allClasses = init.allClasses; | |
| 189 processedClasses.combinedConstructorFunction += "return [\n" + processedCl
asses.constructorsList.join(",\n ") + "\n]"; | |
| 190 var constructors = new Function("$collectedClasses", processedClasses.comb
inedConstructorFunction)(processedClasses.collected); | |
| 191 processedClasses.combinedConstructorFunction = null; | |
| 192 for (var i = 0; i < constructors.length; i++) { | |
| 193 var constructor = constructors[i]; | |
| 194 var cls = constructor.name; | |
| 195 var desc = processedClasses.collected[cls]; | |
| 196 var globalObject = desc[0]; | |
| 197 desc = desc[1]; | |
| 198 allClasses[cls] = constructor; | |
| 199 globalObject[cls] = constructor; | |
| 200 } | |
| 201 constructors = null; | |
| 202 var finishedClasses = init.finishedClasses; | |
| 203 function finishClass(cls) { | |
| 204 if (finishedClasses[cls]) | |
| 205 return; | |
| 206 finishedClasses[cls] = true; | |
| 207 var superclass = processedClasses.pending[cls]; | |
| 208 if (superclass && superclass.indexOf("+") > 0) { | |
| 209 var s = superclass.split("+"); | |
| 210 superclass = s[0]; | |
| 211 var mixinClass = s[1]; | |
| 212 finishClass(mixinClass); | |
| 213 var mixin = allClasses[mixinClass]; | |
| 214 var mixinPrototype = mixin.prototype; | |
| 215 var clsPrototype = allClasses[cls].prototype; | |
| 216 var properties = Object.keys(mixinPrototype); | |
| 217 for (var i = 0; i < properties.length; i++) { | |
| 218 var d = properties[i]; | |
| 219 if (!hasOwnProperty.call(clsPrototype, d)) | |
| 220 clsPrototype[d] = mixinPrototype[d]; | |
| 221 } | |
| 222 } | |
| 223 if (!superclass || typeof superclass != "string") { | |
| 224 var constructor = allClasses[cls]; | |
| 225 var prototype = constructor.prototype; | |
| 226 prototype.constructor = constructor; | |
| 227 prototype.$isObject = constructor; | |
| 228 prototype.$deferredAction = function() { | |
| 229 }; | |
| 230 return; | |
| 231 } | |
| 232 finishClass(superclass); | |
| 233 var superConstructor = allClasses[superclass]; | |
| 234 if (!superConstructor) | |
| 235 superConstructor = existingIsolateProperties[superclass]; | |
| 236 var constructor = allClasses[cls]; | |
| 237 var prototype = inheritFrom(constructor, superConstructor); | |
| 238 if (mixinPrototype) | |
| 239 prototype.$deferredAction = mixinDeferredActionHelper(mixinPrototype,
prototype); | |
| 240 if (Object.prototype.hasOwnProperty.call(prototype, "%")) { | |
| 241 var nativeSpec = prototype["%"].split(";"); | |
| 242 if (nativeSpec[0]) { | |
| 243 var tags = nativeSpec[0].split("|"); | |
| 244 for (var i = 0; i < tags.length; i++) { | |
| 245 init.interceptorsByTag[tags[i]] = constructor; | |
| 246 init.leafTags[tags[i]] = true; | |
| 247 } | |
| 248 } | |
| 249 if (nativeSpec[1]) { | |
| 250 tags = nativeSpec[1].split("|"); | |
| 251 if (nativeSpec[2]) { | |
| 252 var subclasses = nativeSpec[2].split("|"); | |
| 253 for (var i = 0; i < subclasses.length; i++) { | |
| 254 var subclass = allClasses[subclasses[i]]; | |
| 255 subclass.$nativeSuperclassTag = tags[0]; | |
| 256 } | |
| 257 } | |
| 258 for (i = 0; i < tags.length; i++) { | |
| 259 init.interceptorsByTag[tags[i]] = constructor; | |
| 260 init.leafTags[tags[i]] = false; | |
| 261 } | |
| 262 } | |
| 263 prototype.$deferredAction(); | |
| 264 } | |
| 265 if (prototype.$isInterceptor) | |
| 266 prototype.$deferredAction(); | |
| 267 } | |
| 268 var properties = Object.keys(processedClasses.pending); | |
| 269 for (var i = 0; i < properties.length; i++) | |
| 270 finishClass(properties[i]); | |
| 271 } | |
| 272 function finishAddStubsHelper() { | |
| 273 var prototype = this; | |
| 274 while (!prototype.hasOwnProperty("$deferredAction")) | |
| 275 prototype = prototype.__proto__; | |
| 276 delete prototype.$deferredAction; | |
| 277 var properties = Object.keys(prototype); | |
| 278 for (var index = 0; index < properties.length; index++) { | |
| 279 var property = properties[index]; | |
| 280 var firstChar = property.charCodeAt(0); | |
| 281 var elem; | |
| 282 if (property !== "^" && property !== "$reflectable" && firstChar !== 43
&& firstChar !== 42 && (elem = prototype[property]) != null && elem.constructor
=== Array && property !== "<>") | |
| 283 addStubs(prototype, elem, property, false, []); | |
| 284 } | |
| 285 convertToFastObject(prototype); | |
| 286 prototype = prototype.__proto__; | |
| 287 prototype.$deferredAction(); | |
| 288 } | |
| 289 function mixinDeferredActionHelper(mixinPrototype, targetPrototype) { | |
| 290 var chain; | |
| 291 if (targetPrototype.hasOwnProperty("$deferredAction")) | |
| 292 chain = targetPrototype.$deferredAction; | |
| 293 return function foo() { | |
| 294 var prototype = this; | |
| 295 while (!prototype.hasOwnProperty("$deferredAction")) | |
| 296 prototype = prototype.__proto__; | |
| 297 if (chain) | |
| 298 prototype.$deferredAction = chain; | |
| 299 else { | |
| 300 delete prototype.$deferredAction; | |
| 301 convertToFastObject(prototype); | |
| 302 } | |
| 303 mixinPrototype.$deferredAction(); | |
| 304 prototype.$deferredAction(); | |
| 305 }; | |
| 306 } | |
| 307 function processClassData(cls, descriptor, processedClasses) { | |
| 308 descriptor = convertToSlowObject(descriptor); | |
| 309 var previousProperty; | |
| 310 var properties = Object.keys(descriptor); | |
| 311 var hasDeferredWork = false; | |
| 312 var shouldDeferWork = supportsDirectProtoAccess && cls != "Object"; | |
| 313 for (var i = 0; i < properties.length; i++) { | |
| 314 var property = properties[i]; | |
| 315 var firstChar = property.charCodeAt(0); | |
| 316 if (property === "static") { | |
| 317 processStatics(init.statics[cls] = descriptor.static, processedClasses
); | |
| 318 delete descriptor.static; | |
| 319 } else if (firstChar === 43) { | |
| 320 mangledNames[previousProperty] = property.substring(1); | |
| 321 var flag = descriptor[property]; | |
| 322 if (flag > 0) | |
| 323 descriptor[previousProperty].$reflectable = flag; | |
| 324 } else if (firstChar === 42) { | |
| 325 descriptor[previousProperty].$defaultValues = descriptor[property]; | |
| 326 var optionalMethods = descriptor.$methodsWithOptionalArguments; | |
| 327 if (!optionalMethods) | |
| 328 descriptor.$methodsWithOptionalArguments = optionalMethods = {}; | |
| 329 optionalMethods[property] = previousProperty; | |
| 330 } else { | |
| 331 var elem = descriptor[property]; | |
| 332 if (property !== "^" && elem != null && elem.constructor === Array &&
property !== "<>") | |
| 333 if (shouldDeferWork) | |
| 334 hasDeferredWork = true; | |
| 335 else | |
| 336 addStubs(descriptor, elem, property, false, []); | |
| 337 else | |
| 338 previousProperty = property; | |
| 339 } | |
| 340 } | |
| 341 if (hasDeferredWork) | |
| 342 descriptor.$deferredAction = finishAddStubsHelper; | |
| 343 var classData = descriptor["^"], split, supr, fields = classData; | |
| 344 var s = fields.split(";"); | |
| 345 fields = s[1] ? s[1].split(",") : []; | |
| 346 supr = s[0]; | |
| 347 split = supr.split(":"); | |
| 348 if (split.length == 2) { | |
| 349 supr = split[0]; | |
| 350 var functionSignature = split[1]; | |
| 351 if (functionSignature) | |
| 352 descriptor.$signature = function(s) { | |
| 353 return function() { | |
| 354 return init.types[s]; | |
| 355 }; | |
| 356 }(functionSignature); | |
| 357 } | |
| 358 if (supr) | |
| 359 processedClasses.pending[cls] = supr; | |
| 360 processedClasses.combinedConstructorFunction += defineClass(cls, fields); | |
| 361 processedClasses.constructorsList.push(cls); | |
| 362 processedClasses.collected[cls] = [globalObject, descriptor]; | |
| 363 classes.push(cls); | |
| 364 } | |
| 365 function processStatics(descriptor, processedClasses) { | |
| 366 var properties = Object.keys(descriptor); | |
| 367 for (var i = 0; i < properties.length; i++) { | |
| 368 var property = properties[i]; | |
| 369 if (property === "^") | |
| 370 continue; | |
| 371 var element = descriptor[property]; | |
| 372 var firstChar = property.charCodeAt(0); | |
| 373 var previousProperty; | |
| 374 if (firstChar === 43) { | |
| 375 mangledGlobalNames[previousProperty] = property.substring(1); | |
| 376 var flag = descriptor[property]; | |
| 377 if (flag > 0) | |
| 378 descriptor[previousProperty].$reflectable = flag; | |
| 379 if (element && element.length) | |
| 380 init.typeInformation[previousProperty] = element; | |
| 381 } else if (firstChar === 42) { | |
| 382 globalObject[previousProperty].$defaultValues = element; | |
| 383 var optionalMethods = descriptor.$methodsWithOptionalArguments; | |
| 384 if (!optionalMethods) | |
| 385 descriptor.$methodsWithOptionalArguments = optionalMethods = {}; | |
| 386 optionalMethods[property] = previousProperty; | |
| 387 } else if (typeof element === "function") { | |
| 388 globalObject[previousProperty = property] = element; | |
| 389 functions.push(property); | |
| 390 init.globalFunctions[property] = element; | |
| 391 } else if (element.constructor === Array) | |
| 392 addStubs(globalObject, element, property, true, functions); | |
| 393 else { | |
| 394 previousProperty = property; | |
| 395 processClassData(property, element, processedClasses); | |
| 396 } | |
| 397 } | |
| 398 } | |
| 399 function addStubs(prototype, array, name, isStatic, functions) { | |
| 400 var index = 0, alias = array[index], f; | |
| 401 if (typeof alias == "string") | |
| 402 f = array[++index]; | |
| 403 else { | |
| 404 f = alias; | |
| 405 alias = name; | |
| 406 } | |
| 407 var funcs = [prototype[name] = prototype[alias] = f]; | |
| 408 f.$stubName = name; | |
| 409 functions.push(name); | |
| 410 for (index++; index < array.length; index++) { | |
| 411 f = array[index]; | |
| 412 if (typeof f != "function") | |
| 413 break; | |
| 414 if (!isStatic) | |
| 415 f.$stubName = array[++index]; | |
| 416 funcs.push(f); | |
| 417 if (f.$stubName) { | |
| 418 prototype[f.$stubName] = f; | |
| 419 functions.push(f.$stubName); | |
| 420 } | |
| 421 } | |
| 422 for (var i = 0; i < funcs.length; index++, i++) | |
| 423 funcs[i].$callName = array[index]; | |
| 424 var getterStubName = array[index]; | |
| 425 array = array.slice(++index); | |
| 426 var requiredParameterInfo = array[0]; | |
| 427 var requiredParameterCount = requiredParameterInfo >> 1; | |
| 428 var isAccessor = (requiredParameterInfo & 1) === 1; | |
| 429 var isSetter = requiredParameterInfo === 3; | |
| 430 var isGetter = requiredParameterInfo === 1; | |
| 431 var optionalParameterInfo = array[1]; | |
| 432 var optionalParameterCount = optionalParameterInfo >> 1; | |
| 433 var optionalParametersAreNamed = (optionalParameterInfo & 1) === 1; | |
| 434 var isIntercepted = requiredParameterCount + optionalParameterCount != fun
cs[0].length; | |
| 435 var functionTypeIndex = array[2]; | |
| 436 if (typeof functionTypeIndex == "number") | |
| 437 array[2] = functionTypeIndex + typesOffset; | |
| 438 var unmangledNameIndex = 2 * optionalParameterCount + requiredParameterCou
nt + 3; | |
| 439 if (getterStubName) { | |
| 440 f = tearOff(funcs, array, isStatic, name, isIntercepted); | |
| 441 prototype[name].$getter = f; | |
| 442 f.$getterStub = true; | |
| 443 if (isStatic) { | |
| 444 init.globalFunctions[name] = f; | |
| 445 functions.push(getterStubName); | |
| 446 } | |
| 447 prototype[getterStubName] = f; | |
| 448 funcs.push(f); | |
| 449 f.$stubName = getterStubName; | |
| 450 f.$callName = null; | |
| 451 } | |
| 452 } | |
| 453 function tearOffGetter(funcs, reflectionInfo, name, isIntercepted) { | |
| 454 return isIntercepted ? new Function("funcs", "reflectionInfo", "name", "H"
, "c", "return function tearOff_" + name + functionCounter++ + "(x) {" + "if (c
=== null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, reflectionInfo, f
alse, [x], name);" + "return new c(this, funcs[0], x, name);" + "}")(funcs, refl
ectionInfo, name, H, null) : new Function("funcs", "reflectionInfo", "name", "H"
, "c", "return function tearOff_" + name + functionCounter++ + "() {" + "if (c =
== null) c = " + "H.closureFromTearOff" + "(" + "this, funcs, reflectionInfo, fa
lse, [], name);" + "return new c(this, funcs[0], null, name);" + "}")(funcs, ref
lectionInfo, name, H, null); | |
| 455 } | |
| 456 function tearOff(funcs, reflectionInfo, isStatic, name, isIntercepted) { | |
| 457 var cache; | |
| 458 return isStatic ? function() { | |
| 459 if (cache === void 0) | |
| 460 cache = H.closureFromTearOff(this, funcs, reflectionInfo, true, [], na
me).prototype; | |
| 461 return cache; | |
| 462 } : tearOffGetter(funcs, reflectionInfo, name, isIntercepted); | |
| 463 } | |
| 464 var functionCounter = 0; | |
| 465 if (!init.libraries) | |
| 466 init.libraries = []; | |
| 467 if (!init.mangledNames) | |
| 468 init.mangledNames = map(); | |
| 469 if (!init.mangledGlobalNames) | |
| 470 init.mangledGlobalNames = map(); | |
| 471 if (!init.statics) | |
| 472 init.statics = map(); | |
| 473 if (!init.typeInformation) | |
| 474 init.typeInformation = map(); | |
| 475 if (!init.globalFunctions) | |
| 476 init.globalFunctions = map(); | |
| 477 var libraries = init.libraries; | |
| 478 var mangledNames = init.mangledNames; | |
| 479 var mangledGlobalNames = init.mangledGlobalNames; | |
| 480 var hasOwnProperty = Object.prototype.hasOwnProperty; | |
| 481 var length = programData.length; | |
| 482 var processedClasses = map(); | |
| 483 processedClasses.collected = map(); | |
| 484 processedClasses.pending = map(); | |
| 485 processedClasses.constructorsList = []; | |
| 486 processedClasses.combinedConstructorFunction = "function $reflectable(fn){fn
.$reflectable=1;return fn};\n" + "var $desc;\n"; | |
| 487 for (var i = 0; i < length; i++) { | |
| 488 var data = programData[i]; | |
| 489 var name = data[0]; | |
| 490 var uri = data[1]; | |
| 491 var metadata = data[2]; | |
| 492 var globalObject = data[3]; | |
| 493 var descriptor = data[4]; | |
| 494 var isRoot = !!data[5]; | |
| 495 var fields = descriptor && descriptor["^"]; | |
| 496 if (fields instanceof Array) | |
| 497 fields = fields[0]; | |
| 498 var classes = []; | |
| 499 var functions = []; | |
| 500 processStatics(descriptor, processedClasses); | |
| 501 libraries.push([name, uri, classes, functions, metadata, fields, isRoot, g
lobalObject]); | |
| 502 } | |
| 503 finishClasses(processedClasses); | |
| 504 } | |
| 505 Isolate.functionThatReturnsNull = function() { | |
| 506 }; | |
| 507 var dart = [["_foreign_helper", "dart:_foreign_helper",, H, { | |
| 508 "^": "", | |
| 509 JS_CONST: { | |
| 510 "^": "Object;code" | |
| 511 } | |
| 512 }], ["_interceptors", "dart:_interceptors",, J, { | |
| 513 "^": "", | |
| 514 getInterceptor: function(object) { | |
| 515 return void 0; | |
| 516 }, | |
| 517 makeDispatchRecord: function(interceptor, proto, extension, indexability) { | |
| 518 return {i: interceptor, p: proto, e: extension, x: indexability}; | |
| 519 }, | |
| 520 getNativeInterceptor: function(object) { | |
| 521 var record, proto, objectProto, interceptor; | |
| 522 record = object[init.dispatchPropertyName]; | |
| 523 if (record == null) | |
| 524 if ($.initNativeDispatchFlag == null) { | |
| 525 H.initNativeDispatch(); | |
| 526 record = object[init.dispatchPropertyName]; | |
| 527 } | |
| 528 if (record != null) { | |
| 529 proto = record.p; | |
| 530 if (false === proto) | |
| 531 return record.i; | |
| 532 if (true === proto) | |
| 533 return object; | |
| 534 objectProto = Object.getPrototypeOf(object); | |
| 535 if (proto === objectProto) | |
| 536 return record.i; | |
| 537 if (record.e === objectProto) | |
| 538 throw H.wrapException(new P.UnimplementedError("Return interceptor for
" + H.S(proto(object, record)))); | |
| 539 } | |
| 540 interceptor = H.lookupAndCacheInterceptor(object); | |
| 541 if (interceptor == null) { | |
| 542 proto = Object.getPrototypeOf(object); | |
| 543 if (proto == null || proto === Object.prototype) | |
| 544 return C.PlainJavaScriptObject_methods; | |
| 545 else | |
| 546 return C.UnknownJavaScriptObject_methods; | |
| 547 } | |
| 548 return interceptor; | |
| 549 }, | |
| 550 Interceptor: { | |
| 551 "^": "Object;", | |
| 552 $eq: function(receiver, other) { | |
| 553 return receiver === other; | |
| 554 }, | |
| 555 get$hashCode: function(receiver) { | |
| 556 return H.Primitives_objectHashCode(receiver); | |
| 557 }, | |
| 558 toString$0: ["super$Interceptor$toString", function(receiver) { | |
| 559 return H.Primitives_objectToHumanReadableString(receiver); | |
| 560 }], | |
| 561 "%": "DOMImplementation|MediaError|MediaKeyError|Range|SVGAnimatedEnumerat
ion|SVGAnimatedLength|SVGAnimatedLengthList|SVGAnimatedNumber|SVGAnimatedNumberL
ist|SVGAnimatedString" | |
| 562 }, | |
| 563 JSBool: { | |
| 564 "^": "Interceptor;", | |
| 565 toString$0: function(receiver) { | |
| 566 return String(receiver); | |
| 567 }, | |
| 568 get$hashCode: function(receiver) { | |
| 569 return receiver ? 519018 : 218159; | |
| 570 }, | |
| 571 $isbool: 1 | |
| 572 }, | |
| 573 JSNull: { | |
| 574 "^": "Interceptor;", | |
| 575 $eq: function(receiver, other) { | |
| 576 return null == other; | |
| 577 }, | |
| 578 toString$0: function(receiver) { | |
| 579 return "null"; | |
| 580 }, | |
| 581 get$hashCode: function(receiver) { | |
| 582 return 0; | |
| 583 } | |
| 584 }, | |
| 585 JavaScriptObject: { | |
| 586 "^": "Interceptor;", | |
| 587 get$hashCode: function(_) { | |
| 588 return 0; | |
| 589 }, | |
| 590 $isJSObject: 1 | |
| 591 }, | |
| 592 PlainJavaScriptObject: { | |
| 593 "^": "JavaScriptObject;" | |
| 594 }, | |
| 595 UnknownJavaScriptObject: { | |
| 596 "^": "JavaScriptObject;", | |
| 597 toString$0: function(receiver) { | |
| 598 return String(receiver); | |
| 599 } | |
| 600 }, | |
| 601 JSArray: { | |
| 602 "^": "Interceptor;", | |
| 603 checkMutable$1: function(receiver, reason) { | |
| 604 if (!!receiver.immutable$list) | |
| 605 throw H.wrapException(new P.UnsupportedError(reason)); | |
| 606 }, | |
| 607 checkGrowable$1: function(receiver, reason) { | |
| 608 if (!!receiver.fixed$length) | |
| 609 throw H.wrapException(new P.UnsupportedError(reason)); | |
| 610 }, | |
| 611 add$1: function(receiver, value) { | |
| 612 this.checkGrowable$1(receiver, "add"); | |
| 613 receiver.push(value); | |
| 614 }, | |
| 615 removeAt$1: function(receiver, index) { | |
| 616 this.checkGrowable$1(receiver, "removeAt"); | |
| 617 if (index >= receiver.length) | |
| 618 throw H.wrapException(P.RangeError$value(index, null, null)); | |
| 619 return receiver.splice(index, 1)[0]; | |
| 620 }, | |
| 621 insert$2: function(receiver, index, value) { | |
| 622 this.checkGrowable$1(receiver, "insert"); | |
| 623 if (index > receiver.length) | |
| 624 throw H.wrapException(P.RangeError$value(index, null, null)); | |
| 625 receiver.splice(index, 0, value); | |
| 626 }, | |
| 627 insertAll$2: function(receiver, index, iterable) { | |
| 628 var insertionLength, end; | |
| 629 this.checkGrowable$1(receiver, "insertAll"); | |
| 630 P.RangeError_checkValueInInterval(index, 0, receiver.length, "index", nu
ll); | |
| 631 insertionLength = iterable.length; | |
| 632 this.set$length(receiver, receiver.length + insertionLength); | |
| 633 end = index + insertionLength; | |
| 634 this.setRange$4(receiver, end, receiver.length, receiver, index); | |
| 635 this.setRange$3(receiver, index, end, iterable); | |
| 636 }, | |
| 637 removeLast$0: function(receiver) { | |
| 638 this.checkGrowable$1(receiver, "removeLast"); | |
| 639 if (receiver.length === 0) | |
| 640 throw H.wrapException(H.diagnoseIndexError(receiver, -1)); | |
| 641 return receiver.pop(); | |
| 642 }, | |
| 643 where$1: function(receiver, f) { | |
| 644 return H.setRuntimeTypeInfo(new H.WhereIterable(receiver, f), [H.getType
ArgumentByIndex(receiver, 0)]); | |
| 645 }, | |
| 646 forEach$1: function(receiver, f) { | |
| 647 var end, i; | |
| 648 end = receiver.length; | |
| 649 for (i = 0; i < end; ++i) { | |
| 650 f.call$1(receiver[i]); | |
| 651 if (receiver.length !== end) | |
| 652 throw H.wrapException(new P.ConcurrentModificationError(receiver)); | |
| 653 } | |
| 654 }, | |
| 655 map$1: function(receiver, f) { | |
| 656 return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null
, null]); | |
| 657 }, | |
| 658 join$1: function(receiver, separator) { | |
| 659 var t1, list, i, t2; | |
| 660 t1 = receiver.length; | |
| 661 list = new Array(t1); | |
| 662 list.fixed$length = Array; | |
| 663 for (i = 0; i < receiver.length; ++i) { | |
| 664 t2 = H.S(receiver[i]); | |
| 665 if (i >= t1) | |
| 666 return H.ioore(list, i); | |
| 667 list[i] = t2; | |
| 668 } | |
| 669 return list.join(separator); | |
| 670 }, | |
| 671 elementAt$1: function(receiver, index) { | |
| 672 if (index >>> 0 !== index || index >= receiver.length) | |
| 673 return H.ioore(receiver, index); | |
| 674 return receiver[index]; | |
| 675 }, | |
| 676 sublist$2: function(receiver, start, end) { | |
| 677 if (start < 0 || start > receiver.length) | |
| 678 throw H.wrapException(P.RangeError$range(start, 0, receiver.length, "s
tart", null)); | |
| 679 if (end < start || end > receiver.length) | |
| 680 throw H.wrapException(P.RangeError$range(end, start, receiver.length,
"end", null)); | |
| 681 if (start === end) | |
| 682 return H.setRuntimeTypeInfo([], [H.getTypeArgumentByIndex(receiver, 0)
]); | |
| 683 return H.setRuntimeTypeInfo(receiver.slice(start, end), [H.getTypeArgume
ntByIndex(receiver, 0)]); | |
| 684 }, | |
| 685 get$first: function(receiver) { | |
| 686 if (receiver.length > 0) | |
| 687 return receiver[0]; | |
| 688 throw H.wrapException(H.IterableElementError_noElement()); | |
| 689 }, | |
| 690 get$last: function(receiver) { | |
| 691 var t1 = receiver.length; | |
| 692 if (t1 > 0) | |
| 693 return receiver[t1 - 1]; | |
| 694 throw H.wrapException(H.IterableElementError_noElement()); | |
| 695 }, | |
| 696 setRange$4: function(receiver, start, end, iterable, skipCount) { | |
| 697 var $length, i, t1; | |
| 698 this.checkMutable$1(receiver, "set range"); | |
| 699 P.RangeError_checkValidRange(start, end, receiver.length, null, null, nu
ll); | |
| 700 $length = end - start; | |
| 701 if ($length === 0) | |
| 702 return; | |
| 703 if (skipCount < 0) | |
| 704 H.throwExpression(P.RangeError$range(skipCount, 0, null, "skipCount",
null)); | |
| 705 if (skipCount + $length > iterable.length) | |
| 706 throw H.wrapException(H.IterableElementError_tooFew()); | |
| 707 if (skipCount < start) | |
| 708 for (i = $length - 1; i >= 0; --i) { | |
| 709 t1 = skipCount + i; | |
| 710 if (t1 < 0 || t1 >= iterable.length) | |
| 711 return H.ioore(iterable, t1); | |
| 712 receiver[start + i] = iterable[t1]; | |
| 713 } | |
| 714 else | |
| 715 for (i = 0; i < $length; ++i) { | |
| 716 t1 = skipCount + i; | |
| 717 if (t1 < 0 || t1 >= iterable.length) | |
| 718 return H.ioore(iterable, t1); | |
| 719 receiver[start + i] = iterable[t1]; | |
| 720 } | |
| 721 }, | |
| 722 setRange$3: function($receiver, start, end, iterable) { | |
| 723 return this.setRange$4($receiver, start, end, iterable, 0); | |
| 724 }, | |
| 725 any$1: function(receiver, test) { | |
| 726 var end, i; | |
| 727 end = receiver.length; | |
| 728 for (i = 0; i < end; ++i) { | |
| 729 if (test.call$1(receiver[i]) === true) | |
| 730 return true; | |
| 731 if (receiver.length !== end) | |
| 732 throw H.wrapException(new P.ConcurrentModificationError(receiver)); | |
| 733 } | |
| 734 return false; | |
| 735 }, | |
| 736 indexOf$2: function(receiver, element, start) { | |
| 737 var i, t1; | |
| 738 if (start >= receiver.length) | |
| 739 return -1; | |
| 740 if (start < 0) | |
| 741 start = 0; | |
| 742 for (i = start; t1 = receiver.length, i < t1; ++i) { | |
| 743 if (i < 0) | |
| 744 return H.ioore(receiver, i); | |
| 745 if (J.$eq$(receiver[i], element)) | |
| 746 return i; | |
| 747 } | |
| 748 return -1; | |
| 749 }, | |
| 750 indexOf$1: function($receiver, element) { | |
| 751 return this.indexOf$2($receiver, element, 0); | |
| 752 }, | |
| 753 lastIndexOf$2: function(receiver, element, startIndex) { | |
| 754 var t1, i; | |
| 755 if (startIndex < 0) | |
| 756 return -1; | |
| 757 t1 = receiver.length; | |
| 758 if (startIndex >= t1) | |
| 759 startIndex = t1 - 1; | |
| 760 for (i = startIndex; i >= 0; --i) { | |
| 761 if (i >= receiver.length) | |
| 762 return H.ioore(receiver, i); | |
| 763 if (J.$eq$(receiver[i], element)) | |
| 764 return i; | |
| 765 } | |
| 766 return -1; | |
| 767 }, | |
| 768 contains$1: function(receiver, other) { | |
| 769 var i; | |
| 770 for (i = 0; i < receiver.length; ++i) | |
| 771 if (J.$eq$(receiver[i], other)) | |
| 772 return true; | |
| 773 return false; | |
| 774 }, | |
| 775 get$isEmpty: function(receiver) { | |
| 776 return receiver.length === 0; | |
| 777 }, | |
| 778 get$isNotEmpty: function(receiver) { | |
| 779 return receiver.length !== 0; | |
| 780 }, | |
| 781 toString$0: function(receiver) { | |
| 782 return P.IterableBase_iterableToFullString(receiver, "[", "]"); | |
| 783 }, | |
| 784 get$iterator: function(receiver) { | |
| 785 return H.setRuntimeTypeInfo(new J.ArrayIterator(receiver, receiver.lengt
h, 0, null), [H.getTypeArgumentByIndex(receiver, 0)]); | |
| 786 }, | |
| 787 get$hashCode: function(receiver) { | |
| 788 return H.Primitives_objectHashCode(receiver); | |
| 789 }, | |
| 790 get$length: function(receiver) { | |
| 791 return receiver.length; | |
| 792 }, | |
| 793 set$length: function(receiver, newLength) { | |
| 794 this.checkGrowable$1(receiver, "set length"); | |
| 795 if (newLength < 0) | |
| 796 throw H.wrapException(P.RangeError$range(newLength, 0, null, "newLengt
h", null)); | |
| 797 receiver.length = newLength; | |
| 798 }, | |
| 799 $index: function(receiver, index) { | |
| 800 if (typeof index !== "number" || Math.floor(index) !== index) | |
| 801 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 802 if (index >= receiver.length || index < 0) | |
| 803 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 804 return receiver[index]; | |
| 805 }, | |
| 806 $indexSet: function(receiver, index, value) { | |
| 807 if (!!receiver.immutable$list) | |
| 808 H.throwExpression(new P.UnsupportedError("indexed set")); | |
| 809 if (index >= receiver.length || index < 0) | |
| 810 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 811 receiver[index] = value; | |
| 812 }, | |
| 813 $isJSIndexable: 1, | |
| 814 $isList: 1, | |
| 815 $asList: null, | |
| 816 $isEfficientLength: 1, | |
| 817 static: {JSArray_JSArray$fixed: function($length, $E) { | |
| 818 var t1; | |
| 819 if (typeof $length !== "number" || Math.floor($length) !== $length) | |
| 820 throw H.wrapException(P.ArgumentError$value($length, "length", "is n
ot an integer")); | |
| 821 if ($length < 0 || $length > 4294967295) | |
| 822 throw H.wrapException(P.RangeError$range($length, 0, 4294967295, "le
ngth", null)); | |
| 823 t1 = H.setRuntimeTypeInfo(new Array($length), [$E]); | |
| 824 t1.fixed$length = Array; | |
| 825 return t1; | |
| 826 }} | |
| 827 }, | |
| 828 JSUnmodifiableArray: { | |
| 829 "^": "JSArray;" | |
| 830 }, | |
| 831 ArrayIterator: { | |
| 832 "^": "Object;__interceptors$_iterable,__interceptors$_length,__interceptor
s$_index,__interceptors$_current", | |
| 833 get$current: function() { | |
| 834 return this.__interceptors$_current; | |
| 835 }, | |
| 836 moveNext$0: function() { | |
| 837 var t1, $length, t2; | |
| 838 t1 = this.__interceptors$_iterable; | |
| 839 $length = t1.length; | |
| 840 if (this.__interceptors$_length !== $length) | |
| 841 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 842 t2 = this.__interceptors$_index; | |
| 843 if (t2 >= $length) { | |
| 844 this.__interceptors$_current = null; | |
| 845 return false; | |
| 846 } | |
| 847 this.__interceptors$_current = t1[t2]; | |
| 848 this.__interceptors$_index = t2 + 1; | |
| 849 return true; | |
| 850 } | |
| 851 }, | |
| 852 JSNumber: { | |
| 853 "^": "Interceptor;", | |
| 854 get$isNegative: function(receiver) { | |
| 855 return receiver === 0 ? 1 / receiver < 0 : receiver < 0; | |
| 856 }, | |
| 857 get$isNaN: function(receiver) { | |
| 858 return isNaN(receiver); | |
| 859 }, | |
| 860 remainder$1: function(receiver, b) { | |
| 861 return receiver % b; | |
| 862 }, | |
| 863 abs$0: function(receiver) { | |
| 864 return Math.abs(receiver); | |
| 865 }, | |
| 866 toInt$0: function(receiver) { | |
| 867 var t1; | |
| 868 if (receiver >= -2147483648 && receiver <= 2147483647) | |
| 869 return receiver | 0; | |
| 870 if (isFinite(receiver)) { | |
| 871 t1 = receiver < 0 ? Math.ceil(receiver) : Math.floor(receiver); | |
| 872 return t1 + 0; | |
| 873 } | |
| 874 throw H.wrapException(new P.UnsupportedError("" + receiver)); | |
| 875 }, | |
| 876 toRadixString$1: function(receiver, radix) { | |
| 877 var result, match, t1, exponent; | |
| 878 H.checkInt(radix); | |
| 879 if (radix < 2 || radix > 36) | |
| 880 throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null))
; | |
| 881 result = receiver.toString(radix); | |
| 882 if (C.JSString_methods.codeUnitAt$1(result, result.length - 1) !== 41) | |
| 883 return result; | |
| 884 match = /^([\da-z]+)(?:\.([\da-z]+))?\(e\+(\d+)\)$/.exec(result); | |
| 885 if (match == null) | |
| 886 H.throwExpression(new P.UnsupportedError("Unexpected toString result:
" + result)); | |
| 887 t1 = J.getInterceptor$asx(match); | |
| 888 result = t1.$index(match, 1); | |
| 889 exponent = +t1.$index(match, 3); | |
| 890 if (t1.$index(match, 2) != null) { | |
| 891 result += t1.$index(match, 2); | |
| 892 exponent -= t1.$index(match, 2).length; | |
| 893 } | |
| 894 return result + C.JSString_methods.$mul("0", exponent); | |
| 895 }, | |
| 896 toString$0: function(receiver) { | |
| 897 if (receiver === 0 && 1 / receiver < 0) | |
| 898 return "-0.0"; | |
| 899 else | |
| 900 return "" + receiver; | |
| 901 }, | |
| 902 get$hashCode: function(receiver) { | |
| 903 return receiver & 0x1FFFFFFF; | |
| 904 }, | |
| 905 $negate: function(receiver) { | |
| 906 return -receiver; | |
| 907 }, | |
| 908 $add: function(receiver, other) { | |
| 909 if (typeof other !== "number") | |
| 910 throw H.wrapException(H.argumentErrorValue(other)); | |
| 911 return receiver + other; | |
| 912 }, | |
| 913 $sub: function(receiver, other) { | |
| 914 if (typeof other !== "number") | |
| 915 throw H.wrapException(H.argumentErrorValue(other)); | |
| 916 return receiver - other; | |
| 917 }, | |
| 918 _tdivFast$1: function(receiver, other) { | |
| 919 return (receiver | 0) === receiver ? receiver / other | 0 : this.toInt$0
(receiver / other); | |
| 920 }, | |
| 921 $shl: function(receiver, other) { | |
| 922 if (other < 0) | |
| 923 throw H.wrapException(H.argumentErrorValue(other)); | |
| 924 return other > 31 ? 0 : receiver << other >>> 0; | |
| 925 }, | |
| 926 _shlPositive$1: function(receiver, other) { | |
| 927 return other > 31 ? 0 : receiver << other >>> 0; | |
| 928 }, | |
| 929 _shrOtherPositive$1: function(receiver, other) { | |
| 930 var t1; | |
| 931 if (receiver > 0) | |
| 932 t1 = other > 31 ? 0 : receiver >>> other; | |
| 933 else { | |
| 934 t1 = other > 31 ? 31 : other; | |
| 935 t1 = receiver >> t1 >>> 0; | |
| 936 } | |
| 937 return t1; | |
| 938 }, | |
| 939 _shrReceiverPositive$1: function(receiver, other) { | |
| 940 if (other < 0) | |
| 941 throw H.wrapException(H.argumentErrorValue(other)); | |
| 942 return other > 31 ? 0 : receiver >>> other; | |
| 943 }, | |
| 944 $or: function(receiver, other) { | |
| 945 if (typeof other !== "number") | |
| 946 throw H.wrapException(H.argumentErrorValue(other)); | |
| 947 return (receiver | other) >>> 0; | |
| 948 }, | |
| 949 $lt: function(receiver, other) { | |
| 950 if (typeof other !== "number") | |
| 951 throw H.wrapException(H.argumentErrorValue(other)); | |
| 952 return receiver < other; | |
| 953 }, | |
| 954 $gt: function(receiver, other) { | |
| 955 if (typeof other !== "number") | |
| 956 throw H.wrapException(H.argumentErrorValue(other)); | |
| 957 return receiver > other; | |
| 958 }, | |
| 959 $isnum: 1 | |
| 960 }, | |
| 961 JSInt: { | |
| 962 "^": "JSNumber;", | |
| 963 $is$double: 1, | |
| 964 $isnum: 1, | |
| 965 $is$int: 1 | |
| 966 }, | |
| 967 JSDouble: { | |
| 968 "^": "JSNumber;", | |
| 969 $is$double: 1, | |
| 970 $isnum: 1 | |
| 971 }, | |
| 972 JSString: { | |
| 973 "^": "Interceptor;", | |
| 974 codeUnitAt$1: function(receiver, index) { | |
| 975 if (typeof index !== "number" || Math.floor(index) !== index) | |
| 976 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 977 if (index < 0) | |
| 978 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 979 if (index >= receiver.length) | |
| 980 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 981 return receiver.charCodeAt(index); | |
| 982 }, | |
| 983 allMatches$2: function(receiver, string, start) { | |
| 984 H.checkString(string); | |
| 985 H.checkInt(start); | |
| 986 if (start > string.length) | |
| 987 throw H.wrapException(P.RangeError$range(start, 0, string.length, null
, null)); | |
| 988 return new H._StringAllMatchesIterable(string, receiver, start); | |
| 989 }, | |
| 990 allMatches$1: function($receiver, string) { | |
| 991 return this.allMatches$2($receiver, string, 0); | |
| 992 }, | |
| 993 matchAsPrefix$2: function(receiver, string, start) { | |
| 994 var t1, i; | |
| 995 if (start < 0 || start > string.length) | |
| 996 throw H.wrapException(P.RangeError$range(start, 0, string.length, null
, null)); | |
| 997 t1 = receiver.length; | |
| 998 if (start + t1 > string.length) | |
| 999 return; | |
| 1000 for (i = 0; i < t1; ++i) | |
| 1001 if (this.codeUnitAt$1(string, start + i) !== this.codeUnitAt$1(receive
r, i)) | |
| 1002 return; | |
| 1003 return new H.StringMatch(start, string, receiver); | |
| 1004 }, | |
| 1005 $add: function(receiver, other) { | |
| 1006 if (typeof other !== "string") | |
| 1007 throw H.wrapException(P.ArgumentError$value(other, null, null)); | |
| 1008 return receiver + other; | |
| 1009 }, | |
| 1010 endsWith$1: function(receiver, other) { | |
| 1011 var otherLength, t1; | |
| 1012 H.checkString(other); | |
| 1013 otherLength = other.length; | |
| 1014 t1 = receiver.length; | |
| 1015 if (otherLength > t1) | |
| 1016 return false; | |
| 1017 return other === this.substring$1(receiver, t1 - otherLength); | |
| 1018 }, | |
| 1019 replaceAll$2: function(receiver, from, to) { | |
| 1020 H.checkString(to); | |
| 1021 return H.stringReplaceAllUnchecked(receiver, from, to); | |
| 1022 }, | |
| 1023 replaceAllMapped$2: function(receiver, from, convert) { | |
| 1024 return H.stringReplaceAllFuncUnchecked(receiver, from, convert, null); | |
| 1025 }, | |
| 1026 split$1: function(receiver, pattern) { | |
| 1027 return receiver.split(pattern); | |
| 1028 }, | |
| 1029 replaceRange$3: function(receiver, start, end, replacement) { | |
| 1030 H.checkString(replacement); | |
| 1031 H.checkInt(start); | |
| 1032 end = P.RangeError_checkValidRange(start, end, receiver.length, null, nu
ll, null); | |
| 1033 H.checkInt(end); | |
| 1034 return H.stringReplaceRangeUnchecked(receiver, start, end, replacement); | |
| 1035 }, | |
| 1036 startsWith$2: function(receiver, pattern, index) { | |
| 1037 var endIndex; | |
| 1038 H.checkInt(index); | |
| 1039 if (index < 0 || index > receiver.length) | |
| 1040 throw H.wrapException(P.RangeError$range(index, 0, receiver.length, nu
ll, null)); | |
| 1041 endIndex = index + pattern.length; | |
| 1042 if (endIndex > receiver.length) | |
| 1043 return false; | |
| 1044 return pattern === receiver.substring(index, endIndex); | |
| 1045 }, | |
| 1046 startsWith$1: function($receiver, pattern) { | |
| 1047 return this.startsWith$2($receiver, pattern, 0); | |
| 1048 }, | |
| 1049 substring$2: function(receiver, startIndex, endIndex) { | |
| 1050 var t1; | |
| 1051 if (typeof startIndex !== "number" || Math.floor(startIndex) !== startIn
dex) | |
| 1052 H.throwExpression(H.argumentErrorValue(startIndex)); | |
| 1053 if (endIndex == null) | |
| 1054 endIndex = receiver.length; | |
| 1055 if (typeof endIndex !== "number" || Math.floor(endIndex) !== endIndex) | |
| 1056 H.throwExpression(H.argumentErrorValue(endIndex)); | |
| 1057 t1 = J.getInterceptor$n(startIndex); | |
| 1058 if (t1.$lt(startIndex, 0)) | |
| 1059 throw H.wrapException(P.RangeError$value(startIndex, null, null)); | |
| 1060 if (t1.$gt(startIndex, endIndex)) | |
| 1061 throw H.wrapException(P.RangeError$value(startIndex, null, null)); | |
| 1062 if (J.$gt$n(endIndex, receiver.length)) | |
| 1063 throw H.wrapException(P.RangeError$value(endIndex, null, null)); | |
| 1064 return receiver.substring(startIndex, endIndex); | |
| 1065 }, | |
| 1066 substring$1: function($receiver, startIndex) { | |
| 1067 return this.substring$2($receiver, startIndex, null); | |
| 1068 }, | |
| 1069 toLowerCase$0: function(receiver) { | |
| 1070 return receiver.toLowerCase(); | |
| 1071 }, | |
| 1072 trim$0: function(receiver) { | |
| 1073 var result, endIndex, startIndex, t1, endIndex0; | |
| 1074 result = receiver.trim(); | |
| 1075 endIndex = result.length; | |
| 1076 if (endIndex === 0) | |
| 1077 return result; | |
| 1078 if (this.codeUnitAt$1(result, 0) === 133) { | |
| 1079 startIndex = J.JSString__skipLeadingWhitespace(result, 1); | |
| 1080 if (startIndex === endIndex) | |
| 1081 return ""; | |
| 1082 } else | |
| 1083 startIndex = 0; | |
| 1084 t1 = endIndex - 1; | |
| 1085 endIndex0 = this.codeUnitAt$1(result, t1) === 133 ? J.JSString__skipTrai
lingWhitespace(result, t1) : endIndex; | |
| 1086 if (startIndex === 0 && endIndex0 === endIndex) | |
| 1087 return result; | |
| 1088 return result.substring(startIndex, endIndex0); | |
| 1089 }, | |
| 1090 $mul: function(receiver, times) { | |
| 1091 var s, result; | |
| 1092 if (0 >= times) | |
| 1093 return ""; | |
| 1094 if (times === 1 || receiver.length === 0) | |
| 1095 return receiver; | |
| 1096 if (times !== times >>> 0) | |
| 1097 throw H.wrapException(C.C_OutOfMemoryError); | |
| 1098 for (s = receiver, result = ""; true;) { | |
| 1099 if ((times & 1) === 1) | |
| 1100 result = s + result; | |
| 1101 times = times >>> 1; | |
| 1102 if (times === 0) | |
| 1103 break; | |
| 1104 s += s; | |
| 1105 } | |
| 1106 return result; | |
| 1107 }, | |
| 1108 get$codeUnits: function(receiver) { | |
| 1109 return new H.CodeUnits(receiver); | |
| 1110 }, | |
| 1111 indexOf$2: function(receiver, pattern, start) { | |
| 1112 var t1, match, t2, i; | |
| 1113 if (pattern == null) | |
| 1114 H.throwExpression(H.argumentErrorValue(pattern)); | |
| 1115 if (start < 0 || start > receiver.length) | |
| 1116 throw H.wrapException(P.RangeError$range(start, 0, receiver.length, nu
ll, null)); | |
| 1117 if (typeof pattern === "string") | |
| 1118 return receiver.indexOf(pattern, start); | |
| 1119 t1 = J.getInterceptor(pattern); | |
| 1120 if (!!t1.$isJSSyntaxRegExp) { | |
| 1121 match = pattern._execGlobal$2(receiver, start); | |
| 1122 return match == null ? -1 : match._match.index; | |
| 1123 } | |
| 1124 for (t2 = receiver.length, i = start; i <= t2; ++i) | |
| 1125 if (t1.matchAsPrefix$2(pattern, receiver, i) != null) | |
| 1126 return i; | |
| 1127 return -1; | |
| 1128 }, | |
| 1129 indexOf$1: function($receiver, pattern) { | |
| 1130 return this.indexOf$2($receiver, pattern, 0); | |
| 1131 }, | |
| 1132 lastIndexOf$2: function(receiver, pattern, start) { | |
| 1133 var t1, t2; | |
| 1134 if (start == null) | |
| 1135 start = receiver.length; | |
| 1136 else if (start < 0 || start > receiver.length) | |
| 1137 throw H.wrapException(P.RangeError$range(start, 0, receiver.length, nu
ll, null)); | |
| 1138 t1 = pattern.length; | |
| 1139 if (typeof start !== "number") | |
| 1140 return start.$add(); | |
| 1141 t2 = receiver.length; | |
| 1142 if (start + t1 > t2) | |
| 1143 start = t2 - t1; | |
| 1144 return receiver.lastIndexOf(pattern, start); | |
| 1145 }, | |
| 1146 lastIndexOf$1: function($receiver, pattern) { | |
| 1147 return this.lastIndexOf$2($receiver, pattern, null); | |
| 1148 }, | |
| 1149 contains$2: function(receiver, other, startIndex) { | |
| 1150 if (other == null) | |
| 1151 H.throwExpression(H.argumentErrorValue(other)); | |
| 1152 if (startIndex > receiver.length) | |
| 1153 throw H.wrapException(P.RangeError$range(startIndex, 0, receiver.lengt
h, null, null)); | |
| 1154 return H.stringContainsUnchecked(receiver, other, startIndex); | |
| 1155 }, | |
| 1156 contains$1: function($receiver, other) { | |
| 1157 return this.contains$2($receiver, other, 0); | |
| 1158 }, | |
| 1159 get$isEmpty: function(receiver) { | |
| 1160 return receiver.length === 0; | |
| 1161 }, | |
| 1162 get$isNotEmpty: function(receiver) { | |
| 1163 return receiver.length !== 0; | |
| 1164 }, | |
| 1165 toString$0: function(receiver) { | |
| 1166 return receiver; | |
| 1167 }, | |
| 1168 get$hashCode: function(receiver) { | |
| 1169 var t1, hash, i; | |
| 1170 for (t1 = receiver.length, hash = 0, i = 0; i < t1; ++i) { | |
| 1171 hash = 536870911 & hash + receiver.charCodeAt(i); | |
| 1172 hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0); | |
| 1173 hash ^= hash >> 6; | |
| 1174 } | |
| 1175 hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0); | |
| 1176 hash ^= hash >> 11; | |
| 1177 return 536870911 & hash + ((16383 & hash) << 15 >>> 0); | |
| 1178 }, | |
| 1179 get$length: function(receiver) { | |
| 1180 return receiver.length; | |
| 1181 }, | |
| 1182 $index: function(receiver, index) { | |
| 1183 if (typeof index !== "number" || Math.floor(index) !== index) | |
| 1184 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 1185 if (index >= receiver.length || index < 0) | |
| 1186 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 1187 return receiver[index]; | |
| 1188 }, | |
| 1189 $isJSIndexable: 1, | |
| 1190 $isString: 1, | |
| 1191 $isPattern: 1, | |
| 1192 static: {JSString__isWhitespace: function(codeUnit) { | |
| 1193 if (codeUnit < 256) | |
| 1194 switch (codeUnit) { | |
| 1195 case 9: | |
| 1196 case 10: | |
| 1197 case 11: | |
| 1198 case 12: | |
| 1199 case 13: | |
| 1200 case 32: | |
| 1201 case 133: | |
| 1202 case 160: | |
| 1203 return true; | |
| 1204 default: | |
| 1205 return false; | |
| 1206 } | |
| 1207 switch (codeUnit) { | |
| 1208 case 5760: | |
| 1209 case 6158: | |
| 1210 case 8192: | |
| 1211 case 8193: | |
| 1212 case 8194: | |
| 1213 case 8195: | |
| 1214 case 8196: | |
| 1215 case 8197: | |
| 1216 case 8198: | |
| 1217 case 8199: | |
| 1218 case 8200: | |
| 1219 case 8201: | |
| 1220 case 8202: | |
| 1221 case 8232: | |
| 1222 case 8233: | |
| 1223 case 8239: | |
| 1224 case 8287: | |
| 1225 case 12288: | |
| 1226 case 65279: | |
| 1227 return true; | |
| 1228 default: | |
| 1229 return false; | |
| 1230 } | |
| 1231 }, JSString__skipLeadingWhitespace: function(string, index) { | |
| 1232 var t1, codeUnit; | |
| 1233 for (t1 = string.length; index < t1;) { | |
| 1234 codeUnit = C.JSString_methods.codeUnitAt$1(string, index); | |
| 1235 if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(
codeUnit)) | |
| 1236 break; | |
| 1237 ++index; | |
| 1238 } | |
| 1239 return index; | |
| 1240 }, JSString__skipTrailingWhitespace: function(string, index) { | |
| 1241 var index0, codeUnit; | |
| 1242 for (; index > 0; index = index0) { | |
| 1243 index0 = index - 1; | |
| 1244 codeUnit = C.JSString_methods.codeUnitAt$1(string, index0); | |
| 1245 if (codeUnit !== 32 && codeUnit !== 13 && !J.JSString__isWhitespace(
codeUnit)) | |
| 1246 break; | |
| 1247 } | |
| 1248 return index; | |
| 1249 }} | |
| 1250 } | |
| 1251 }], ["_isolate_helper", "dart:_isolate_helper",, H, { | |
| 1252 "^": "", | |
| 1253 _callInIsolate: function(isolate, $function) { | |
| 1254 var result = isolate.eval$1($function); | |
| 1255 if (!init.globalState.currentContext._isExecutingEvent) | |
| 1256 init.globalState.topEventLoop.run$0(); | |
| 1257 return result; | |
| 1258 }, | |
| 1259 leaveJsAsync: function() { | |
| 1260 --init.globalState.topEventLoop._activeJsAsyncCount; | |
| 1261 }, | |
| 1262 startRootIsolate: function(entry, args) { | |
| 1263 var t1, t2, t3, t4, t5, rootContext; | |
| 1264 t1 = {}; | |
| 1265 t1._captured_args_0 = args; | |
| 1266 if (args == null) { | |
| 1267 args = []; | |
| 1268 t1._captured_args_0 = args; | |
| 1269 t2 = args; | |
| 1270 } else | |
| 1271 t2 = args; | |
| 1272 if (!J.getInterceptor(t2).$isList) | |
| 1273 throw H.wrapException(P.ArgumentError$("Arguments to main must be a List
: " + H.S(t2))); | |
| 1274 init.globalState = new H._Manager(0, 0, 1, null, null, null, null, null, n
ull, null, null, null, entry); | |
| 1275 t2 = init.globalState; | |
| 1276 t3 = self.window == null; | |
| 1277 t4 = self.Worker; | |
| 1278 t5 = t3 && !!self.postMessage; | |
| 1279 t2.isWorker = t5; | |
| 1280 t5 = !t5; | |
| 1281 if (t5) | |
| 1282 t4 = t4 != null && $.$get$IsolateNatives_thisScript() != null; | |
| 1283 else | |
| 1284 t4 = true; | |
| 1285 t2.supportsWorkers = t4; | |
| 1286 t2.fromCommandLine = t3 && t5; | |
| 1287 t2.topEventLoop = new H._EventLoop(P.ListQueue$(null, H._IsolateEvent), 0)
; | |
| 1288 t2.isolates = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, nu
ll, null, null, 0), [P.$int, H._IsolateContext]); | |
| 1289 t2.managers = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, nu
ll, null, null, 0), [P.$int, null]); | |
| 1290 if (t2.isWorker === true) { | |
| 1291 t3 = new H._MainManagerStub(); | |
| 1292 t2.mainManager = t3; | |
| 1293 self.onmessage = function(f, a) { | |
| 1294 return function(e) { | |
| 1295 f(a, e); | |
| 1296 }; | |
| 1297 }(H.IsolateNatives__processWorkerMessage, t3); | |
| 1298 self.dartPrint = self.dartPrint || function(serialize) { | |
| 1299 return function(object) { | |
| 1300 if (self.console && self.console.log) | |
| 1301 self.console.log(object); | |
| 1302 else | |
| 1303 self.postMessage(serialize(object)); | |
| 1304 }; | |
| 1305 }(H._Manager__serializePrintMessage); | |
| 1306 } | |
| 1307 if (init.globalState.isWorker === true) | |
| 1308 return; | |
| 1309 t2 = init.globalState.nextIsolateId++; | |
| 1310 t3 = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, null,
null, 0), [P.$int, H.RawReceivePortImpl]); | |
| 1311 t4 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int); | |
| 1312 t5 = new H.RawReceivePortImpl(0, null, false); | |
| 1313 rootContext = new H._IsolateContext(t2, t3, t4, init.createNewIsolate(), t
5, 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)); | |
| 1314 t4.add$1(0, 0); | |
| 1315 rootContext._addRegistration$2(0, t5); | |
| 1316 init.globalState.rootContext = rootContext; | |
| 1317 init.globalState.currentContext = rootContext; | |
| 1318 t2 = H.getDynamicRuntimeType(); | |
| 1319 t3 = H.buildFunctionType(t2, [t2])._isTest$1(entry); | |
| 1320 if (t3) | |
| 1321 rootContext.eval$1(new H.startRootIsolate_closure(t1, entry)); | |
| 1322 else { | |
| 1323 t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(entry); | |
| 1324 if (t2) | |
| 1325 rootContext.eval$1(new H.startRootIsolate_closure0(t1, entry)); | |
| 1326 else | |
| 1327 rootContext.eval$1(entry); | |
| 1328 } | |
| 1329 init.globalState.topEventLoop.run$0(); | |
| 1330 }, | |
| 1331 IsolateNatives_computeThisScript: function() { | |
| 1332 var currentScript = init.currentScript; | |
| 1333 if (currentScript != null) | |
| 1334 return String(currentScript.src); | |
| 1335 if (init.globalState.isWorker === true) | |
| 1336 return H.IsolateNatives_computeThisScriptFromTrace(); | |
| 1337 return; | |
| 1338 }, | |
| 1339 IsolateNatives_computeThisScriptFromTrace: function() { | |
| 1340 var stack, matches; | |
| 1341 stack = new Error().stack; | |
| 1342 if (stack == null) { | |
| 1343 stack = function() { | |
| 1344 try { | |
| 1345 throw new Error(); | |
| 1346 } catch (e) { | |
| 1347 return e.stack; | |
| 1348 } | |
| 1349 }(); | |
| 1350 if (stack == null) | |
| 1351 throw H.wrapException(new P.UnsupportedError("No stack trace")); | |
| 1352 } | |
| 1353 matches = stack.match(new RegExp("^ *at [^(]*\\((.*):[0-9]*:[0-9]*\\)$", "
m")); | |
| 1354 if (matches != null) | |
| 1355 return matches[1]; | |
| 1356 matches = stack.match(new RegExp("^[^@]*@(.*):[0-9]*$", "m")); | |
| 1357 if (matches != null) | |
| 1358 return matches[1]; | |
| 1359 throw H.wrapException(new P.UnsupportedError("Cannot extract URI from \""
+ H.S(stack) + "\"")); | |
| 1360 }, | |
| 1361 IsolateNatives__processWorkerMessage: function(sender, e) { | |
| 1362 var msg, t1, functionName, entryPoint, args, message, isSpawnUri, startPau
sed, replyTo, t2, t3, t4, context; | |
| 1363 msg = new H._Deserializer(true, []).deserialize$1(e.data); | |
| 1364 t1 = J.getInterceptor$asx(msg); | |
| 1365 switch (t1.$index(msg, "command")) { | |
| 1366 case "start": | |
| 1367 init.globalState.currentManagerId = t1.$index(msg, "id"); | |
| 1368 functionName = t1.$index(msg, "functionName"); | |
| 1369 entryPoint = functionName == null ? init.globalState.entry : init.glob
alFunctions[functionName](); | |
| 1370 args = t1.$index(msg, "args"); | |
| 1371 message = new H._Deserializer(true, []).deserialize$1(t1.$index(msg, "
msg")); | |
| 1372 isSpawnUri = t1.$index(msg, "isSpawnUri"); | |
| 1373 startPaused = t1.$index(msg, "startPaused"); | |
| 1374 replyTo = new H._Deserializer(true, []).deserialize$1(t1.$index(msg, "
replyTo")); | |
| 1375 t1 = init.globalState.nextIsolateId++; | |
| 1376 t2 = H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, n
ull, null, 0), [P.$int, H.RawReceivePortImpl]); | |
| 1377 t3 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.$int); | |
| 1378 t4 = new H.RawReceivePortImpl(0, null, false); | |
| 1379 context = new H._IsolateContext(t1, t2, t3, init.createNewIsolate(), t
4, 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)); | |
| 1380 t3.add$1(0, 0); | |
| 1381 context._addRegistration$2(0, t4); | |
| 1382 init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(contex
t, new H.IsolateNatives__processWorkerMessage_closure(entryPoint, args, message,
isSpawnUri, startPaused, replyTo), "worker-start")); | |
| 1383 init.globalState.currentContext = context; | |
| 1384 init.globalState.topEventLoop.run$0(); | |
| 1385 break; | |
| 1386 case "spawn-worker": | |
| 1387 break; | |
| 1388 case "message": | |
| 1389 if (t1.$index(msg, "port") != null) | |
| 1390 J.send$1$x(t1.$index(msg, "port"), t1.$index(msg, "msg")); | |
| 1391 init.globalState.topEventLoop.run$0(); | |
| 1392 break; | |
| 1393 case "close": | |
| 1394 init.globalState.managers.remove$1(0, $.$get$IsolateNatives_workerIds(
).$index(0, sender)); | |
| 1395 sender.terminate(); | |
| 1396 init.globalState.topEventLoop.run$0(); | |
| 1397 break; | |
| 1398 case "log": | |
| 1399 H.IsolateNatives__log(t1.$index(msg, "msg")); | |
| 1400 break; | |
| 1401 case "print": | |
| 1402 if (init.globalState.isWorker === true) { | |
| 1403 t1 = init.globalState.mainManager; | |
| 1404 t2 = P.LinkedHashMap__makeLiteral(["command", "print", "msg", msg]); | |
| 1405 t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(
null, P.$int)).serialize$1(t2); | |
| 1406 t1.toString; | |
| 1407 self.postMessage(t2); | |
| 1408 } else | |
| 1409 P.print(t1.$index(msg, "msg")); | |
| 1410 break; | |
| 1411 case "error": | |
| 1412 throw H.wrapException(t1.$index(msg, "msg")); | |
| 1413 } | |
| 1414 }, | |
| 1415 IsolateNatives__log: function(msg) { | |
| 1416 var trace, t1, t2, exception; | |
| 1417 if (init.globalState.isWorker === true) { | |
| 1418 t1 = init.globalState.mainManager; | |
| 1419 t2 = P.LinkedHashMap__makeLiteral(["command", "log", "msg", msg]); | |
| 1420 t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(null
, P.$int)).serialize$1(t2); | |
| 1421 t1.toString; | |
| 1422 self.postMessage(t2); | |
| 1423 } else | |
| 1424 try { | |
| 1425 self.console.log(msg); | |
| 1426 } catch (exception) { | |
| 1427 H.unwrapException(exception); | |
| 1428 trace = H.getTraceFromException(exception); | |
| 1429 throw H.wrapException(P.Exception_Exception(trace)); | |
| 1430 } | |
| 1431 }, | |
| 1432 IsolateNatives__startIsolate: function(topLevel, args, message, isSpawnUri,
startPaused, replyTo) { | |
| 1433 var context, t1, t2, t3; | |
| 1434 context = init.globalState.currentContext; | |
| 1435 t1 = context.id; | |
| 1436 $.Primitives_mirrorFunctionCacheName = $.Primitives_mirrorFunctionCacheNam
e + ("_" + t1); | |
| 1437 $.Primitives_mirrorInvokeCacheName = $.Primitives_mirrorInvokeCacheName +
("_" + t1); | |
| 1438 t1 = context.controlPort; | |
| 1439 t2 = init.globalState.currentContext.id; | |
| 1440 t3 = context.pauseCapability; | |
| 1441 J.send$1$x(replyTo, ["spawned", new H._NativeJsSendPort(t1, t2), t3, conte
xt.terminateCapability]); | |
| 1442 t2 = new H.IsolateNatives__startIsolate_runStartFunction(topLevel, args, m
essage, isSpawnUri, context); | |
| 1443 if (startPaused === true) { | |
| 1444 context.addPause$2(t3, t3); | |
| 1445 init.globalState.topEventLoop.events._add$1(new H._IsolateEvent(context,
t2, "start isolate")); | |
| 1446 } else | |
| 1447 t2.call$0(); | |
| 1448 }, | |
| 1449 _clone: function(message) { | |
| 1450 return new H._Deserializer(true, []).deserialize$1(new H._Serializer(false
, P.LinkedHashMap_LinkedHashMap$identity(null, P.$int)).serialize$1(message)); | |
| 1451 }, | |
| 1452 startRootIsolate_closure: { | |
| 1453 "^": "Closure:1;__isolate_helper$_box_0,_captured_entry_1", | |
| 1454 call$0: function() { | |
| 1455 this._captured_entry_1.call$1(this.__isolate_helper$_box_0._captured_arg
s_0); | |
| 1456 } | |
| 1457 }, | |
| 1458 startRootIsolate_closure0: { | |
| 1459 "^": "Closure:1;__isolate_helper$_box_0,_captured_entry_2", | |
| 1460 call$0: function() { | |
| 1461 this._captured_entry_2.call$2(this.__isolate_helper$_box_0._captured_arg
s_0, null); | |
| 1462 } | |
| 1463 }, | |
| 1464 _Manager: { | |
| 1465 "^": "Object;nextIsolateId,currentManagerId,nextManagerId,currentContext,r
ootContext,topEventLoop,fromCommandLine,isWorker,supportsWorkers,isolates,mainMa
nager,managers,entry", | |
| 1466 static: {_Manager__serializePrintMessage: function(object) { | |
| 1467 var t1 = P.LinkedHashMap__makeLiteral(["command", "print", "msg", obje
ct]); | |
| 1468 return new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(
null, P.$int)).serialize$1(t1); | |
| 1469 }} | |
| 1470 }, | |
| 1471 _IsolateContext: { | |
| 1472 "^": "Object;id,ports,weakPorts,isolateStatics<,controlPort<,pauseCapabili
ty,terminateCapability,initialized,isPaused,delayedEvents,pauseTokens,doneHandle
rs,_scheduledControlEvents,_isExecutingEvent,errorsAreFatal,errorPorts", | |
| 1473 addPause$2: function(authentification, resume) { | |
| 1474 if (!this.pauseCapability.$eq(0, authentification)) | |
| 1475 return; | |
| 1476 if (this.pauseTokens.add$1(0, resume) && !this.isPaused) | |
| 1477 this.isPaused = true; | |
| 1478 this._updateGlobalState$0(); | |
| 1479 }, | |
| 1480 removePause$1: function(resume) { | |
| 1481 var t1, t2, $event, t3, t4, t5; | |
| 1482 if (!this.isPaused) | |
| 1483 return; | |
| 1484 t1 = this.pauseTokens; | |
| 1485 t1.remove$1(0, resume); | |
| 1486 if (t1._collection$_length === 0) { | |
| 1487 for (t1 = this.delayedEvents; t2 = t1.length, t2 !== 0;) { | |
| 1488 if (0 >= t2) | |
| 1489 return H.ioore(t1, -1); | |
| 1490 $event = t1.pop(); | |
| 1491 t2 = init.globalState.topEventLoop.events; | |
| 1492 t3 = t2._head; | |
| 1493 t4 = t2._table; | |
| 1494 t5 = t4.length; | |
| 1495 t3 = (t3 - 1 & t5 - 1) >>> 0; | |
| 1496 t2._head = t3; | |
| 1497 if (t3 < 0 || t3 >= t5) | |
| 1498 return H.ioore(t4, t3); | |
| 1499 t4[t3] = $event; | |
| 1500 if (t3 === t2._tail) | |
| 1501 t2._grow$0(); | |
| 1502 ++t2._modificationCount; | |
| 1503 } | |
| 1504 this.isPaused = false; | |
| 1505 } | |
| 1506 this._updateGlobalState$0(); | |
| 1507 }, | |
| 1508 addDoneListener$2: function(responsePort, response) { | |
| 1509 var t1, i, t2; | |
| 1510 if (this.doneHandlers == null) | |
| 1511 this.doneHandlers = []; | |
| 1512 for (t1 = J.getInterceptor(responsePort), i = 0; t2 = this.doneHandlers,
i < t2.length; i += 2) | |
| 1513 if (t1.$eq(responsePort, t2[i])) { | |
| 1514 t1 = this.doneHandlers; | |
| 1515 t2 = i + 1; | |
| 1516 if (t2 >= t1.length) | |
| 1517 return H.ioore(t1, t2); | |
| 1518 t1[t2] = response; | |
| 1519 return; | |
| 1520 } | |
| 1521 t2.push(responsePort); | |
| 1522 this.doneHandlers.push(response); | |
| 1523 }, | |
| 1524 removeDoneListener$1: function(responsePort) { | |
| 1525 var t1, i, t2; | |
| 1526 if (this.doneHandlers == null) | |
| 1527 return; | |
| 1528 for (t1 = J.getInterceptor(responsePort), i = 0; t2 = this.doneHandlers,
i < t2.length; i += 2) | |
| 1529 if (t1.$eq(responsePort, t2[i])) { | |
| 1530 t1 = this.doneHandlers; | |
| 1531 t2 = i + 2; | |
| 1532 t1.toString; | |
| 1533 if (typeof t1 !== "object" || t1 === null || !!t1.fixed$length) | |
| 1534 H.throwExpression(new P.UnsupportedError("removeRange")); | |
| 1535 P.RangeError_checkValidRange(i, t2, t1.length, null, null, null); | |
| 1536 t1.splice(i, t2 - i); | |
| 1537 return; | |
| 1538 } | |
| 1539 }, | |
| 1540 setErrorsFatal$2: function(authentification, errorsAreFatal) { | |
| 1541 if (!this.terminateCapability.$eq(0, authentification)) | |
| 1542 return; | |
| 1543 this.errorsAreFatal = errorsAreFatal; | |
| 1544 }, | |
| 1545 handlePing$3: function(responsePort, pingType, response) { | |
| 1546 var t1 = J.getInterceptor(pingType); | |
| 1547 if (!t1.$eq(pingType, 0)) | |
| 1548 t1 = t1.$eq(pingType, 1) && !this._isExecutingEvent; | |
| 1549 else | |
| 1550 t1 = true; | |
| 1551 if (t1) { | |
| 1552 J.send$1$x(responsePort, response); | |
| 1553 return; | |
| 1554 } | |
| 1555 t1 = this._scheduledControlEvents; | |
| 1556 if (t1 == null) { | |
| 1557 t1 = P.ListQueue$(null, null); | |
| 1558 this._scheduledControlEvents = t1; | |
| 1559 } | |
| 1560 t1._add$1(new H._IsolateContext_handlePing_respond(responsePort, respons
e)); | |
| 1561 }, | |
| 1562 handleKill$2: function(authentification, priority) { | |
| 1563 var t1; | |
| 1564 if (!this.terminateCapability.$eq(0, authentification)) | |
| 1565 return; | |
| 1566 t1 = J.getInterceptor(priority); | |
| 1567 if (!t1.$eq(priority, 0)) | |
| 1568 t1 = t1.$eq(priority, 1) && !this._isExecutingEvent; | |
| 1569 else | |
| 1570 t1 = true; | |
| 1571 if (t1) { | |
| 1572 this.kill$0(); | |
| 1573 return; | |
| 1574 } | |
| 1575 t1 = this._scheduledControlEvents; | |
| 1576 if (t1 == null) { | |
| 1577 t1 = P.ListQueue$(null, null); | |
| 1578 this._scheduledControlEvents = t1; | |
| 1579 } | |
| 1580 t1._add$1(this.get$kill()); | |
| 1581 }, | |
| 1582 handleUncaughtError$2: function(error, stackTrace) { | |
| 1583 var t1, message; | |
| 1584 t1 = this.errorPorts; | |
| 1585 if (t1._collection$_length === 0) { | |
| 1586 if (this.errorsAreFatal === true && this === init.globalState.rootCont
ext) | |
| 1587 return; | |
| 1588 if (self.console && self.console.error) | |
| 1589 self.console.error(error, stackTrace); | |
| 1590 else { | |
| 1591 P.print(error); | |
| 1592 if (stackTrace != null) | |
| 1593 P.print(stackTrace); | |
| 1594 } | |
| 1595 return; | |
| 1596 } | |
| 1597 message = new Array(2); | |
| 1598 message.fixed$length = Array; | |
| 1599 message[0] = J.toString$0$(error); | |
| 1600 message[1] = stackTrace == null ? null : J.toString$0$(stackTrace); | |
| 1601 for (t1 = H.setRuntimeTypeInfo(new P.LinkedHashSetIterator(t1, t1._colle
ction$_modifications, null, null), [null]), t1._cell = t1._set._collection$_firs
t; t1.moveNext$0();) | |
| 1602 J.send$1$x(t1._collection$_current, message); | |
| 1603 }, | |
| 1604 eval$1: function(code) { | |
| 1605 var old, result, oldIsExecutingEvent, e, s, exception, t1; | |
| 1606 old = init.globalState.currentContext; | |
| 1607 init.globalState.currentContext = this; | |
| 1608 $ = this.isolateStatics; | |
| 1609 result = null; | |
| 1610 oldIsExecutingEvent = this._isExecutingEvent; | |
| 1611 this._isExecutingEvent = true; | |
| 1612 try { | |
| 1613 result = code.call$0(); | |
| 1614 } catch (exception) { | |
| 1615 t1 = H.unwrapException(exception); | |
| 1616 e = t1; | |
| 1617 s = H.getTraceFromException(exception); | |
| 1618 this.handleUncaughtError$2(e, s); | |
| 1619 if (this.errorsAreFatal === true) { | |
| 1620 this.kill$0(); | |
| 1621 if (this === init.globalState.rootContext) | |
| 1622 throw exception; | |
| 1623 } | |
| 1624 } finally { | |
| 1625 this._isExecutingEvent = oldIsExecutingEvent; | |
| 1626 init.globalState.currentContext = old; | |
| 1627 if (old != null) | |
| 1628 $ = old.get$isolateStatics(); | |
| 1629 if (this._scheduledControlEvents != null) | |
| 1630 for (; t1 = this._scheduledControlEvents, !t1.get$isEmpty(t1);) | |
| 1631 this._scheduledControlEvents.removeFirst$0().call$0(); | |
| 1632 } | |
| 1633 return result; | |
| 1634 }, | |
| 1635 lookup$1: function(portId) { | |
| 1636 return this.ports.$index(0, portId); | |
| 1637 }, | |
| 1638 _addRegistration$2: function(portId, port) { | |
| 1639 var t1 = this.ports; | |
| 1640 if (t1.containsKey$1(portId)) | |
| 1641 throw H.wrapException(P.Exception_Exception("Registry: ports must be r
egistered only once.")); | |
| 1642 t1.$indexSet(0, portId, port); | |
| 1643 }, | |
| 1644 _updateGlobalState$0: function() { | |
| 1645 var t1 = this.ports; | |
| 1646 if (t1.get$length(t1) - this.weakPorts._collection$_length > 0 || this.i
sPaused || !this.initialized) | |
| 1647 init.globalState.isolates.$indexSet(0, this.id, this); | |
| 1648 else | |
| 1649 this.kill$0(); | |
| 1650 }, | |
| 1651 kill$0: [function() { | |
| 1652 var t1, t2, i, responsePort, t3; | |
| 1653 t1 = this._scheduledControlEvents; | |
| 1654 if (t1 != null) | |
| 1655 t1.clear$0(0); | |
| 1656 for (t1 = this.ports, t2 = t1.get$values(t1), t2 = t2.get$iterator(t2);
t2.moveNext$0();) | |
| 1657 t2.get$current().__isolate_helper$_close$0(); | |
| 1658 t1.clear$0(0); | |
| 1659 this.weakPorts.clear$0(0); | |
| 1660 init.globalState.isolates.remove$1(0, this.id); | |
| 1661 this.errorPorts.clear$0(0); | |
| 1662 if (this.doneHandlers != null) { | |
| 1663 for (i = 0; t1 = this.doneHandlers, t2 = t1.length, i < t2; i += 2) { | |
| 1664 responsePort = t1[i]; | |
| 1665 t3 = i + 1; | |
| 1666 if (t3 >= t2) | |
| 1667 return H.ioore(t1, t3); | |
| 1668 J.send$1$x(responsePort, t1[t3]); | |
| 1669 } | |
| 1670 this.doneHandlers = null; | |
| 1671 } | |
| 1672 }, "call$0", "get$kill", 0, 0, 2] | |
| 1673 }, | |
| 1674 _IsolateContext_handlePing_respond: { | |
| 1675 "^": "Closure:2;_captured_responsePort_0,_captured_response_1", | |
| 1676 call$0: function() { | |
| 1677 J.send$1$x(this._captured_responsePort_0, this._captured_response_1); | |
| 1678 } | |
| 1679 }, | |
| 1680 _EventLoop: { | |
| 1681 "^": "Object;events,_activeJsAsyncCount", | |
| 1682 dequeue$0: function() { | |
| 1683 var t1 = this.events; | |
| 1684 if (t1._head === t1._tail) | |
| 1685 return; | |
| 1686 return t1.removeFirst$0(); | |
| 1687 }, | |
| 1688 runIteration$0: function() { | |
| 1689 var $event, t1, t2; | |
| 1690 $event = this.dequeue$0(); | |
| 1691 if ($event == null) { | |
| 1692 if (init.globalState.rootContext != null) | |
| 1693 if (init.globalState.isolates.containsKey$1(init.globalState.rootCon
text.id)) | |
| 1694 if (init.globalState.fromCommandLine === true) { | |
| 1695 t1 = init.globalState.rootContext.ports; | |
| 1696 t1 = t1.get$isEmpty(t1); | |
| 1697 } else | |
| 1698 t1 = false; | |
| 1699 else | |
| 1700 t1 = false; | |
| 1701 else | |
| 1702 t1 = false; | |
| 1703 if (t1) | |
| 1704 H.throwExpression(P.Exception_Exception("Program exited with open Re
ceivePorts.")); | |
| 1705 t1 = init.globalState; | |
| 1706 if (t1.isWorker === true) { | |
| 1707 t2 = t1.isolates; | |
| 1708 t2 = t2.get$isEmpty(t2) && t1.topEventLoop._activeJsAsyncCount === 0
; | |
| 1709 } else | |
| 1710 t2 = false; | |
| 1711 if (t2) { | |
| 1712 t1 = t1.mainManager; | |
| 1713 t2 = P.LinkedHashMap__makeLiteral(["command", "close"]); | |
| 1714 t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(
null, P.$int)).serialize$1(t2); | |
| 1715 t1.toString; | |
| 1716 self.postMessage(t2); | |
| 1717 } | |
| 1718 return false; | |
| 1719 } | |
| 1720 $event.process$0(); | |
| 1721 return true; | |
| 1722 }, | |
| 1723 _runHelper$0: function() { | |
| 1724 if (self.window != null) | |
| 1725 new H._EventLoop__runHelper_next(this).call$0(); | |
| 1726 else | |
| 1727 for (; this.runIteration$0();) | |
| 1728 ; | |
| 1729 }, | |
| 1730 run$0: function() { | |
| 1731 var e, trace, exception, t1, t2; | |
| 1732 if (init.globalState.isWorker !== true) | |
| 1733 this._runHelper$0(); | |
| 1734 else | |
| 1735 try { | |
| 1736 this._runHelper$0(); | |
| 1737 } catch (exception) { | |
| 1738 t1 = H.unwrapException(exception); | |
| 1739 e = t1; | |
| 1740 trace = H.getTraceFromException(exception); | |
| 1741 t1 = init.globalState.mainManager; | |
| 1742 t2 = P.LinkedHashMap__makeLiteral(["command", "error", "msg", H.S(e)
+ "\n" + H.S(trace)]); | |
| 1743 t2 = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$identity(
null, P.$int)).serialize$1(t2); | |
| 1744 t1.toString; | |
| 1745 self.postMessage(t2); | |
| 1746 } | |
| 1747 } | |
| 1748 }, | |
| 1749 _EventLoop__runHelper_next: { | |
| 1750 "^": "Closure:2;__isolate_helper$_captured_this_0", | |
| 1751 call$0: function() { | |
| 1752 if (!this.__isolate_helper$_captured_this_0.runIteration$0()) | |
| 1753 return; | |
| 1754 P.Timer_Timer(C.Duration_0, this); | |
| 1755 } | |
| 1756 }, | |
| 1757 _IsolateEvent: { | |
| 1758 "^": "Object;isolate,fn,message>", | |
| 1759 process$0: function() { | |
| 1760 var t1 = this.isolate; | |
| 1761 if (t1.isPaused) { | |
| 1762 t1.delayedEvents.push(this); | |
| 1763 return; | |
| 1764 } | |
| 1765 t1.eval$1(this.fn); | |
| 1766 } | |
| 1767 }, | |
| 1768 _MainManagerStub: { | |
| 1769 "^": "Object;" | |
| 1770 }, | |
| 1771 IsolateNatives__processWorkerMessage_closure: { | |
| 1772 "^": "Closure:1;_captured_entryPoint_0,_captured_args_1,_captured_message_
2,_captured_isSpawnUri_3,_captured_startPaused_4,_captured_replyTo_5", | |
| 1773 call$0: function() { | |
| 1774 H.IsolateNatives__startIsolate(this._captured_entryPoint_0, this._captur
ed_args_1, this._captured_message_2, this._captured_isSpawnUri_3, this._captured
_startPaused_4, this._captured_replyTo_5); | |
| 1775 } | |
| 1776 }, | |
| 1777 IsolateNatives__startIsolate_runStartFunction: { | |
| 1778 "^": "Closure:2;_captured_topLevel_0,_captured_args_1,_captured_message_2,
_captured_isSpawnUri_3,_captured_context_4", | |
| 1779 call$0: function() { | |
| 1780 var t1, t2, t3, t4; | |
| 1781 t1 = this._captured_context_4; | |
| 1782 t1.initialized = true; | |
| 1783 if (this._captured_isSpawnUri_3 !== true) | |
| 1784 this._captured_topLevel_0.call$1(this._captured_message_2); | |
| 1785 else { | |
| 1786 t2 = this._captured_topLevel_0; | |
| 1787 t3 = H.getDynamicRuntimeType(); | |
| 1788 t4 = H.buildFunctionType(t3, [t3, t3])._isTest$1(t2); | |
| 1789 if (t4) | |
| 1790 t2.call$2(this._captured_args_1, this._captured_message_2); | |
| 1791 else { | |
| 1792 t3 = H.buildFunctionType(t3, [t3])._isTest$1(t2); | |
| 1793 if (t3) | |
| 1794 t2.call$1(this._captured_args_1); | |
| 1795 else | |
| 1796 t2.call$0(); | |
| 1797 } | |
| 1798 } | |
| 1799 t1._updateGlobalState$0(); | |
| 1800 } | |
| 1801 }, | |
| 1802 _BaseSendPort: { | |
| 1803 "^": "Object;" | |
| 1804 }, | |
| 1805 _NativeJsSendPort: { | |
| 1806 "^": "_BaseSendPort;_receivePort,_isolateId", | |
| 1807 send$1: function(_, message) { | |
| 1808 var isolate, t1, msg, t2; | |
| 1809 isolate = init.globalState.isolates.$index(0, this._isolateId); | |
| 1810 if (isolate == null) | |
| 1811 return; | |
| 1812 t1 = this._receivePort; | |
| 1813 if (t1.get$_isClosed()) | |
| 1814 return; | |
| 1815 msg = H._clone(message); | |
| 1816 if (isolate.get$controlPort() === t1) { | |
| 1817 t1 = J.getInterceptor$asx(msg); | |
| 1818 switch (t1.$index(msg, 0)) { | |
| 1819 case "pause": | |
| 1820 isolate.addPause$2(t1.$index(msg, 1), t1.$index(msg, 2)); | |
| 1821 break; | |
| 1822 case "resume": | |
| 1823 isolate.removePause$1(t1.$index(msg, 1)); | |
| 1824 break; | |
| 1825 case "add-ondone": | |
| 1826 isolate.addDoneListener$2(t1.$index(msg, 1), t1.$index(msg, 2)); | |
| 1827 break; | |
| 1828 case "remove-ondone": | |
| 1829 isolate.removeDoneListener$1(t1.$index(msg, 1)); | |
| 1830 break; | |
| 1831 case "set-errors-fatal": | |
| 1832 isolate.setErrorsFatal$2(t1.$index(msg, 1), t1.$index(msg, 2)); | |
| 1833 break; | |
| 1834 case "ping": | |
| 1835 isolate.handlePing$3(t1.$index(msg, 1), t1.$index(msg, 2), t1.$ind
ex(msg, 3)); | |
| 1836 break; | |
| 1837 case "kill": | |
| 1838 isolate.handleKill$2(t1.$index(msg, 1), t1.$index(msg, 2)); | |
| 1839 break; | |
| 1840 case "getErrors": | |
| 1841 t1 = t1.$index(msg, 1); | |
| 1842 isolate.errorPorts.add$1(0, t1); | |
| 1843 break; | |
| 1844 case "stopErrors": | |
| 1845 t1 = t1.$index(msg, 1); | |
| 1846 isolate.errorPorts.remove$1(0, t1); | |
| 1847 break; | |
| 1848 } | |
| 1849 return; | |
| 1850 } | |
| 1851 t1 = init.globalState.topEventLoop; | |
| 1852 t2 = "receive " + H.S(message); | |
| 1853 t1.events._add$1(new H._IsolateEvent(isolate, new H._NativeJsSendPort_se
nd_closure(this, msg), t2)); | |
| 1854 }, | |
| 1855 $eq: function(_, other) { | |
| 1856 if (other == null) | |
| 1857 return false; | |
| 1858 return other instanceof H._NativeJsSendPort && J.$eq$(this._receivePort,
other._receivePort); | |
| 1859 }, | |
| 1860 get$hashCode: function(_) { | |
| 1861 return this._receivePort.get$_id(); | |
| 1862 } | |
| 1863 }, | |
| 1864 _NativeJsSendPort_send_closure: { | |
| 1865 "^": "Closure:1;__isolate_helper$_captured_this_0,_captured_msg_1", | |
| 1866 call$0: function() { | |
| 1867 var t1 = this.__isolate_helper$_captured_this_0._receivePort; | |
| 1868 if (!t1.get$_isClosed()) | |
| 1869 t1.__isolate_helper$_add$1(this._captured_msg_1); | |
| 1870 } | |
| 1871 }, | |
| 1872 _WorkerSendPort: { | |
| 1873 "^": "_BaseSendPort;_workerId,_receivePortId,_isolateId", | |
| 1874 send$1: function(_, message) { | |
| 1875 var t1, workerMessage, manager; | |
| 1876 t1 = P.LinkedHashMap__makeLiteral(["command", "message", "port", this, "
msg", message]); | |
| 1877 workerMessage = new H._Serializer(true, P.LinkedHashMap_LinkedHashMap$id
entity(null, P.$int)).serialize$1(t1); | |
| 1878 if (init.globalState.isWorker === true) { | |
| 1879 init.globalState.mainManager.toString; | |
| 1880 self.postMessage(workerMessage); | |
| 1881 } else { | |
| 1882 manager = init.globalState.managers.$index(0, this._workerId); | |
| 1883 if (manager != null) | |
| 1884 manager.postMessage(workerMessage); | |
| 1885 } | |
| 1886 }, | |
| 1887 $eq: function(_, other) { | |
| 1888 if (other == null) | |
| 1889 return false; | |
| 1890 return other instanceof H._WorkerSendPort && J.$eq$(this._workerId, othe
r._workerId) && J.$eq$(this._isolateId, other._isolateId) && J.$eq$(this._receiv
ePortId, other._receivePortId); | |
| 1891 }, | |
| 1892 get$hashCode: function(_) { | |
| 1893 var t1, t2, t3; | |
| 1894 t1 = this._workerId; | |
| 1895 if (typeof t1 !== "number") | |
| 1896 return t1.$shl(); | |
| 1897 t2 = this._isolateId; | |
| 1898 if (typeof t2 !== "number") | |
| 1899 return t2.$shl(); | |
| 1900 t3 = this._receivePortId; | |
| 1901 if (typeof t3 !== "number") | |
| 1902 return H.iae(t3); | |
| 1903 return (t1 << 16 ^ t2 << 8 ^ t3) >>> 0; | |
| 1904 } | |
| 1905 }, | |
| 1906 RawReceivePortImpl: { | |
| 1907 "^": "Object;_id<,_handler,_isClosed<", | |
| 1908 __isolate_helper$_close$0: function() { | |
| 1909 this._isClosed = true; | |
| 1910 this._handler = null; | |
| 1911 }, | |
| 1912 __isolate_helper$_add$1: function(dataEvent) { | |
| 1913 if (this._isClosed) | |
| 1914 return; | |
| 1915 this._handler$1(dataEvent); | |
| 1916 }, | |
| 1917 _handler$1: function(arg0) { | |
| 1918 return this._handler.call$1(arg0); | |
| 1919 }, | |
| 1920 $isRawReceivePort: 1 | |
| 1921 }, | |
| 1922 TimerImpl: { | |
| 1923 "^": "Object;_once,_inEventLoop,_handle", | |
| 1924 TimerImpl$2: function(milliseconds, callback) { | |
| 1925 var t1, t2; | |
| 1926 if (milliseconds === 0) | |
| 1927 t1 = self.setTimeout == null || init.globalState.isWorker === true; | |
| 1928 else | |
| 1929 t1 = false; | |
| 1930 if (t1) { | |
| 1931 this._handle = 1; | |
| 1932 t1 = init.globalState.topEventLoop; | |
| 1933 t2 = init.globalState.currentContext; | |
| 1934 t1.events._add$1(new H._IsolateEvent(t2, new H.TimerImpl_internalCallb
ack(this, callback), "timer")); | |
| 1935 this._inEventLoop = true; | |
| 1936 } else if (self.setTimeout != null) { | |
| 1937 ++init.globalState.topEventLoop._activeJsAsyncCount; | |
| 1938 this._handle = self.setTimeout(H.convertDartClosureToJS(new H.TimerImp
l_internalCallback0(this, callback), 0), milliseconds); | |
| 1939 } else | |
| 1940 throw H.wrapException(new P.UnsupportedError("Timer greater than 0."))
; | |
| 1941 }, | |
| 1942 static: {TimerImpl$: function(milliseconds, callback) { | |
| 1943 var t1 = new H.TimerImpl(true, false, null); | |
| 1944 t1.TimerImpl$2(milliseconds, callback); | |
| 1945 return t1; | |
| 1946 }} | |
| 1947 }, | |
| 1948 TimerImpl_internalCallback: { | |
| 1949 "^": "Closure:2;__isolate_helper$_captured_this_0,_captured_callback_1", | |
| 1950 call$0: function() { | |
| 1951 this.__isolate_helper$_captured_this_0._handle = null; | |
| 1952 this._captured_callback_1.call$0(); | |
| 1953 } | |
| 1954 }, | |
| 1955 TimerImpl_internalCallback0: { | |
| 1956 "^": "Closure:2;__isolate_helper$_captured_this_2,_captured_callback_3", | |
| 1957 call$0: function() { | |
| 1958 this.__isolate_helper$_captured_this_2._handle = null; | |
| 1959 H.leaveJsAsync(); | |
| 1960 this._captured_callback_3.call$0(); | |
| 1961 } | |
| 1962 }, | |
| 1963 CapabilityImpl: { | |
| 1964 "^": "Object;_id<", | |
| 1965 get$hashCode: function(_) { | |
| 1966 var hash = this._id; | |
| 1967 if (typeof hash !== "number") | |
| 1968 return hash.$shr(); | |
| 1969 hash = C.JSNumber_methods._shrOtherPositive$1(hash, 0) ^ C.JSNumber_meth
ods._tdivFast$1(hash, 4294967296); | |
| 1970 hash = (~hash >>> 0) + (hash << 15 >>> 0) & 4294967295; | |
| 1971 hash = ((hash ^ hash >>> 12) >>> 0) * 5 & 4294967295; | |
| 1972 hash = ((hash ^ hash >>> 4) >>> 0) * 2057 & 4294967295; | |
| 1973 return (hash ^ hash >>> 16) >>> 0; | |
| 1974 }, | |
| 1975 $eq: function(_, other) { | |
| 1976 var t1, t2; | |
| 1977 if (other == null) | |
| 1978 return false; | |
| 1979 if (other === this) | |
| 1980 return true; | |
| 1981 if (other instanceof H.CapabilityImpl) { | |
| 1982 t1 = this._id; | |
| 1983 t2 = other._id; | |
| 1984 return t1 == null ? t2 == null : t1 === t2; | |
| 1985 } | |
| 1986 return false; | |
| 1987 } | |
| 1988 }, | |
| 1989 _Serializer: { | |
| 1990 "^": "Object;_serializeSendPorts,serializedObjectIds", | |
| 1991 serialize$1: [function(x) { | |
| 1992 var t1, serializationId, serializeTearOff, t2, $name; | |
| 1993 if (x == null || typeof x === "string" || typeof x === "number" || typeo
f x === "boolean") | |
| 1994 return x; | |
| 1995 t1 = this.serializedObjectIds; | |
| 1996 serializationId = t1.$index(0, x); | |
| 1997 if (serializationId != null) | |
| 1998 return ["ref", serializationId]; | |
| 1999 t1.$indexSet(0, x, t1.get$length(t1)); | |
| 2000 t1 = J.getInterceptor(x); | |
| 2001 if (!!t1.$isNativeByteBuffer) | |
| 2002 return ["buffer", x]; | |
| 2003 if (!!t1.$isNativeTypedData) | |
| 2004 return ["typed", x]; | |
| 2005 if (!!t1.$isJSIndexable) | |
| 2006 return this.serializeJSIndexable$1(x); | |
| 2007 if (!!t1.$isInternalMap) { | |
| 2008 serializeTearOff = this.get$serialize(); | |
| 2009 t2 = x.get$keys(); | |
| 2010 t2 = H.MappedIterable_MappedIterable(t2, serializeTearOff, H.getRuntim
eTypeArgument(t2, "Iterable", 0), null); | |
| 2011 t2 = P.List_List$from(t2, true, H.getRuntimeTypeArgument(t2, "Iterable
", 0)); | |
| 2012 t1 = t1.get$values(x); | |
| 2013 t1 = H.MappedIterable_MappedIterable(t1, serializeTearOff, H.getRuntim
eTypeArgument(t1, "Iterable", 0), null); | |
| 2014 return ["map", t2, P.List_List$from(t1, true, H.getRuntimeTypeArgument
(t1, "Iterable", 0))]; | |
| 2015 } | |
| 2016 if (!!t1.$isJSObject) | |
| 2017 return this.serializeJSObject$1(x); | |
| 2018 if (!!t1.$isInterceptor) | |
| 2019 this.unsupported$1(x); | |
| 2020 if (!!t1.$isRawReceivePort) | |
| 2021 this.unsupported$2(x, "RawReceivePorts can't be transmitted:"); | |
| 2022 if (!!t1.$is_NativeJsSendPort) | |
| 2023 return this.serializeJsSendPort$1(x); | |
| 2024 if (!!t1.$is_WorkerSendPort) | |
| 2025 return this.serializeWorkerSendPort$1(x); | |
| 2026 if (!!t1.$isClosure) { | |
| 2027 $name = x.$static_name; | |
| 2028 if ($name == null) | |
| 2029 this.unsupported$2(x, "Closures can't be transmitted:"); | |
| 2030 return ["function", $name]; | |
| 2031 } | |
| 2032 if (!!t1.$isCapabilityImpl) | |
| 2033 return ["capability", x._id]; | |
| 2034 if (!(x instanceof P.Object)) | |
| 2035 this.unsupported$1(x); | |
| 2036 return ["dart", init.classIdExtractor(x), this.serializeArrayInPlace$1(i
nit.classFieldsExtractor(x))]; | |
| 2037 }, "call$1", "get$serialize", 2, 0, 0], | |
| 2038 unsupported$2: function(x, message) { | |
| 2039 throw H.wrapException(new P.UnsupportedError(H.S(message == null ? "Can'
t transmit:" : message) + " " + H.S(x))); | |
| 2040 }, | |
| 2041 unsupported$1: function(x) { | |
| 2042 return this.unsupported$2(x, null); | |
| 2043 }, | |
| 2044 serializeJSIndexable$1: function(indexable) { | |
| 2045 var serialized = this.serializeArray$1(indexable); | |
| 2046 if (!!indexable.fixed$length) | |
| 2047 return ["fixed", serialized]; | |
| 2048 if (!indexable.fixed$length) | |
| 2049 return ["extendable", serialized]; | |
| 2050 if (!indexable.immutable$list) | |
| 2051 return ["mutable", serialized]; | |
| 2052 if (indexable.constructor === Array) | |
| 2053 return ["const", serialized]; | |
| 2054 this.unsupported$2(indexable, "Can't serialize indexable: "); | |
| 2055 }, | |
| 2056 serializeArray$1: function(x) { | |
| 2057 var serialized, i, t1; | |
| 2058 serialized = []; | |
| 2059 C.JSArray_methods.set$length(serialized, x.length); | |
| 2060 for (i = 0; i < x.length; ++i) { | |
| 2061 t1 = this.serialize$1(x[i]); | |
| 2062 if (i >= serialized.length) | |
| 2063 return H.ioore(serialized, i); | |
| 2064 serialized[i] = t1; | |
| 2065 } | |
| 2066 return serialized; | |
| 2067 }, | |
| 2068 serializeArrayInPlace$1: function(x) { | |
| 2069 var i; | |
| 2070 for (i = 0; i < x.length; ++i) | |
| 2071 C.JSArray_methods.$indexSet(x, i, this.serialize$1(x[i])); | |
| 2072 return x; | |
| 2073 }, | |
| 2074 serializeJSObject$1: function(x) { | |
| 2075 var keys, values, i, t1; | |
| 2076 if (!!x.constructor && x.constructor !== Object) | |
| 2077 this.unsupported$2(x, "Only plain JS Objects are supported:"); | |
| 2078 keys = Object.keys(x); | |
| 2079 values = []; | |
| 2080 C.JSArray_methods.set$length(values, keys.length); | |
| 2081 for (i = 0; i < keys.length; ++i) { | |
| 2082 t1 = this.serialize$1(x[keys[i]]); | |
| 2083 if (i >= values.length) | |
| 2084 return H.ioore(values, i); | |
| 2085 values[i] = t1; | |
| 2086 } | |
| 2087 return ["js-object", keys, values]; | |
| 2088 }, | |
| 2089 serializeWorkerSendPort$1: function(x) { | |
| 2090 if (this._serializeSendPorts) | |
| 2091 return ["sendport", x._workerId, x._isolateId, x._receivePortId]; | |
| 2092 return ["raw sendport", x]; | |
| 2093 }, | |
| 2094 serializeJsSendPort$1: function(x) { | |
| 2095 if (this._serializeSendPorts) | |
| 2096 return ["sendport", init.globalState.currentManagerId, x._isolateId, x
._receivePort.get$_id()]; | |
| 2097 return ["raw sendport", x]; | |
| 2098 } | |
| 2099 }, | |
| 2100 _Deserializer: { | |
| 2101 "^": "Object;_adjustSendPorts,deserializedObjects", | |
| 2102 deserialize$1: [function(x) { | |
| 2103 var serializationId, t1, result, classId, fields, emptyInstance; | |
| 2104 if (x == null || typeof x === "string" || typeof x === "number" || typeo
f x === "boolean") | |
| 2105 return x; | |
| 2106 if (typeof x !== "object" || x === null || x.constructor !== Array) | |
| 2107 throw H.wrapException(P.ArgumentError$("Bad serialized message: " + H.
S(x))); | |
| 2108 switch (C.JSArray_methods.get$first(x)) { | |
| 2109 case "ref": | |
| 2110 if (1 >= x.length) | |
| 2111 return H.ioore(x, 1); | |
| 2112 serializationId = x[1]; | |
| 2113 t1 = this.deserializedObjects; | |
| 2114 if (serializationId >>> 0 !== serializationId || serializationId >=
t1.length) | |
| 2115 return H.ioore(t1, serializationId); | |
| 2116 return t1[serializationId]; | |
| 2117 case "buffer": | |
| 2118 if (1 >= x.length) | |
| 2119 return H.ioore(x, 1); | |
| 2120 result = x[1]; | |
| 2121 this.deserializedObjects.push(result); | |
| 2122 return result; | |
| 2123 case "typed": | |
| 2124 if (1 >= x.length) | |
| 2125 return H.ioore(x, 1); | |
| 2126 result = x[1]; | |
| 2127 this.deserializedObjects.push(result); | |
| 2128 return result; | |
| 2129 case "fixed": | |
| 2130 if (1 >= x.length) | |
| 2131 return H.ioore(x, 1); | |
| 2132 result = x[1]; | |
| 2133 this.deserializedObjects.push(result); | |
| 2134 t1 = this.deserializeArrayInPlace$1(result); | |
| 2135 t1.$builtinTypeInfo = [null]; | |
| 2136 t1.fixed$length = Array; | |
| 2137 return t1; | |
| 2138 case "extendable": | |
| 2139 if (1 >= x.length) | |
| 2140 return H.ioore(x, 1); | |
| 2141 result = x[1]; | |
| 2142 this.deserializedObjects.push(result); | |
| 2143 t1 = this.deserializeArrayInPlace$1(result); | |
| 2144 t1.$builtinTypeInfo = [null]; | |
| 2145 return t1; | |
| 2146 case "mutable": | |
| 2147 if (1 >= x.length) | |
| 2148 return H.ioore(x, 1); | |
| 2149 result = x[1]; | |
| 2150 this.deserializedObjects.push(result); | |
| 2151 return this.deserializeArrayInPlace$1(result); | |
| 2152 case "const": | |
| 2153 if (1 >= x.length) | |
| 2154 return H.ioore(x, 1); | |
| 2155 result = x[1]; | |
| 2156 this.deserializedObjects.push(result); | |
| 2157 t1 = this.deserializeArrayInPlace$1(result); | |
| 2158 t1.$builtinTypeInfo = [null]; | |
| 2159 t1.fixed$length = Array; | |
| 2160 return t1; | |
| 2161 case "map": | |
| 2162 return this.deserializeMap$1(x); | |
| 2163 case "sendport": | |
| 2164 return this.deserializeSendPort$1(x); | |
| 2165 case "raw sendport": | |
| 2166 if (1 >= x.length) | |
| 2167 return H.ioore(x, 1); | |
| 2168 result = x[1]; | |
| 2169 this.deserializedObjects.push(result); | |
| 2170 return result; | |
| 2171 case "js-object": | |
| 2172 return this.deserializeJSObject$1(x); | |
| 2173 case "function": | |
| 2174 if (1 >= x.length) | |
| 2175 return H.ioore(x, 1); | |
| 2176 result = init.globalFunctions[x[1]](); | |
| 2177 this.deserializedObjects.push(result); | |
| 2178 return result; | |
| 2179 case "capability": | |
| 2180 if (1 >= x.length) | |
| 2181 return H.ioore(x, 1); | |
| 2182 return new H.CapabilityImpl(x[1]); | |
| 2183 case "dart": | |
| 2184 t1 = x.length; | |
| 2185 if (1 >= t1) | |
| 2186 return H.ioore(x, 1); | |
| 2187 classId = x[1]; | |
| 2188 if (2 >= t1) | |
| 2189 return H.ioore(x, 2); | |
| 2190 fields = x[2]; | |
| 2191 emptyInstance = init.instanceFromClassId(classId); | |
| 2192 this.deserializedObjects.push(emptyInstance); | |
| 2193 this.deserializeArrayInPlace$1(fields); | |
| 2194 return init.initializeEmptyInstance(classId, emptyInstance, fields); | |
| 2195 default: | |
| 2196 throw H.wrapException("couldn't deserialize: " + H.S(x)); | |
| 2197 } | |
| 2198 }, "call$1", "get$deserialize", 2, 0, 0], | |
| 2199 deserializeArrayInPlace$1: function(x) { | |
| 2200 var t1, i, t2; | |
| 2201 t1 = J.getInterceptor$asx(x); | |
| 2202 i = 0; | |
| 2203 while (true) { | |
| 2204 t2 = t1.get$length(x); | |
| 2205 if (typeof t2 !== "number") | |
| 2206 return H.iae(t2); | |
| 2207 if (!(i < t2)) | |
| 2208 break; | |
| 2209 t1.$indexSet(x, i, this.deserialize$1(t1.$index(x, i))); | |
| 2210 ++i; | |
| 2211 } | |
| 2212 return x; | |
| 2213 }, | |
| 2214 deserializeMap$1: function(x) { | |
| 2215 var t1, keys, values, result, t2, i; | |
| 2216 t1 = x.length; | |
| 2217 if (1 >= t1) | |
| 2218 return H.ioore(x, 1); | |
| 2219 keys = x[1]; | |
| 2220 if (2 >= t1) | |
| 2221 return H.ioore(x, 2); | |
| 2222 values = x[2]; | |
| 2223 result = P.LinkedHashMap__makeEmpty(); | |
| 2224 this.deserializedObjects.push(result); | |
| 2225 keys = J.map$1$ax(keys, this.get$deserialize()).toList$0(0); | |
| 2226 for (t1 = J.getInterceptor$asx(keys), t2 = J.getInterceptor$asx(values),
i = 0; i < t1.get$length(keys); ++i) { | |
| 2227 if (i >= keys.length) | |
| 2228 return H.ioore(keys, i); | |
| 2229 result.$indexSet(0, keys[i], this.deserialize$1(t2.$index(values, i)))
; | |
| 2230 } | |
| 2231 return result; | |
| 2232 }, | |
| 2233 deserializeSendPort$1: function(x) { | |
| 2234 var t1, managerId, isolateId, receivePortId, isolate, receivePort, resul
t; | |
| 2235 t1 = x.length; | |
| 2236 if (1 >= t1) | |
| 2237 return H.ioore(x, 1); | |
| 2238 managerId = x[1]; | |
| 2239 if (2 >= t1) | |
| 2240 return H.ioore(x, 2); | |
| 2241 isolateId = x[2]; | |
| 2242 if (3 >= t1) | |
| 2243 return H.ioore(x, 3); | |
| 2244 receivePortId = x[3]; | |
| 2245 if (J.$eq$(managerId, init.globalState.currentManagerId)) { | |
| 2246 isolate = init.globalState.isolates.$index(0, isolateId); | |
| 2247 if (isolate == null) | |
| 2248 return; | |
| 2249 receivePort = isolate.lookup$1(receivePortId); | |
| 2250 if (receivePort == null) | |
| 2251 return; | |
| 2252 result = new H._NativeJsSendPort(receivePort, isolateId); | |
| 2253 } else | |
| 2254 result = new H._WorkerSendPort(managerId, receivePortId, isolateId); | |
| 2255 this.deserializedObjects.push(result); | |
| 2256 return result; | |
| 2257 }, | |
| 2258 deserializeJSObject$1: function(x) { | |
| 2259 var t1, keys, values, o, t2, i, t3; | |
| 2260 t1 = x.length; | |
| 2261 if (1 >= t1) | |
| 2262 return H.ioore(x, 1); | |
| 2263 keys = x[1]; | |
| 2264 if (2 >= t1) | |
| 2265 return H.ioore(x, 2); | |
| 2266 values = x[2]; | |
| 2267 o = {}; | |
| 2268 this.deserializedObjects.push(o); | |
| 2269 t1 = J.getInterceptor$asx(keys); | |
| 2270 t2 = J.getInterceptor$asx(values); | |
| 2271 i = 0; | |
| 2272 while (true) { | |
| 2273 t3 = t1.get$length(keys); | |
| 2274 if (typeof t3 !== "number") | |
| 2275 return H.iae(t3); | |
| 2276 if (!(i < t3)) | |
| 2277 break; | |
| 2278 o[t1.$index(keys, i)] = this.deserialize$1(t2.$index(values, i)); | |
| 2279 ++i; | |
| 2280 } | |
| 2281 return o; | |
| 2282 } | |
| 2283 } | |
| 2284 }], ["_js_helper", "dart:_js_helper",, H, { | |
| 2285 "^": "", | |
| 2286 getType: function(index) { | |
| 2287 return init.types[index]; | |
| 2288 }, | |
| 2289 isJsIndexable: function(object, record) { | |
| 2290 var result; | |
| 2291 if (record != null) { | |
| 2292 result = record.x; | |
| 2293 if (result != null) | |
| 2294 return result; | |
| 2295 } | |
| 2296 return !!J.getInterceptor(object).$isJavaScriptIndexingBehavior; | |
| 2297 }, | |
| 2298 S: function(value) { | |
| 2299 var res; | |
| 2300 if (typeof value === "string") | |
| 2301 return value; | |
| 2302 if (typeof value === "number") { | |
| 2303 if (value !== 0) | |
| 2304 return "" + value; | |
| 2305 } else if (true === value) | |
| 2306 return "true"; | |
| 2307 else if (false === value) | |
| 2308 return "false"; | |
| 2309 else if (value == null) | |
| 2310 return "null"; | |
| 2311 res = J.toString$0$(value); | |
| 2312 if (typeof res !== "string") | |
| 2313 throw H.wrapException(H.argumentErrorValue(value)); | |
| 2314 return res; | |
| 2315 }, | |
| 2316 Primitives_objectHashCode: function(object) { | |
| 2317 var hash = object.$identityHash; | |
| 2318 if (hash == null) { | |
| 2319 hash = Math.random() * 0x3fffffff | 0; | |
| 2320 object.$identityHash = hash; | |
| 2321 } | |
| 2322 return hash; | |
| 2323 }, | |
| 2324 Primitives__parseIntError: function(source, handleError) { | |
| 2325 throw H.wrapException(new P.FormatException(source, null, null)); | |
| 2326 }, | |
| 2327 Primitives_parseInt: function(source, radix, handleError) { | |
| 2328 var match, decimalMatch, maxCharCode, digitsPart, t1, i; | |
| 2329 H.checkString(source); | |
| 2330 match = /^\s*[+-]?((0x[a-f0-9]+)|(\d+)|([a-z0-9]+))\s*$/i.exec(source); | |
| 2331 if (match == null) | |
| 2332 return H.Primitives__parseIntError(source, handleError); | |
| 2333 if (3 >= match.length) | |
| 2334 return H.ioore(match, 3); | |
| 2335 decimalMatch = match[3]; | |
| 2336 if (radix == null) { | |
| 2337 if (decimalMatch != null) | |
| 2338 return parseInt(source, 10); | |
| 2339 if (match[2] != null) | |
| 2340 return parseInt(source, 16); | |
| 2341 return H.Primitives__parseIntError(source, handleError); | |
| 2342 } | |
| 2343 if (radix < 2 || radix > 36) | |
| 2344 throw H.wrapException(P.RangeError$range(radix, 2, 36, "radix", null)); | |
| 2345 if (radix === 10 && decimalMatch != null) | |
| 2346 return parseInt(source, 10); | |
| 2347 if (radix < 10 || decimalMatch == null) { | |
| 2348 maxCharCode = radix <= 10 ? 47 + radix : 86 + radix; | |
| 2349 digitsPart = match[1]; | |
| 2350 for (t1 = digitsPart.length, i = 0; i < t1; ++i) | |
| 2351 if ((C.JSString_methods.codeUnitAt$1(digitsPart, i) | 32) > maxCharCod
e) | |
| 2352 return H.Primitives__parseIntError(source, handleError); | |
| 2353 } | |
| 2354 return parseInt(source, radix); | |
| 2355 }, | |
| 2356 Primitives_objectTypeName: function(object) { | |
| 2357 var $name, decompiled; | |
| 2358 $name = C.JS_CONST_8ZY(J.getInterceptor(object)); | |
| 2359 if ($name === "Object") { | |
| 2360 decompiled = String(object.constructor).match(/^\s*function\s*([\w$]*)\s
*\(/)[1]; | |
| 2361 if (typeof decompiled === "string") | |
| 2362 $name = /^\w+$/.test(decompiled) ? decompiled : $name; | |
| 2363 } | |
| 2364 if ($name.length > 1 && C.JSString_methods.codeUnitAt$1($name, 0) === 36) | |
| 2365 $name = C.JSString_methods.substring$1($name, 1); | |
| 2366 return ($name + H.joinArguments(H.getRuntimeTypeInfo(object), 0, null)).re
place(/[^<,> ]+/g, function(m) { | |
| 2367 return init.mangledGlobalNames[m] || m; | |
| 2368 }); | |
| 2369 }, | |
| 2370 Primitives_objectToHumanReadableString: function(object) { | |
| 2371 return "Instance of '" + H.Primitives_objectTypeName(object) + "'"; | |
| 2372 }, | |
| 2373 Primitives_currentUri: function() { | |
| 2374 if (!!self.location) | |
| 2375 return self.location.href; | |
| 2376 return; | |
| 2377 }, | |
| 2378 Primitives__fromCharCodeApply: function(array) { | |
| 2379 var end, result, i, i0, chunkEnd; | |
| 2380 end = array.length; | |
| 2381 if (end <= 500) | |
| 2382 return String.fromCharCode.apply(null, array); | |
| 2383 for (result = "", i = 0; i < end; i = i0) { | |
| 2384 i0 = i + 500; | |
| 2385 chunkEnd = i0 < end ? i0 : end; | |
| 2386 result += String.fromCharCode.apply(null, array.slice(i, chunkEnd)); | |
| 2387 } | |
| 2388 return result; | |
| 2389 }, | |
| 2390 Primitives_stringFromCodePoints: function(codePoints) { | |
| 2391 var a, t1, _i, i; | |
| 2392 a = []; | |
| 2393 a.$builtinTypeInfo = [P.$int]; | |
| 2394 for (t1 = codePoints.length, _i = 0; _i < codePoints.length; codePoints.le
ngth === t1 || (0, H.throwConcurrentModificationError)(codePoints), ++_i) { | |
| 2395 i = codePoints[_i]; | |
| 2396 if (typeof i !== "number" || Math.floor(i) !== i) | |
| 2397 throw H.wrapException(H.argumentErrorValue(i)); | |
| 2398 if (i <= 65535) | |
| 2399 a.push(i); | |
| 2400 else if (i <= 1114111) { | |
| 2401 a.push(55296 + (C.JSInt_methods._shrOtherPositive$1(i - 65536, 10) & 1
023)); | |
| 2402 a.push(56320 + (i & 1023)); | |
| 2403 } else | |
| 2404 throw H.wrapException(H.argumentErrorValue(i)); | |
| 2405 } | |
| 2406 return H.Primitives__fromCharCodeApply(a); | |
| 2407 }, | |
| 2408 Primitives_stringFromCharCodes: function(charCodes) { | |
| 2409 var t1, _i, t2, i; | |
| 2410 for (t1 = charCodes.length, _i = 0; t2 = charCodes.length, _i < t2; t2 ===
t1 || (0, H.throwConcurrentModificationError)(charCodes), ++_i) { | |
| 2411 i = charCodes[_i]; | |
| 2412 if (typeof i !== "number" || Math.floor(i) !== i) | |
| 2413 throw H.wrapException(H.argumentErrorValue(i)); | |
| 2414 if (i < 0) | |
| 2415 throw H.wrapException(H.argumentErrorValue(i)); | |
| 2416 if (i > 65535) | |
| 2417 return H.Primitives_stringFromCodePoints(charCodes); | |
| 2418 } | |
| 2419 return H.Primitives__fromCharCodeApply(charCodes); | |
| 2420 }, | |
| 2421 Primitives_stringFromCharCode: function(charCode) { | |
| 2422 var bits; | |
| 2423 if (0 <= charCode) { | |
| 2424 if (charCode <= 65535) | |
| 2425 return String.fromCharCode(charCode); | |
| 2426 if (charCode <= 1114111) { | |
| 2427 bits = charCode - 65536; | |
| 2428 return String.fromCharCode((55296 | C.JSInt_methods._shrOtherPositive$
1(bits, 10)) >>> 0, 56320 | bits & 1023); | |
| 2429 } | |
| 2430 } | |
| 2431 throw H.wrapException(P.RangeError$range(charCode, 0, 1114111, null, null)
); | |
| 2432 }, | |
| 2433 Primitives_getProperty: function(object, key) { | |
| 2434 if (object == null || typeof object === "boolean" || typeof object === "nu
mber" || typeof object === "string") | |
| 2435 throw H.wrapException(H.argumentErrorValue(object)); | |
| 2436 return object[key]; | |
| 2437 }, | |
| 2438 Primitives_setProperty: function(object, key, value) { | |
| 2439 if (object == null || typeof object === "boolean" || typeof object === "nu
mber" || typeof object === "string") | |
| 2440 throw H.wrapException(H.argumentErrorValue(object)); | |
| 2441 object[key] = value; | |
| 2442 }, | |
| 2443 iae: function(argument) { | |
| 2444 throw H.wrapException(H.argumentErrorValue(argument)); | |
| 2445 }, | |
| 2446 ioore: function(receiver, index) { | |
| 2447 if (receiver == null) | |
| 2448 J.get$length$asx(receiver); | |
| 2449 throw H.wrapException(H.diagnoseIndexError(receiver, index)); | |
| 2450 }, | |
| 2451 diagnoseIndexError: function(indexable, index) { | |
| 2452 var $length, t1; | |
| 2453 if (typeof index !== "number" || Math.floor(index) !== index) | |
| 2454 return new P.ArgumentError(true, index, "index", null); | |
| 2455 $length = J.get$length$asx(indexable); | |
| 2456 if (!(index < 0)) { | |
| 2457 if (typeof $length !== "number") | |
| 2458 return H.iae($length); | |
| 2459 t1 = index >= $length; | |
| 2460 } else | |
| 2461 t1 = true; | |
| 2462 if (t1) | |
| 2463 return P.IndexError$(index, indexable, "index", null, $length); | |
| 2464 return P.RangeError$value(index, "index", null); | |
| 2465 }, | |
| 2466 diagnoseRangeError: function(start, end, $length) { | |
| 2467 if (start > $length) | |
| 2468 return new P.RangeError(0, $length, true, start, "start", "Invalid value
"); | |
| 2469 if (end != null) | |
| 2470 if (end < start || end > $length) | |
| 2471 return new P.RangeError(start, $length, true, end, "end", "Invalid val
ue"); | |
| 2472 return new P.ArgumentError(true, end, "end", null); | |
| 2473 }, | |
| 2474 argumentErrorValue: function(object) { | |
| 2475 return new P.ArgumentError(true, object, null, null); | |
| 2476 }, | |
| 2477 checkInt: function(value) { | |
| 2478 if (typeof value !== "number" || Math.floor(value) !== value) | |
| 2479 throw H.wrapException(H.argumentErrorValue(value)); | |
| 2480 return value; | |
| 2481 }, | |
| 2482 checkString: function(value) { | |
| 2483 if (typeof value !== "string") | |
| 2484 throw H.wrapException(H.argumentErrorValue(value)); | |
| 2485 return value; | |
| 2486 }, | |
| 2487 wrapException: function(ex) { | |
| 2488 var wrapper; | |
| 2489 if (ex == null) | |
| 2490 ex = new P.NullThrownError(); | |
| 2491 wrapper = new Error(); | |
| 2492 wrapper.dartException = ex; | |
| 2493 if ("defineProperty" in Object) { | |
| 2494 Object.defineProperty(wrapper, "message", {get: H.toStringWrapper}); | |
| 2495 wrapper.name = ""; | |
| 2496 } else | |
| 2497 wrapper.toString = H.toStringWrapper; | |
| 2498 return wrapper; | |
| 2499 }, | |
| 2500 toStringWrapper: function() { | |
| 2501 return J.toString$0$(this.dartException); | |
| 2502 }, | |
| 2503 throwExpression: function(ex) { | |
| 2504 throw H.wrapException(ex); | |
| 2505 }, | |
| 2506 throwConcurrentModificationError: function(collection) { | |
| 2507 throw H.wrapException(new P.ConcurrentModificationError(collection)); | |
| 2508 }, | |
| 2509 unwrapException: function(ex) { | |
| 2510 var t1, message, number, ieErrorCode, t2, nsme, notClosure, nullCall, null
LiteralCall, undefCall, undefLiteralCall, nullProperty, undefProperty, undefLite
ralProperty, match; | |
| 2511 t1 = new H.unwrapException_saveStackTrace(ex); | |
| 2512 if (ex == null) | |
| 2513 return; | |
| 2514 if (ex instanceof H.ExceptionAndStackTrace) | |
| 2515 return t1.call$1(ex.dartException); | |
| 2516 if (typeof ex !== "object") | |
| 2517 return ex; | |
| 2518 if ("dartException" in ex) | |
| 2519 return t1.call$1(ex.dartException); | |
| 2520 else if (!("message" in ex)) | |
| 2521 return ex; | |
| 2522 message = ex.message; | |
| 2523 if ("number" in ex && typeof ex.number == "number") { | |
| 2524 number = ex.number; | |
| 2525 ieErrorCode = number & 65535; | |
| 2526 if ((C.JSInt_methods._shrOtherPositive$1(number, 16) & 8191) === 10) | |
| 2527 switch (ieErrorCode) { | |
| 2528 case 438: | |
| 2529 return t1.call$1(H.JsNoSuchMethodError$(H.S(message) + " (Error "
+ ieErrorCode + ")", null)); | |
| 2530 case 445: | |
| 2531 case 5007: | |
| 2532 t2 = H.S(message) + " (Error " + ieErrorCode + ")"; | |
| 2533 return t1.call$1(new H.NullError(t2, null)); | |
| 2534 } | |
| 2535 } | |
| 2536 if (ex instanceof TypeError) { | |
| 2537 nsme = $.$get$TypeErrorDecoder_noSuchMethodPattern(); | |
| 2538 notClosure = $.$get$TypeErrorDecoder_notClosurePattern(); | |
| 2539 nullCall = $.$get$TypeErrorDecoder_nullCallPattern(); | |
| 2540 nullLiteralCall = $.$get$TypeErrorDecoder_nullLiteralCallPattern(); | |
| 2541 undefCall = $.$get$TypeErrorDecoder_undefinedCallPattern(); | |
| 2542 undefLiteralCall = $.$get$TypeErrorDecoder_undefinedLiteralCallPattern()
; | |
| 2543 nullProperty = $.$get$TypeErrorDecoder_nullPropertyPattern(); | |
| 2544 $.$get$TypeErrorDecoder_nullLiteralPropertyPattern(); | |
| 2545 undefProperty = $.$get$TypeErrorDecoder_undefinedPropertyPattern(); | |
| 2546 undefLiteralProperty = $.$get$TypeErrorDecoder_undefinedLiteralPropertyP
attern(); | |
| 2547 match = nsme.matchTypeError$1(message); | |
| 2548 if (match != null) | |
| 2549 return t1.call$1(H.JsNoSuchMethodError$(message, match)); | |
| 2550 else { | |
| 2551 match = notClosure.matchTypeError$1(message); | |
| 2552 if (match != null) { | |
| 2553 match.method = "call"; | |
| 2554 return t1.call$1(H.JsNoSuchMethodError$(message, match)); | |
| 2555 } else { | |
| 2556 match = nullCall.matchTypeError$1(message); | |
| 2557 if (match == null) { | |
| 2558 match = nullLiteralCall.matchTypeError$1(message); | |
| 2559 if (match == null) { | |
| 2560 match = undefCall.matchTypeError$1(message); | |
| 2561 if (match == null) { | |
| 2562 match = undefLiteralCall.matchTypeError$1(message); | |
| 2563 if (match == null) { | |
| 2564 match = nullProperty.matchTypeError$1(message); | |
| 2565 if (match == null) { | |
| 2566 match = nullLiteralCall.matchTypeError$1(message); | |
| 2567 if (match == null) { | |
| 2568 match = undefProperty.matchTypeError$1(message); | |
| 2569 if (match == null) { | |
| 2570 match = undefLiteralProperty.matchTypeError$1(message)
; | |
| 2571 t2 = match != null; | |
| 2572 } else | |
| 2573 t2 = true; | |
| 2574 } else | |
| 2575 t2 = true; | |
| 2576 } else | |
| 2577 t2 = true; | |
| 2578 } else | |
| 2579 t2 = true; | |
| 2580 } else | |
| 2581 t2 = true; | |
| 2582 } else | |
| 2583 t2 = true; | |
| 2584 } else | |
| 2585 t2 = true; | |
| 2586 if (t2) | |
| 2587 return t1.call$1(new H.NullError(message, match == null ? null : m
atch.method)); | |
| 2588 } | |
| 2589 } | |
| 2590 return t1.call$1(new H.UnknownJsTypeError(typeof message === "string" ?
message : "")); | |
| 2591 } | |
| 2592 if (ex instanceof RangeError) { | |
| 2593 if (typeof message === "string" && message.indexOf("call stack") !== -1) | |
| 2594 return new P.StackOverflowError(); | |
| 2595 message = function(ex) { | |
| 2596 try { | |
| 2597 return String(ex); | |
| 2598 } catch (e) { | |
| 2599 } | |
| 2600 return null; | |
| 2601 }(ex); | |
| 2602 return t1.call$1(new P.ArgumentError(false, null, null, typeof message =
== "string" ? message.replace(/^RangeError:\s*/, "") : message)); | |
| 2603 } | |
| 2604 if (typeof InternalError == "function" && ex instanceof InternalError) | |
| 2605 if (typeof message === "string" && message === "too much recursion") | |
| 2606 return new P.StackOverflowError(); | |
| 2607 return ex; | |
| 2608 }, | |
| 2609 getTraceFromException: function(exception) { | |
| 2610 var trace; | |
| 2611 if (exception instanceof H.ExceptionAndStackTrace) | |
| 2612 return exception.stackTrace; | |
| 2613 if (exception == null) | |
| 2614 return new H._StackTrace(exception, null); | |
| 2615 trace = exception.$cachedTrace; | |
| 2616 if (trace != null) | |
| 2617 return trace; | |
| 2618 return exception.$cachedTrace = new H._StackTrace(exception, null); | |
| 2619 }, | |
| 2620 objectHashCode: function(object) { | |
| 2621 if (object == null || typeof object != 'object') | |
| 2622 return J.get$hashCode$(object); | |
| 2623 else | |
| 2624 return H.Primitives_objectHashCode(object); | |
| 2625 }, | |
| 2626 fillLiteralMap: function(keyValuePairs, result) { | |
| 2627 var $length, index, index0, index1; | |
| 2628 $length = keyValuePairs.length; | |
| 2629 for (index = 0; index < $length; index = index1) { | |
| 2630 index0 = index + 1; | |
| 2631 index1 = index0 + 1; | |
| 2632 result.$indexSet(0, keyValuePairs[index], keyValuePairs[index0]); | |
| 2633 } | |
| 2634 return result; | |
| 2635 }, | |
| 2636 invokeClosure: function(closure, isolate, numberOfArguments, arg1, arg2, arg
3, arg4) { | |
| 2637 var t1 = J.getInterceptor(numberOfArguments); | |
| 2638 if (t1.$eq(numberOfArguments, 0)) | |
| 2639 return H._callInIsolate(isolate, new H.invokeClosure_closure(closure)); | |
| 2640 else if (t1.$eq(numberOfArguments, 1)) | |
| 2641 return H._callInIsolate(isolate, new H.invokeClosure_closure0(closure, a
rg1)); | |
| 2642 else if (t1.$eq(numberOfArguments, 2)) | |
| 2643 return H._callInIsolate(isolate, new H.invokeClosure_closure1(closure, a
rg1, arg2)); | |
| 2644 else if (t1.$eq(numberOfArguments, 3)) | |
| 2645 return H._callInIsolate(isolate, new H.invokeClosure_closure2(closure, a
rg1, arg2, arg3)); | |
| 2646 else if (t1.$eq(numberOfArguments, 4)) | |
| 2647 return H._callInIsolate(isolate, new H.invokeClosure_closure3(closure, a
rg1, arg2, arg3, arg4)); | |
| 2648 else | |
| 2649 throw H.wrapException(P.Exception_Exception("Unsupported number of argum
ents for wrapped closure")); | |
| 2650 }, | |
| 2651 convertDartClosureToJS: function(closure, arity) { | |
| 2652 var $function; | |
| 2653 if (closure == null) | |
| 2654 return; | |
| 2655 $function = closure.$identity; | |
| 2656 if (!!$function) | |
| 2657 return $function; | |
| 2658 $function = function(closure, arity, context, invoke) { | |
| 2659 return function(a1, a2, a3, a4) { | |
| 2660 return invoke(closure, context, arity, a1, a2, a3, a4); | |
| 2661 }; | |
| 2662 }(closure, arity, init.globalState.currentContext, H.invokeClosure); | |
| 2663 closure.$identity = $function; | |
| 2664 return $function; | |
| 2665 }, | |
| 2666 Closure_fromTearOff: function(receiver, functions, reflectionInfo, isStatic,
jsArguments, propertyName) { | |
| 2667 var $function, callName, functionType, $prototype, $constructor, t1, isInt
ercepted, trampoline, signatureFunction, getReceiver, i, stub, stubCallName, t2; | |
| 2668 $function = functions[0]; | |
| 2669 callName = $function.$callName; | |
| 2670 if (!!J.getInterceptor(reflectionInfo).$isList) { | |
| 2671 $function.$reflectionInfo = reflectionInfo; | |
| 2672 functionType = H.ReflectionInfo_ReflectionInfo($function).functionType; | |
| 2673 } else | |
| 2674 functionType = reflectionInfo; | |
| 2675 $prototype = isStatic ? Object.create(new H.StaticClosure().constructor.pr
ototype) : Object.create(new H.BoundClosure(null, null, null, null).constructor.
prototype); | |
| 2676 $prototype.$initialize = $prototype.constructor; | |
| 2677 if (isStatic) | |
| 2678 $constructor = function() { | |
| 2679 this.$initialize(); | |
| 2680 }; | |
| 2681 else { | |
| 2682 t1 = $.Closure_functionCounter; | |
| 2683 $.Closure_functionCounter = J.$add$ns(t1, 1); | |
| 2684 t1 = new Function("a,b,c,d", "this.$initialize(a,b,c,d);" + t1); | |
| 2685 $constructor = t1; | |
| 2686 } | |
| 2687 $prototype.constructor = $constructor; | |
| 2688 $constructor.prototype = $prototype; | |
| 2689 t1 = !isStatic; | |
| 2690 if (t1) { | |
| 2691 isIntercepted = jsArguments.length == 1 && true; | |
| 2692 trampoline = H.Closure_forwardCallTo(receiver, $function, isIntercepted)
; | |
| 2693 trampoline.$reflectionInfo = reflectionInfo; | |
| 2694 } else { | |
| 2695 $prototype.$static_name = propertyName; | |
| 2696 trampoline = $function; | |
| 2697 isIntercepted = false; | |
| 2698 } | |
| 2699 if (typeof functionType == "number") | |
| 2700 signatureFunction = function(t) { | |
| 2701 return function() { | |
| 2702 return H.getType(t); | |
| 2703 }; | |
| 2704 }(functionType); | |
| 2705 else if (t1 && typeof functionType == "function") { | |
| 2706 getReceiver = isIntercepted ? H.BoundClosure_receiverOf : H.BoundClosure
_selfOf; | |
| 2707 signatureFunction = function(f, r) { | |
| 2708 return function() { | |
| 2709 return f.apply({$receiver: r(this)}, arguments); | |
| 2710 }; | |
| 2711 }(functionType, getReceiver); | |
| 2712 } else | |
| 2713 throw H.wrapException("Error in reflectionInfo."); | |
| 2714 $prototype.$signature = signatureFunction; | |
| 2715 $prototype[callName] = trampoline; | |
| 2716 for (t1 = functions.length, i = 1; i < t1; ++i) { | |
| 2717 stub = functions[i]; | |
| 2718 stubCallName = stub.$callName; | |
| 2719 if (stubCallName != null) { | |
| 2720 t2 = isStatic ? stub : H.Closure_forwardCallTo(receiver, stub, isInter
cepted); | |
| 2721 $prototype[stubCallName] = t2; | |
| 2722 } | |
| 2723 } | |
| 2724 $prototype["call*"] = trampoline; | |
| 2725 $prototype.$requiredArgCount = $function.$requiredArgCount; | |
| 2726 $prototype.$defaultValues = $function.$defaultValues; | |
| 2727 return $constructor; | |
| 2728 }, | |
| 2729 Closure_cspForwardCall: function(arity, isSuperCall, stubName, $function) { | |
| 2730 var getSelf = H.BoundClosure_selfOf; | |
| 2731 switch (isSuperCall ? -1 : arity) { | |
| 2732 case 0: | |
| 2733 return function(n, S) { | |
| 2734 return function() { | |
| 2735 return S(this)[n](); | |
| 2736 }; | |
| 2737 }(stubName, getSelf); | |
| 2738 case 1: | |
| 2739 return function(n, S) { | |
| 2740 return function(a) { | |
| 2741 return S(this)[n](a); | |
| 2742 }; | |
| 2743 }(stubName, getSelf); | |
| 2744 case 2: | |
| 2745 return function(n, S) { | |
| 2746 return function(a, b) { | |
| 2747 return S(this)[n](a, b); | |
| 2748 }; | |
| 2749 }(stubName, getSelf); | |
| 2750 case 3: | |
| 2751 return function(n, S) { | |
| 2752 return function(a, b, c) { | |
| 2753 return S(this)[n](a, b, c); | |
| 2754 }; | |
| 2755 }(stubName, getSelf); | |
| 2756 case 4: | |
| 2757 return function(n, S) { | |
| 2758 return function(a, b, c, d) { | |
| 2759 return S(this)[n](a, b, c, d); | |
| 2760 }; | |
| 2761 }(stubName, getSelf); | |
| 2762 case 5: | |
| 2763 return function(n, S) { | |
| 2764 return function(a, b, c, d, e) { | |
| 2765 return S(this)[n](a, b, c, d, e); | |
| 2766 }; | |
| 2767 }(stubName, getSelf); | |
| 2768 default: | |
| 2769 return function(f, s) { | |
| 2770 return function() { | |
| 2771 return f.apply(s(this), arguments); | |
| 2772 }; | |
| 2773 }($function, getSelf); | |
| 2774 } | |
| 2775 }, | |
| 2776 Closure_forwardCallTo: function(receiver, $function, isIntercepted) { | |
| 2777 var stubName, arity, lookedUpFunction, t1, t2, $arguments; | |
| 2778 if (isIntercepted) | |
| 2779 return H.Closure_forwardInterceptedCallTo(receiver, $function); | |
| 2780 stubName = $function.$stubName; | |
| 2781 arity = $function.length; | |
| 2782 lookedUpFunction = receiver[stubName]; | |
| 2783 t1 = $function == null ? lookedUpFunction == null : $function === lookedUp
Function; | |
| 2784 t2 = !t1 || arity >= 27; | |
| 2785 if (t2) | |
| 2786 return H.Closure_cspForwardCall(arity, !t1, stubName, $function); | |
| 2787 if (arity === 0) { | |
| 2788 t1 = $.BoundClosure_selfFieldNameCache; | |
| 2789 if (t1 == null) { | |
| 2790 t1 = H.BoundClosure_computeFieldNamed("self"); | |
| 2791 $.BoundClosure_selfFieldNameCache = t1; | |
| 2792 } | |
| 2793 t1 = "return function(){return this." + H.S(t1) + "." + H.S(stubName) +
"();"; | |
| 2794 t2 = $.Closure_functionCounter; | |
| 2795 $.Closure_functionCounter = J.$add$ns(t2, 1); | |
| 2796 return new Function(t1 + H.S(t2) + "}")(); | |
| 2797 } | |
| 2798 $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity).join(
","); | |
| 2799 t1 = "return function(" + $arguments + "){return this."; | |
| 2800 t2 = $.BoundClosure_selfFieldNameCache; | |
| 2801 if (t2 == null) { | |
| 2802 t2 = H.BoundClosure_computeFieldNamed("self"); | |
| 2803 $.BoundClosure_selfFieldNameCache = t2; | |
| 2804 } | |
| 2805 t2 = t1 + H.S(t2) + "." + H.S(stubName) + "(" + $arguments + ");"; | |
| 2806 t1 = $.Closure_functionCounter; | |
| 2807 $.Closure_functionCounter = J.$add$ns(t1, 1); | |
| 2808 return new Function(t2 + H.S(t1) + "}")(); | |
| 2809 }, | |
| 2810 Closure_cspForwardInterceptedCall: function(arity, isSuperCall, $name, $func
tion) { | |
| 2811 var getSelf, getReceiver; | |
| 2812 getSelf = H.BoundClosure_selfOf; | |
| 2813 getReceiver = H.BoundClosure_receiverOf; | |
| 2814 switch (isSuperCall ? -1 : arity) { | |
| 2815 case 0: | |
| 2816 throw H.wrapException(new H.RuntimeError("Intercepted function with no
arguments.")); | |
| 2817 case 1: | |
| 2818 return function(n, s, r) { | |
| 2819 return function() { | |
| 2820 return s(this)[n](r(this)); | |
| 2821 }; | |
| 2822 }($name, getSelf, getReceiver); | |
| 2823 case 2: | |
| 2824 return function(n, s, r) { | |
| 2825 return function(a) { | |
| 2826 return s(this)[n](r(this), a); | |
| 2827 }; | |
| 2828 }($name, getSelf, getReceiver); | |
| 2829 case 3: | |
| 2830 return function(n, s, r) { | |
| 2831 return function(a, b) { | |
| 2832 return s(this)[n](r(this), a, b); | |
| 2833 }; | |
| 2834 }($name, getSelf, getReceiver); | |
| 2835 case 4: | |
| 2836 return function(n, s, r) { | |
| 2837 return function(a, b, c) { | |
| 2838 return s(this)[n](r(this), a, b, c); | |
| 2839 }; | |
| 2840 }($name, getSelf, getReceiver); | |
| 2841 case 5: | |
| 2842 return function(n, s, r) { | |
| 2843 return function(a, b, c, d) { | |
| 2844 return s(this)[n](r(this), a, b, c, d); | |
| 2845 }; | |
| 2846 }($name, getSelf, getReceiver); | |
| 2847 case 6: | |
| 2848 return function(n, s, r) { | |
| 2849 return function(a, b, c, d, e) { | |
| 2850 return s(this)[n](r(this), a, b, c, d, e); | |
| 2851 }; | |
| 2852 }($name, getSelf, getReceiver); | |
| 2853 default: | |
| 2854 return function(f, s, r, a) { | |
| 2855 return function() { | |
| 2856 a = [r(this)]; | |
| 2857 Array.prototype.push.apply(a, arguments); | |
| 2858 return f.apply(s(this), a); | |
| 2859 }; | |
| 2860 }($function, getSelf, getReceiver); | |
| 2861 } | |
| 2862 }, | |
| 2863 Closure_forwardInterceptedCallTo: function(receiver, $function) { | |
| 2864 var selfField, t1, stubName, arity, lookedUpFunction, t2, t3, $arguments; | |
| 2865 selfField = H.BoundClosure_selfFieldName(); | |
| 2866 t1 = $.BoundClosure_receiverFieldNameCache; | |
| 2867 if (t1 == null) { | |
| 2868 t1 = H.BoundClosure_computeFieldNamed("receiver"); | |
| 2869 $.BoundClosure_receiverFieldNameCache = t1; | |
| 2870 } | |
| 2871 stubName = $function.$stubName; | |
| 2872 arity = $function.length; | |
| 2873 lookedUpFunction = receiver[stubName]; | |
| 2874 t2 = $function == null ? lookedUpFunction == null : $function === lookedUp
Function; | |
| 2875 t3 = !t2 || arity >= 28; | |
| 2876 if (t3) | |
| 2877 return H.Closure_cspForwardInterceptedCall(arity, !t2, stubName, $functi
on); | |
| 2878 if (arity === 1) { | |
| 2879 t1 = "return function(){return this." + H.S(selfField) + "." + H.S(stubN
ame) + "(this." + H.S(t1) + ");"; | |
| 2880 t2 = $.Closure_functionCounter; | |
| 2881 $.Closure_functionCounter = J.$add$ns(t2, 1); | |
| 2882 return new Function(t1 + H.S(t2) + "}")(); | |
| 2883 } | |
| 2884 $arguments = "abcdefghijklmnopqrstuvwxyz".split("").splice(0, arity - 1).j
oin(","); | |
| 2885 t1 = "return function(" + $arguments + "){return this." + H.S(selfField) +
"." + H.S(stubName) + "(this." + H.S(t1) + ", " + $arguments + ");"; | |
| 2886 t2 = $.Closure_functionCounter; | |
| 2887 $.Closure_functionCounter = J.$add$ns(t2, 1); | |
| 2888 return new Function(t1 + H.S(t2) + "}")(); | |
| 2889 }, | |
| 2890 closureFromTearOff: function(receiver, functions, reflectionInfo, isStatic,
jsArguments, $name) { | |
| 2891 var t1; | |
| 2892 functions.fixed$length = Array; | |
| 2893 if (!!J.getInterceptor(reflectionInfo).$isList) { | |
| 2894 reflectionInfo.fixed$length = Array; | |
| 2895 t1 = reflectionInfo; | |
| 2896 } else | |
| 2897 t1 = reflectionInfo; | |
| 2898 return H.Closure_fromTearOff(receiver, functions, t1, !!isStatic, jsArgume
nts, $name); | |
| 2899 }, | |
| 2900 throwCyclicInit: function(staticName) { | |
| 2901 throw H.wrapException(new P.CyclicInitializationError("Cyclic initializati
on for static " + H.S(staticName))); | |
| 2902 }, | |
| 2903 buildFunctionType: function(returnType, parameterTypes, optionalParameterTyp
es) { | |
| 2904 return new H.RuntimeFunctionType(returnType, parameterTypes, optionalParam
eterTypes, null); | |
| 2905 }, | |
| 2906 getDynamicRuntimeType: function() { | |
| 2907 return C.C_DynamicRuntimeType; | |
| 2908 }, | |
| 2909 random64: function() { | |
| 2910 return (Math.random() * 0x100000000 >>> 0) + (Math.random() * 0x100000000
>>> 0) * 4294967296; | |
| 2911 }, | |
| 2912 setRuntimeTypeInfo: function(target, rti) { | |
| 2913 if (target != null) | |
| 2914 target.$builtinTypeInfo = rti; | |
| 2915 return target; | |
| 2916 }, | |
| 2917 getRuntimeTypeInfo: function(target) { | |
| 2918 if (target == null) | |
| 2919 return; | |
| 2920 return target.$builtinTypeInfo; | |
| 2921 }, | |
| 2922 getRuntimeTypeArguments: function(target, substitutionName) { | |
| 2923 return H.substitute(target["$as" + H.S(substitutionName)], H.getRuntimeTyp
eInfo(target)); | |
| 2924 }, | |
| 2925 getRuntimeTypeArgument: function(target, substitutionName, index) { | |
| 2926 var $arguments = H.getRuntimeTypeArguments(target, substitutionName); | |
| 2927 return $arguments == null ? null : $arguments[index]; | |
| 2928 }, | |
| 2929 getTypeArgumentByIndex: function(target, index) { | |
| 2930 var rti = H.getRuntimeTypeInfo(target); | |
| 2931 return rti == null ? null : rti[index]; | |
| 2932 }, | |
| 2933 runtimeTypeToString: function(rti, onTypeVariable) { | |
| 2934 if (rti == null) | |
| 2935 return "dynamic"; | |
| 2936 else if (typeof rti === "object" && rti !== null && rti.constructor === Ar
ray) | |
| 2937 return rti[0].builtin$cls + H.joinArguments(rti, 1, onTypeVariable); | |
| 2938 else if (typeof rti == "function") | |
| 2939 return rti.builtin$cls; | |
| 2940 else if (typeof rti === "number" && Math.floor(rti) === rti) | |
| 2941 return C.JSInt_methods.toString$0(rti); | |
| 2942 else | |
| 2943 return; | |
| 2944 }, | |
| 2945 joinArguments: function(types, startIndex, onTypeVariable) { | |
| 2946 var buffer, index, firstArgument, allDynamic, t1, argument; | |
| 2947 if (types == null) | |
| 2948 return ""; | |
| 2949 buffer = new P.StringBuffer(""); | |
| 2950 for (index = startIndex, firstArgument = true, allDynamic = true, t1 = "";
index < types.length; ++index) { | |
| 2951 if (firstArgument) | |
| 2952 firstArgument = false; | |
| 2953 else | |
| 2954 buffer._contents = t1 + ", "; | |
| 2955 argument = types[index]; | |
| 2956 if (argument != null) | |
| 2957 allDynamic = false; | |
| 2958 t1 = buffer._contents += H.S(H.runtimeTypeToString(argument, onTypeVaria
ble)); | |
| 2959 } | |
| 2960 return allDynamic ? "" : "<" + H.S(buffer) + ">"; | |
| 2961 }, | |
| 2962 getRuntimeTypeString: function(object) { | |
| 2963 var className = J.getInterceptor(object).constructor.builtin$cls; | |
| 2964 if (object == null) | |
| 2965 return className; | |
| 2966 return className + H.joinArguments(object.$builtinTypeInfo, 0, null); | |
| 2967 }, | |
| 2968 substitute: function(substitution, $arguments) { | |
| 2969 if (typeof substitution == "function") { | |
| 2970 substitution = H.invokeOn(substitution, null, $arguments); | |
| 2971 if (substitution == null || typeof substitution === "object" && substitu
tion !== null && substitution.constructor === Array) | |
| 2972 $arguments = substitution; | |
| 2973 else if (typeof substitution == "function") | |
| 2974 $arguments = H.invokeOn(substitution, null, $arguments); | |
| 2975 } | |
| 2976 return $arguments; | |
| 2977 }, | |
| 2978 areSubtypes: function(s, t) { | |
| 2979 var len, i; | |
| 2980 if (s == null || t == null) | |
| 2981 return true; | |
| 2982 len = s.length; | |
| 2983 for (i = 0; i < len; ++i) | |
| 2984 if (!H.isSubtype(s[i], t[i])) | |
| 2985 return false; | |
| 2986 return true; | |
| 2987 }, | |
| 2988 computeSignature: function(signature, context, contextName) { | |
| 2989 return H.invokeOn(signature, context, H.getRuntimeTypeArguments(context, c
ontextName)); | |
| 2990 }, | |
| 2991 isSubtype: function(s, t) { | |
| 2992 var t1, typeOfS, t2, typeOfT, substitution; | |
| 2993 if (s === t) | |
| 2994 return true; | |
| 2995 if (s == null || t == null) | |
| 2996 return true; | |
| 2997 if ('func' in t) | |
| 2998 return H.isFunctionSubtype(s, t); | |
| 2999 if ('func' in s) | |
| 3000 return t.builtin$cls === "Function"; | |
| 3001 t1 = typeof s === "object" && s !== null && s.constructor === Array; | |
| 3002 typeOfS = t1 ? s[0] : s; | |
| 3003 t2 = typeof t === "object" && t !== null && t.constructor === Array; | |
| 3004 typeOfT = t2 ? t[0] : t; | |
| 3005 if (typeOfT !== typeOfS) { | |
| 3006 if (!('$is' + H.runtimeTypeToString(typeOfT, null) in typeOfS.prototype)
) | |
| 3007 return false; | |
| 3008 substitution = typeOfS.prototype["$as" + H.S(H.runtimeTypeToString(typeO
fT, null))]; | |
| 3009 } else | |
| 3010 substitution = null; | |
| 3011 if (!t1 && substitution == null || !t2) | |
| 3012 return true; | |
| 3013 t1 = t1 ? s.slice(1) : null; | |
| 3014 t2 = t2 ? t.slice(1) : null; | |
| 3015 return H.areSubtypes(H.substitute(substitution, t1), t2); | |
| 3016 }, | |
| 3017 areAssignable: function(s, t, allowShorter) { | |
| 3018 var t1, sLength, tLength, i, t2; | |
| 3019 t1 = t == null; | |
| 3020 if (t1 && s == null) | |
| 3021 return true; | |
| 3022 if (t1) | |
| 3023 return allowShorter; | |
| 3024 if (s == null) | |
| 3025 return false; | |
| 3026 sLength = s.length; | |
| 3027 tLength = t.length; | |
| 3028 if (allowShorter) { | |
| 3029 if (sLength < tLength) | |
| 3030 return false; | |
| 3031 } else if (sLength !== tLength) | |
| 3032 return false; | |
| 3033 for (i = 0; i < tLength; ++i) { | |
| 3034 t1 = s[i]; | |
| 3035 t2 = t[i]; | |
| 3036 if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1))) | |
| 3037 return false; | |
| 3038 } | |
| 3039 return true; | |
| 3040 }, | |
| 3041 areAssignableMaps: function(s, t) { | |
| 3042 var t1, names, i, $name, tType, sType; | |
| 3043 if (t == null) | |
| 3044 return true; | |
| 3045 if (s == null) | |
| 3046 return false; | |
| 3047 t1 = Object.getOwnPropertyNames(t); | |
| 3048 t1.fixed$length = Array; | |
| 3049 names = t1; | |
| 3050 for (t1 = names.length, i = 0; i < t1; ++i) { | |
| 3051 $name = names[i]; | |
| 3052 if (!Object.hasOwnProperty.call(s, $name)) | |
| 3053 return false; | |
| 3054 tType = t[$name]; | |
| 3055 sType = s[$name]; | |
| 3056 if (!(H.isSubtype(tType, sType) || H.isSubtype(sType, tType))) | |
| 3057 return false; | |
| 3058 } | |
| 3059 return true; | |
| 3060 }, | |
| 3061 isFunctionSubtype: function(s, t) { | |
| 3062 var sReturnType, tReturnType, sParameterTypes, tParameterTypes, sOptionalP
arameterTypes, tOptionalParameterTypes, sParametersLen, tParametersLen, sOptiona
lParametersLen, tOptionalParametersLen, pos, t1, t2, tPos, sPos; | |
| 3063 if (!('func' in s)) | |
| 3064 return false; | |
| 3065 if ("void" in s) { | |
| 3066 if (!("void" in t) && "ret" in t) | |
| 3067 return false; | |
| 3068 } else if (!("void" in t)) { | |
| 3069 sReturnType = s.ret; | |
| 3070 tReturnType = t.ret; | |
| 3071 if (!(H.isSubtype(sReturnType, tReturnType) || H.isSubtype(tReturnType,
sReturnType))) | |
| 3072 return false; | |
| 3073 } | |
| 3074 sParameterTypes = s.args; | |
| 3075 tParameterTypes = t.args; | |
| 3076 sOptionalParameterTypes = s.opt; | |
| 3077 tOptionalParameterTypes = t.opt; | |
| 3078 sParametersLen = sParameterTypes != null ? sParameterTypes.length : 0; | |
| 3079 tParametersLen = tParameterTypes != null ? tParameterTypes.length : 0; | |
| 3080 sOptionalParametersLen = sOptionalParameterTypes != null ? sOptionalParame
terTypes.length : 0; | |
| 3081 tOptionalParametersLen = tOptionalParameterTypes != null ? tOptionalParame
terTypes.length : 0; | |
| 3082 if (sParametersLen > tParametersLen) | |
| 3083 return false; | |
| 3084 if (sParametersLen + sOptionalParametersLen < tParametersLen + tOptionalPa
rametersLen) | |
| 3085 return false; | |
| 3086 if (sParametersLen === tParametersLen) { | |
| 3087 if (!H.areAssignable(sParameterTypes, tParameterTypes, false)) | |
| 3088 return false; | |
| 3089 if (!H.areAssignable(sOptionalParameterTypes, tOptionalParameterTypes, t
rue)) | |
| 3090 return false; | |
| 3091 } else { | |
| 3092 for (pos = 0; pos < sParametersLen; ++pos) { | |
| 3093 t1 = sParameterTypes[pos]; | |
| 3094 t2 = tParameterTypes[pos]; | |
| 3095 if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1))) | |
| 3096 return false; | |
| 3097 } | |
| 3098 for (tPos = pos, sPos = 0; tPos < tParametersLen; ++sPos, ++tPos) { | |
| 3099 t1 = sOptionalParameterTypes[sPos]; | |
| 3100 t2 = tParameterTypes[tPos]; | |
| 3101 if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1))) | |
| 3102 return false; | |
| 3103 } | |
| 3104 for (tPos = 0; tPos < tOptionalParametersLen; ++sPos, ++tPos) { | |
| 3105 t1 = sOptionalParameterTypes[sPos]; | |
| 3106 t2 = tOptionalParameterTypes[tPos]; | |
| 3107 if (!(H.isSubtype(t1, t2) || H.isSubtype(t2, t1))) | |
| 3108 return false; | |
| 3109 } | |
| 3110 } | |
| 3111 return H.areAssignableMaps(s.named, t.named); | |
| 3112 }, | |
| 3113 invokeOn: function($function, receiver, $arguments) { | |
| 3114 return $function.apply(receiver, $arguments); | |
| 3115 }, | |
| 3116 toStringForNativeObject: function(obj) { | |
| 3117 var t1 = $.getTagFunction; | |
| 3118 return "Instance of " + (t1 == null ? "<Unknown>" : t1.call$1(obj)); | |
| 3119 }, | |
| 3120 hashCodeForNativeObject: function(object) { | |
| 3121 return H.Primitives_objectHashCode(object); | |
| 3122 }, | |
| 3123 defineProperty: function(obj, property, value) { | |
| 3124 Object.defineProperty(obj, property, {value: value, enumerable: false, wri
table: true, configurable: true}); | |
| 3125 }, | |
| 3126 lookupAndCacheInterceptor: function(obj) { | |
| 3127 var tag, record, interceptor, interceptorClass, mark, t1; | |
| 3128 tag = $.getTagFunction.call$1(obj); | |
| 3129 record = $.dispatchRecordsForInstanceTags[tag]; | |
| 3130 if (record != null) { | |
| 3131 Object.defineProperty(obj, init.dispatchPropertyName, {value: record, en
umerable: false, writable: true, configurable: true}); | |
| 3132 return record.i; | |
| 3133 } | |
| 3134 interceptor = $.interceptorsForUncacheableTags[tag]; | |
| 3135 if (interceptor != null) | |
| 3136 return interceptor; | |
| 3137 interceptorClass = init.interceptorsByTag[tag]; | |
| 3138 if (interceptorClass == null) { | |
| 3139 tag = $.alternateTagFunction.call$2(obj, tag); | |
| 3140 if (tag != null) { | |
| 3141 record = $.dispatchRecordsForInstanceTags[tag]; | |
| 3142 if (record != null) { | |
| 3143 Object.defineProperty(obj, init.dispatchPropertyName, {value: record
, enumerable: false, writable: true, configurable: true}); | |
| 3144 return record.i; | |
| 3145 } | |
| 3146 interceptor = $.interceptorsForUncacheableTags[tag]; | |
| 3147 if (interceptor != null) | |
| 3148 return interceptor; | |
| 3149 interceptorClass = init.interceptorsByTag[tag]; | |
| 3150 } | |
| 3151 } | |
| 3152 if (interceptorClass == null) | |
| 3153 return; | |
| 3154 interceptor = interceptorClass.prototype; | |
| 3155 mark = tag[0]; | |
| 3156 if (mark === "!") { | |
| 3157 record = H.makeLeafDispatchRecord(interceptor); | |
| 3158 $.dispatchRecordsForInstanceTags[tag] = record; | |
| 3159 Object.defineProperty(obj, init.dispatchPropertyName, {value: record, en
umerable: false, writable: true, configurable: true}); | |
| 3160 return record.i; | |
| 3161 } | |
| 3162 if (mark === "~") { | |
| 3163 $.interceptorsForUncacheableTags[tag] = interceptor; | |
| 3164 return interceptor; | |
| 3165 } | |
| 3166 if (mark === "-") { | |
| 3167 t1 = H.makeLeafDispatchRecord(interceptor); | |
| 3168 Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyN
ame, {value: t1, enumerable: false, writable: true, configurable: true}); | |
| 3169 return t1.i; | |
| 3170 } | |
| 3171 if (mark === "+") | |
| 3172 return H.patchInteriorProto(obj, interceptor); | |
| 3173 if (mark === "*") | |
| 3174 throw H.wrapException(new P.UnimplementedError(tag)); | |
| 3175 if (init.leafTags[tag] === true) { | |
| 3176 t1 = H.makeLeafDispatchRecord(interceptor); | |
| 3177 Object.defineProperty(Object.getPrototypeOf(obj), init.dispatchPropertyN
ame, {value: t1, enumerable: false, writable: true, configurable: true}); | |
| 3178 return t1.i; | |
| 3179 } else | |
| 3180 return H.patchInteriorProto(obj, interceptor); | |
| 3181 }, | |
| 3182 patchInteriorProto: function(obj, interceptor) { | |
| 3183 var proto = Object.getPrototypeOf(obj); | |
| 3184 Object.defineProperty(proto, init.dispatchPropertyName, {value: J.makeDisp
atchRecord(interceptor, proto, null, null), enumerable: false, writable: true, c
onfigurable: true}); | |
| 3185 return interceptor; | |
| 3186 }, | |
| 3187 makeLeafDispatchRecord: function(interceptor) { | |
| 3188 return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJav
aScriptIndexingBehavior); | |
| 3189 }, | |
| 3190 makeDefaultDispatchRecord: function(tag, interceptorClass, proto) { | |
| 3191 var interceptor = interceptorClass.prototype; | |
| 3192 if (init.leafTags[tag] === true) | |
| 3193 return J.makeDispatchRecord(interceptor, false, null, !!interceptor.$isJ
avaScriptIndexingBehavior); | |
| 3194 else | |
| 3195 return J.makeDispatchRecord(interceptor, proto, null, null); | |
| 3196 }, | |
| 3197 initNativeDispatch: function() { | |
| 3198 if (true === $.initNativeDispatchFlag) | |
| 3199 return; | |
| 3200 $.initNativeDispatchFlag = true; | |
| 3201 H.initNativeDispatchContinue(); | |
| 3202 }, | |
| 3203 initNativeDispatchContinue: function() { | |
| 3204 var map, tags, fun, i, tag, proto, record, interceptorClass; | |
| 3205 $.dispatchRecordsForInstanceTags = Object.create(null); | |
| 3206 $.interceptorsForUncacheableTags = Object.create(null); | |
| 3207 H.initHooks(); | |
| 3208 map = init.interceptorsByTag; | |
| 3209 tags = Object.getOwnPropertyNames(map); | |
| 3210 if (typeof window != "undefined") { | |
| 3211 window; | |
| 3212 fun = function() { | |
| 3213 }; | |
| 3214 for (i = 0; i < tags.length; ++i) { | |
| 3215 tag = tags[i]; | |
| 3216 proto = $.prototypeForTagFunction.call$1(tag); | |
| 3217 if (proto != null) { | |
| 3218 record = H.makeDefaultDispatchRecord(tag, map[tag], proto); | |
| 3219 if (record != null) { | |
| 3220 Object.defineProperty(proto, init.dispatchPropertyName, {value: re
cord, enumerable: false, writable: true, configurable: true}); | |
| 3221 fun.prototype = proto; | |
| 3222 } | |
| 3223 } | |
| 3224 } | |
| 3225 } | |
| 3226 for (i = 0; i < tags.length; ++i) { | |
| 3227 tag = tags[i]; | |
| 3228 if (/^[A-Za-z_]/.test(tag)) { | |
| 3229 interceptorClass = map[tag]; | |
| 3230 map["!" + tag] = interceptorClass; | |
| 3231 map["~" + tag] = interceptorClass; | |
| 3232 map["-" + tag] = interceptorClass; | |
| 3233 map["+" + tag] = interceptorClass; | |
| 3234 map["*" + tag] = interceptorClass; | |
| 3235 } | |
| 3236 } | |
| 3237 }, | |
| 3238 initHooks: function() { | |
| 3239 var hooks, transformers, i, transformer, getTag, getUnknownTag, prototypeF
orTag; | |
| 3240 hooks = C.JS_CONST_gkc(); | |
| 3241 hooks = H.applyHooksTransformer(C.JS_CONST_0, H.applyHooksTransformer(C.JS
_CONST_rr7, H.applyHooksTransformer(C.JS_CONST_Fs4, H.applyHooksTransformer(C.JS
_CONST_Fs4, H.applyHooksTransformer(C.JS_CONST_gkc0, H.applyHooksTransformer(C.J
S_CONST_4hp, H.applyHooksTransformer(C.JS_CONST_QJm(C.JS_CONST_8ZY), hooks))))))
); | |
| 3242 if (typeof dartNativeDispatchHooksTransformer != "undefined") { | |
| 3243 transformers = dartNativeDispatchHooksTransformer; | |
| 3244 if (typeof transformers == "function") | |
| 3245 transformers = [transformers]; | |
| 3246 if (transformers.constructor == Array) | |
| 3247 for (i = 0; i < transformers.length; ++i) { | |
| 3248 transformer = transformers[i]; | |
| 3249 if (typeof transformer == "function") | |
| 3250 hooks = transformer(hooks) || hooks; | |
| 3251 } | |
| 3252 } | |
| 3253 getTag = hooks.getTag; | |
| 3254 getUnknownTag = hooks.getUnknownTag; | |
| 3255 prototypeForTag = hooks.prototypeForTag; | |
| 3256 $.getTagFunction = new H.initHooks_closure(getTag); | |
| 3257 $.alternateTagFunction = new H.initHooks_closure0(getUnknownTag); | |
| 3258 $.prototypeForTagFunction = new H.initHooks_closure1(prototypeForTag); | |
| 3259 }, | |
| 3260 applyHooksTransformer: function(transformer, hooks) { | |
| 3261 return transformer(hooks) || hooks; | |
| 3262 }, | |
| 3263 stringContainsUnchecked: function(receiver, other, startIndex) { | |
| 3264 var t1; | |
| 3265 if (typeof other === "string") | |
| 3266 return receiver.indexOf(other, startIndex) >= 0; | |
| 3267 else { | |
| 3268 t1 = J.getInterceptor(other); | |
| 3269 if (!!t1.$isJSSyntaxRegExp) { | |
| 3270 t1 = C.JSString_methods.substring$1(receiver, startIndex); | |
| 3271 return other._nativeRegExp.test(H.checkString(t1)); | |
| 3272 } else { | |
| 3273 t1 = t1.allMatches$1(other, C.JSString_methods.substring$1(receiver, s
tartIndex)); | |
| 3274 return !t1.get$isEmpty(t1); | |
| 3275 } | |
| 3276 } | |
| 3277 }, | |
| 3278 stringReplaceAllUnchecked: function(receiver, pattern, replacement) { | |
| 3279 var $length, t1, i; | |
| 3280 H.checkString(replacement); | |
| 3281 if (pattern === "") | |
| 3282 if (receiver === "") | |
| 3283 return replacement; | |
| 3284 else { | |
| 3285 $length = receiver.length; | |
| 3286 for (t1 = replacement, i = 0; i < $length; ++i) | |
| 3287 t1 = t1 + receiver[i] + replacement; | |
| 3288 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 3289 } | |
| 3290 else | |
| 3291 return receiver.replace(new RegExp(pattern.replace(new RegExp("[[\\]{}()
*+?.\\\\^$|]", 'g'), "\\$&"), 'g'), replacement.replace(/\$/g, "$$$$")); | |
| 3292 }, | |
| 3293 _stringIdentity: [function(string) { | |
| 3294 return string; | |
| 3295 }, "call$1", "_js_helper___stringIdentity$closure", 2, 0, 9], | |
| 3296 stringReplaceAllFuncUnchecked: function(receiver, pattern, onMatch, onNonMat
ch) { | |
| 3297 var t1, buffer, startIndex, match, t2, t3; | |
| 3298 onNonMatch = H._js_helper___stringIdentity$closure(); | |
| 3299 t1 = J.getInterceptor(pattern); | |
| 3300 if (!t1.$isPattern) | |
| 3301 throw H.wrapException(P.ArgumentError$value(pattern, "pattern", "is not
a Pattern")); | |
| 3302 buffer = new P.StringBuffer(""); | |
| 3303 for (t1 = t1.allMatches$1(pattern, receiver), t1 = new H._AllMatchesIterat
or(t1._re, t1._string, t1._start, null), startIndex = 0; t1.moveNext$0();) { | |
| 3304 match = t1.__js_helper$_current; | |
| 3305 t2 = match._match; | |
| 3306 buffer._contents += H.S(onNonMatch.call$1(C.JSString_methods.substring$2
(receiver, startIndex, t2.index))); | |
| 3307 buffer._contents += H.S(onMatch.call$1(match)); | |
| 3308 t3 = t2.index; | |
| 3309 if (0 >= t2.length) | |
| 3310 return H.ioore(t2, 0); | |
| 3311 t2 = J.get$length$asx(t2[0]); | |
| 3312 if (typeof t2 !== "number") | |
| 3313 return H.iae(t2); | |
| 3314 startIndex = t3 + t2; | |
| 3315 } | |
| 3316 t1 = buffer._contents += H.S(onNonMatch.call$1(C.JSString_methods.substrin
g$1(receiver, startIndex))); | |
| 3317 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 3318 }, | |
| 3319 stringReplaceFirstUnchecked: function(receiver, pattern, replacement, startI
ndex) { | |
| 3320 var index = receiver.indexOf(pattern, startIndex); | |
| 3321 if (index < 0) | |
| 3322 return receiver; | |
| 3323 return H.stringReplaceRangeUnchecked(receiver, index, index + pattern.leng
th, replacement); | |
| 3324 }, | |
| 3325 stringReplaceRangeUnchecked: function(receiver, start, end, replacement) { | |
| 3326 var prefix, suffix; | |
| 3327 prefix = receiver.substring(0, start); | |
| 3328 suffix = receiver.substring(end); | |
| 3329 return prefix + replacement + suffix; | |
| 3330 }, | |
| 3331 ReflectionInfo: { | |
| 3332 "^": "Object;jsFunction,data,isAccessor,requiredParameterCount,optionalPar
ameterCount,areOptionalParametersNamed,functionType,cachedSortedIndices", | |
| 3333 static: {ReflectionInfo_ReflectionInfo: function(jsFunction) { | |
| 3334 var data, requiredParametersInfo, optionalParametersInfo; | |
| 3335 data = jsFunction.$reflectionInfo; | |
| 3336 if (data == null) | |
| 3337 return; | |
| 3338 data.fixed$length = Array; | |
| 3339 data = data; | |
| 3340 requiredParametersInfo = data[0]; | |
| 3341 optionalParametersInfo = data[1]; | |
| 3342 return new H.ReflectionInfo(jsFunction, data, (requiredParametersInfo
& 1) === 1, requiredParametersInfo >> 1, optionalParametersInfo >> 1, (optionalP
arametersInfo & 1) === 1, data[2], null); | |
| 3343 }} | |
| 3344 }, | |
| 3345 TypeErrorDecoder: { | |
| 3346 "^": "Object;_pattern,_arguments,_argumentsExpr,_expr,_method,_receiver", | |
| 3347 matchTypeError$1: function(message) { | |
| 3348 var match, result, t1; | |
| 3349 match = new RegExp(this._pattern).exec(message); | |
| 3350 if (match == null) | |
| 3351 return; | |
| 3352 result = Object.create(null); | |
| 3353 t1 = this._arguments; | |
| 3354 if (t1 !== -1) | |
| 3355 result.arguments = match[t1 + 1]; | |
| 3356 t1 = this._argumentsExpr; | |
| 3357 if (t1 !== -1) | |
| 3358 result.argumentsExpr = match[t1 + 1]; | |
| 3359 t1 = this._expr; | |
| 3360 if (t1 !== -1) | |
| 3361 result.expr = match[t1 + 1]; | |
| 3362 t1 = this._method; | |
| 3363 if (t1 !== -1) | |
| 3364 result.method = match[t1 + 1]; | |
| 3365 t1 = this._receiver; | |
| 3366 if (t1 !== -1) | |
| 3367 result.receiver = match[t1 + 1]; | |
| 3368 return result; | |
| 3369 }, | |
| 3370 static: {TypeErrorDecoder_extractPattern: function(message) { | |
| 3371 var match, $arguments, argumentsExpr, expr, method, receiver; | |
| 3372 message = message.replace(String({}), '$receiver$').replace(new RegExp
("[[\\]{}()*+?.\\\\^$|]", 'g'), '\\$&'); | |
| 3373 match = message.match(/\\\$[a-zA-Z]+\\\$/g); | |
| 3374 if (match == null) | |
| 3375 match = []; | |
| 3376 $arguments = match.indexOf("\\$arguments\\$"); | |
| 3377 argumentsExpr = match.indexOf("\\$argumentsExpr\\$"); | |
| 3378 expr = match.indexOf("\\$expr\\$"); | |
| 3379 method = match.indexOf("\\$method\\$"); | |
| 3380 receiver = match.indexOf("\\$receiver\\$"); | |
| 3381 return new H.TypeErrorDecoder(message.replace('\\$arguments\\$', '((?:
x|[^x])*)').replace('\\$argumentsExpr\\$', '((?:x|[^x])*)').replace('\\$expr\\$'
, '((?:x|[^x])*)').replace('\\$method\\$', '((?:x|[^x])*)').replace('\\$receiver
\\$', '((?:x|[^x])*)'), $arguments, argumentsExpr, expr, method, receiver); | |
| 3382 }, TypeErrorDecoder_provokeCallErrorOn: function(expression) { | |
| 3383 return function($expr$) { | |
| 3384 var $argumentsExpr$ = '$arguments$'; | |
| 3385 try { | |
| 3386 $expr$.$method$($argumentsExpr$); | |
| 3387 } catch (e) { | |
| 3388 return e.message; | |
| 3389 } | |
| 3390 }(expression); | |
| 3391 }, TypeErrorDecoder_provokePropertyErrorOn: function(expression) { | |
| 3392 return function($expr$) { | |
| 3393 try { | |
| 3394 $expr$.$method$; | |
| 3395 } catch (e) { | |
| 3396 return e.message; | |
| 3397 } | |
| 3398 }(expression); | |
| 3399 }} | |
| 3400 }, | |
| 3401 NullError: { | |
| 3402 "^": "Error;_message,_method", | |
| 3403 toString$0: function(_) { | |
| 3404 var t1 = this._method; | |
| 3405 if (t1 == null) | |
| 3406 return "NullError: " + H.S(this._message); | |
| 3407 return "NullError: method not found: '" + H.S(t1) + "' on null"; | |
| 3408 } | |
| 3409 }, | |
| 3410 JsNoSuchMethodError: { | |
| 3411 "^": "Error;_message,_method,_receiver", | |
| 3412 toString$0: function(_) { | |
| 3413 var t1, t2; | |
| 3414 t1 = this._method; | |
| 3415 if (t1 == null) | |
| 3416 return "NoSuchMethodError: " + H.S(this._message); | |
| 3417 t2 = this._receiver; | |
| 3418 if (t2 == null) | |
| 3419 return "NoSuchMethodError: method not found: '" + H.S(t1) + "' (" + H.
S(this._message) + ")"; | |
| 3420 return "NoSuchMethodError: method not found: '" + H.S(t1) + "' on '" + H
.S(t2) + "' (" + H.S(this._message) + ")"; | |
| 3421 }, | |
| 3422 static: {JsNoSuchMethodError$: function(_message, match) { | |
| 3423 var t1, t2; | |
| 3424 t1 = match == null; | |
| 3425 t2 = t1 ? null : match.method; | |
| 3426 return new H.JsNoSuchMethodError(_message, t2, t1 ? null : match.recei
ver); | |
| 3427 }} | |
| 3428 }, | |
| 3429 UnknownJsTypeError: { | |
| 3430 "^": "Error;_message", | |
| 3431 toString$0: function(_) { | |
| 3432 var t1 = this._message; | |
| 3433 return C.JSString_methods.get$isEmpty(t1) ? "Error" : "Error: " + t1; | |
| 3434 } | |
| 3435 }, | |
| 3436 ExceptionAndStackTrace: { | |
| 3437 "^": "Object;dartException,stackTrace<" | |
| 3438 }, | |
| 3439 unwrapException_saveStackTrace: { | |
| 3440 "^": "Closure:0;_captured_ex_0", | |
| 3441 call$1: function(error) { | |
| 3442 if (!!J.getInterceptor(error).$isError) | |
| 3443 if (error.$thrownJsError == null) | |
| 3444 error.$thrownJsError = this._captured_ex_0; | |
| 3445 return error; | |
| 3446 } | |
| 3447 }, | |
| 3448 _StackTrace: { | |
| 3449 "^": "Object;_exception,_trace", | |
| 3450 toString$0: function(_) { | |
| 3451 var t1, trace; | |
| 3452 t1 = this._trace; | |
| 3453 if (t1 != null) | |
| 3454 return t1; | |
| 3455 t1 = this._exception; | |
| 3456 trace = t1 !== null && typeof t1 === "object" ? t1.stack : null; | |
| 3457 t1 = trace == null ? "" : trace; | |
| 3458 this._trace = t1; | |
| 3459 return t1; | |
| 3460 } | |
| 3461 }, | |
| 3462 invokeClosure_closure: { | |
| 3463 "^": "Closure:1;_captured_closure_0", | |
| 3464 call$0: function() { | |
| 3465 return this._captured_closure_0.call$0(); | |
| 3466 } | |
| 3467 }, | |
| 3468 invokeClosure_closure0: { | |
| 3469 "^": "Closure:1;_captured_closure_1,_captured_arg1_2", | |
| 3470 call$0: function() { | |
| 3471 return this._captured_closure_1.call$1(this._captured_arg1_2); | |
| 3472 } | |
| 3473 }, | |
| 3474 invokeClosure_closure1: { | |
| 3475 "^": "Closure:1;_captured_closure_3,_captured_arg1_4,_captured_arg2_5", | |
| 3476 call$0: function() { | |
| 3477 return this._captured_closure_3.call$2(this._captured_arg1_4, this._capt
ured_arg2_5); | |
| 3478 } | |
| 3479 }, | |
| 3480 invokeClosure_closure2: { | |
| 3481 "^": "Closure:1;_captured_closure_6,_captured_arg1_7,_captured_arg2_8,_cap
tured_arg3_9", | |
| 3482 call$0: function() { | |
| 3483 return this._captured_closure_6.call$3(this._captured_arg1_7, this._capt
ured_arg2_8, this._captured_arg3_9); | |
| 3484 } | |
| 3485 }, | |
| 3486 invokeClosure_closure3: { | |
| 3487 "^": "Closure:1;_captured_closure_10,_captured_arg1_11,_captured_arg2_12,_
captured_arg3_13,_captured_arg4_14", | |
| 3488 call$0: function() { | |
| 3489 return this._captured_closure_10.call$4(this._captured_arg1_11, this._ca
ptured_arg2_12, this._captured_arg3_13, this._captured_arg4_14); | |
| 3490 } | |
| 3491 }, | |
| 3492 Closure: { | |
| 3493 "^": "Object;", | |
| 3494 toString$0: function(_) { | |
| 3495 return "Closure '" + H.Primitives_objectTypeName(this) + "'"; | |
| 3496 }, | |
| 3497 get$$call: function() { | |
| 3498 return this; | |
| 3499 }, | |
| 3500 get$$call: function() { | |
| 3501 return this; | |
| 3502 } | |
| 3503 }, | |
| 3504 TearOffClosure: { | |
| 3505 "^": "Closure;" | |
| 3506 }, | |
| 3507 StaticClosure: { | |
| 3508 "^": "TearOffClosure;", | |
| 3509 toString$0: function(_) { | |
| 3510 var $name = this.$static_name; | |
| 3511 if ($name == null) | |
| 3512 return "Closure of unknown static method"; | |
| 3513 return "Closure '" + $name + "'"; | |
| 3514 } | |
| 3515 }, | |
| 3516 BoundClosure: { | |
| 3517 "^": "TearOffClosure;_self,__js_helper$_target,_receiver,__js_helper$_name
", | |
| 3518 $eq: function(_, other) { | |
| 3519 if (other == null) | |
| 3520 return false; | |
| 3521 if (this === other) | |
| 3522 return true; | |
| 3523 if (!(other instanceof H.BoundClosure)) | |
| 3524 return false; | |
| 3525 return this._self === other._self && this.__js_helper$_target === other.
__js_helper$_target && this._receiver === other._receiver; | |
| 3526 }, | |
| 3527 get$hashCode: function(_) { | |
| 3528 var t1, receiverHashCode; | |
| 3529 t1 = this._receiver; | |
| 3530 if (t1 == null) | |
| 3531 receiverHashCode = H.Primitives_objectHashCode(this._self); | |
| 3532 else | |
| 3533 receiverHashCode = typeof t1 !== "object" ? J.get$hashCode$(t1) : H.Pr
imitives_objectHashCode(t1); | |
| 3534 t1 = H.Primitives_objectHashCode(this.__js_helper$_target); | |
| 3535 if (typeof receiverHashCode !== "number") | |
| 3536 return receiverHashCode.$xor(); | |
| 3537 return (receiverHashCode ^ t1) >>> 0; | |
| 3538 }, | |
| 3539 toString$0: function(_) { | |
| 3540 var receiver = this._receiver; | |
| 3541 if (receiver == null) | |
| 3542 receiver = this._self; | |
| 3543 return "Closure '" + H.S(this.__js_helper$_name) + "' of " + H.Primitive
s_objectToHumanReadableString(receiver); | |
| 3544 }, | |
| 3545 static: {BoundClosure_selfOf: function(closure) { | |
| 3546 return closure._self; | |
| 3547 }, BoundClosure_receiverOf: function(closure) { | |
| 3548 return closure._receiver; | |
| 3549 }, BoundClosure_selfFieldName: function() { | |
| 3550 var t1 = $.BoundClosure_selfFieldNameCache; | |
| 3551 if (t1 == null) { | |
| 3552 t1 = H.BoundClosure_computeFieldNamed("self"); | |
| 3553 $.BoundClosure_selfFieldNameCache = t1; | |
| 3554 } | |
| 3555 return t1; | |
| 3556 }, BoundClosure_computeFieldNamed: function(fieldName) { | |
| 3557 var template, t1, names, i, $name; | |
| 3558 template = new H.BoundClosure("self", "target", "receiver", "name"); | |
| 3559 t1 = Object.getOwnPropertyNames(template); | |
| 3560 t1.fixed$length = Array; | |
| 3561 names = t1; | |
| 3562 for (t1 = names.length, i = 0; i < t1; ++i) { | |
| 3563 $name = names[i]; | |
| 3564 if (template[$name] === fieldName) | |
| 3565 return $name; | |
| 3566 } | |
| 3567 }} | |
| 3568 }, | |
| 3569 RuntimeError: { | |
| 3570 "^": "Error;message>", | |
| 3571 toString$0: function(_) { | |
| 3572 return "RuntimeError: " + H.S(this.message); | |
| 3573 } | |
| 3574 }, | |
| 3575 RuntimeType: { | |
| 3576 "^": "Object;" | |
| 3577 }, | |
| 3578 RuntimeFunctionType: { | |
| 3579 "^": "RuntimeType;returnType,parameterTypes,optionalParameterTypes,namedPa
rameters", | |
| 3580 _isTest$1: function(expression) { | |
| 3581 var functionTypeObject = this._extractFunctionTypeObjectFrom$1(expressio
n); | |
| 3582 return functionTypeObject == null ? false : H.isFunctionSubtype(function
TypeObject, this.toRti$0()); | |
| 3583 }, | |
| 3584 _extractFunctionTypeObjectFrom$1: function(o) { | |
| 3585 var interceptor = J.getInterceptor(o); | |
| 3586 return "$signature" in interceptor ? interceptor.$signature() : null; | |
| 3587 }, | |
| 3588 toRti$0: function() { | |
| 3589 var result, t1, t2, namedRti, keys, i, $name; | |
| 3590 result = {func: "dynafunc"}; | |
| 3591 t1 = this.returnType; | |
| 3592 t2 = J.getInterceptor(t1); | |
| 3593 if (!!t2.$isVoidRuntimeType) | |
| 3594 result.void = true; | |
| 3595 else if (!t2.$isDynamicRuntimeType) | |
| 3596 result.ret = t1.toRti$0(); | |
| 3597 t1 = this.parameterTypes; | |
| 3598 if (t1 != null && t1.length !== 0) | |
| 3599 result.args = H.RuntimeFunctionType_listToRti(t1); | |
| 3600 t1 = this.optionalParameterTypes; | |
| 3601 if (t1 != null && t1.length !== 0) | |
| 3602 result.opt = H.RuntimeFunctionType_listToRti(t1); | |
| 3603 t1 = this.namedParameters; | |
| 3604 if (t1 != null) { | |
| 3605 namedRti = Object.create(null); | |
| 3606 keys = H.extractKeys(t1); | |
| 3607 for (t2 = keys.length, i = 0; i < t2; ++i) { | |
| 3608 $name = keys[i]; | |
| 3609 namedRti[$name] = t1[$name].toRti$0(); | |
| 3610 } | |
| 3611 result.named = namedRti; | |
| 3612 } | |
| 3613 return result; | |
| 3614 }, | |
| 3615 toString$0: function(_) { | |
| 3616 var t1, t2, result, needsComma, i, type, keys, $name; | |
| 3617 t1 = this.parameterTypes; | |
| 3618 if (t1 != null) | |
| 3619 for (t2 = t1.length, result = "(", needsComma = false, i = 0; i < t2;
++i, needsComma = true) { | |
| 3620 type = t1[i]; | |
| 3621 if (needsComma) | |
| 3622 result += ", "; | |
| 3623 result += H.S(type); | |
| 3624 } | |
| 3625 else { | |
| 3626 result = "("; | |
| 3627 needsComma = false; | |
| 3628 } | |
| 3629 t1 = this.optionalParameterTypes; | |
| 3630 if (t1 != null && t1.length !== 0) { | |
| 3631 result = (needsComma ? result + ", " : result) + "["; | |
| 3632 for (t2 = t1.length, needsComma = false, i = 0; i < t2; ++i, needsComm
a = true) { | |
| 3633 type = t1[i]; | |
| 3634 if (needsComma) | |
| 3635 result += ", "; | |
| 3636 result += H.S(type); | |
| 3637 } | |
| 3638 result += "]"; | |
| 3639 } else { | |
| 3640 t1 = this.namedParameters; | |
| 3641 if (t1 != null) { | |
| 3642 result = (needsComma ? result + ", " : result) + "{"; | |
| 3643 keys = H.extractKeys(t1); | |
| 3644 for (t2 = keys.length, needsComma = false, i = 0; i < t2; ++i, needs
Comma = true) { | |
| 3645 $name = keys[i]; | |
| 3646 if (needsComma) | |
| 3647 result += ", "; | |
| 3648 result += H.S(t1[$name].toRti$0()) + " " + $name; | |
| 3649 } | |
| 3650 result += "}"; | |
| 3651 } | |
| 3652 } | |
| 3653 return result + (") -> " + H.S(this.returnType)); | |
| 3654 }, | |
| 3655 static: {RuntimeFunctionType_listToRti: function(list) { | |
| 3656 var result, t1, i; | |
| 3657 list = list; | |
| 3658 result = []; | |
| 3659 for (t1 = list.length, i = 0; i < t1; ++i) | |
| 3660 result.push(list[i].toRti$0()); | |
| 3661 return result; | |
| 3662 }} | |
| 3663 }, | |
| 3664 DynamicRuntimeType: { | |
| 3665 "^": "RuntimeType;", | |
| 3666 toString$0: function(_) { | |
| 3667 return "dynamic"; | |
| 3668 }, | |
| 3669 toRti$0: function() { | |
| 3670 return; | |
| 3671 } | |
| 3672 }, | |
| 3673 TypeImpl: { | |
| 3674 "^": "Object;_typeName,_unmangledName", | |
| 3675 toString$0: function(_) { | |
| 3676 var t1, unmangledName; | |
| 3677 t1 = this._unmangledName; | |
| 3678 if (t1 != null) | |
| 3679 return t1; | |
| 3680 unmangledName = this._typeName.replace(/[^<,> ]+/g, function(m) { | |
| 3681 return init.mangledGlobalNames[m] || m; | |
| 3682 }); | |
| 3683 this._unmangledName = unmangledName; | |
| 3684 return unmangledName; | |
| 3685 }, | |
| 3686 get$hashCode: function(_) { | |
| 3687 return J.get$hashCode$(this._typeName); | |
| 3688 }, | |
| 3689 $eq: function(_, other) { | |
| 3690 if (other == null) | |
| 3691 return false; | |
| 3692 return other instanceof H.TypeImpl && J.$eq$(this._typeName, other._type
Name); | |
| 3693 } | |
| 3694 }, | |
| 3695 JsLinkedHashMap: { | |
| 3696 "^": "Object;__js_helper$_length,_strings,_nums,_rest,_first,__js_helper$_
last,_modifications", | |
| 3697 get$length: function(_) { | |
| 3698 return this.__js_helper$_length; | |
| 3699 }, | |
| 3700 get$isEmpty: function(_) { | |
| 3701 return this.__js_helper$_length === 0; | |
| 3702 }, | |
| 3703 get$isNotEmpty: function(_) { | |
| 3704 return !this.get$isEmpty(this); | |
| 3705 }, | |
| 3706 get$keys: function() { | |
| 3707 return H.setRuntimeTypeInfo(new H.LinkedHashMapKeyIterable(this), [H.get
TypeArgumentByIndex(this, 0)]); | |
| 3708 }, | |
| 3709 get$values: function(_) { | |
| 3710 return H.MappedIterable_MappedIterable(this.get$keys(), new H.JsLinkedHa
shMap_values_closure(this), H.getTypeArgumentByIndex(this, 0), H.getTypeArgument
ByIndex(this, 1)); | |
| 3711 }, | |
| 3712 containsKey$1: function(key) { | |
| 3713 var strings, nums; | |
| 3714 if (typeof key === "string") { | |
| 3715 strings = this._strings; | |
| 3716 if (strings == null) | |
| 3717 return false; | |
| 3718 return this._containsTableEntry$2(strings, key); | |
| 3719 } else if (typeof key === "number" && (key & 0x3ffffff) === key) { | |
| 3720 nums = this._nums; | |
| 3721 if (nums == null) | |
| 3722 return false; | |
| 3723 return this._containsTableEntry$2(nums, key); | |
| 3724 } else | |
| 3725 return this.internalContainsKey$1(key); | |
| 3726 }, | |
| 3727 internalContainsKey$1: function(key) { | |
| 3728 var rest = this._rest; | |
| 3729 if (rest == null) | |
| 3730 return false; | |
| 3731 return this.internalFindBucketIndex$2(this._getTableEntry$2(rest, this.i
nternalComputeHashCode$1(key)), key) >= 0; | |
| 3732 }, | |
| 3733 $index: function(_, key) { | |
| 3734 var strings, cell, nums; | |
| 3735 if (typeof key === "string") { | |
| 3736 strings = this._strings; | |
| 3737 if (strings == null) | |
| 3738 return; | |
| 3739 cell = this._getTableEntry$2(strings, key); | |
| 3740 return cell == null ? null : cell.get$hashMapCellValue(); | |
| 3741 } else if (typeof key === "number" && (key & 0x3ffffff) === key) { | |
| 3742 nums = this._nums; | |
| 3743 if (nums == null) | |
| 3744 return; | |
| 3745 cell = this._getTableEntry$2(nums, key); | |
| 3746 return cell == null ? null : cell.get$hashMapCellValue(); | |
| 3747 } else | |
| 3748 return this.internalGet$1(key); | |
| 3749 }, | |
| 3750 internalGet$1: function(key) { | |
| 3751 var rest, bucket, index; | |
| 3752 rest = this._rest; | |
| 3753 if (rest == null) | |
| 3754 return; | |
| 3755 bucket = this._getTableEntry$2(rest, this.internalComputeHashCode$1(key)
); | |
| 3756 index = this.internalFindBucketIndex$2(bucket, key); | |
| 3757 if (index < 0) | |
| 3758 return; | |
| 3759 return bucket[index].get$hashMapCellValue(); | |
| 3760 }, | |
| 3761 $indexSet: function(_, key, value) { | |
| 3762 var strings, nums, rest, hash, bucket, index; | |
| 3763 if (typeof key === "string") { | |
| 3764 strings = this._strings; | |
| 3765 if (strings == null) { | |
| 3766 strings = this._newHashTable$0(); | |
| 3767 this._strings = strings; | |
| 3768 } | |
| 3769 this.__js_helper$_addHashTableEntry$3(strings, key, value); | |
| 3770 } else if (typeof key === "number" && (key & 0x3ffffff) === key) { | |
| 3771 nums = this._nums; | |
| 3772 if (nums == null) { | |
| 3773 nums = this._newHashTable$0(); | |
| 3774 this._nums = nums; | |
| 3775 } | |
| 3776 this.__js_helper$_addHashTableEntry$3(nums, key, value); | |
| 3777 } else { | |
| 3778 rest = this._rest; | |
| 3779 if (rest == null) { | |
| 3780 rest = this._newHashTable$0(); | |
| 3781 this._rest = rest; | |
| 3782 } | |
| 3783 hash = this.internalComputeHashCode$1(key); | |
| 3784 bucket = this._getTableEntry$2(rest, hash); | |
| 3785 if (bucket == null) | |
| 3786 this._setTableEntry$3(rest, hash, [this.__js_helper$_newLinkedCell$2
(key, value)]); | |
| 3787 else { | |
| 3788 index = this.internalFindBucketIndex$2(bucket, key); | |
| 3789 if (index >= 0) | |
| 3790 bucket[index].set$hashMapCellValue(value); | |
| 3791 else | |
| 3792 bucket.push(this.__js_helper$_newLinkedCell$2(key, value)); | |
| 3793 } | |
| 3794 } | |
| 3795 }, | |
| 3796 putIfAbsent$2: function(key, ifAbsent) { | |
| 3797 var value; | |
| 3798 if (this.containsKey$1(key)) | |
| 3799 return this.$index(0, key); | |
| 3800 value = ifAbsent.call$0(); | |
| 3801 this.$indexSet(0, key, value); | |
| 3802 return value; | |
| 3803 }, | |
| 3804 remove$1: function(_, key) { | |
| 3805 if (typeof key === "string") | |
| 3806 return this.__js_helper$_removeHashTableEntry$2(this._strings, key); | |
| 3807 else if (typeof key === "number" && (key & 0x3ffffff) === key) | |
| 3808 return this.__js_helper$_removeHashTableEntry$2(this._nums, key); | |
| 3809 else | |
| 3810 return this.internalRemove$1(key); | |
| 3811 }, | |
| 3812 internalRemove$1: function(key) { | |
| 3813 var rest, bucket, index, cell; | |
| 3814 rest = this._rest; | |
| 3815 if (rest == null) | |
| 3816 return; | |
| 3817 bucket = this._getTableEntry$2(rest, this.internalComputeHashCode$1(key)
); | |
| 3818 index = this.internalFindBucketIndex$2(bucket, key); | |
| 3819 if (index < 0) | |
| 3820 return; | |
| 3821 cell = bucket.splice(index, 1)[0]; | |
| 3822 this.__js_helper$_unlinkCell$1(cell); | |
| 3823 return cell.get$hashMapCellValue(); | |
| 3824 }, | |
| 3825 clear$0: function(_) { | |
| 3826 if (this.__js_helper$_length > 0) { | |
| 3827 this.__js_helper$_last = null; | |
| 3828 this._first = null; | |
| 3829 this._rest = null; | |
| 3830 this._nums = null; | |
| 3831 this._strings = null; | |
| 3832 this.__js_helper$_length = 0; | |
| 3833 this._modifications = this._modifications + 1 & 67108863; | |
| 3834 } | |
| 3835 }, | |
| 3836 forEach$1: function(_, action) { | |
| 3837 var cell, modifications; | |
| 3838 cell = this._first; | |
| 3839 modifications = this._modifications; | |
| 3840 for (; cell != null;) { | |
| 3841 action.call$2(cell.hashMapCellKey, cell.hashMapCellValue); | |
| 3842 if (modifications !== this._modifications) | |
| 3843 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 3844 cell = cell._next; | |
| 3845 } | |
| 3846 }, | |
| 3847 __js_helper$_addHashTableEntry$3: function(table, key, value) { | |
| 3848 var cell = this._getTableEntry$2(table, key); | |
| 3849 if (cell == null) | |
| 3850 this._setTableEntry$3(table, key, this.__js_helper$_newLinkedCell$2(ke
y, value)); | |
| 3851 else | |
| 3852 cell.set$hashMapCellValue(value); | |
| 3853 }, | |
| 3854 __js_helper$_removeHashTableEntry$2: function(table, key) { | |
| 3855 var cell; | |
| 3856 if (table == null) | |
| 3857 return; | |
| 3858 cell = this._getTableEntry$2(table, key); | |
| 3859 if (cell == null) | |
| 3860 return; | |
| 3861 this.__js_helper$_unlinkCell$1(cell); | |
| 3862 this._deleteTableEntry$2(table, key); | |
| 3863 return cell.get$hashMapCellValue(); | |
| 3864 }, | |
| 3865 __js_helper$_newLinkedCell$2: function(key, value) { | |
| 3866 var cell, last; | |
| 3867 cell = new H.LinkedHashMapCell(key, value, null, null); | |
| 3868 if (this._first == null) { | |
| 3869 this.__js_helper$_last = cell; | |
| 3870 this._first = cell; | |
| 3871 } else { | |
| 3872 last = this.__js_helper$_last; | |
| 3873 cell.__js_helper$_previous = last; | |
| 3874 last._next = cell; | |
| 3875 this.__js_helper$_last = cell; | |
| 3876 } | |
| 3877 ++this.__js_helper$_length; | |
| 3878 this._modifications = this._modifications + 1 & 67108863; | |
| 3879 return cell; | |
| 3880 }, | |
| 3881 __js_helper$_unlinkCell$1: function(cell) { | |
| 3882 var previous, next; | |
| 3883 previous = cell.get$__js_helper$_previous(); | |
| 3884 next = cell._next; | |
| 3885 if (previous == null) | |
| 3886 this._first = next; | |
| 3887 else | |
| 3888 previous._next = next; | |
| 3889 if (next == null) | |
| 3890 this.__js_helper$_last = previous; | |
| 3891 else | |
| 3892 next.__js_helper$_previous = previous; | |
| 3893 --this.__js_helper$_length; | |
| 3894 this._modifications = this._modifications + 1 & 67108863; | |
| 3895 }, | |
| 3896 internalComputeHashCode$1: function(key) { | |
| 3897 return J.get$hashCode$(key) & 0x3ffffff; | |
| 3898 }, | |
| 3899 internalFindBucketIndex$2: function(bucket, key) { | |
| 3900 var $length, i; | |
| 3901 if (bucket == null) | |
| 3902 return -1; | |
| 3903 $length = bucket.length; | |
| 3904 for (i = 0; i < $length; ++i) | |
| 3905 if (J.$eq$(bucket[i].get$hashMapCellKey(), key)) | |
| 3906 return i; | |
| 3907 return -1; | |
| 3908 }, | |
| 3909 toString$0: function(_) { | |
| 3910 return P.Maps_mapToString(this); | |
| 3911 }, | |
| 3912 _getTableEntry$2: function(table, key) { | |
| 3913 return table[key]; | |
| 3914 }, | |
| 3915 _setTableEntry$3: function(table, key, value) { | |
| 3916 table[key] = value; | |
| 3917 }, | |
| 3918 _deleteTableEntry$2: function(table, key) { | |
| 3919 delete table[key]; | |
| 3920 }, | |
| 3921 _containsTableEntry$2: function(table, key) { | |
| 3922 return this._getTableEntry$2(table, key) != null; | |
| 3923 }, | |
| 3924 _newHashTable$0: function() { | |
| 3925 var table = Object.create(null); | |
| 3926 this._setTableEntry$3(table, "<non-identifier-key>", table); | |
| 3927 this._deleteTableEntry$2(table, "<non-identifier-key>"); | |
| 3928 return table; | |
| 3929 }, | |
| 3930 $isInternalMap: 1 | |
| 3931 }, | |
| 3932 JsLinkedHashMap_values_closure: { | |
| 3933 "^": "Closure:0;__js_helper$_captured_this_0", | |
| 3934 call$1: function(each) { | |
| 3935 return this.__js_helper$_captured_this_0.$index(0, each); | |
| 3936 } | |
| 3937 }, | |
| 3938 LinkedHashMapCell: { | |
| 3939 "^": "Object;hashMapCellKey<,hashMapCellValue@,_next,__js_helper$_previous
<" | |
| 3940 }, | |
| 3941 LinkedHashMapKeyIterable: { | |
| 3942 "^": "Iterable;_map", | |
| 3943 get$length: function(_) { | |
| 3944 return this._map.__js_helper$_length; | |
| 3945 }, | |
| 3946 get$isEmpty: function(_) { | |
| 3947 return this._map.__js_helper$_length === 0; | |
| 3948 }, | |
| 3949 get$iterator: function(_) { | |
| 3950 var t1, t2; | |
| 3951 t1 = this._map; | |
| 3952 t2 = new H.LinkedHashMapKeyIterator(t1, t1._modifications, null, null); | |
| 3953 t2.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 3954 t2.__js_helper$_cell = t1._first; | |
| 3955 return t2; | |
| 3956 }, | |
| 3957 contains$1: function(_, element) { | |
| 3958 return this._map.containsKey$1(element); | |
| 3959 }, | |
| 3960 forEach$1: function(_, f) { | |
| 3961 var t1, cell, modifications; | |
| 3962 t1 = this._map; | |
| 3963 cell = t1._first; | |
| 3964 modifications = t1._modifications; | |
| 3965 for (; cell != null;) { | |
| 3966 f.call$1(cell.hashMapCellKey); | |
| 3967 if (modifications !== t1._modifications) | |
| 3968 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 3969 cell = cell._next; | |
| 3970 } | |
| 3971 }, | |
| 3972 $isEfficientLength: 1 | |
| 3973 }, | |
| 3974 LinkedHashMapKeyIterator: { | |
| 3975 "^": "Object;_map,_modifications,__js_helper$_cell,__js_helper$_current", | |
| 3976 get$current: function() { | |
| 3977 return this.__js_helper$_current; | |
| 3978 }, | |
| 3979 moveNext$0: function() { | |
| 3980 var t1 = this._map; | |
| 3981 if (this._modifications !== t1._modifications) | |
| 3982 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 3983 else { | |
| 3984 t1 = this.__js_helper$_cell; | |
| 3985 if (t1 == null) { | |
| 3986 this.__js_helper$_current = null; | |
| 3987 return false; | |
| 3988 } else { | |
| 3989 this.__js_helper$_current = t1.hashMapCellKey; | |
| 3990 this.__js_helper$_cell = t1._next; | |
| 3991 return true; | |
| 3992 } | |
| 3993 } | |
| 3994 } | |
| 3995 }, | |
| 3996 initHooks_closure: { | |
| 3997 "^": "Closure:0;_captured_getTag_0", | |
| 3998 call$1: function(o) { | |
| 3999 return this._captured_getTag_0(o); | |
| 4000 } | |
| 4001 }, | |
| 4002 initHooks_closure0: { | |
| 4003 "^": "Closure:11;_captured_getUnknownTag_1", | |
| 4004 call$2: function(o, tag) { | |
| 4005 return this._captured_getUnknownTag_1(o, tag); | |
| 4006 } | |
| 4007 }, | |
| 4008 initHooks_closure1: { | |
| 4009 "^": "Closure:12;_captured_prototypeForTag_2", | |
| 4010 call$1: function(tag) { | |
| 4011 return this._captured_prototypeForTag_2(tag); | |
| 4012 } | |
| 4013 }, | |
| 4014 JSSyntaxRegExp: { | |
| 4015 "^": "Object;pattern,_nativeRegExp,_nativeGlobalRegExp,_nativeAnchoredRegE
xp", | |
| 4016 toString$0: function(_) { | |
| 4017 return "RegExp/" + this.pattern + "/"; | |
| 4018 }, | |
| 4019 get$_nativeGlobalVersion: function() { | |
| 4020 var t1 = this._nativeGlobalRegExp; | |
| 4021 if (t1 != null) | |
| 4022 return t1; | |
| 4023 t1 = this._nativeRegExp; | |
| 4024 t1 = H.JSSyntaxRegExp_makeNative(this.pattern, t1.multiline, !t1.ignoreC
ase, true); | |
| 4025 this._nativeGlobalRegExp = t1; | |
| 4026 return t1; | |
| 4027 }, | |
| 4028 get$_nativeAnchoredVersion: function() { | |
| 4029 var t1 = this._nativeAnchoredRegExp; | |
| 4030 if (t1 != null) | |
| 4031 return t1; | |
| 4032 t1 = this._nativeRegExp; | |
| 4033 t1 = H.JSSyntaxRegExp_makeNative(this.pattern + "|()", t1.multiline, !t1
.ignoreCase, true); | |
| 4034 this._nativeAnchoredRegExp = t1; | |
| 4035 return t1; | |
| 4036 }, | |
| 4037 allMatches$2: function(_, string, start) { | |
| 4038 H.checkString(string); | |
| 4039 H.checkInt(start); | |
| 4040 if (start > string.length) | |
| 4041 throw H.wrapException(P.RangeError$range(start, 0, string.length, null
, null)); | |
| 4042 return new H._AllMatchesIterable(this, string, start); | |
| 4043 }, | |
| 4044 allMatches$1: function($receiver, string) { | |
| 4045 return this.allMatches$2($receiver, string, 0); | |
| 4046 }, | |
| 4047 _execGlobal$2: function(string, start) { | |
| 4048 var regexp, match; | |
| 4049 regexp = this.get$_nativeGlobalVersion(); | |
| 4050 regexp.lastIndex = start; | |
| 4051 match = regexp.exec(string); | |
| 4052 if (match == null) | |
| 4053 return; | |
| 4054 return H._MatchImplementation$(this, match); | |
| 4055 }, | |
| 4056 _execAnchored$2: function(string, start) { | |
| 4057 var regexp, match, t1, t2; | |
| 4058 regexp = this.get$_nativeAnchoredVersion(); | |
| 4059 regexp.lastIndex = start; | |
| 4060 match = regexp.exec(string); | |
| 4061 if (match == null) | |
| 4062 return; | |
| 4063 t1 = match.length; | |
| 4064 t2 = t1 - 1; | |
| 4065 if (t2 < 0) | |
| 4066 return H.ioore(match, t2); | |
| 4067 if (match[t2] != null) | |
| 4068 return; | |
| 4069 C.JSArray_methods.set$length(match, t2); | |
| 4070 return H._MatchImplementation$(this, match); | |
| 4071 }, | |
| 4072 matchAsPrefix$2: function(_, string, start) { | |
| 4073 if (start < 0 || start > string.length) | |
| 4074 throw H.wrapException(P.RangeError$range(start, 0, string.length, null
, null)); | |
| 4075 return this._execAnchored$2(string, start); | |
| 4076 }, | |
| 4077 $isPattern: 1, | |
| 4078 static: {JSSyntaxRegExp_makeNative: function(source, multiLine, caseSensit
ive, global) { | |
| 4079 var m, i, g, regexp; | |
| 4080 H.checkString(source); | |
| 4081 m = multiLine ? "m" : ""; | |
| 4082 i = caseSensitive ? "" : "i"; | |
| 4083 g = global ? "g" : ""; | |
| 4084 regexp = function() { | |
| 4085 try { | |
| 4086 return new RegExp(source, m + i + g); | |
| 4087 } catch (e) { | |
| 4088 return e; | |
| 4089 } | |
| 4090 }(); | |
| 4091 if (regexp instanceof RegExp) | |
| 4092 return regexp; | |
| 4093 throw H.wrapException(new P.FormatException("Illegal RegExp pattern ("
+ String(regexp) + ")", source, null)); | |
| 4094 }} | |
| 4095 }, | |
| 4096 _MatchImplementation: { | |
| 4097 "^": "Object;pattern,_match", | |
| 4098 group$1: function(index) { | |
| 4099 var t1 = this._match; | |
| 4100 if (index >>> 0 !== index || index >= t1.length) | |
| 4101 return H.ioore(t1, index); | |
| 4102 return t1[index]; | |
| 4103 }, | |
| 4104 $index: function(_, index) { | |
| 4105 var t1 = this._match; | |
| 4106 if (index >>> 0 !== index || index >= t1.length) | |
| 4107 return H.ioore(t1, index); | |
| 4108 return t1[index]; | |
| 4109 }, | |
| 4110 _MatchImplementation$2: function(pattern, _match) { | |
| 4111 }, | |
| 4112 static: {_MatchImplementation$: function(pattern, _match) { | |
| 4113 var t1 = new H._MatchImplementation(pattern, _match); | |
| 4114 t1._MatchImplementation$2(pattern, _match); | |
| 4115 return t1; | |
| 4116 }} | |
| 4117 }, | |
| 4118 _AllMatchesIterable: { | |
| 4119 "^": "IterableBase;_re,_string,_start", | |
| 4120 get$iterator: function(_) { | |
| 4121 return new H._AllMatchesIterator(this._re, this._string, this._start, nu
ll); | |
| 4122 }, | |
| 4123 $asIterableBase: function() { | |
| 4124 return [P.Match]; | |
| 4125 }, | |
| 4126 $asIterable: function() { | |
| 4127 return [P.Match]; | |
| 4128 } | |
| 4129 }, | |
| 4130 _AllMatchesIterator: { | |
| 4131 "^": "Object;_regExp,_string,_nextIndex,__js_helper$_current", | |
| 4132 get$current: function() { | |
| 4133 return this.__js_helper$_current; | |
| 4134 }, | |
| 4135 moveNext$0: function() { | |
| 4136 var t1, t2, match, t3, nextIndex; | |
| 4137 t1 = this._string; | |
| 4138 if (t1 == null) | |
| 4139 return false; | |
| 4140 t2 = this._nextIndex; | |
| 4141 if (t2 <= t1.length) { | |
| 4142 match = this._regExp._execGlobal$2(t1, t2); | |
| 4143 if (match != null) { | |
| 4144 this.__js_helper$_current = match; | |
| 4145 t1 = match._match; | |
| 4146 t2 = t1.index; | |
| 4147 if (0 >= t1.length) | |
| 4148 return H.ioore(t1, 0); | |
| 4149 t3 = J.get$length$asx(t1[0]); | |
| 4150 if (typeof t3 !== "number") | |
| 4151 return H.iae(t3); | |
| 4152 nextIndex = t2 + t3; | |
| 4153 this._nextIndex = t1.index === nextIndex ? nextIndex + 1 : nextIndex
; | |
| 4154 return true; | |
| 4155 } | |
| 4156 } | |
| 4157 this.__js_helper$_current = null; | |
| 4158 this._string = null; | |
| 4159 return false; | |
| 4160 } | |
| 4161 }, | |
| 4162 StringMatch: { | |
| 4163 "^": "Object;start,input,pattern", | |
| 4164 $index: function(_, g) { | |
| 4165 return this.group$1(g); | |
| 4166 }, | |
| 4167 group$1: function(group_) { | |
| 4168 if (group_ !== 0) | |
| 4169 throw H.wrapException(P.RangeError$value(group_, null, null)); | |
| 4170 return this.pattern; | |
| 4171 } | |
| 4172 }, | |
| 4173 _StringAllMatchesIterable: { | |
| 4174 "^": "Iterable;_input,_pattern,__js_helper$_index", | |
| 4175 get$iterator: function(_) { | |
| 4176 return new H._StringAllMatchesIterator(this._input, this._pattern, this.
__js_helper$_index, null); | |
| 4177 }, | |
| 4178 $asIterable: function() { | |
| 4179 return [P.Match]; | |
| 4180 } | |
| 4181 }, | |
| 4182 _StringAllMatchesIterator: { | |
| 4183 "^": "Object;_input,_pattern,__js_helper$_index,__js_helper$_current", | |
| 4184 moveNext$0: function() { | |
| 4185 var t1, t2, t3, t4, t5, index, end; | |
| 4186 t1 = this.__js_helper$_index; | |
| 4187 t2 = this._pattern; | |
| 4188 t3 = t2.length; | |
| 4189 t4 = this._input; | |
| 4190 t5 = t4.length; | |
| 4191 if (t1 + t3 > t5) { | |
| 4192 this.__js_helper$_current = null; | |
| 4193 return false; | |
| 4194 } | |
| 4195 index = t4.indexOf(t2, t1); | |
| 4196 if (index < 0) { | |
| 4197 this.__js_helper$_index = t5 + 1; | |
| 4198 this.__js_helper$_current = null; | |
| 4199 return false; | |
| 4200 } | |
| 4201 end = index + t3; | |
| 4202 this.__js_helper$_current = new H.StringMatch(index, t4, t2); | |
| 4203 this.__js_helper$_index = end === this.__js_helper$_index ? end + 1 : en
d; | |
| 4204 return true; | |
| 4205 }, | |
| 4206 get$current: function() { | |
| 4207 return this.__js_helper$_current; | |
| 4208 } | |
| 4209 } | |
| 4210 }], ["dart._internal", "dart:_internal",, H, { | |
| 4211 "^": "", | |
| 4212 IterableElementError_noElement: function() { | |
| 4213 return new P.StateError("No element"); | |
| 4214 }, | |
| 4215 IterableElementError_tooMany: function() { | |
| 4216 return new P.StateError("Too many elements"); | |
| 4217 }, | |
| 4218 IterableElementError_tooFew: function() { | |
| 4219 return new P.StateError("Too few elements"); | |
| 4220 }, | |
| 4221 Symbol_getName: function(symbol) { | |
| 4222 return symbol.get$_name(); | |
| 4223 }, | |
| 4224 CodeUnits: { | |
| 4225 "^": "UnmodifiableListBase;__internal$_string", | |
| 4226 get$length: function(_) { | |
| 4227 return this.__internal$_string.length; | |
| 4228 }, | |
| 4229 $index: function(_, i) { | |
| 4230 return C.JSString_methods.codeUnitAt$1(this.__internal$_string, i); | |
| 4231 }, | |
| 4232 $asUnmodifiableListBase: function() { | |
| 4233 return [P.$int]; | |
| 4234 }, | |
| 4235 $asListBase: function() { | |
| 4236 return [P.$int]; | |
| 4237 }, | |
| 4238 $asObject_ListMixin: function() { | |
| 4239 return [P.$int]; | |
| 4240 }, | |
| 4241 $asList: function() { | |
| 4242 return [P.$int]; | |
| 4243 } | |
| 4244 }, | |
| 4245 ListIterable: { | |
| 4246 "^": "Iterable;", | |
| 4247 get$iterator: function(_) { | |
| 4248 return H.setRuntimeTypeInfo(new H.ListIterator(this, this.get$length(thi
s), 0, null), [H.getRuntimeTypeArgument(this, "ListIterable", 0)]); | |
| 4249 }, | |
| 4250 forEach$1: function(_, action) { | |
| 4251 var $length, i; | |
| 4252 $length = this.get$length(this); | |
| 4253 for (i = 0; i < $length; ++i) { | |
| 4254 action.call$1(this.elementAt$1(0, i)); | |
| 4255 if ($length !== this.get$length(this)) | |
| 4256 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 4257 } | |
| 4258 }, | |
| 4259 get$isEmpty: function(_) { | |
| 4260 return this.get$length(this) === 0; | |
| 4261 }, | |
| 4262 get$last: function(_) { | |
| 4263 if (this.get$length(this) === 0) | |
| 4264 throw H.wrapException(H.IterableElementError_noElement()); | |
| 4265 return this.elementAt$1(0, this.get$length(this) - 1); | |
| 4266 }, | |
| 4267 contains$1: function(_, element) { | |
| 4268 var $length, i; | |
| 4269 $length = this.get$length(this); | |
| 4270 for (i = 0; i < $length; ++i) { | |
| 4271 if (J.$eq$(this.elementAt$1(0, i), element)) | |
| 4272 return true; | |
| 4273 if ($length !== this.get$length(this)) | |
| 4274 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 4275 } | |
| 4276 return false; | |
| 4277 }, | |
| 4278 join$1: function(_, separator) { | |
| 4279 var $length, first, buffer, i, t1; | |
| 4280 $length = this.get$length(this); | |
| 4281 if (separator.length !== 0) { | |
| 4282 if ($length === 0) | |
| 4283 return ""; | |
| 4284 first = H.S(this.elementAt$1(0, 0)); | |
| 4285 if ($length !== this.get$length(this)) | |
| 4286 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 4287 buffer = new P.StringBuffer(first); | |
| 4288 for (i = 1; i < $length; ++i) { | |
| 4289 buffer._contents += separator; | |
| 4290 buffer._contents += H.S(this.elementAt$1(0, i)); | |
| 4291 if ($length !== this.get$length(this)) | |
| 4292 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 4293 } | |
| 4294 t1 = buffer._contents; | |
| 4295 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 4296 } else { | |
| 4297 buffer = new P.StringBuffer(""); | |
| 4298 for (i = 0; i < $length; ++i) { | |
| 4299 buffer._contents += H.S(this.elementAt$1(0, i)); | |
| 4300 if ($length !== this.get$length(this)) | |
| 4301 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 4302 } | |
| 4303 t1 = buffer._contents; | |
| 4304 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 4305 } | |
| 4306 }, | |
| 4307 where$1: function(_, test) { | |
| 4308 return this.super$Iterable$where(this, test); | |
| 4309 }, | |
| 4310 map$1: function(_, f) { | |
| 4311 return H.setRuntimeTypeInfo(new H.MappedListIterable(this, f), [null, nu
ll]); | |
| 4312 }, | |
| 4313 toList$1$growable: function(_, growable) { | |
| 4314 var result, i, t1; | |
| 4315 if (growable) { | |
| 4316 result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(this, "Lis
tIterable", 0)]); | |
| 4317 C.JSArray_methods.set$length(result, this.get$length(this)); | |
| 4318 } else | |
| 4319 result = H.setRuntimeTypeInfo(new Array(this.get$length(this)), [H.get
RuntimeTypeArgument(this, "ListIterable", 0)]); | |
| 4320 for (i = 0; i < this.get$length(this); ++i) { | |
| 4321 t1 = this.elementAt$1(0, i); | |
| 4322 if (i >= result.length) | |
| 4323 return H.ioore(result, i); | |
| 4324 result[i] = t1; | |
| 4325 } | |
| 4326 return result; | |
| 4327 }, | |
| 4328 toList$0: function($receiver) { | |
| 4329 return this.toList$1$growable($receiver, true); | |
| 4330 }, | |
| 4331 $isEfficientLength: 1 | |
| 4332 }, | |
| 4333 SubListIterable: { | |
| 4334 "^": "ListIterable;_iterable,__internal$_start,_endOrLength", | |
| 4335 get$_endIndex: function() { | |
| 4336 var $length, t1, t2; | |
| 4337 $length = J.get$length$asx(this._iterable); | |
| 4338 t1 = this._endOrLength; | |
| 4339 if (t1 != null) { | |
| 4340 if (typeof t1 !== "number") | |
| 4341 return t1.$gt(); | |
| 4342 t2 = t1 > $length; | |
| 4343 } else | |
| 4344 t2 = true; | |
| 4345 if (t2) | |
| 4346 return $length; | |
| 4347 return t1; | |
| 4348 }, | |
| 4349 get$_startIndex: function() { | |
| 4350 var $length, t1; | |
| 4351 $length = J.get$length$asx(this._iterable); | |
| 4352 t1 = this.__internal$_start; | |
| 4353 if (t1 > $length) | |
| 4354 return $length; | |
| 4355 return t1; | |
| 4356 }, | |
| 4357 get$length: function(_) { | |
| 4358 var $length, t1, t2, t3; | |
| 4359 $length = J.get$length$asx(this._iterable); | |
| 4360 t1 = this.__internal$_start; | |
| 4361 if (t1 >= $length) | |
| 4362 return 0; | |
| 4363 t2 = this._endOrLength; | |
| 4364 if (t2 != null) { | |
| 4365 if (typeof t2 !== "number") | |
| 4366 return t2.$ge(); | |
| 4367 t3 = t2 >= $length; | |
| 4368 } else | |
| 4369 t3 = true; | |
| 4370 if (t3) | |
| 4371 return $length - t1; | |
| 4372 if (typeof t2 !== "number") | |
| 4373 return t2.$sub(); | |
| 4374 return t2 - t1; | |
| 4375 }, | |
| 4376 elementAt$1: function(_, index) { | |
| 4377 var realIndex, t1; | |
| 4378 realIndex = this.get$_startIndex() + index; | |
| 4379 if (index >= 0) { | |
| 4380 t1 = this.get$_endIndex(); | |
| 4381 if (typeof t1 !== "number") | |
| 4382 return H.iae(t1); | |
| 4383 t1 = realIndex >= t1; | |
| 4384 } else | |
| 4385 t1 = true; | |
| 4386 if (t1) | |
| 4387 throw H.wrapException(P.IndexError$(index, this, "index", null, null))
; | |
| 4388 return J.elementAt$1$ax(this._iterable, realIndex); | |
| 4389 } | |
| 4390 }, | |
| 4391 ListIterator: { | |
| 4392 "^": "Object;_iterable,__internal$_length,_index,__internal$_current", | |
| 4393 get$current: function() { | |
| 4394 return this.__internal$_current; | |
| 4395 }, | |
| 4396 moveNext$0: function() { | |
| 4397 var t1, t2, $length, t3; | |
| 4398 t1 = this._iterable; | |
| 4399 t2 = J.getInterceptor$asx(t1); | |
| 4400 $length = t2.get$length(t1); | |
| 4401 if (this.__internal$_length !== $length) | |
| 4402 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 4403 t3 = this._index; | |
| 4404 if (t3 >= $length) { | |
| 4405 this.__internal$_current = null; | |
| 4406 return false; | |
| 4407 } | |
| 4408 this.__internal$_current = t2.elementAt$1(t1, t3); | |
| 4409 ++this._index; | |
| 4410 return true; | |
| 4411 } | |
| 4412 }, | |
| 4413 MappedIterable: { | |
| 4414 "^": "Iterable;_iterable,_f", | |
| 4415 get$iterator: function(_) { | |
| 4416 var t1 = new H.MappedIterator(null, J.get$iterator$ax(this._iterable), t
his._f); | |
| 4417 t1.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 4418 return t1; | |
| 4419 }, | |
| 4420 get$length: function(_) { | |
| 4421 return J.get$length$asx(this._iterable); | |
| 4422 }, | |
| 4423 get$isEmpty: function(_) { | |
| 4424 return J.get$isEmpty$asx(this._iterable); | |
| 4425 }, | |
| 4426 get$last: function(_) { | |
| 4427 return this._f$1(J.get$last$ax(this._iterable)); | |
| 4428 }, | |
| 4429 _f$1: function(arg0) { | |
| 4430 return this._f.call$1(arg0); | |
| 4431 }, | |
| 4432 $asIterable: function($S, $T) { | |
| 4433 return [$T]; | |
| 4434 }, | |
| 4435 static: {MappedIterable_MappedIterable: function(iterable, $function, $S,
$T) { | |
| 4436 if (!!J.getInterceptor(iterable).$isEfficientLength) | |
| 4437 return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(iter
able, $function), [$S, $T]); | |
| 4438 return H.setRuntimeTypeInfo(new H.MappedIterable(iterable, $function),
[$S, $T]); | |
| 4439 }} | |
| 4440 }, | |
| 4441 EfficientLengthMappedIterable: { | |
| 4442 "^": "MappedIterable;_iterable,_f", | |
| 4443 $isEfficientLength: 1 | |
| 4444 }, | |
| 4445 MappedIterator: { | |
| 4446 "^": "Iterator;__internal$_current,_iterator,_f", | |
| 4447 moveNext$0: function() { | |
| 4448 var t1 = this._iterator; | |
| 4449 if (t1.moveNext$0()) { | |
| 4450 this.__internal$_current = this._f$1(t1.get$current()); | |
| 4451 return true; | |
| 4452 } | |
| 4453 this.__internal$_current = null; | |
| 4454 return false; | |
| 4455 }, | |
| 4456 get$current: function() { | |
| 4457 return this.__internal$_current; | |
| 4458 }, | |
| 4459 _f$1: function(arg0) { | |
| 4460 return this._f.call$1(arg0); | |
| 4461 }, | |
| 4462 $asIterator: function($S, $T) { | |
| 4463 return [$T]; | |
| 4464 } | |
| 4465 }, | |
| 4466 MappedListIterable: { | |
| 4467 "^": "ListIterable;_source,_f", | |
| 4468 get$length: function(_) { | |
| 4469 return J.get$length$asx(this._source); | |
| 4470 }, | |
| 4471 elementAt$1: function(_, index) { | |
| 4472 return this._f$1(J.elementAt$1$ax(this._source, index)); | |
| 4473 }, | |
| 4474 _f$1: function(arg0) { | |
| 4475 return this._f.call$1(arg0); | |
| 4476 }, | |
| 4477 $asListIterable: function($S, $T) { | |
| 4478 return [$T]; | |
| 4479 }, | |
| 4480 $asIterable: function($S, $T) { | |
| 4481 return [$T]; | |
| 4482 }, | |
| 4483 $isEfficientLength: 1 | |
| 4484 }, | |
| 4485 WhereIterable: { | |
| 4486 "^": "Iterable;_iterable,_f", | |
| 4487 get$iterator: function(_) { | |
| 4488 var t1 = new H.WhereIterator(J.get$iterator$ax(this._iterable), this._f)
; | |
| 4489 t1.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 4490 return t1; | |
| 4491 } | |
| 4492 }, | |
| 4493 WhereIterator: { | |
| 4494 "^": "Iterator;_iterator,_f", | |
| 4495 moveNext$0: function() { | |
| 4496 for (var t1 = this._iterator; t1.moveNext$0();) | |
| 4497 if (this._f$1(t1.get$current()) === true) | |
| 4498 return true; | |
| 4499 return false; | |
| 4500 }, | |
| 4501 get$current: function() { | |
| 4502 return this._iterator.get$current(); | |
| 4503 }, | |
| 4504 _f$1: function(arg0) { | |
| 4505 return this._f.call$1(arg0); | |
| 4506 } | |
| 4507 }, | |
| 4508 FixedLengthListMixin: { | |
| 4509 "^": "Object;", | |
| 4510 set$length: function(receiver, newLength) { | |
| 4511 throw H.wrapException(new P.UnsupportedError("Cannot change the length o
f a fixed-length list")); | |
| 4512 }, | |
| 4513 add$1: function(receiver, value) { | |
| 4514 throw H.wrapException(new P.UnsupportedError("Cannot add to a fixed-leng
th list")); | |
| 4515 } | |
| 4516 }, | |
| 4517 UnmodifiableListMixin: { | |
| 4518 "^": "Object;", | |
| 4519 $indexSet: function(_, index, value) { | |
| 4520 throw H.wrapException(new P.UnsupportedError("Cannot modify an unmodifia
ble list")); | |
| 4521 }, | |
| 4522 set$length: function(_, newLength) { | |
| 4523 throw H.wrapException(new P.UnsupportedError("Cannot change the length o
f an unmodifiable list")); | |
| 4524 }, | |
| 4525 add$1: function(_, value) { | |
| 4526 throw H.wrapException(new P.UnsupportedError("Cannot add to an unmodifia
ble list")); | |
| 4527 }, | |
| 4528 $isList: 1, | |
| 4529 $asList: null, | |
| 4530 $isEfficientLength: 1 | |
| 4531 }, | |
| 4532 UnmodifiableListBase: { | |
| 4533 "^": "ListBase+UnmodifiableListMixin;", | |
| 4534 $isList: 1, | |
| 4535 $asList: null, | |
| 4536 $isEfficientLength: 1 | |
| 4537 } | |
| 4538 }], ["dart._js_names", "dart:_js_names",, H, { | |
| 4539 "^": "", | |
| 4540 extractKeys: function(victim) { | |
| 4541 var t1 = H.setRuntimeTypeInfo(victim ? Object.keys(victim) : [], [null]); | |
| 4542 t1.fixed$length = Array; | |
| 4543 return t1; | |
| 4544 } | |
| 4545 }], ["dart.async", "dart:async",, P, { | |
| 4546 "^": "", | |
| 4547 _AsyncRun__initializeScheduleImmediate: function() { | |
| 4548 var t1, div, span; | |
| 4549 t1 = {}; | |
| 4550 if (self.scheduleImmediate != null) | |
| 4551 return P.async__AsyncRun__scheduleImmediateJsOverride$closure(); | |
| 4552 if (self.MutationObserver != null && self.document != null) { | |
| 4553 div = self.document.createElement("div"); | |
| 4554 span = self.document.createElement("span"); | |
| 4555 t1._captured_storedCallback_0 = null; | |
| 4556 new self.MutationObserver(H.convertDartClosureToJS(new P._AsyncRun__init
ializeScheduleImmediate_internalCallback(t1), 1)).observe(div, {childList: true}
); | |
| 4557 return new P._AsyncRun__initializeScheduleImmediate_closure(t1, div, spa
n); | |
| 4558 } else if (self.setImmediate != null) | |
| 4559 return P.async__AsyncRun__scheduleImmediateWithSetImmediate$closure(); | |
| 4560 return P.async__AsyncRun__scheduleImmediateWithTimer$closure(); | |
| 4561 }, | |
| 4562 _AsyncRun__scheduleImmediateJsOverride: [function(callback) { | |
| 4563 ++init.globalState.topEventLoop._activeJsAsyncCount; | |
| 4564 self.scheduleImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleI
mmediateJsOverride_internalCallback(callback), 0)); | |
| 4565 }, "call$1", "async__AsyncRun__scheduleImmediateJsOverride$closure", 2, 0, 4
], | |
| 4566 _AsyncRun__scheduleImmediateWithSetImmediate: [function(callback) { | |
| 4567 ++init.globalState.topEventLoop._activeJsAsyncCount; | |
| 4568 self.setImmediate(H.convertDartClosureToJS(new P._AsyncRun__scheduleImmedi
ateWithSetImmediate_internalCallback(callback), 0)); | |
| 4569 }, "call$1", "async__AsyncRun__scheduleImmediateWithSetImmediate$closure", 2
, 0, 4], | |
| 4570 _AsyncRun__scheduleImmediateWithTimer: [function(callback) { | |
| 4571 P.Timer__createTimer(C.Duration_0, callback); | |
| 4572 }, "call$1", "async__AsyncRun__scheduleImmediateWithTimer$closure", 2, 0, 4]
, | |
| 4573 _asyncHelper: function(object, bodyFunctionOrErrorCode, completer) { | |
| 4574 if (bodyFunctionOrErrorCode === 0) { | |
| 4575 J.complete$1$x(completer, object); | |
| 4576 return; | |
| 4577 } else if (bodyFunctionOrErrorCode === 1) { | |
| 4578 completer.completeError$2(H.unwrapException(object), H.getTraceFromExcep
tion(object)); | |
| 4579 return; | |
| 4580 } | |
| 4581 P._awaitOnObject(object, bodyFunctionOrErrorCode); | |
| 4582 return completer.get$future(); | |
| 4583 }, | |
| 4584 _awaitOnObject: function(object, bodyFunction) { | |
| 4585 var thenCallback, errorCallback, t1, future; | |
| 4586 thenCallback = new P._awaitOnObject_closure(bodyFunction); | |
| 4587 errorCallback = new P._awaitOnObject_closure0(bodyFunction); | |
| 4588 t1 = J.getInterceptor(object); | |
| 4589 if (!!t1.$is_Future) | |
| 4590 object._thenNoZoneRegistration$2(thenCallback, errorCallback); | |
| 4591 else if (!!t1.$isFuture) | |
| 4592 object.then$2$onError(thenCallback, errorCallback); | |
| 4593 else { | |
| 4594 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
null]); | |
| 4595 future._setValue$1(object); | |
| 4596 future._thenNoZoneRegistration$2(thenCallback, null); | |
| 4597 } | |
| 4598 }, | |
| 4599 _wrapJsFunctionForAsync: function($function) { | |
| 4600 var $protected = function(errorCode, result) { | |
| 4601 while (true) | |
| 4602 try { | |
| 4603 $function(errorCode, result); | |
| 4604 break; | |
| 4605 } catch (error) { | |
| 4606 result = error; | |
| 4607 errorCode = 1; | |
| 4608 } | |
| 4609 }; | |
| 4610 $.Zone__current.toString; | |
| 4611 return new P._wrapJsFunctionForAsync_closure($protected); | |
| 4612 }, | |
| 4613 _registerErrorHandler: function(errorHandler, zone) { | |
| 4614 var t1 = H.getDynamicRuntimeType(); | |
| 4615 t1 = H.buildFunctionType(t1, [t1, t1])._isTest$1(errorHandler); | |
| 4616 if (t1) { | |
| 4617 zone.toString; | |
| 4618 return errorHandler; | |
| 4619 } else { | |
| 4620 zone.toString; | |
| 4621 return errorHandler; | |
| 4622 } | |
| 4623 }, | |
| 4624 Completer_Completer$sync: function($T) { | |
| 4625 return H.setRuntimeTypeInfo(new P._SyncCompleter(H.setRuntimeTypeInfo(new
P._Future(0, $.Zone__current, null), [$T])), [$T]); | |
| 4626 }, | |
| 4627 _completeWithErrorCallback: function(result, error, stackTrace) { | |
| 4628 $.Zone__current.toString; | |
| 4629 result._completeError$2(error, stackTrace); | |
| 4630 }, | |
| 4631 _microtaskLoop: function() { | |
| 4632 var t1, t2; | |
| 4633 for (; t1 = $._nextCallback, t1 != null;) { | |
| 4634 $._lastPriorityCallback = null; | |
| 4635 t2 = t1.next; | |
| 4636 $._nextCallback = t2; | |
| 4637 if (t2 == null) | |
| 4638 $._lastCallback = null; | |
| 4639 $.Zone__current = t1.zone; | |
| 4640 t1.callback$0(); | |
| 4641 } | |
| 4642 }, | |
| 4643 _microtaskLoopEntry: [function() { | |
| 4644 $._isInCallbackLoop = true; | |
| 4645 try { | |
| 4646 P._microtaskLoop(); | |
| 4647 } finally { | |
| 4648 $.Zone__current = C.C__RootZone; | |
| 4649 $._lastPriorityCallback = null; | |
| 4650 $._isInCallbackLoop = false; | |
| 4651 if ($._nextCallback != null) | |
| 4652 $.$get$_AsyncRun_scheduleImmediateClosure().call$1(P.async___microtask
LoopEntry$closure()); | |
| 4653 } | |
| 4654 }, "call$0", "async___microtaskLoopEntry$closure", 0, 0, 2], | |
| 4655 _scheduleAsyncCallback: function(newEntry) { | |
| 4656 if ($._nextCallback == null) { | |
| 4657 $._lastCallback = newEntry; | |
| 4658 $._nextCallback = newEntry; | |
| 4659 if (!$._isInCallbackLoop) | |
| 4660 $.$get$_AsyncRun_scheduleImmediateClosure().call$1(P.async___microtask
LoopEntry$closure()); | |
| 4661 } else { | |
| 4662 $._lastCallback.next = newEntry; | |
| 4663 $._lastCallback = newEntry; | |
| 4664 } | |
| 4665 }, | |
| 4666 scheduleMicrotask: function(callback) { | |
| 4667 var currentZone, t1; | |
| 4668 currentZone = $.Zone__current; | |
| 4669 if (C.C__RootZone === currentZone) { | |
| 4670 P._rootScheduleMicrotask(null, null, C.C__RootZone, callback); | |
| 4671 return; | |
| 4672 } | |
| 4673 currentZone.toString; | |
| 4674 if (C.C__RootZone.get$errorZone() === currentZone) { | |
| 4675 P._rootScheduleMicrotask(null, null, currentZone, callback); | |
| 4676 return; | |
| 4677 } | |
| 4678 t1 = $.Zone__current; | |
| 4679 P._rootScheduleMicrotask(null, null, t1, t1.bindCallback$2$runGuarded(call
back, true)); | |
| 4680 }, | |
| 4681 StreamIterator_StreamIterator: function(stream, $T) { | |
| 4682 var t1, t2, t3; | |
| 4683 t1 = H.setRuntimeTypeInfo(new P._StreamIteratorImpl(null, null, null, 0),
[$T]); | |
| 4684 t2 = t1.get$_async$_onData(); | |
| 4685 t3 = t1.get$_onError(); | |
| 4686 t1._subscription = stream.listen$4$cancelOnError$onDone$onError(t2, true,
t1.get$_onDone(), t3); | |
| 4687 return t1; | |
| 4688 }, | |
| 4689 _runUserCode: function(userCode, onSuccess, onError) { | |
| 4690 var e, s, replacement, error, stackTrace, exception, t1; | |
| 4691 try { | |
| 4692 onSuccess.call$1(userCode.call$0()); | |
| 4693 } catch (exception) { | |
| 4694 t1 = H.unwrapException(exception); | |
| 4695 e = t1; | |
| 4696 s = H.getTraceFromException(exception); | |
| 4697 $.Zone__current.toString; | |
| 4698 replacement = null; | |
| 4699 if (replacement == null) | |
| 4700 onError.call$2(e, s); | |
| 4701 else { | |
| 4702 t1 = J.get$error$x(replacement); | |
| 4703 error = t1; | |
| 4704 stackTrace = replacement.get$stackTrace(); | |
| 4705 onError.call$2(error, stackTrace); | |
| 4706 } | |
| 4707 } | |
| 4708 }, | |
| 4709 _cancelAndError: function(subscription, future, error, stackTrace) { | |
| 4710 var cancelFuture = subscription.cancel$0(); | |
| 4711 if (!!J.getInterceptor(cancelFuture).$isFuture) | |
| 4712 cancelFuture.whenComplete$1(new P._cancelAndError_closure(future, error,
stackTrace)); | |
| 4713 else | |
| 4714 future._completeError$2(error, stackTrace); | |
| 4715 }, | |
| 4716 _cancelAndErrorClosure: function(subscription, future) { | |
| 4717 return new P._cancelAndErrorClosure_closure(subscription, future); | |
| 4718 }, | |
| 4719 _cancelAndValue: function(subscription, future, value) { | |
| 4720 var cancelFuture = subscription.cancel$0(); | |
| 4721 if (!!J.getInterceptor(cancelFuture).$isFuture) | |
| 4722 cancelFuture.whenComplete$1(new P._cancelAndValue_closure(future, value)
); | |
| 4723 else | |
| 4724 future._complete$1(value); | |
| 4725 }, | |
| 4726 _addErrorWithReplacement: function(sink, error, stackTrace) { | |
| 4727 $.Zone__current.toString; | |
| 4728 sink._addError$2(error, stackTrace); | |
| 4729 }, | |
| 4730 Timer_Timer: function(duration, callback) { | |
| 4731 var t1 = $.Zone__current; | |
| 4732 if (t1 === C.C__RootZone) { | |
| 4733 t1.toString; | |
| 4734 return P.Timer__createTimer(duration, callback); | |
| 4735 } | |
| 4736 return P.Timer__createTimer(duration, t1.bindCallback$2$runGuarded(callbac
k, true)); | |
| 4737 }, | |
| 4738 Timer__createTimer: function(duration, callback) { | |
| 4739 var milliseconds = C.JSInt_methods._tdivFast$1(duration._duration, 1000); | |
| 4740 return H.TimerImpl$(milliseconds < 0 ? 0 : milliseconds, callback); | |
| 4741 }, | |
| 4742 Zone__enter: function(zone) { | |
| 4743 var previous = $.Zone__current; | |
| 4744 $.Zone__current = zone; | |
| 4745 return previous; | |
| 4746 }, | |
| 4747 _rootHandleUncaughtError: function($self, $parent, zone, error, stackTrace)
{ | |
| 4748 var entry, t1, t2; | |
| 4749 entry = new P._AsyncCallbackEntry(new P._rootHandleUncaughtError_closure(e
rror, stackTrace), C.C__RootZone, null); | |
| 4750 t1 = $._nextCallback; | |
| 4751 if (t1 == null) { | |
| 4752 P._scheduleAsyncCallback(entry); | |
| 4753 $._lastPriorityCallback = $._lastCallback; | |
| 4754 } else { | |
| 4755 t2 = $._lastPriorityCallback; | |
| 4756 if (t2 == null) { | |
| 4757 entry.next = t1; | |
| 4758 $._lastPriorityCallback = entry; | |
| 4759 $._nextCallback = entry; | |
| 4760 } else { | |
| 4761 entry.next = t2.next; | |
| 4762 t2.next = entry; | |
| 4763 $._lastPriorityCallback = entry; | |
| 4764 if (entry.next == null) | |
| 4765 $._lastCallback = entry; | |
| 4766 } | |
| 4767 } | |
| 4768 }, | |
| 4769 _rootRun: function($self, $parent, zone, f) { | |
| 4770 var old, t1; | |
| 4771 if ($.Zone__current === zone) | |
| 4772 return f.call$0(); | |
| 4773 old = P.Zone__enter(zone); | |
| 4774 try { | |
| 4775 t1 = f.call$0(); | |
| 4776 return t1; | |
| 4777 } finally { | |
| 4778 $.Zone__current = old; | |
| 4779 } | |
| 4780 }, | |
| 4781 _rootRunUnary: function($self, $parent, zone, f, arg) { | |
| 4782 var old, t1; | |
| 4783 if ($.Zone__current === zone) | |
| 4784 return f.call$1(arg); | |
| 4785 old = P.Zone__enter(zone); | |
| 4786 try { | |
| 4787 t1 = f.call$1(arg); | |
| 4788 return t1; | |
| 4789 } finally { | |
| 4790 $.Zone__current = old; | |
| 4791 } | |
| 4792 }, | |
| 4793 _rootRunBinary: function($self, $parent, zone, f, arg1, arg2) { | |
| 4794 var old, t1; | |
| 4795 if ($.Zone__current === zone) | |
| 4796 return f.call$2(arg1, arg2); | |
| 4797 old = P.Zone__enter(zone); | |
| 4798 try { | |
| 4799 t1 = f.call$2(arg1, arg2); | |
| 4800 return t1; | |
| 4801 } finally { | |
| 4802 $.Zone__current = old; | |
| 4803 } | |
| 4804 }, | |
| 4805 _rootScheduleMicrotask: function($self, $parent, zone, f) { | |
| 4806 var t1 = C.C__RootZone !== zone; | |
| 4807 if (t1) { | |
| 4808 f = zone.bindCallback$2$runGuarded(f, !(!t1 || C.C__RootZone.get$errorZo
ne() === zone)); | |
| 4809 zone = C.C__RootZone; | |
| 4810 } | |
| 4811 P._scheduleAsyncCallback(new P._AsyncCallbackEntry(f, zone, null)); | |
| 4812 }, | |
| 4813 _AsyncRun__initializeScheduleImmediate_internalCallback: { | |
| 4814 "^": "Closure:0;_box_0", | |
| 4815 call$1: function(_) { | |
| 4816 var t1, f; | |
| 4817 H.leaveJsAsync(); | |
| 4818 t1 = this._box_0; | |
| 4819 f = t1._captured_storedCallback_0; | |
| 4820 t1._captured_storedCallback_0 = null; | |
| 4821 f.call$0(); | |
| 4822 } | |
| 4823 }, | |
| 4824 _AsyncRun__initializeScheduleImmediate_closure: { | |
| 4825 "^": "Closure:13;_box_0,_captured_div_1,_captured_span_2", | |
| 4826 call$1: function(callback) { | |
| 4827 var t1, t2; | |
| 4828 ++init.globalState.topEventLoop._activeJsAsyncCount; | |
| 4829 this._box_0._captured_storedCallback_0 = callback; | |
| 4830 t1 = this._captured_div_1; | |
| 4831 t2 = this._captured_span_2; | |
| 4832 t1.firstChild ? t1.removeChild(t2) : t1.appendChild(t2); | |
| 4833 } | |
| 4834 }, | |
| 4835 _AsyncRun__scheduleImmediateJsOverride_internalCallback: { | |
| 4836 "^": "Closure:1;_captured_callback_0", | |
| 4837 call$0: function() { | |
| 4838 H.leaveJsAsync(); | |
| 4839 this._captured_callback_0.call$0(); | |
| 4840 } | |
| 4841 }, | |
| 4842 _AsyncRun__scheduleImmediateWithSetImmediate_internalCallback: { | |
| 4843 "^": "Closure:1;_captured_callback_0", | |
| 4844 call$0: function() { | |
| 4845 H.leaveJsAsync(); | |
| 4846 this._captured_callback_0.call$0(); | |
| 4847 } | |
| 4848 }, | |
| 4849 _awaitOnObject_closure: { | |
| 4850 "^": "Closure:0;_captured_bodyFunction_0", | |
| 4851 call$1: function(result) { | |
| 4852 return this._captured_bodyFunction_0.call$2(0, result); | |
| 4853 } | |
| 4854 }, | |
| 4855 _awaitOnObject_closure0: { | |
| 4856 "^": "Closure:5;_captured_bodyFunction_1", | |
| 4857 call$2: function(error, stackTrace) { | |
| 4858 this._captured_bodyFunction_1.call$2(1, new H.ExceptionAndStackTrace(err
or, stackTrace)); | |
| 4859 } | |
| 4860 }, | |
| 4861 _wrapJsFunctionForAsync_closure: { | |
| 4862 "^": "Closure:14;_captured_protected_0", | |
| 4863 call$2: function(errorCode, result) { | |
| 4864 this._captured_protected_0(errorCode, result); | |
| 4865 } | |
| 4866 }, | |
| 4867 _UncaughtAsyncError: { | |
| 4868 "^": "AsyncError;error,stackTrace", | |
| 4869 toString$0: function(_) { | |
| 4870 var result, t1; | |
| 4871 result = "Uncaught Error: " + H.S(this.error); | |
| 4872 t1 = this.stackTrace; | |
| 4873 return t1 != null ? result + ("\nStack Trace:\n" + H.S(t1)) : result; | |
| 4874 }, | |
| 4875 static: {_UncaughtAsyncError__getBestStackTrace: function(error, stackTrac
e) { | |
| 4876 if (stackTrace != null) | |
| 4877 return stackTrace; | |
| 4878 if (!!J.getInterceptor(error).$isError) | |
| 4879 return error.get$stackTrace(); | |
| 4880 return; | |
| 4881 }} | |
| 4882 }, | |
| 4883 Future: { | |
| 4884 "^": "Object;" | |
| 4885 }, | |
| 4886 _Completer: { | |
| 4887 "^": "Object;future<", | |
| 4888 completeError$2: [function(error, stackTrace) { | |
| 4889 error = error != null ? error : new P.NullThrownError(); | |
| 4890 if (this.future._state !== 0) | |
| 4891 throw H.wrapException(new P.StateError("Future already completed")); | |
| 4892 $.Zone__current.toString; | |
| 4893 this._completeError$2(error, stackTrace); | |
| 4894 }, function(error) { | |
| 4895 return this.completeError$2(error, null); | |
| 4896 }, "completeError$1", "call$2", "call$1", "get$completeError", 2, 2, 6, 0] | |
| 4897 }, | |
| 4898 _AsyncCompleter: { | |
| 4899 "^": "_Completer;future", | |
| 4900 complete$1: function(_, value) { | |
| 4901 var t1 = this.future; | |
| 4902 if (t1._state !== 0) | |
| 4903 throw H.wrapException(new P.StateError("Future already completed")); | |
| 4904 t1._asyncComplete$1(value); | |
| 4905 }, | |
| 4906 _completeError$2: function(error, stackTrace) { | |
| 4907 this.future._asyncCompleteError$2(error, stackTrace); | |
| 4908 } | |
| 4909 }, | |
| 4910 _SyncCompleter: { | |
| 4911 "^": "_Completer;future", | |
| 4912 complete$1: function(_, value) { | |
| 4913 var t1 = this.future; | |
| 4914 if (t1._state !== 0) | |
| 4915 throw H.wrapException(new P.StateError("Future already completed")); | |
| 4916 t1._complete$1(value); | |
| 4917 }, | |
| 4918 _completeError$2: function(error, stackTrace) { | |
| 4919 this.future._completeError$2(error, stackTrace); | |
| 4920 } | |
| 4921 }, | |
| 4922 _FutureListener: { | |
| 4923 "^": "Object;_nextListener<,result>,state,callback,errorCallback", | |
| 4924 get$_zone: function() { | |
| 4925 return this.result._zone; | |
| 4926 }, | |
| 4927 get$handlesValue: function() { | |
| 4928 return (this.state & 1) !== 0; | |
| 4929 }, | |
| 4930 get$hasErrorTest: function() { | |
| 4931 return this.state === 6; | |
| 4932 }, | |
| 4933 get$handlesComplete: function() { | |
| 4934 return this.state === 8; | |
| 4935 }, | |
| 4936 get$_onValue: function() { | |
| 4937 return this.callback; | |
| 4938 }, | |
| 4939 get$_whenCompleteAction: function() { | |
| 4940 return this.callback; | |
| 4941 } | |
| 4942 }, | |
| 4943 _Future: { | |
| 4944 "^": "Object;_state?,_zone<,_resultOrListeners", | |
| 4945 get$_hasError: function() { | |
| 4946 return this._state === 8; | |
| 4947 }, | |
| 4948 set$_isChained: function(value) { | |
| 4949 if (value) | |
| 4950 this._state = 2; | |
| 4951 else | |
| 4952 this._state = 0; | |
| 4953 }, | |
| 4954 then$2$onError: function(f, onError) { | |
| 4955 var currentZone = $.Zone__current; | |
| 4956 if (currentZone !== C.C__RootZone) { | |
| 4957 currentZone.toString; | |
| 4958 if (onError != null) | |
| 4959 onError = P._registerErrorHandler(onError, currentZone); | |
| 4960 } | |
| 4961 return this._thenNoZoneRegistration$2(f, onError); | |
| 4962 }, | |
| 4963 then$1: function(f) { | |
| 4964 return this.then$2$onError(f, null); | |
| 4965 }, | |
| 4966 _thenNoZoneRegistration$2: function(f, onError) { | |
| 4967 var result = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null
), [null]); | |
| 4968 this._addListener$1(new P._FutureListener(null, result, onError == null
? 1 : 3, f, onError)); | |
| 4969 return result; | |
| 4970 }, | |
| 4971 whenComplete$1: function(action) { | |
| 4972 var t1, result; | |
| 4973 t1 = $.Zone__current; | |
| 4974 result = new P._Future(0, t1, null); | |
| 4975 result.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 4976 if (t1 !== C.C__RootZone) | |
| 4977 t1.toString; | |
| 4978 this._addListener$1(new P._FutureListener(null, result, 8, action, null)
); | |
| 4979 return result; | |
| 4980 }, | |
| 4981 _markPendingCompletion$0: function() { | |
| 4982 if (this._state !== 0) | |
| 4983 throw H.wrapException(new P.StateError("Future already completed")); | |
| 4984 this._state = 1; | |
| 4985 }, | |
| 4986 get$_value: function() { | |
| 4987 return this._resultOrListeners; | |
| 4988 }, | |
| 4989 get$_error: function() { | |
| 4990 return this._resultOrListeners; | |
| 4991 }, | |
| 4992 _setValue$1: function(value) { | |
| 4993 this._state = 4; | |
| 4994 this._resultOrListeners = value; | |
| 4995 }, | |
| 4996 _setErrorObject$1: function(error) { | |
| 4997 this._state = 8; | |
| 4998 this._resultOrListeners = error; | |
| 4999 }, | |
| 5000 _setError$2: function(error, stackTrace) { | |
| 5001 this._setErrorObject$1(new P.AsyncError(error, stackTrace)); | |
| 5002 }, | |
| 5003 _addListener$1: function(listener) { | |
| 5004 var t1; | |
| 5005 if (this._state >= 4) { | |
| 5006 t1 = this._zone; | |
| 5007 t1.toString; | |
| 5008 P._rootScheduleMicrotask(null, null, t1, new P._Future__addListener_cl
osure(this, listener)); | |
| 5009 } else { | |
| 5010 listener._nextListener = this._resultOrListeners; | |
| 5011 this._resultOrListeners = listener; | |
| 5012 } | |
| 5013 }, | |
| 5014 _removeListeners$0: function() { | |
| 5015 var current, prev, next; | |
| 5016 current = this._resultOrListeners; | |
| 5017 this._resultOrListeners = null; | |
| 5018 for (prev = null; current != null; prev = current, current = next) { | |
| 5019 next = current.get$_nextListener(); | |
| 5020 current._nextListener = prev; | |
| 5021 } | |
| 5022 return prev; | |
| 5023 }, | |
| 5024 _complete$1: function(value) { | |
| 5025 var t1, listeners; | |
| 5026 t1 = J.getInterceptor(value); | |
| 5027 if (!!t1.$isFuture) | |
| 5028 if (!!t1.$is_Future) | |
| 5029 P._Future__chainCoreFuture(value, this); | |
| 5030 else | |
| 5031 P._Future__chainForeignFuture(value, this); | |
| 5032 else { | |
| 5033 listeners = this._removeListeners$0(); | |
| 5034 this._setValue$1(value); | |
| 5035 P._Future__propagateToListeners(this, listeners); | |
| 5036 } | |
| 5037 }, | |
| 5038 _completeWithValue$1: function(value) { | |
| 5039 var listeners = this._removeListeners$0(); | |
| 5040 this._setValue$1(value); | |
| 5041 P._Future__propagateToListeners(this, listeners); | |
| 5042 }, | |
| 5043 _completeError$2: [function(error, stackTrace) { | |
| 5044 var listeners = this._removeListeners$0(); | |
| 5045 this._setErrorObject$1(new P.AsyncError(error, stackTrace)); | |
| 5046 P._Future__propagateToListeners(this, listeners); | |
| 5047 }, function(error) { | |
| 5048 return this._completeError$2(error, null); | |
| 5049 }, "_completeError$1", "call$2", "call$1", "get$_completeError", 2, 2, 15,
0], | |
| 5050 _asyncComplete$1: function(value) { | |
| 5051 var t1; | |
| 5052 if (value == null) | |
| 5053 ; | |
| 5054 else { | |
| 5055 t1 = J.getInterceptor(value); | |
| 5056 if (!!t1.$isFuture) { | |
| 5057 if (!!t1.$is_Future) { | |
| 5058 t1 = value._state; | |
| 5059 if (t1 >= 4 && t1 === 8) { | |
| 5060 this._markPendingCompletion$0(); | |
| 5061 t1 = this._zone; | |
| 5062 t1.toString; | |
| 5063 P._rootScheduleMicrotask(null, null, t1, new P._Future__asyncCom
plete_closure(this, value)); | |
| 5064 } else | |
| 5065 P._Future__chainCoreFuture(value, this); | |
| 5066 } else | |
| 5067 P._Future__chainForeignFuture(value, this); | |
| 5068 return; | |
| 5069 } | |
| 5070 } | |
| 5071 this._markPendingCompletion$0(); | |
| 5072 t1 = this._zone; | |
| 5073 t1.toString; | |
| 5074 P._rootScheduleMicrotask(null, null, t1, new P._Future__asyncComplete_cl
osure0(this, value)); | |
| 5075 }, | |
| 5076 _asyncCompleteError$2: function(error, stackTrace) { | |
| 5077 var t1; | |
| 5078 this._markPendingCompletion$0(); | |
| 5079 t1 = this._zone; | |
| 5080 t1.toString; | |
| 5081 P._rootScheduleMicrotask(null, null, t1, new P._Future__asyncCompleteErr
or_closure(this, error, stackTrace)); | |
| 5082 }, | |
| 5083 $isFuture: 1, | |
| 5084 static: {_Future__chainForeignFuture: function(source, target) { | |
| 5085 var e, s, exception, t1; | |
| 5086 target.set$_state(2); | |
| 5087 try { | |
| 5088 source.then$2$onError(new P._Future__chainForeignFuture_closure(targ
et), new P._Future__chainForeignFuture_closure0(target)); | |
| 5089 } catch (exception) { | |
| 5090 t1 = H.unwrapException(exception); | |
| 5091 e = t1; | |
| 5092 s = H.getTraceFromException(exception); | |
| 5093 P.scheduleMicrotask(new P._Future__chainForeignFuture_closure1(targe
t, e, s)); | |
| 5094 } | |
| 5095 }, _Future__chainCoreFuture: function(source, target) { | |
| 5096 var listener; | |
| 5097 target._state = 2; | |
| 5098 listener = new P._FutureListener(null, target, 0, null, null); | |
| 5099 if (source._state >= 4) | |
| 5100 P._Future__propagateToListeners(source, listener); | |
| 5101 else | |
| 5102 source._addListener$1(listener); | |
| 5103 }, _Future__propagateToListeners: function(source, listeners) { | |
| 5104 var t1, t2, t3, hasError, asyncError, t4, listeners0, sourceValue, zon
e, oldZone, chainSource, result; | |
| 5105 t1 = {}; | |
| 5106 t1._captured_source_4 = source; | |
| 5107 for (t2 = source; true;) { | |
| 5108 t3 = {}; | |
| 5109 hasError = t2.get$_hasError(); | |
| 5110 if (listeners == null) { | |
| 5111 if (hasError) { | |
| 5112 asyncError = t1._captured_source_4.get$_error(); | |
| 5113 t2 = t1._captured_source_4.get$_zone(); | |
| 5114 t3 = J.get$error$x(asyncError); | |
| 5115 t4 = asyncError.get$stackTrace(); | |
| 5116 t2.toString; | |
| 5117 P._rootHandleUncaughtError(null, null, t2, t3, t4); | |
| 5118 } | |
| 5119 return; | |
| 5120 } | |
| 5121 for (; listeners.get$_nextListener() != null; listeners = listeners0
) { | |
| 5122 listeners0 = listeners._nextListener; | |
| 5123 listeners._nextListener = null; | |
| 5124 P._Future__propagateToListeners(t1._captured_source_4, listeners); | |
| 5125 } | |
| 5126 t3._captured_listenerHasValue_1 = true; | |
| 5127 sourceValue = hasError ? null : t1._captured_source_4.get$_value(); | |
| 5128 t3._captured_listenerValueOrError_2 = sourceValue; | |
| 5129 t3._captured_isPropagationAborted_3 = false; | |
| 5130 t2 = !hasError; | |
| 5131 if (!t2 || listeners.get$handlesValue() || listeners.state === 8) { | |
| 5132 zone = listeners.get$_zone(); | |
| 5133 if (hasError) { | |
| 5134 t4 = t1._captured_source_4.get$_zone(); | |
| 5135 t4.toString; | |
| 5136 if (t4 == null ? zone != null : t4 !== zone) { | |
| 5137 t4 = t4.get$errorZone(); | |
| 5138 zone.toString; | |
| 5139 t4 = t4 === zone; | |
| 5140 } else | |
| 5141 t4 = true; | |
| 5142 t4 = !t4; | |
| 5143 } else | |
| 5144 t4 = false; | |
| 5145 if (t4) { | |
| 5146 asyncError = t1._captured_source_4.get$_error(); | |
| 5147 t2 = t1._captured_source_4.get$_zone(); | |
| 5148 t3 = J.get$error$x(asyncError); | |
| 5149 t4 = asyncError.get$stackTrace(); | |
| 5150 t2.toString; | |
| 5151 P._rootHandleUncaughtError(null, null, t2, t3, t4); | |
| 5152 return; | |
| 5153 } | |
| 5154 oldZone = $.Zone__current; | |
| 5155 if (oldZone == null ? zone != null : oldZone !== zone) | |
| 5156 $.Zone__current = zone; | |
| 5157 else | |
| 5158 oldZone = null; | |
| 5159 if (t2) { | |
| 5160 if (listeners.get$handlesValue()) | |
| 5161 t3._captured_listenerHasValue_1 = new P._Future__propagateToLi
steners_handleValueCallback(t3, listeners, sourceValue, zone).call$0(); | |
| 5162 } else | |
| 5163 new P._Future__propagateToListeners_handleError(t1, t3, listener
s, zone).call$0(); | |
| 5164 if (listeners.get$handlesComplete()) | |
| 5165 new P._Future__propagateToListeners_handleWhenCompleteCallback(t
1, t3, hasError, listeners, zone).call$0(); | |
| 5166 if (oldZone != null) | |
| 5167 $.Zone__current = oldZone; | |
| 5168 if (t3._captured_isPropagationAborted_3) | |
| 5169 return; | |
| 5170 if (t3._captured_listenerHasValue_1 === true) { | |
| 5171 t2 = t3._captured_listenerValueOrError_2; | |
| 5172 t2 = (sourceValue == null ? t2 != null : sourceValue !== t2) &&
!!J.getInterceptor(t2).$isFuture; | |
| 5173 } else | |
| 5174 t2 = false; | |
| 5175 if (t2) { | |
| 5176 chainSource = t3._captured_listenerValueOrError_2; | |
| 5177 result = listeners.result; | |
| 5178 if (chainSource instanceof P._Future) | |
| 5179 if (chainSource._state >= 4) { | |
| 5180 result._state = 2; | |
| 5181 t1._captured_source_4 = chainSource; | |
| 5182 listeners = new P._FutureListener(null, result, 0, null, nul
l); | |
| 5183 t2 = chainSource; | |
| 5184 continue; | |
| 5185 } else | |
| 5186 P._Future__chainCoreFuture(chainSource, result); | |
| 5187 else | |
| 5188 P._Future__chainForeignFuture(chainSource, result); | |
| 5189 return; | |
| 5190 } | |
| 5191 } | |
| 5192 result = listeners.result; | |
| 5193 listeners = result._removeListeners$0(); | |
| 5194 t2 = t3._captured_listenerHasValue_1; | |
| 5195 t3 = t3._captured_listenerValueOrError_2; | |
| 5196 if (t2 === true) { | |
| 5197 result._state = 4; | |
| 5198 result._resultOrListeners = t3; | |
| 5199 } else { | |
| 5200 result._state = 8; | |
| 5201 result._resultOrListeners = t3; | |
| 5202 } | |
| 5203 t1._captured_source_4 = result; | |
| 5204 t2 = result; | |
| 5205 } | |
| 5206 }} | |
| 5207 }, | |
| 5208 _Future__addListener_closure: { | |
| 5209 "^": "Closure:1;_captured_this_0,_captured_listener_1", | |
| 5210 call$0: function() { | |
| 5211 P._Future__propagateToListeners(this._captured_this_0, this._captured_li
stener_1); | |
| 5212 } | |
| 5213 }, | |
| 5214 _Future__chainForeignFuture_closure: { | |
| 5215 "^": "Closure:0;_captured_target_0", | |
| 5216 call$1: function(value) { | |
| 5217 this._captured_target_0._completeWithValue$1(value); | |
| 5218 } | |
| 5219 }, | |
| 5220 _Future__chainForeignFuture_closure0: { | |
| 5221 "^": "Closure:7;_captured_target_1", | |
| 5222 call$2: function(error, stackTrace) { | |
| 5223 this._captured_target_1._completeError$2(error, stackTrace); | |
| 5224 }, | |
| 5225 call$1: function(error) { | |
| 5226 return this.call$2(error, null); | |
| 5227 } | |
| 5228 }, | |
| 5229 _Future__chainForeignFuture_closure1: { | |
| 5230 "^": "Closure:1;_captured_target_2,_captured_e_3,_captured_s_4", | |
| 5231 call$0: function() { | |
| 5232 this._captured_target_2._completeError$2(this._captured_e_3, this._captu
red_s_4); | |
| 5233 } | |
| 5234 }, | |
| 5235 _Future__asyncComplete_closure: { | |
| 5236 "^": "Closure:1;_captured_this_0,_captured_coreFuture_1", | |
| 5237 call$0: function() { | |
| 5238 P._Future__chainCoreFuture(this._captured_coreFuture_1, this._captured_t
his_0); | |
| 5239 } | |
| 5240 }, | |
| 5241 _Future__asyncComplete_closure0: { | |
| 5242 "^": "Closure:1;_captured_this_2,_captured_value_3", | |
| 5243 call$0: function() { | |
| 5244 this._captured_this_2._completeWithValue$1(this._captured_value_3); | |
| 5245 } | |
| 5246 }, | |
| 5247 _Future__asyncCompleteError_closure: { | |
| 5248 "^": "Closure:1;_captured_this_0,_captured_error_1,_captured_stackTrace_2"
, | |
| 5249 call$0: function() { | |
| 5250 this._captured_this_0._completeError$2(this._captured_error_1, this._cap
tured_stackTrace_2); | |
| 5251 } | |
| 5252 }, | |
| 5253 _Future__propagateToListeners_handleValueCallback: { | |
| 5254 "^": "Closure:16;_box_1,_captured_listener_3,_captured_sourceValue_4,_capt
ured_zone_5", | |
| 5255 call$0: function() { | |
| 5256 var e, s, exception, t1; | |
| 5257 try { | |
| 5258 this._box_1._captured_listenerValueOrError_2 = this._captured_zone_5.r
unUnary$2(this._captured_listener_3.get$_onValue(), this._captured_sourceValue_4
); | |
| 5259 return true; | |
| 5260 } catch (exception) { | |
| 5261 t1 = H.unwrapException(exception); | |
| 5262 e = t1; | |
| 5263 s = H.getTraceFromException(exception); | |
| 5264 this._box_1._captured_listenerValueOrError_2 = new P.AsyncError(e, s); | |
| 5265 return false; | |
| 5266 } | |
| 5267 } | |
| 5268 }, | |
| 5269 _Future__propagateToListeners_handleError: { | |
| 5270 "^": "Closure:2;_box_2,_box_1,_captured_listener_6,_captured_zone_7", | |
| 5271 call$0: function() { | |
| 5272 var asyncError, matchesTest, test, e, s, errorCallback, e0, s0, t1, exce
ption, t2, listenerValueOrError, t3, t4; | |
| 5273 asyncError = this._box_2._captured_source_4.get$_error(); | |
| 5274 matchesTest = true; | |
| 5275 t1 = this._captured_listener_6; | |
| 5276 if (t1.get$hasErrorTest()) { | |
| 5277 test = t1.callback; | |
| 5278 try { | |
| 5279 matchesTest = this._captured_zone_7.runUnary$2(test, J.get$error$x(a
syncError)); | |
| 5280 } catch (exception) { | |
| 5281 t1 = H.unwrapException(exception); | |
| 5282 e = t1; | |
| 5283 s = H.getTraceFromException(exception); | |
| 5284 t1 = J.get$error$x(asyncError); | |
| 5285 t2 = e; | |
| 5286 listenerValueOrError = (t1 == null ? t2 == null : t1 === t2) ? async
Error : new P.AsyncError(e, s); | |
| 5287 t1 = this._box_1; | |
| 5288 t1._captured_listenerValueOrError_2 = listenerValueOrError; | |
| 5289 t1._captured_listenerHasValue_1 = false; | |
| 5290 return; | |
| 5291 } | |
| 5292 } | |
| 5293 errorCallback = t1.errorCallback; | |
| 5294 if (matchesTest === true && errorCallback != null) { | |
| 5295 try { | |
| 5296 t1 = errorCallback; | |
| 5297 t2 = H.getDynamicRuntimeType(); | |
| 5298 t2 = H.buildFunctionType(t2, [t2, t2])._isTest$1(t1); | |
| 5299 t3 = this._captured_zone_7; | |
| 5300 t4 = this._box_1; | |
| 5301 if (t2) | |
| 5302 t4._captured_listenerValueOrError_2 = t3.runBinary$3(errorCallback
, J.get$error$x(asyncError), asyncError.get$stackTrace()); | |
| 5303 else | |
| 5304 t4._captured_listenerValueOrError_2 = t3.runUnary$2(errorCallback,
J.get$error$x(asyncError)); | |
| 5305 } catch (exception) { | |
| 5306 t1 = H.unwrapException(exception); | |
| 5307 e0 = t1; | |
| 5308 s0 = H.getTraceFromException(exception); | |
| 5309 t1 = J.get$error$x(asyncError); | |
| 5310 t2 = e0; | |
| 5311 listenerValueOrError = (t1 == null ? t2 == null : t1 === t2) ? async
Error : new P.AsyncError(e0, s0); | |
| 5312 t1 = this._box_1; | |
| 5313 t1._captured_listenerValueOrError_2 = listenerValueOrError; | |
| 5314 t1._captured_listenerHasValue_1 = false; | |
| 5315 return; | |
| 5316 } | |
| 5317 this._box_1._captured_listenerHasValue_1 = true; | |
| 5318 } else { | |
| 5319 t1 = this._box_1; | |
| 5320 t1._captured_listenerValueOrError_2 = asyncError; | |
| 5321 t1._captured_listenerHasValue_1 = false; | |
| 5322 } | |
| 5323 } | |
| 5324 }, | |
| 5325 _Future__propagateToListeners_handleWhenCompleteCallback: { | |
| 5326 "^": "Closure:2;_box_2,_box_1,_captured_hasError_8,_captured_listener_9,_c
aptured_zone_10", | |
| 5327 call$0: function() { | |
| 5328 var t1, e, s, completeResult, t2, exception, t3, result; | |
| 5329 t1 = {}; | |
| 5330 t1._captured_completeResult_0 = null; | |
| 5331 try { | |
| 5332 completeResult = this._captured_zone_10.run$1(this._captured_listener_
9.get$_whenCompleteAction()); | |
| 5333 t1._captured_completeResult_0 = completeResult; | |
| 5334 t2 = completeResult; | |
| 5335 } catch (exception) { | |
| 5336 t1 = H.unwrapException(exception); | |
| 5337 e = t1; | |
| 5338 s = H.getTraceFromException(exception); | |
| 5339 if (this._captured_hasError_8) { | |
| 5340 t1 = J.get$error$x(this._box_2._captured_source_4.get$_error()); | |
| 5341 t2 = e; | |
| 5342 t2 = t1 == null ? t2 == null : t1 === t2; | |
| 5343 t1 = t2; | |
| 5344 } else | |
| 5345 t1 = false; | |
| 5346 t2 = this._box_1; | |
| 5347 if (t1) | |
| 5348 t2._captured_listenerValueOrError_2 = this._box_2._captured_source_4
.get$_error(); | |
| 5349 else | |
| 5350 t2._captured_listenerValueOrError_2 = new P.AsyncError(e, s); | |
| 5351 t2._captured_listenerHasValue_1 = false; | |
| 5352 return; | |
| 5353 } | |
| 5354 if (!!J.getInterceptor(t2).$isFuture) { | |
| 5355 t3 = this._captured_listener_9; | |
| 5356 result = t3.get$result(t3); | |
| 5357 result.set$_isChained(true); | |
| 5358 this._box_1._captured_isPropagationAborted_3 = true; | |
| 5359 t2.then$2$onError(new P._Future__propagateToListeners_handleWhenComple
teCallback_closure(this._box_2, result), new P._Future__propagateToListeners_han
dleWhenCompleteCallback_closure0(t1, result)); | |
| 5360 } | |
| 5361 } | |
| 5362 }, | |
| 5363 _Future__propagateToListeners_handleWhenCompleteCallback_closure: { | |
| 5364 "^": "Closure:0;_box_2,_captured_result_11", | |
| 5365 call$1: function(ignored) { | |
| 5366 P._Future__propagateToListeners(this._box_2._captured_source_4, new P._F
utureListener(null, this._captured_result_11, 0, null, null)); | |
| 5367 } | |
| 5368 }, | |
| 5369 _Future__propagateToListeners_handleWhenCompleteCallback_closure0: { | |
| 5370 "^": "Closure:7;_box_0,_captured_result_12", | |
| 5371 call$2: function(error, stackTrace) { | |
| 5372 var t1, completeResult; | |
| 5373 t1 = this._box_0; | |
| 5374 if (!(t1._captured_completeResult_0 instanceof P._Future)) { | |
| 5375 completeResult = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current
, null), [null]); | |
| 5376 t1._captured_completeResult_0 = completeResult; | |
| 5377 completeResult._setError$2(error, stackTrace); | |
| 5378 } | |
| 5379 P._Future__propagateToListeners(t1._captured_completeResult_0, new P._Fu
tureListener(null, this._captured_result_12, 0, null, null)); | |
| 5380 }, | |
| 5381 call$1: function(error) { | |
| 5382 return this.call$2(error, null); | |
| 5383 } | |
| 5384 }, | |
| 5385 _AsyncCallbackEntry: { | |
| 5386 "^": "Object;callback,zone,next", | |
| 5387 callback$0: function() { | |
| 5388 return this.callback.call$0(); | |
| 5389 } | |
| 5390 }, | |
| 5391 Stream: { | |
| 5392 "^": "Object;", | |
| 5393 map$1: function(_, convert) { | |
| 5394 return H.setRuntimeTypeInfo(new P._MapStream(convert, this), [H.getRunti
meTypeArgument(this, "Stream", 0), null]); | |
| 5395 }, | |
| 5396 contains$1: function(_, needle) { | |
| 5397 var t1, future; | |
| 5398 t1 = {}; | |
| 5399 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
P.bool]); | |
| 5400 t1._captured_subscription_0 = null; | |
| 5401 t1._captured_subscription_0 = this.listen$4$cancelOnError$onDone$onError
(new P.Stream_contains_closure(t1, this, needle, future), true, new P.Stream_con
tains_closure0(future), future.get$_completeError()); | |
| 5402 return future; | |
| 5403 }, | |
| 5404 forEach$1: function(_, action) { | |
| 5405 var t1, future; | |
| 5406 t1 = {}; | |
| 5407 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
null]); | |
| 5408 t1._captured_subscription_0 = null; | |
| 5409 t1._captured_subscription_0 = this.listen$4$cancelOnError$onDone$onError
(new P.Stream_forEach_closure(t1, this, action, future), true, new P.Stream_forE
ach_closure0(future), future.get$_completeError()); | |
| 5410 return future; | |
| 5411 }, | |
| 5412 get$length: function(_) { | |
| 5413 var t1, future; | |
| 5414 t1 = {}; | |
| 5415 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
P.$int]); | |
| 5416 t1._captured_count_0 = 0; | |
| 5417 this.listen$4$cancelOnError$onDone$onError(new P.Stream_length_closure(t
1), true, new P.Stream_length_closure0(t1, future), future.get$_completeError())
; | |
| 5418 return future; | |
| 5419 }, | |
| 5420 get$isEmpty: function(_) { | |
| 5421 var t1, future; | |
| 5422 t1 = {}; | |
| 5423 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
P.bool]); | |
| 5424 t1._captured_subscription_0 = null; | |
| 5425 t1._captured_subscription_0 = this.listen$4$cancelOnError$onDone$onError
(new P.Stream_isEmpty_closure(t1, future), true, new P.Stream_isEmpty_closure0(f
uture), future.get$_completeError()); | |
| 5426 return future; | |
| 5427 }, | |
| 5428 toList$0: function(_) { | |
| 5429 var result, future; | |
| 5430 result = H.setRuntimeTypeInfo([], [H.getRuntimeTypeArgument(this, "Strea
m", 0)]); | |
| 5431 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
[P.List, H.getRuntimeTypeArgument(this, "Stream", 0)]]); | |
| 5432 this.listen$4$cancelOnError$onDone$onError(new P.Stream_toList_closure(t
his, result), true, new P.Stream_toList_closure0(result, future), future.get$_co
mpleteError()); | |
| 5433 return future; | |
| 5434 }, | |
| 5435 get$last: function(_) { | |
| 5436 var t1, future; | |
| 5437 t1 = {}; | |
| 5438 future = H.setRuntimeTypeInfo(new P._Future(0, $.Zone__current, null), [
H.getRuntimeTypeArgument(this, "Stream", 0)]); | |
| 5439 t1._captured_result_0 = null; | |
| 5440 t1._captured_foundResult_1 = false; | |
| 5441 this.listen$4$cancelOnError$onDone$onError(new P.Stream_last_closure(t1,
this), true, new P.Stream_last_closure0(t1, future), future.get$_completeError(
)); | |
| 5442 return future; | |
| 5443 } | |
| 5444 }, | |
| 5445 Stream_contains_closure: { | |
| 5446 "^": "Closure;_box_0,_async$_captured_this_1,_captured_needle_2,_captured_
future_3", | |
| 5447 call$1: function(element) { | |
| 5448 var t1, t2; | |
| 5449 t1 = this._box_0; | |
| 5450 t2 = this._captured_future_3; | |
| 5451 P._runUserCode(new P.Stream_contains__closure(this._captured_needle_2, e
lement), new P.Stream_contains__closure0(t1, t2), P._cancelAndErrorClosure(t1._c
aptured_subscription_0, t2)); | |
| 5452 }, | |
| 5453 $signature: function() { | |
| 5454 return H.computeSignature(function(T) { | |
| 5455 return {func: 1, args: [T]}; | |
| 5456 }, this._async$_captured_this_1, "Stream"); | |
| 5457 } | |
| 5458 }, | |
| 5459 Stream_contains__closure: { | |
| 5460 "^": "Closure:1;_captured_needle_4,_captured_element_5", | |
| 5461 call$0: function() { | |
| 5462 return J.$eq$(this._captured_element_5, this._captured_needle_4); | |
| 5463 } | |
| 5464 }, | |
| 5465 Stream_contains__closure0: { | |
| 5466 "^": "Closure:17;_box_0,_captured_future_6", | |
| 5467 call$1: function(isMatch) { | |
| 5468 if (isMatch === true) | |
| 5469 P._cancelAndValue(this._box_0._captured_subscription_0, this._captured
_future_6, true); | |
| 5470 } | |
| 5471 }, | |
| 5472 Stream_contains_closure0: { | |
| 5473 "^": "Closure:1;_captured_future_7", | |
| 5474 call$0: function() { | |
| 5475 this._captured_future_7._complete$1(false); | |
| 5476 } | |
| 5477 }, | |
| 5478 Stream_forEach_closure: { | |
| 5479 "^": "Closure;_box_0,_async$_captured_this_1,_captured_action_2,_captured_
future_3", | |
| 5480 call$1: function(element) { | |
| 5481 P._runUserCode(new P.Stream_forEach__closure(this._captured_action_2, el
ement), new P.Stream_forEach__closure0(), P._cancelAndErrorClosure(this._box_0._
captured_subscription_0, this._captured_future_3)); | |
| 5482 }, | |
| 5483 $signature: function() { | |
| 5484 return H.computeSignature(function(T) { | |
| 5485 return {func: 1, args: [T]}; | |
| 5486 }, this._async$_captured_this_1, "Stream"); | |
| 5487 } | |
| 5488 }, | |
| 5489 Stream_forEach__closure: { | |
| 5490 "^": "Closure:1;_captured_action_4,_captured_element_5", | |
| 5491 call$0: function() { | |
| 5492 return this._captured_action_4.call$1(this._captured_element_5); | |
| 5493 } | |
| 5494 }, | |
| 5495 Stream_forEach__closure0: { | |
| 5496 "^": "Closure:0;", | |
| 5497 call$1: function(_) { | |
| 5498 } | |
| 5499 }, | |
| 5500 Stream_forEach_closure0: { | |
| 5501 "^": "Closure:1;_captured_future_6", | |
| 5502 call$0: function() { | |
| 5503 this._captured_future_6._complete$1(null); | |
| 5504 } | |
| 5505 }, | |
| 5506 Stream_length_closure: { | |
| 5507 "^": "Closure:0;_box_0", | |
| 5508 call$1: function(_) { | |
| 5509 ++this._box_0._captured_count_0; | |
| 5510 } | |
| 5511 }, | |
| 5512 Stream_length_closure0: { | |
| 5513 "^": "Closure:1;_box_0,_captured_future_1", | |
| 5514 call$0: function() { | |
| 5515 this._captured_future_1._complete$1(this._box_0._captured_count_0); | |
| 5516 } | |
| 5517 }, | |
| 5518 Stream_isEmpty_closure: { | |
| 5519 "^": "Closure:0;_box_0,_captured_future_1", | |
| 5520 call$1: function(_) { | |
| 5521 P._cancelAndValue(this._box_0._captured_subscription_0, this._captured_f
uture_1, false); | |
| 5522 } | |
| 5523 }, | |
| 5524 Stream_isEmpty_closure0: { | |
| 5525 "^": "Closure:1;_captured_future_2", | |
| 5526 call$0: function() { | |
| 5527 this._captured_future_2._complete$1(true); | |
| 5528 } | |
| 5529 }, | |
| 5530 Stream_toList_closure: { | |
| 5531 "^": "Closure;_captured_this_0,_async$_captured_result_1", | |
| 5532 call$1: function(data) { | |
| 5533 this._async$_captured_result_1.push(data); | |
| 5534 }, | |
| 5535 $signature: function() { | |
| 5536 return H.computeSignature(function(T) { | |
| 5537 return {func: 1, args: [T]}; | |
| 5538 }, this._captured_this_0, "Stream"); | |
| 5539 } | |
| 5540 }, | |
| 5541 Stream_toList_closure0: { | |
| 5542 "^": "Closure:1;_captured_result_2,_captured_future_3", | |
| 5543 call$0: function() { | |
| 5544 this._captured_future_3._complete$1(this._captured_result_2); | |
| 5545 } | |
| 5546 }, | |
| 5547 Stream_last_closure: { | |
| 5548 "^": "Closure;_box_0,_async$_captured_this_1", | |
| 5549 call$1: function(value) { | |
| 5550 var t1 = this._box_0; | |
| 5551 t1._captured_foundResult_1 = true; | |
| 5552 t1._captured_result_0 = value; | |
| 5553 }, | |
| 5554 $signature: function() { | |
| 5555 return H.computeSignature(function(T) { | |
| 5556 return {func: 1, args: [T]}; | |
| 5557 }, this._async$_captured_this_1, "Stream"); | |
| 5558 } | |
| 5559 }, | |
| 5560 Stream_last_closure0: { | |
| 5561 "^": "Closure:1;_box_0,_captured_future_2", | |
| 5562 call$0: function() { | |
| 5563 var e, s, t1, exception; | |
| 5564 t1 = this._box_0; | |
| 5565 if (t1._captured_foundResult_1) { | |
| 5566 this._captured_future_2._complete$1(t1._captured_result_0); | |
| 5567 return; | |
| 5568 } | |
| 5569 try { | |
| 5570 t1 = H.IterableElementError_noElement(); | |
| 5571 throw H.wrapException(t1); | |
| 5572 } catch (exception) { | |
| 5573 t1 = H.unwrapException(exception); | |
| 5574 e = t1; | |
| 5575 s = H.getTraceFromException(exception); | |
| 5576 P._completeWithErrorCallback(this._captured_future_2, e, s); | |
| 5577 } | |
| 5578 } | |
| 5579 }, | |
| 5580 StreamSubscription: { | |
| 5581 "^": "Object;" | |
| 5582 }, | |
| 5583 _EventSink: { | |
| 5584 "^": "Object;" | |
| 5585 }, | |
| 5586 _BufferingStreamSubscription: { | |
| 5587 "^": "Object;_zone<,_state?", | |
| 5588 pause$1: function(_, resumeSignal) { | |
| 5589 var t1 = this._state; | |
| 5590 if ((t1 & 8) !== 0) | |
| 5591 return; | |
| 5592 this._state = (t1 + 128 | 4) >>> 0; | |
| 5593 if (t1 < 128 && this._pending != null) | |
| 5594 this._pending.cancelSchedule$0(); | |
| 5595 if ((t1 & 4) === 0 && (this._state & 32) === 0) | |
| 5596 this._guardCallback$1(this.get$_onPause()); | |
| 5597 }, | |
| 5598 pause$0: function($receiver) { | |
| 5599 return this.pause$1($receiver, null); | |
| 5600 }, | |
| 5601 resume$0: function() { | |
| 5602 var t1 = this._state; | |
| 5603 if ((t1 & 8) !== 0) | |
| 5604 return; | |
| 5605 if (t1 >= 128) { | |
| 5606 t1 -= 128; | |
| 5607 this._state = t1; | |
| 5608 if (t1 < 128) { | |
| 5609 if ((t1 & 64) !== 0) { | |
| 5610 t1 = this._pending; | |
| 5611 t1 = !t1.get$isEmpty(t1); | |
| 5612 } else | |
| 5613 t1 = false; | |
| 5614 if (t1) | |
| 5615 this._pending.schedule$1(this); | |
| 5616 else { | |
| 5617 t1 = (this._state & 4294967291) >>> 0; | |
| 5618 this._state = t1; | |
| 5619 if ((t1 & 32) === 0) | |
| 5620 this._guardCallback$1(this.get$_onResume()); | |
| 5621 } | |
| 5622 } | |
| 5623 } | |
| 5624 }, | |
| 5625 cancel$0: function() { | |
| 5626 var t1 = (this._state & 4294967279) >>> 0; | |
| 5627 this._state = t1; | |
| 5628 if ((t1 & 8) !== 0) | |
| 5629 return this._cancelFuture; | |
| 5630 this._cancel$0(); | |
| 5631 return this._cancelFuture; | |
| 5632 }, | |
| 5633 _cancel$0: function() { | |
| 5634 var t1 = (this._state | 8) >>> 0; | |
| 5635 this._state = t1; | |
| 5636 if ((t1 & 64) !== 0) | |
| 5637 this._pending.cancelSchedule$0(); | |
| 5638 if ((this._state & 32) === 0) | |
| 5639 this._pending = null; | |
| 5640 this._cancelFuture = this._onCancel$0(); | |
| 5641 }, | |
| 5642 _async$_add$1: ["super$_BufferingStreamSubscription$_add", function(data)
{ | |
| 5643 var t1 = this._state; | |
| 5644 if ((t1 & 8) !== 0) | |
| 5645 return; | |
| 5646 if (t1 < 32) | |
| 5647 this._sendData$1(data); | |
| 5648 else | |
| 5649 this._addPending$1(H.setRuntimeTypeInfo(new P._DelayedData(data, null)
, [null])); | |
| 5650 }], | |
| 5651 _addError$2: ["super$_BufferingStreamSubscription$_addError", function(err
or, stackTrace) { | |
| 5652 var t1 = this._state; | |
| 5653 if ((t1 & 8) !== 0) | |
| 5654 return; | |
| 5655 if (t1 < 32) | |
| 5656 this._sendError$2(error, stackTrace); | |
| 5657 else | |
| 5658 this._addPending$1(new P._DelayedError(error, stackTrace, null)); | |
| 5659 }], | |
| 5660 _close$0: function() { | |
| 5661 var t1 = this._state; | |
| 5662 if ((t1 & 8) !== 0) | |
| 5663 return; | |
| 5664 t1 = (t1 | 2) >>> 0; | |
| 5665 this._state = t1; | |
| 5666 if (t1 < 32) | |
| 5667 this._sendDone$0(); | |
| 5668 else | |
| 5669 this._addPending$1(C.C__DelayedDone); | |
| 5670 }, | |
| 5671 _onPause$0: [function() { | |
| 5672 }, "call$0", "get$_onPause", 0, 0, 2], | |
| 5673 _onResume$0: [function() { | |
| 5674 }, "call$0", "get$_onResume", 0, 0, 2], | |
| 5675 _onCancel$0: function() { | |
| 5676 return; | |
| 5677 }, | |
| 5678 _addPending$1: function($event) { | |
| 5679 var pending, t1; | |
| 5680 pending = this._pending; | |
| 5681 if (pending == null) { | |
| 5682 pending = new P._StreamImplEvents(null, null, 0); | |
| 5683 this._pending = pending; | |
| 5684 } | |
| 5685 pending.add$1(0, $event); | |
| 5686 t1 = this._state; | |
| 5687 if ((t1 & 64) === 0) { | |
| 5688 t1 = (t1 | 64) >>> 0; | |
| 5689 this._state = t1; | |
| 5690 if (t1 < 128) | |
| 5691 this._pending.schedule$1(this); | |
| 5692 } | |
| 5693 }, | |
| 5694 _sendData$1: function(data) { | |
| 5695 var t1 = this._state; | |
| 5696 this._state = (t1 | 32) >>> 0; | |
| 5697 this._zone.runUnaryGuarded$2(this._async$_onData, data); | |
| 5698 this._state = (this._state & 4294967263) >>> 0; | |
| 5699 this._checkState$1((t1 & 4) !== 0); | |
| 5700 }, | |
| 5701 _sendError$2: function(error, stackTrace) { | |
| 5702 var t1, t2; | |
| 5703 t1 = this._state; | |
| 5704 t2 = new P._BufferingStreamSubscription__sendError_sendError(this, error
, stackTrace); | |
| 5705 if ((t1 & 1) !== 0) { | |
| 5706 this._state = (t1 | 16) >>> 0; | |
| 5707 this._cancel$0(); | |
| 5708 t1 = this._cancelFuture; | |
| 5709 if (!!J.getInterceptor(t1).$isFuture) | |
| 5710 t1.whenComplete$1(t2); | |
| 5711 else | |
| 5712 t2.call$0(); | |
| 5713 } else { | |
| 5714 t2.call$0(); | |
| 5715 this._checkState$1((t1 & 4) !== 0); | |
| 5716 } | |
| 5717 }, | |
| 5718 _sendDone$0: function() { | |
| 5719 var t1, t2; | |
| 5720 t1 = new P._BufferingStreamSubscription__sendDone_sendDone(this); | |
| 5721 this._cancel$0(); | |
| 5722 this._state = (this._state | 16) >>> 0; | |
| 5723 t2 = this._cancelFuture; | |
| 5724 if (!!J.getInterceptor(t2).$isFuture) | |
| 5725 t2.whenComplete$1(t1); | |
| 5726 else | |
| 5727 t1.call$0(); | |
| 5728 }, | |
| 5729 _guardCallback$1: function(callback) { | |
| 5730 var t1 = this._state; | |
| 5731 this._state = (t1 | 32) >>> 0; | |
| 5732 callback.call$0(); | |
| 5733 this._state = (this._state & 4294967263) >>> 0; | |
| 5734 this._checkState$1((t1 & 4) !== 0); | |
| 5735 }, | |
| 5736 _checkState$1: function(wasInputPaused) { | |
| 5737 var t1, isInputPaused; | |
| 5738 if ((this._state & 64) !== 0) { | |
| 5739 t1 = this._pending; | |
| 5740 t1 = t1.get$isEmpty(t1); | |
| 5741 } else | |
| 5742 t1 = false; | |
| 5743 if (t1) { | |
| 5744 t1 = (this._state & 4294967231) >>> 0; | |
| 5745 this._state = t1; | |
| 5746 if ((t1 & 4) !== 0) | |
| 5747 if (t1 < 128) { | |
| 5748 t1 = this._pending; | |
| 5749 t1 = t1 == null || t1.get$isEmpty(t1); | |
| 5750 } else | |
| 5751 t1 = false; | |
| 5752 else | |
| 5753 t1 = false; | |
| 5754 if (t1) | |
| 5755 this._state = (this._state & 4294967291) >>> 0; | |
| 5756 } | |
| 5757 for (; true; wasInputPaused = isInputPaused) { | |
| 5758 t1 = this._state; | |
| 5759 if ((t1 & 8) !== 0) { | |
| 5760 this._pending = null; | |
| 5761 return; | |
| 5762 } | |
| 5763 isInputPaused = (t1 & 4) !== 0; | |
| 5764 if (wasInputPaused === isInputPaused) | |
| 5765 break; | |
| 5766 this._state = (t1 ^ 32) >>> 0; | |
| 5767 if (isInputPaused) | |
| 5768 this._onPause$0(); | |
| 5769 else | |
| 5770 this._onResume$0(); | |
| 5771 this._state = (this._state & 4294967263) >>> 0; | |
| 5772 } | |
| 5773 t1 = this._state; | |
| 5774 if ((t1 & 64) !== 0 && t1 < 128) | |
| 5775 this._pending.schedule$1(this); | |
| 5776 }, | |
| 5777 _BufferingStreamSubscription$4: function(onData, onError, onDone, cancelOn
Error, $T) { | |
| 5778 var t1 = this._zone; | |
| 5779 t1.toString; | |
| 5780 this._async$_onData = onData; | |
| 5781 this._onError = P._registerErrorHandler(onError, t1); | |
| 5782 this._onDone = onDone; | |
| 5783 } | |
| 5784 }, | |
| 5785 _BufferingStreamSubscription__sendError_sendError: { | |
| 5786 "^": "Closure:2;_captured_this_0,_captured_error_1,_captured_stackTrace_2"
, | |
| 5787 call$0: function() { | |
| 5788 var t1, t2, t3, t4, t5, t6; | |
| 5789 t1 = this._captured_this_0; | |
| 5790 t2 = t1._state; | |
| 5791 if ((t2 & 8) !== 0 && (t2 & 16) === 0) | |
| 5792 return; | |
| 5793 t1._state = (t2 | 32) >>> 0; | |
| 5794 t2 = t1._onError; | |
| 5795 t3 = H.getDynamicRuntimeType(); | |
| 5796 t3 = H.buildFunctionType(t3, [t3, t3])._isTest$1(t2); | |
| 5797 t4 = t1._zone; | |
| 5798 t5 = this._captured_error_1; | |
| 5799 t6 = t1._onError; | |
| 5800 if (t3) | |
| 5801 t4.runBinaryGuarded$3(t6, t5, this._captured_stackTrace_2); | |
| 5802 else | |
| 5803 t4.runUnaryGuarded$2(t6, t5); | |
| 5804 t1._state = (t1._state & 4294967263) >>> 0; | |
| 5805 } | |
| 5806 }, | |
| 5807 _BufferingStreamSubscription__sendDone_sendDone: { | |
| 5808 "^": "Closure:2;_captured_this_0", | |
| 5809 call$0: function() { | |
| 5810 var t1, t2; | |
| 5811 t1 = this._captured_this_0; | |
| 5812 t2 = t1._state; | |
| 5813 if ((t2 & 16) === 0) | |
| 5814 return; | |
| 5815 t1._state = (t2 | 42) >>> 0; | |
| 5816 t1._zone.runGuarded$1(t1._onDone); | |
| 5817 t1._state = (t1._state & 4294967263) >>> 0; | |
| 5818 } | |
| 5819 }, | |
| 5820 _DelayedEvent: { | |
| 5821 "^": "Object;next@" | |
| 5822 }, | |
| 5823 _DelayedData: { | |
| 5824 "^": "_DelayedEvent;value,next", | |
| 5825 perform$1: function(dispatch) { | |
| 5826 dispatch._sendData$1(this.value); | |
| 5827 } | |
| 5828 }, | |
| 5829 _DelayedError: { | |
| 5830 "^": "_DelayedEvent;error>,stackTrace<,next", | |
| 5831 perform$1: function(dispatch) { | |
| 5832 dispatch._sendError$2(this.error, this.stackTrace); | |
| 5833 } | |
| 5834 }, | |
| 5835 _DelayedDone: { | |
| 5836 "^": "Object;", | |
| 5837 perform$1: function(dispatch) { | |
| 5838 dispatch._sendDone$0(); | |
| 5839 }, | |
| 5840 get$next: function() { | |
| 5841 return; | |
| 5842 }, | |
| 5843 set$next: function(_) { | |
| 5844 throw H.wrapException(new P.StateError("No events after a done.")); | |
| 5845 } | |
| 5846 }, | |
| 5847 _PendingEvents: { | |
| 5848 "^": "Object;_state?", | |
| 5849 schedule$1: function(dispatch) { | |
| 5850 var t1 = this._state; | |
| 5851 if (t1 === 1) | |
| 5852 return; | |
| 5853 if (t1 >= 1) { | |
| 5854 this._state = 1; | |
| 5855 return; | |
| 5856 } | |
| 5857 P.scheduleMicrotask(new P._PendingEvents_schedule_closure(this, dispatch
)); | |
| 5858 this._state = 1; | |
| 5859 }, | |
| 5860 cancelSchedule$0: function() { | |
| 5861 if (this._state === 1) | |
| 5862 this._state = 3; | |
| 5863 } | |
| 5864 }, | |
| 5865 _PendingEvents_schedule_closure: { | |
| 5866 "^": "Closure:1;_captured_this_0,_captured_dispatch_1", | |
| 5867 call$0: function() { | |
| 5868 var t1, oldState; | |
| 5869 t1 = this._captured_this_0; | |
| 5870 oldState = t1._state; | |
| 5871 t1._state = 0; | |
| 5872 if (oldState === 3) | |
| 5873 return; | |
| 5874 t1.handleNext$1(this._captured_dispatch_1); | |
| 5875 } | |
| 5876 }, | |
| 5877 _StreamImplEvents: { | |
| 5878 "^": "_PendingEvents;firstPendingEvent,lastPendingEvent,_state", | |
| 5879 get$isEmpty: function(_) { | |
| 5880 return this.lastPendingEvent == null; | |
| 5881 }, | |
| 5882 add$1: function(_, $event) { | |
| 5883 var t1 = this.lastPendingEvent; | |
| 5884 if (t1 == null) { | |
| 5885 this.lastPendingEvent = $event; | |
| 5886 this.firstPendingEvent = $event; | |
| 5887 } else { | |
| 5888 t1.set$next($event); | |
| 5889 this.lastPendingEvent = $event; | |
| 5890 } | |
| 5891 }, | |
| 5892 handleNext$1: function(dispatch) { | |
| 5893 var $event, t1; | |
| 5894 $event = this.firstPendingEvent; | |
| 5895 t1 = $event.get$next(); | |
| 5896 this.firstPendingEvent = t1; | |
| 5897 if (t1 == null) | |
| 5898 this.lastPendingEvent = null; | |
| 5899 $event.perform$1(dispatch); | |
| 5900 } | |
| 5901 }, | |
| 5902 _StreamIteratorImpl: { | |
| 5903 "^": "Object;_subscription,_async$_current,_futureOrPrefetch,_state?", | |
| 5904 _clear$0: function(_) { | |
| 5905 this._subscription = null; | |
| 5906 this._futureOrPrefetch = null; | |
| 5907 this._async$_current = null; | |
| 5908 this._state = 1; | |
| 5909 }, | |
| 5910 _async$_onData$1: [function(data) { | |
| 5911 var hasNext; | |
| 5912 if (this._state === 2) { | |
| 5913 this._async$_current = data; | |
| 5914 hasNext = this._futureOrPrefetch; | |
| 5915 this._futureOrPrefetch = null; | |
| 5916 this._state = 0; | |
| 5917 hasNext._complete$1(true); | |
| 5918 return; | |
| 5919 } | |
| 5920 this._subscription.pause$0(0); | |
| 5921 this._futureOrPrefetch = data; | |
| 5922 this._state = 3; | |
| 5923 }, "call$1", "get$_async$_onData", 2, 0, function() { | |
| 5924 return H.computeSignature(function(T) { | |
| 5925 return {func: 1, void: true, args: [T]}; | |
| 5926 }, this.$receiver, "_StreamIteratorImpl"); | |
| 5927 }], | |
| 5928 _onError$2: [function(error, stackTrace) { | |
| 5929 var hasNext; | |
| 5930 if (this._state === 2) { | |
| 5931 hasNext = this._futureOrPrefetch; | |
| 5932 this._clear$0(0); | |
| 5933 hasNext._completeError$2(error, stackTrace); | |
| 5934 return; | |
| 5935 } | |
| 5936 this._subscription.pause$0(0); | |
| 5937 this._futureOrPrefetch = new P.AsyncError(error, stackTrace); | |
| 5938 this._state = 4; | |
| 5939 }, function(error) { | |
| 5940 return this._onError$2(error, null); | |
| 5941 }, "_onError$1", "call$2", "call$1", "get$_onError", 2, 2, 6, 0], | |
| 5942 _onDone$0: [function() { | |
| 5943 if (this._state === 2) { | |
| 5944 var hasNext = this._futureOrPrefetch; | |
| 5945 this._clear$0(0); | |
| 5946 hasNext._complete$1(false); | |
| 5947 return; | |
| 5948 } | |
| 5949 this._subscription.pause$0(0); | |
| 5950 this._futureOrPrefetch = null; | |
| 5951 this._state = 5; | |
| 5952 }, "call$0", "get$_onDone", 0, 0, 2] | |
| 5953 }, | |
| 5954 _cancelAndError_closure: { | |
| 5955 "^": "Closure:1;_captured_future_0,_captured_error_1,_captured_stackTrace_
2", | |
| 5956 call$0: function() { | |
| 5957 return this._captured_future_0._completeError$2(this._captured_error_1,
this._captured_stackTrace_2); | |
| 5958 } | |
| 5959 }, | |
| 5960 _cancelAndErrorClosure_closure: { | |
| 5961 "^": "Closure:5;_captured_subscription_0,_captured_future_1", | |
| 5962 call$2: function(error, stackTrace) { | |
| 5963 return P._cancelAndError(this._captured_subscription_0, this._captured_f
uture_1, error, stackTrace); | |
| 5964 } | |
| 5965 }, | |
| 5966 _cancelAndValue_closure: { | |
| 5967 "^": "Closure:1;_captured_future_0,_captured_value_1", | |
| 5968 call$0: function() { | |
| 5969 return this._captured_future_0._complete$1(this._captured_value_1); | |
| 5970 } | |
| 5971 }, | |
| 5972 _ForwardingStream: { | |
| 5973 "^": "Stream;", | |
| 5974 listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onD
one, onError) { | |
| 5975 return this._createSubscription$4(onData, onError, onDone, true === canc
elOnError); | |
| 5976 }, | |
| 5977 listen$3$onDone$onError: function(onData, onDone, onError) { | |
| 5978 return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone,
onError); | |
| 5979 }, | |
| 5980 _createSubscription$4: function(onData, onError, onDone, cancelOnError) { | |
| 5981 return P._ForwardingStreamSubscription$(this, onData, onError, onDone, c
ancelOnError, H.getRuntimeTypeArgument(this, "_ForwardingStream", 0), H.getRunti
meTypeArgument(this, "_ForwardingStream", 1)); | |
| 5982 }, | |
| 5983 _handleData$2: function(data, sink) { | |
| 5984 sink._async$_add$1(data); | |
| 5985 }, | |
| 5986 $asStream: function($S, $T) { | |
| 5987 return [$T]; | |
| 5988 } | |
| 5989 }, | |
| 5990 _ForwardingStreamSubscription: { | |
| 5991 "^": "_BufferingStreamSubscription;_stream,_subscription,_async$_onData,_o
nError,_onDone,_zone,_state,_cancelFuture,_pending", | |
| 5992 _async$_add$1: function(data) { | |
| 5993 if ((this._state & 2) !== 0) | |
| 5994 return; | |
| 5995 this.super$_BufferingStreamSubscription$_add(data); | |
| 5996 }, | |
| 5997 _addError$2: function(error, stackTrace) { | |
| 5998 if ((this._state & 2) !== 0) | |
| 5999 return; | |
| 6000 this.super$_BufferingStreamSubscription$_addError(error, stackTrace); | |
| 6001 }, | |
| 6002 _onPause$0: [function() { | |
| 6003 var t1 = this._subscription; | |
| 6004 if (t1 == null) | |
| 6005 return; | |
| 6006 t1.pause$0(0); | |
| 6007 }, "call$0", "get$_onPause", 0, 0, 2], | |
| 6008 _onResume$0: [function() { | |
| 6009 var t1 = this._subscription; | |
| 6010 if (t1 == null) | |
| 6011 return; | |
| 6012 t1.resume$0(); | |
| 6013 }, "call$0", "get$_onResume", 0, 0, 2], | |
| 6014 _onCancel$0: function() { | |
| 6015 var t1 = this._subscription; | |
| 6016 if (t1 != null) { | |
| 6017 this._subscription = null; | |
| 6018 return t1.cancel$0(); | |
| 6019 } | |
| 6020 return; | |
| 6021 }, | |
| 6022 _handleData$1: [function(data) { | |
| 6023 this._stream._handleData$2(data, this); | |
| 6024 }, "call$1", "get$_handleData", 2, 0, function() { | |
| 6025 return H.computeSignature(function(S, T) { | |
| 6026 return {func: 1, void: true, args: [S]}; | |
| 6027 }, this.$receiver, "_ForwardingStreamSubscription"); | |
| 6028 }], | |
| 6029 _handleError$2: [function(error, stackTrace) { | |
| 6030 this._addError$2(error, stackTrace); | |
| 6031 }, "call$2", "get$_handleError", 4, 0, 18], | |
| 6032 _handleDone$0: [function() { | |
| 6033 this._close$0(); | |
| 6034 }, "call$0", "get$_handleDone", 0, 0, 2], | |
| 6035 _ForwardingStreamSubscription$5: function(_stream, onData, onError, onDone
, cancelOnError, $S, $T) { | |
| 6036 var t1, t2; | |
| 6037 t1 = this.get$_handleData(); | |
| 6038 t2 = this.get$_handleError(); | |
| 6039 this._subscription = this._stream._async$_source.listen$3$onDone$onError
(t1, this.get$_handleDone(), t2); | |
| 6040 }, | |
| 6041 $as_BufferingStreamSubscription: function($S, $T) { | |
| 6042 return [$T]; | |
| 6043 }, | |
| 6044 static: {_ForwardingStreamSubscription$: function(_stream, onData, onError
, onDone, cancelOnError, $S, $T) { | |
| 6045 var t1 = $.Zone__current; | |
| 6046 t1 = H.setRuntimeTypeInfo(new P._ForwardingStreamSubscription(_stream,
null, null, null, null, t1, cancelOnError ? 1 : 0, null, null), [$S, $T]); | |
| 6047 t1._BufferingStreamSubscription$4(onData, onError, onDone, cancelOnErr
or, $T); | |
| 6048 t1._ForwardingStreamSubscription$5(_stream, onData, onError, onDone, c
ancelOnError, $S, $T); | |
| 6049 return t1; | |
| 6050 }} | |
| 6051 }, | |
| 6052 _MapStream: { | |
| 6053 "^": "_ForwardingStream;_transform,_async$_source", | |
| 6054 _handleData$2: function(inputEvent, sink) { | |
| 6055 var outputEvent, e, s, exception, t1; | |
| 6056 outputEvent = null; | |
| 6057 try { | |
| 6058 outputEvent = this._transform$1(inputEvent); | |
| 6059 } catch (exception) { | |
| 6060 t1 = H.unwrapException(exception); | |
| 6061 e = t1; | |
| 6062 s = H.getTraceFromException(exception); | |
| 6063 P._addErrorWithReplacement(sink, e, s); | |
| 6064 return; | |
| 6065 } | |
| 6066 sink._async$_add$1(outputEvent); | |
| 6067 }, | |
| 6068 _transform$1: function(arg0) { | |
| 6069 return this._transform.call$1(arg0); | |
| 6070 } | |
| 6071 }, | |
| 6072 AsyncError: { | |
| 6073 "^": "Object;error>,stackTrace<", | |
| 6074 toString$0: function(_) { | |
| 6075 return H.S(this.error); | |
| 6076 }, | |
| 6077 $isError: 1 | |
| 6078 }, | |
| 6079 _Zone: { | |
| 6080 "^": "Object;" | |
| 6081 }, | |
| 6082 _rootHandleUncaughtError_closure: { | |
| 6083 "^": "Closure:1;_captured_error_0,_captured_stackTrace_1", | |
| 6084 call$0: function() { | |
| 6085 var t1 = this._captured_error_0; | |
| 6086 throw H.wrapException(new P._UncaughtAsyncError(t1, P._UncaughtAsyncErro
r__getBestStackTrace(t1, this._captured_stackTrace_1))); | |
| 6087 } | |
| 6088 }, | |
| 6089 _RootZone: { | |
| 6090 "^": "_Zone;", | |
| 6091 get$errorZone: function() { | |
| 6092 return this; | |
| 6093 }, | |
| 6094 runGuarded$1: function(f) { | |
| 6095 var e, s, t1, exception; | |
| 6096 try { | |
| 6097 if (C.C__RootZone === $.Zone__current) { | |
| 6098 t1 = f.call$0(); | |
| 6099 return t1; | |
| 6100 } | |
| 6101 t1 = P._rootRun(null, null, this, f); | |
| 6102 return t1; | |
| 6103 } catch (exception) { | |
| 6104 t1 = H.unwrapException(exception); | |
| 6105 e = t1; | |
| 6106 s = H.getTraceFromException(exception); | |
| 6107 return P._rootHandleUncaughtError(null, null, this, e, s); | |
| 6108 } | |
| 6109 }, | |
| 6110 runUnaryGuarded$2: function(f, arg) { | |
| 6111 var e, s, t1, exception; | |
| 6112 try { | |
| 6113 if (C.C__RootZone === $.Zone__current) { | |
| 6114 t1 = f.call$1(arg); | |
| 6115 return t1; | |
| 6116 } | |
| 6117 t1 = P._rootRunUnary(null, null, this, f, arg); | |
| 6118 return t1; | |
| 6119 } catch (exception) { | |
| 6120 t1 = H.unwrapException(exception); | |
| 6121 e = t1; | |
| 6122 s = H.getTraceFromException(exception); | |
| 6123 return P._rootHandleUncaughtError(null, null, this, e, s); | |
| 6124 } | |
| 6125 }, | |
| 6126 runBinaryGuarded$3: function(f, arg1, arg2) { | |
| 6127 var e, s, t1, exception; | |
| 6128 try { | |
| 6129 if (C.C__RootZone === $.Zone__current) { | |
| 6130 t1 = f.call$2(arg1, arg2); | |
| 6131 return t1; | |
| 6132 } | |
| 6133 t1 = P._rootRunBinary(null, null, this, f, arg1, arg2); | |
| 6134 return t1; | |
| 6135 } catch (exception) { | |
| 6136 t1 = H.unwrapException(exception); | |
| 6137 e = t1; | |
| 6138 s = H.getTraceFromException(exception); | |
| 6139 return P._rootHandleUncaughtError(null, null, this, e, s); | |
| 6140 } | |
| 6141 }, | |
| 6142 bindCallback$2$runGuarded: function(f, runGuarded) { | |
| 6143 if (runGuarded) | |
| 6144 return new P._RootZone_bindCallback_closure(this, f); | |
| 6145 else | |
| 6146 return new P._RootZone_bindCallback_closure0(this, f); | |
| 6147 }, | |
| 6148 bindUnaryCallback$2$runGuarded: function(f, runGuarded) { | |
| 6149 if (runGuarded) | |
| 6150 return new P._RootZone_bindUnaryCallback_closure(this, f); | |
| 6151 else | |
| 6152 return new P._RootZone_bindUnaryCallback_closure0(this, f); | |
| 6153 }, | |
| 6154 $index: function(_, key) { | |
| 6155 return; | |
| 6156 }, | |
| 6157 run$1: function(f) { | |
| 6158 if ($.Zone__current === C.C__RootZone) | |
| 6159 return f.call$0(); | |
| 6160 return P._rootRun(null, null, this, f); | |
| 6161 }, | |
| 6162 runUnary$2: function(f, arg) { | |
| 6163 if ($.Zone__current === C.C__RootZone) | |
| 6164 return f.call$1(arg); | |
| 6165 return P._rootRunUnary(null, null, this, f, arg); | |
| 6166 }, | |
| 6167 runBinary$3: function(f, arg1, arg2) { | |
| 6168 if ($.Zone__current === C.C__RootZone) | |
| 6169 return f.call$2(arg1, arg2); | |
| 6170 return P._rootRunBinary(null, null, this, f, arg1, arg2); | |
| 6171 } | |
| 6172 }, | |
| 6173 _RootZone_bindCallback_closure: { | |
| 6174 "^": "Closure:1;_captured_this_0,_captured_f_1", | |
| 6175 call$0: function() { | |
| 6176 return this._captured_this_0.runGuarded$1(this._captured_f_1); | |
| 6177 } | |
| 6178 }, | |
| 6179 _RootZone_bindCallback_closure0: { | |
| 6180 "^": "Closure:1;_captured_this_2,_captured_f_3", | |
| 6181 call$0: function() { | |
| 6182 return this._captured_this_2.run$1(this._captured_f_3); | |
| 6183 } | |
| 6184 }, | |
| 6185 _RootZone_bindUnaryCallback_closure: { | |
| 6186 "^": "Closure:0;_captured_this_0,_captured_f_1", | |
| 6187 call$1: function(arg) { | |
| 6188 return this._captured_this_0.runUnaryGuarded$2(this._captured_f_1, arg); | |
| 6189 } | |
| 6190 }, | |
| 6191 _RootZone_bindUnaryCallback_closure0: { | |
| 6192 "^": "Closure:0;_captured_this_2,_captured_f_3", | |
| 6193 call$1: function(arg) { | |
| 6194 return this._captured_this_2.runUnary$2(this._captured_f_3, arg); | |
| 6195 } | |
| 6196 } | |
| 6197 }], ["dart.collection", "dart:collection",, P, { | |
| 6198 "^": "", | |
| 6199 LinkedHashMap_LinkedHashMap$_empty: function($K, $V) { | |
| 6200 return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, nul
l, null, 0), [$K, $V]); | |
| 6201 }, | |
| 6202 LinkedHashMap__makeEmpty: function() { | |
| 6203 return H.setRuntimeTypeInfo(new H.JsLinkedHashMap(0, null, null, null, nul
l, null, 0), [null, null]); | |
| 6204 }, | |
| 6205 LinkedHashMap__makeLiteral: function(keyValuePairs) { | |
| 6206 return H.fillLiteralMap(keyValuePairs, H.setRuntimeTypeInfo(new H.JsLinked
HashMap(0, null, null, null, null, null, 0), [null, null])); | |
| 6207 }, | |
| 6208 HashSet_HashSet: function(equals, hashCode, isValidKey, $E) { | |
| 6209 return H.setRuntimeTypeInfo(new P._HashSet(0, null, null, null, null), [$E
]); | |
| 6210 }, | |
| 6211 IterableBase_iterableToShortString: function(iterable, leftDelimiter, rightD
elimiter) { | |
| 6212 var parts, t1; | |
| 6213 if (P._isToStringVisiting(iterable)) { | |
| 6214 if (leftDelimiter === "(" && rightDelimiter === ")") | |
| 6215 return "(...)"; | |
| 6216 return leftDelimiter + "..." + rightDelimiter; | |
| 6217 } | |
| 6218 parts = []; | |
| 6219 t1 = $.$get$_toStringVisiting(); | |
| 6220 t1.push(iterable); | |
| 6221 try { | |
| 6222 P._iterablePartsToStrings(iterable, parts); | |
| 6223 } finally { | |
| 6224 if (0 >= t1.length) | |
| 6225 return H.ioore(t1, -1); | |
| 6226 t1.pop(); | |
| 6227 } | |
| 6228 t1 = P.StringBuffer__writeAll(leftDelimiter, parts, ", ") + rightDelimiter
; | |
| 6229 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 6230 }, | |
| 6231 IterableBase_iterableToFullString: function(iterable, leftDelimiter, rightDe
limiter) { | |
| 6232 var buffer, t1, t2; | |
| 6233 if (P._isToStringVisiting(iterable)) | |
| 6234 return leftDelimiter + "..." + rightDelimiter; | |
| 6235 buffer = new P.StringBuffer(leftDelimiter); | |
| 6236 t1 = $.$get$_toStringVisiting(); | |
| 6237 t1.push(iterable); | |
| 6238 try { | |
| 6239 t2 = buffer; | |
| 6240 t2._contents = P.StringBuffer__writeAll(t2.get$_contents(), iterable, ",
"); | |
| 6241 } finally { | |
| 6242 if (0 >= t1.length) | |
| 6243 return H.ioore(t1, -1); | |
| 6244 t1.pop(); | |
| 6245 } | |
| 6246 t1 = buffer; | |
| 6247 t1._contents = t1.get$_contents() + rightDelimiter; | |
| 6248 t1 = buffer.get$_contents(); | |
| 6249 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 6250 }, | |
| 6251 _isToStringVisiting: function(o) { | |
| 6252 var i, t1; | |
| 6253 for (i = 0; t1 = $.$get$_toStringVisiting(), i < t1.length; ++i) | |
| 6254 if (o === t1[i]) | |
| 6255 return true; | |
| 6256 return false; | |
| 6257 }, | |
| 6258 _iterablePartsToStrings: function(iterable, parts) { | |
| 6259 var it, $length, count, next, ultimateString, penultimateString, penultima
te, ultimate, ultimate0, elision; | |
| 6260 it = iterable.get$iterator(iterable); | |
| 6261 $length = 0; | |
| 6262 count = 0; | |
| 6263 while (true) { | |
| 6264 if (!($length < 80 || count < 3)) | |
| 6265 break; | |
| 6266 if (!it.moveNext$0()) | |
| 6267 return; | |
| 6268 next = H.S(it.get$current()); | |
| 6269 parts.push(next); | |
| 6270 $length += next.length + 2; | |
| 6271 ++count; | |
| 6272 } | |
| 6273 if (!it.moveNext$0()) { | |
| 6274 if (count <= 5) | |
| 6275 return; | |
| 6276 if (0 >= parts.length) | |
| 6277 return H.ioore(parts, -1); | |
| 6278 ultimateString = parts.pop(); | |
| 6279 if (0 >= parts.length) | |
| 6280 return H.ioore(parts, -1); | |
| 6281 penultimateString = parts.pop(); | |
| 6282 } else { | |
| 6283 penultimate = it.get$current(); | |
| 6284 ++count; | |
| 6285 if (!it.moveNext$0()) { | |
| 6286 if (count <= 4) { | |
| 6287 parts.push(H.S(penultimate)); | |
| 6288 return; | |
| 6289 } | |
| 6290 ultimateString = H.S(penultimate); | |
| 6291 if (0 >= parts.length) | |
| 6292 return H.ioore(parts, -1); | |
| 6293 penultimateString = parts.pop(); | |
| 6294 $length += ultimateString.length + 2; | |
| 6295 } else { | |
| 6296 ultimate = it.get$current(); | |
| 6297 ++count; | |
| 6298 for (; it.moveNext$0(); penultimate = ultimate, ultimate = ultimate0)
{ | |
| 6299 ultimate0 = it.get$current(); | |
| 6300 ++count; | |
| 6301 if (count > 100) { | |
| 6302 while (true) { | |
| 6303 if (!($length > 75 && count > 3)) | |
| 6304 break; | |
| 6305 if (0 >= parts.length) | |
| 6306 return H.ioore(parts, -1); | |
| 6307 $length -= parts.pop().length + 2; | |
| 6308 --count; | |
| 6309 } | |
| 6310 parts.push("..."); | |
| 6311 return; | |
| 6312 } | |
| 6313 } | |
| 6314 penultimateString = H.S(penultimate); | |
| 6315 ultimateString = H.S(ultimate); | |
| 6316 $length += ultimateString.length + penultimateString.length + 4; | |
| 6317 } | |
| 6318 } | |
| 6319 if (count > parts.length + 2) { | |
| 6320 $length += 5; | |
| 6321 elision = "..."; | |
| 6322 } else | |
| 6323 elision = null; | |
| 6324 while (true) { | |
| 6325 if (!($length > 80 && parts.length > 3)) | |
| 6326 break; | |
| 6327 if (0 >= parts.length) | |
| 6328 return H.ioore(parts, -1); | |
| 6329 $length -= parts.pop().length + 2; | |
| 6330 if (elision == null) { | |
| 6331 $length += 5; | |
| 6332 elision = "..."; | |
| 6333 } | |
| 6334 } | |
| 6335 if (elision != null) | |
| 6336 parts.push(elision); | |
| 6337 parts.push(penultimateString); | |
| 6338 parts.push(ultimateString); | |
| 6339 }, | |
| 6340 LinkedHashMap_LinkedHashMap$identity: function($K, $V) { | |
| 6341 return P._LinkedIdentityHashMap__LinkedIdentityHashMap$es6($K, $V); | |
| 6342 }, | |
| 6343 LinkedHashSet_LinkedHashSet: function(equals, hashCode, isValidKey, $E) { | |
| 6344 return H.setRuntimeTypeInfo(new P._LinkedHashSet(0, null, null, null, null
, null, 0), [$E]); | |
| 6345 }, | |
| 6346 LinkedHashSet_LinkedHashSet$from: function(elements, $E) { | |
| 6347 var result, t1, _i; | |
| 6348 result = P.LinkedHashSet_LinkedHashSet(null, null, null, $E); | |
| 6349 for (t1 = elements.length, _i = 0; _i < elements.length; elements.length =
== t1 || (0, H.throwConcurrentModificationError)(elements), ++_i) | |
| 6350 result.add$1(0, elements[_i]); | |
| 6351 return result; | |
| 6352 }, | |
| 6353 Maps_mapToString: function(m) { | |
| 6354 var t1, result, t2; | |
| 6355 t1 = {}; | |
| 6356 if (P._isToStringVisiting(m)) | |
| 6357 return "{...}"; | |
| 6358 result = new P.StringBuffer(""); | |
| 6359 try { | |
| 6360 $.$get$_toStringVisiting().push(m); | |
| 6361 t2 = result; | |
| 6362 t2._contents = t2.get$_contents() + "{"; | |
| 6363 t1._captured_first_0 = true; | |
| 6364 J.forEach$1$ax(m, new P.Maps_mapToString_closure(t1, result)); | |
| 6365 t1 = result; | |
| 6366 t1._contents = t1.get$_contents() + "}"; | |
| 6367 } finally { | |
| 6368 t1 = $.$get$_toStringVisiting(); | |
| 6369 if (0 >= t1.length) | |
| 6370 return H.ioore(t1, -1); | |
| 6371 t1.pop(); | |
| 6372 } | |
| 6373 t1 = result.get$_contents(); | |
| 6374 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 6375 }, | |
| 6376 _LinkedIdentityHashMap: { | |
| 6377 "^": "JsLinkedHashMap;__js_helper$_length,_strings,_nums,_rest,_first,__js
_helper$_last,_modifications", | |
| 6378 internalComputeHashCode$1: function(key) { | |
| 6379 return H.objectHashCode(key) & 0x3ffffff; | |
| 6380 }, | |
| 6381 internalFindBucketIndex$2: function(bucket, key) { | |
| 6382 var $length, i, t1; | |
| 6383 if (bucket == null) | |
| 6384 return -1; | |
| 6385 $length = bucket.length; | |
| 6386 for (i = 0; i < $length; ++i) { | |
| 6387 t1 = bucket[i].get$hashMapCellKey(); | |
| 6388 if (t1 == null ? key == null : t1 === key) | |
| 6389 return i; | |
| 6390 } | |
| 6391 return -1; | |
| 6392 }, | |
| 6393 static: {_LinkedIdentityHashMap__LinkedIdentityHashMap$es6: function($K, $
V) { | |
| 6394 return H.setRuntimeTypeInfo(new P._LinkedIdentityHashMap(0, null, null
, null, null, null, 0), [$K, $V]); | |
| 6395 }} | |
| 6396 }, | |
| 6397 _HashSet: { | |
| 6398 "^": "_HashSetBase;_collection$_length,_collection$_strings,_collection$_n
ums,_collection$_rest,_elements", | |
| 6399 get$iterator: function(_) { | |
| 6400 var t1 = new P.HashSetIterator(this, this._computeElements$0(), 0, null)
; | |
| 6401 t1.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 6402 return t1; | |
| 6403 }, | |
| 6404 get$length: function(_) { | |
| 6405 return this._collection$_length; | |
| 6406 }, | |
| 6407 get$isEmpty: function(_) { | |
| 6408 return this._collection$_length === 0; | |
| 6409 }, | |
| 6410 get$isNotEmpty: function(_) { | |
| 6411 return this._collection$_length !== 0; | |
| 6412 }, | |
| 6413 contains$1: function(_, object) { | |
| 6414 var strings, nums; | |
| 6415 if (typeof object === "string" && object !== "__proto__") { | |
| 6416 strings = this._collection$_strings; | |
| 6417 return strings == null ? false : strings[object] != null; | |
| 6418 } else if (typeof object === "number" && (object & 0x3ffffff) === object
) { | |
| 6419 nums = this._collection$_nums; | |
| 6420 return nums == null ? false : nums[object] != null; | |
| 6421 } else | |
| 6422 return this._contains$1(object); | |
| 6423 }, | |
| 6424 _contains$1: function(object) { | |
| 6425 var rest = this._collection$_rest; | |
| 6426 if (rest == null) | |
| 6427 return false; | |
| 6428 return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], ob
ject) >= 0; | |
| 6429 }, | |
| 6430 lookup$1: function(object) { | |
| 6431 var t1; | |
| 6432 if (!(typeof object === "string" && object !== "__proto__")) | |
| 6433 t1 = typeof object === "number" && (object & 0x3ffffff) === object; | |
| 6434 else | |
| 6435 t1 = true; | |
| 6436 if (t1) | |
| 6437 return this.contains$1(0, object) ? object : null; | |
| 6438 return this._lookup$1(object); | |
| 6439 }, | |
| 6440 _lookup$1: function(object) { | |
| 6441 var rest, bucket, index; | |
| 6442 rest = this._collection$_rest; | |
| 6443 if (rest == null) | |
| 6444 return; | |
| 6445 bucket = rest[this._computeHashCode$1(object)]; | |
| 6446 index = this._findBucketIndex$2(bucket, object); | |
| 6447 if (index < 0) | |
| 6448 return; | |
| 6449 return J.$index$asx(bucket, index); | |
| 6450 }, | |
| 6451 add$1: function(_, element) { | |
| 6452 var strings, table, nums; | |
| 6453 if (typeof element === "string" && element !== "__proto__") { | |
| 6454 strings = this._collection$_strings; | |
| 6455 if (strings == null) { | |
| 6456 table = Object.create(null); | |
| 6457 table["<non-identifier-key>"] = table; | |
| 6458 delete table["<non-identifier-key>"]; | |
| 6459 this._collection$_strings = table; | |
| 6460 strings = table; | |
| 6461 } | |
| 6462 return this._addHashTableEntry$2(strings, element); | |
| 6463 } else if (typeof element === "number" && (element & 0x3ffffff) === elem
ent) { | |
| 6464 nums = this._collection$_nums; | |
| 6465 if (nums == null) { | |
| 6466 table = Object.create(null); | |
| 6467 table["<non-identifier-key>"] = table; | |
| 6468 delete table["<non-identifier-key>"]; | |
| 6469 this._collection$_nums = table; | |
| 6470 nums = table; | |
| 6471 } | |
| 6472 return this._addHashTableEntry$2(nums, element); | |
| 6473 } else | |
| 6474 return this._add$1(element); | |
| 6475 }, | |
| 6476 _add$1: function(element) { | |
| 6477 var rest, hash, bucket; | |
| 6478 rest = this._collection$_rest; | |
| 6479 if (rest == null) { | |
| 6480 rest = P._HashSet__newHashTable(); | |
| 6481 this._collection$_rest = rest; | |
| 6482 } | |
| 6483 hash = this._computeHashCode$1(element); | |
| 6484 bucket = rest[hash]; | |
| 6485 if (bucket == null) | |
| 6486 rest[hash] = [element]; | |
| 6487 else { | |
| 6488 if (this._findBucketIndex$2(bucket, element) >= 0) | |
| 6489 return false; | |
| 6490 bucket.push(element); | |
| 6491 } | |
| 6492 ++this._collection$_length; | |
| 6493 this._elements = null; | |
| 6494 return true; | |
| 6495 }, | |
| 6496 _computeElements$0: function() { | |
| 6497 var t1, result, strings, names, entries, index, i, nums, rest, bucket, $
length, i0; | |
| 6498 t1 = this._elements; | |
| 6499 if (t1 != null) | |
| 6500 return t1; | |
| 6501 result = new Array(this._collection$_length); | |
| 6502 result.fixed$length = Array; | |
| 6503 strings = this._collection$_strings; | |
| 6504 if (strings != null) { | |
| 6505 names = Object.getOwnPropertyNames(strings); | |
| 6506 entries = names.length; | |
| 6507 for (index = 0, i = 0; i < entries; ++i) { | |
| 6508 result[index] = names[i]; | |
| 6509 ++index; | |
| 6510 } | |
| 6511 } else | |
| 6512 index = 0; | |
| 6513 nums = this._collection$_nums; | |
| 6514 if (nums != null) { | |
| 6515 names = Object.getOwnPropertyNames(nums); | |
| 6516 entries = names.length; | |
| 6517 for (i = 0; i < entries; ++i) { | |
| 6518 result[index] = +names[i]; | |
| 6519 ++index; | |
| 6520 } | |
| 6521 } | |
| 6522 rest = this._collection$_rest; | |
| 6523 if (rest != null) { | |
| 6524 names = Object.getOwnPropertyNames(rest); | |
| 6525 entries = names.length; | |
| 6526 for (i = 0; i < entries; ++i) { | |
| 6527 bucket = rest[names[i]]; | |
| 6528 $length = bucket.length; | |
| 6529 for (i0 = 0; i0 < $length; ++i0) { | |
| 6530 result[index] = bucket[i0]; | |
| 6531 ++index; | |
| 6532 } | |
| 6533 } | |
| 6534 } | |
| 6535 this._elements = result; | |
| 6536 return result; | |
| 6537 }, | |
| 6538 _addHashTableEntry$2: function(table, element) { | |
| 6539 if (table[element] != null) | |
| 6540 return false; | |
| 6541 table[element] = 0; | |
| 6542 ++this._collection$_length; | |
| 6543 this._elements = null; | |
| 6544 return true; | |
| 6545 }, | |
| 6546 _computeHashCode$1: function(element) { | |
| 6547 return J.get$hashCode$(element) & 0x3ffffff; | |
| 6548 }, | |
| 6549 _findBucketIndex$2: function(bucket, element) { | |
| 6550 var $length, i; | |
| 6551 if (bucket == null) | |
| 6552 return -1; | |
| 6553 $length = bucket.length; | |
| 6554 for (i = 0; i < $length; ++i) | |
| 6555 if (J.$eq$(bucket[i], element)) | |
| 6556 return i; | |
| 6557 return -1; | |
| 6558 }, | |
| 6559 $isEfficientLength: 1, | |
| 6560 static: {_HashSet__newHashTable: function() { | |
| 6561 var table = Object.create(null); | |
| 6562 table["<non-identifier-key>"] = table; | |
| 6563 delete table["<non-identifier-key>"]; | |
| 6564 return table; | |
| 6565 }} | |
| 6566 }, | |
| 6567 HashSetIterator: { | |
| 6568 "^": "Object;_set,_elements,_offset,_collection$_current", | |
| 6569 get$current: function() { | |
| 6570 return this._collection$_current; | |
| 6571 }, | |
| 6572 moveNext$0: function() { | |
| 6573 var elements, offset, t1; | |
| 6574 elements = this._elements; | |
| 6575 offset = this._offset; | |
| 6576 t1 = this._set; | |
| 6577 if (elements !== t1._elements) | |
| 6578 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 6579 else if (offset >= elements.length) { | |
| 6580 this._collection$_current = null; | |
| 6581 return false; | |
| 6582 } else { | |
| 6583 this._collection$_current = elements[offset]; | |
| 6584 this._offset = offset + 1; | |
| 6585 return true; | |
| 6586 } | |
| 6587 } | |
| 6588 }, | |
| 6589 _LinkedHashSet: { | |
| 6590 "^": "_HashSetBase;_collection$_length,_collection$_strings,_collection$_n
ums,_collection$_rest,_collection$_first,_last,_collection$_modifications", | |
| 6591 get$iterator: function(_) { | |
| 6592 var t1 = H.setRuntimeTypeInfo(new P.LinkedHashSetIterator(this, this._co
llection$_modifications, null, null), [null]); | |
| 6593 t1._cell = t1._set._collection$_first; | |
| 6594 return t1; | |
| 6595 }, | |
| 6596 get$length: function(_) { | |
| 6597 return this._collection$_length; | |
| 6598 }, | |
| 6599 get$isEmpty: function(_) { | |
| 6600 return this._collection$_length === 0; | |
| 6601 }, | |
| 6602 get$isNotEmpty: function(_) { | |
| 6603 return this._collection$_length !== 0; | |
| 6604 }, | |
| 6605 contains$1: function(_, object) { | |
| 6606 var strings, nums; | |
| 6607 if (typeof object === "string" && object !== "__proto__") { | |
| 6608 strings = this._collection$_strings; | |
| 6609 if (strings == null) | |
| 6610 return false; | |
| 6611 return strings[object] != null; | |
| 6612 } else if (typeof object === "number" && (object & 0x3ffffff) === object
) { | |
| 6613 nums = this._collection$_nums; | |
| 6614 if (nums == null) | |
| 6615 return false; | |
| 6616 return nums[object] != null; | |
| 6617 } else | |
| 6618 return this._contains$1(object); | |
| 6619 }, | |
| 6620 _contains$1: function(object) { | |
| 6621 var rest = this._collection$_rest; | |
| 6622 if (rest == null) | |
| 6623 return false; | |
| 6624 return this._findBucketIndex$2(rest[this._computeHashCode$1(object)], ob
ject) >= 0; | |
| 6625 }, | |
| 6626 lookup$1: function(object) { | |
| 6627 var t1; | |
| 6628 if (!(typeof object === "string" && object !== "__proto__")) | |
| 6629 t1 = typeof object === "number" && (object & 0x3ffffff) === object; | |
| 6630 else | |
| 6631 t1 = true; | |
| 6632 if (t1) | |
| 6633 return this.contains$1(0, object) ? object : null; | |
| 6634 else | |
| 6635 return this._lookup$1(object); | |
| 6636 }, | |
| 6637 _lookup$1: function(object) { | |
| 6638 var rest, bucket, index; | |
| 6639 rest = this._collection$_rest; | |
| 6640 if (rest == null) | |
| 6641 return; | |
| 6642 bucket = rest[this._computeHashCode$1(object)]; | |
| 6643 index = this._findBucketIndex$2(bucket, object); | |
| 6644 if (index < 0) | |
| 6645 return; | |
| 6646 return J.$index$asx(bucket, index).get$_collection$_element(); | |
| 6647 }, | |
| 6648 forEach$1: function(_, action) { | |
| 6649 var cell, modifications; | |
| 6650 cell = this._collection$_first; | |
| 6651 modifications = this._collection$_modifications; | |
| 6652 for (; cell != null;) { | |
| 6653 action.call$1(cell._collection$_element); | |
| 6654 if (modifications !== this._collection$_modifications) | |
| 6655 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 6656 cell = cell._collection$_next; | |
| 6657 } | |
| 6658 }, | |
| 6659 get$last: function(_) { | |
| 6660 var t1 = this._last; | |
| 6661 if (t1 == null) | |
| 6662 throw H.wrapException(new P.StateError("No elements")); | |
| 6663 return t1._collection$_element; | |
| 6664 }, | |
| 6665 add$1: function(_, element) { | |
| 6666 var strings, table, nums; | |
| 6667 if (typeof element === "string" && element !== "__proto__") { | |
| 6668 strings = this._collection$_strings; | |
| 6669 if (strings == null) { | |
| 6670 table = Object.create(null); | |
| 6671 table["<non-identifier-key>"] = table; | |
| 6672 delete table["<non-identifier-key>"]; | |
| 6673 this._collection$_strings = table; | |
| 6674 strings = table; | |
| 6675 } | |
| 6676 return this._addHashTableEntry$2(strings, element); | |
| 6677 } else if (typeof element === "number" && (element & 0x3ffffff) === elem
ent) { | |
| 6678 nums = this._collection$_nums; | |
| 6679 if (nums == null) { | |
| 6680 table = Object.create(null); | |
| 6681 table["<non-identifier-key>"] = table; | |
| 6682 delete table["<non-identifier-key>"]; | |
| 6683 this._collection$_nums = table; | |
| 6684 nums = table; | |
| 6685 } | |
| 6686 return this._addHashTableEntry$2(nums, element); | |
| 6687 } else | |
| 6688 return this._add$1(element); | |
| 6689 }, | |
| 6690 _add$1: function(element) { | |
| 6691 var rest, hash, bucket; | |
| 6692 rest = this._collection$_rest; | |
| 6693 if (rest == null) { | |
| 6694 rest = P._LinkedHashSet__newHashTable(); | |
| 6695 this._collection$_rest = rest; | |
| 6696 } | |
| 6697 hash = this._computeHashCode$1(element); | |
| 6698 bucket = rest[hash]; | |
| 6699 if (bucket == null) | |
| 6700 rest[hash] = [this._newLinkedCell$1(element)]; | |
| 6701 else { | |
| 6702 if (this._findBucketIndex$2(bucket, element) >= 0) | |
| 6703 return false; | |
| 6704 bucket.push(this._newLinkedCell$1(element)); | |
| 6705 } | |
| 6706 return true; | |
| 6707 }, | |
| 6708 remove$1: function(_, object) { | |
| 6709 if (typeof object === "string" && object !== "__proto__") | |
| 6710 return this._removeHashTableEntry$2(this._collection$_strings, object)
; | |
| 6711 else if (typeof object === "number" && (object & 0x3ffffff) === object) | |
| 6712 return this._removeHashTableEntry$2(this._collection$_nums, object); | |
| 6713 else | |
| 6714 return this._remove$1(object); | |
| 6715 }, | |
| 6716 _remove$1: function(object) { | |
| 6717 var rest, bucket, index; | |
| 6718 rest = this._collection$_rest; | |
| 6719 if (rest == null) | |
| 6720 return false; | |
| 6721 bucket = rest[this._computeHashCode$1(object)]; | |
| 6722 index = this._findBucketIndex$2(bucket, object); | |
| 6723 if (index < 0) | |
| 6724 return false; | |
| 6725 this._unlinkCell$1(bucket.splice(index, 1)[0]); | |
| 6726 return true; | |
| 6727 }, | |
| 6728 clear$0: function(_) { | |
| 6729 if (this._collection$_length > 0) { | |
| 6730 this._last = null; | |
| 6731 this._collection$_first = null; | |
| 6732 this._collection$_rest = null; | |
| 6733 this._collection$_nums = null; | |
| 6734 this._collection$_strings = null; | |
| 6735 this._collection$_length = 0; | |
| 6736 this._collection$_modifications = this._collection$_modifications + 1
& 67108863; | |
| 6737 } | |
| 6738 }, | |
| 6739 _addHashTableEntry$2: function(table, element) { | |
| 6740 if (table[element] != null) | |
| 6741 return false; | |
| 6742 table[element] = this._newLinkedCell$1(element); | |
| 6743 return true; | |
| 6744 }, | |
| 6745 _removeHashTableEntry$2: function(table, element) { | |
| 6746 var cell; | |
| 6747 if (table == null) | |
| 6748 return false; | |
| 6749 cell = table[element]; | |
| 6750 if (cell == null) | |
| 6751 return false; | |
| 6752 this._unlinkCell$1(cell); | |
| 6753 delete table[element]; | |
| 6754 return true; | |
| 6755 }, | |
| 6756 _newLinkedCell$1: function(element) { | |
| 6757 var cell, last; | |
| 6758 cell = new P.LinkedHashSetCell(element, null, null); | |
| 6759 if (this._collection$_first == null) { | |
| 6760 this._last = cell; | |
| 6761 this._collection$_first = cell; | |
| 6762 } else { | |
| 6763 last = this._last; | |
| 6764 cell._previous = last; | |
| 6765 last._collection$_next = cell; | |
| 6766 this._last = cell; | |
| 6767 } | |
| 6768 ++this._collection$_length; | |
| 6769 this._collection$_modifications = this._collection$_modifications + 1 &
67108863; | |
| 6770 return cell; | |
| 6771 }, | |
| 6772 _unlinkCell$1: function(cell) { | |
| 6773 var previous, next; | |
| 6774 previous = cell.get$_previous(); | |
| 6775 next = cell._collection$_next; | |
| 6776 if (previous == null) | |
| 6777 this._collection$_first = next; | |
| 6778 else | |
| 6779 previous._collection$_next = next; | |
| 6780 if (next == null) | |
| 6781 this._last = previous; | |
| 6782 else | |
| 6783 next._previous = previous; | |
| 6784 --this._collection$_length; | |
| 6785 this._collection$_modifications = this._collection$_modifications + 1 &
67108863; | |
| 6786 }, | |
| 6787 _computeHashCode$1: function(element) { | |
| 6788 return J.get$hashCode$(element) & 0x3ffffff; | |
| 6789 }, | |
| 6790 _findBucketIndex$2: function(bucket, element) { | |
| 6791 var $length, i; | |
| 6792 if (bucket == null) | |
| 6793 return -1; | |
| 6794 $length = bucket.length; | |
| 6795 for (i = 0; i < $length; ++i) | |
| 6796 if (J.$eq$(bucket[i].get$_collection$_element(), element)) | |
| 6797 return i; | |
| 6798 return -1; | |
| 6799 }, | |
| 6800 $isEfficientLength: 1, | |
| 6801 static: {_LinkedHashSet__newHashTable: function() { | |
| 6802 var table = Object.create(null); | |
| 6803 table["<non-identifier-key>"] = table; | |
| 6804 delete table["<non-identifier-key>"]; | |
| 6805 return table; | |
| 6806 }} | |
| 6807 }, | |
| 6808 LinkedHashSetCell: { | |
| 6809 "^": "Object;_collection$_element<,_collection$_next,_previous<" | |
| 6810 }, | |
| 6811 LinkedHashSetIterator: { | |
| 6812 "^": "Object;_set,_collection$_modifications,_cell,_collection$_current", | |
| 6813 get$current: function() { | |
| 6814 return this._collection$_current; | |
| 6815 }, | |
| 6816 moveNext$0: function() { | |
| 6817 var t1 = this._set; | |
| 6818 if (this._collection$_modifications !== t1._collection$_modifications) | |
| 6819 throw H.wrapException(new P.ConcurrentModificationError(t1)); | |
| 6820 else { | |
| 6821 t1 = this._cell; | |
| 6822 if (t1 == null) { | |
| 6823 this._collection$_current = null; | |
| 6824 return false; | |
| 6825 } else { | |
| 6826 this._collection$_current = t1._collection$_element; | |
| 6827 this._cell = t1._collection$_next; | |
| 6828 return true; | |
| 6829 } | |
| 6830 } | |
| 6831 } | |
| 6832 }, | |
| 6833 UnmodifiableListView: { | |
| 6834 "^": "UnmodifiableListBase;_collection$_source", | |
| 6835 get$length: function(_) { | |
| 6836 return this._collection$_source.length; | |
| 6837 }, | |
| 6838 $index: function(_, index) { | |
| 6839 var t1 = this._collection$_source; | |
| 6840 if (index >>> 0 !== index || index >= t1.length) | |
| 6841 return H.ioore(t1, index); | |
| 6842 return t1[index]; | |
| 6843 } | |
| 6844 }, | |
| 6845 _HashSetBase: { | |
| 6846 "^": "SetBase;" | |
| 6847 }, | |
| 6848 IterableBase: { | |
| 6849 "^": "Iterable;" | |
| 6850 }, | |
| 6851 ListBase: { | |
| 6852 "^": "Object_ListMixin;" | |
| 6853 }, | |
| 6854 Object_ListMixin: { | |
| 6855 "^": "Object+ListMixin;", | |
| 6856 $isList: 1, | |
| 6857 $asList: null, | |
| 6858 $isEfficientLength: 1 | |
| 6859 }, | |
| 6860 ListMixin: { | |
| 6861 "^": "Object;", | |
| 6862 get$iterator: function(receiver) { | |
| 6863 return H.setRuntimeTypeInfo(new H.ListIterator(receiver, this.get$length
(receiver), 0, null), [H.getRuntimeTypeArgument(receiver, "ListMixin", 0)]); | |
| 6864 }, | |
| 6865 elementAt$1: function(receiver, index) { | |
| 6866 return this.$index(receiver, index); | |
| 6867 }, | |
| 6868 forEach$1: function(receiver, action) { | |
| 6869 var $length, i; | |
| 6870 $length = this.get$length(receiver); | |
| 6871 for (i = 0; i < $length; ++i) { | |
| 6872 action.call$1(this.$index(receiver, i)); | |
| 6873 if ($length !== this.get$length(receiver)) | |
| 6874 throw H.wrapException(new P.ConcurrentModificationError(receiver)); | |
| 6875 } | |
| 6876 }, | |
| 6877 get$isEmpty: function(receiver) { | |
| 6878 return this.get$length(receiver) === 0; | |
| 6879 }, | |
| 6880 get$isNotEmpty: function(receiver) { | |
| 6881 return this.get$length(receiver) !== 0; | |
| 6882 }, | |
| 6883 get$last: function(receiver) { | |
| 6884 if (this.get$length(receiver) === 0) | |
| 6885 throw H.wrapException(H.IterableElementError_noElement()); | |
| 6886 return this.$index(receiver, this.get$length(receiver) - 1); | |
| 6887 }, | |
| 6888 contains$1: function(receiver, element) { | |
| 6889 var $length, i; | |
| 6890 $length = this.get$length(receiver); | |
| 6891 for (i = 0; i < this.get$length(receiver); ++i) { | |
| 6892 if (J.$eq$(this.$index(receiver, i), element)) | |
| 6893 return true; | |
| 6894 if ($length !== this.get$length(receiver)) | |
| 6895 throw H.wrapException(new P.ConcurrentModificationError(receiver)); | |
| 6896 } | |
| 6897 return false; | |
| 6898 }, | |
| 6899 where$1: function(receiver, test) { | |
| 6900 return H.setRuntimeTypeInfo(new H.WhereIterable(receiver, test), [H.getR
untimeTypeArgument(receiver, "ListMixin", 0)]); | |
| 6901 }, | |
| 6902 map$1: function(receiver, f) { | |
| 6903 return H.setRuntimeTypeInfo(new H.MappedListIterable(receiver, f), [null
, null]); | |
| 6904 }, | |
| 6905 add$1: function(receiver, element) { | |
| 6906 var t1 = this.get$length(receiver); | |
| 6907 this.set$length(receiver, t1 + 1); | |
| 6908 this.$indexSet(receiver, t1, element); | |
| 6909 }, | |
| 6910 indexOf$2: function(receiver, element, startIndex) { | |
| 6911 var i; | |
| 6912 if (startIndex >= this.get$length(receiver)) | |
| 6913 return -1; | |
| 6914 if (startIndex < 0) | |
| 6915 startIndex = 0; | |
| 6916 for (i = startIndex; i < this.get$length(receiver); ++i) | |
| 6917 if (J.$eq$(this.$index(receiver, i), element)) | |
| 6918 return i; | |
| 6919 return -1; | |
| 6920 }, | |
| 6921 indexOf$1: function($receiver, element) { | |
| 6922 return this.indexOf$2($receiver, element, 0); | |
| 6923 }, | |
| 6924 lastIndexOf$2: function(receiver, element, startIndex) { | |
| 6925 var i; | |
| 6926 if (startIndex < 0) | |
| 6927 return -1; | |
| 6928 if (startIndex >= this.get$length(receiver)) | |
| 6929 startIndex = this.get$length(receiver) - 1; | |
| 6930 for (i = startIndex; i >= 0; --i) | |
| 6931 if (J.$eq$(this.$index(receiver, i), element)) | |
| 6932 return i; | |
| 6933 return -1; | |
| 6934 }, | |
| 6935 toString$0: function(receiver) { | |
| 6936 return P.IterableBase_iterableToFullString(receiver, "[", "]"); | |
| 6937 }, | |
| 6938 $isList: 1, | |
| 6939 $asList: null, | |
| 6940 $isEfficientLength: 1 | |
| 6941 }, | |
| 6942 Maps_mapToString_closure: { | |
| 6943 "^": "Closure:3;_collection$_box_0,_captured_result_1", | |
| 6944 call$2: function(k, v) { | |
| 6945 var t1, t2; | |
| 6946 t1 = this._collection$_box_0; | |
| 6947 if (!t1._captured_first_0) | |
| 6948 this._captured_result_1._contents += ", "; | |
| 6949 t1._captured_first_0 = false; | |
| 6950 t1 = this._captured_result_1; | |
| 6951 t2 = t1._contents += H.S(k); | |
| 6952 t1._contents = t2 + ": "; | |
| 6953 t1._contents += H.S(v); | |
| 6954 } | |
| 6955 }, | |
| 6956 ListQueue: { | |
| 6957 "^": "Iterable;_table,_head,_tail,_modificationCount", | |
| 6958 get$iterator: function(_) { | |
| 6959 var t1 = new P._ListQueueIterator(this, this._tail, this._modificationCo
unt, this._head, null); | |
| 6960 t1.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 6961 return t1; | |
| 6962 }, | |
| 6963 forEach$1: function(_, action) { | |
| 6964 var modificationCount, i, t1; | |
| 6965 modificationCount = this._modificationCount; | |
| 6966 for (i = this._head; i !== this._tail; i = (i + 1 & this._table.length -
1) >>> 0) { | |
| 6967 t1 = this._table; | |
| 6968 if (i < 0 || i >= t1.length) | |
| 6969 return H.ioore(t1, i); | |
| 6970 action.call$1(t1[i]); | |
| 6971 if (modificationCount !== this._modificationCount) | |
| 6972 H.throwExpression(new P.ConcurrentModificationError(this)); | |
| 6973 } | |
| 6974 }, | |
| 6975 get$isEmpty: function(_) { | |
| 6976 return this._head === this._tail; | |
| 6977 }, | |
| 6978 get$length: function(_) { | |
| 6979 return (this._tail - this._head & this._table.length - 1) >>> 0; | |
| 6980 }, | |
| 6981 get$last: function(_) { | |
| 6982 var t1, t2, t3; | |
| 6983 t1 = this._head; | |
| 6984 t2 = this._tail; | |
| 6985 if (t1 === t2) | |
| 6986 throw H.wrapException(H.IterableElementError_noElement()); | |
| 6987 t1 = this._table; | |
| 6988 t3 = t1.length; | |
| 6989 t2 = (t2 - 1 & t3 - 1) >>> 0; | |
| 6990 if (t2 < 0 || t2 >= t3) | |
| 6991 return H.ioore(t1, t2); | |
| 6992 return t1[t2]; | |
| 6993 }, | |
| 6994 add$1: function(_, value) { | |
| 6995 this._add$1(value); | |
| 6996 }, | |
| 6997 clear$0: function(_) { | |
| 6998 var i, t1, t2, t3, t4; | |
| 6999 i = this._head; | |
| 7000 t1 = this._tail; | |
| 7001 if (i !== t1) { | |
| 7002 for (t2 = this._table, t3 = t2.length, t4 = t3 - 1; i !== t1; i = (i +
1 & t4) >>> 0) { | |
| 7003 if (i < 0 || i >= t3) | |
| 7004 return H.ioore(t2, i); | |
| 7005 t2[i] = null; | |
| 7006 } | |
| 7007 this._tail = 0; | |
| 7008 this._head = 0; | |
| 7009 ++this._modificationCount; | |
| 7010 } | |
| 7011 }, | |
| 7012 toString$0: function(_) { | |
| 7013 return P.IterableBase_iterableToFullString(this, "{", "}"); | |
| 7014 }, | |
| 7015 removeFirst$0: function() { | |
| 7016 var t1, t2, t3, result; | |
| 7017 t1 = this._head; | |
| 7018 if (t1 === this._tail) | |
| 7019 throw H.wrapException(H.IterableElementError_noElement()); | |
| 7020 ++this._modificationCount; | |
| 7021 t2 = this._table; | |
| 7022 t3 = t2.length; | |
| 7023 if (t1 >= t3) | |
| 7024 return H.ioore(t2, t1); | |
| 7025 result = t2[t1]; | |
| 7026 t2[t1] = null; | |
| 7027 this._head = (t1 + 1 & t3 - 1) >>> 0; | |
| 7028 return result; | |
| 7029 }, | |
| 7030 _add$1: function(element) { | |
| 7031 var t1, t2, t3; | |
| 7032 t1 = this._table; | |
| 7033 t2 = this._tail; | |
| 7034 t3 = t1.length; | |
| 7035 if (t2 < 0 || t2 >= t3) | |
| 7036 return H.ioore(t1, t2); | |
| 7037 t1[t2] = element; | |
| 7038 t3 = (t2 + 1 & t3 - 1) >>> 0; | |
| 7039 this._tail = t3; | |
| 7040 if (this._head === t3) | |
| 7041 this._grow$0(); | |
| 7042 ++this._modificationCount; | |
| 7043 }, | |
| 7044 _grow$0: function() { | |
| 7045 var t1, newTable, t2, split; | |
| 7046 t1 = new Array(this._table.length * 2); | |
| 7047 t1.fixed$length = Array; | |
| 7048 newTable = H.setRuntimeTypeInfo(t1, [H.getTypeArgumentByIndex(this, 0)])
; | |
| 7049 t1 = this._table; | |
| 7050 t2 = this._head; | |
| 7051 split = t1.length - t2; | |
| 7052 C.JSArray_methods.setRange$4(newTable, 0, split, t1, t2); | |
| 7053 C.JSArray_methods.setRange$4(newTable, split, split + this._head, this._
table, 0); | |
| 7054 this._head = 0; | |
| 7055 this._tail = this._table.length; | |
| 7056 this._table = newTable; | |
| 7057 }, | |
| 7058 ListQueue$1: function(initialCapacity, $E) { | |
| 7059 var t1 = new Array(8); | |
| 7060 t1.fixed$length = Array; | |
| 7061 this._table = H.setRuntimeTypeInfo(t1, [$E]); | |
| 7062 }, | |
| 7063 $isEfficientLength: 1, | |
| 7064 static: {ListQueue$: function(initialCapacity, $E) { | |
| 7065 var t1 = H.setRuntimeTypeInfo(new P.ListQueue(null, 0, 0, 0), [$E]); | |
| 7066 t1.ListQueue$1(initialCapacity, $E); | |
| 7067 return t1; | |
| 7068 }} | |
| 7069 }, | |
| 7070 _ListQueueIterator: { | |
| 7071 "^": "Object;_queue,_end,_modificationCount,_collection$_position,_collect
ion$_current", | |
| 7072 get$current: function() { | |
| 7073 return this._collection$_current; | |
| 7074 }, | |
| 7075 moveNext$0: function() { | |
| 7076 var t1, t2, t3; | |
| 7077 t1 = this._queue; | |
| 7078 if (this._modificationCount !== t1._modificationCount) | |
| 7079 H.throwExpression(new P.ConcurrentModificationError(t1)); | |
| 7080 t2 = this._collection$_position; | |
| 7081 if (t2 === this._end) { | |
| 7082 this._collection$_current = null; | |
| 7083 return false; | |
| 7084 } | |
| 7085 t1 = t1._table; | |
| 7086 t3 = t1.length; | |
| 7087 if (t2 >= t3) | |
| 7088 return H.ioore(t1, t2); | |
| 7089 this._collection$_current = t1[t2]; | |
| 7090 this._collection$_position = (t2 + 1 & t3 - 1) >>> 0; | |
| 7091 return true; | |
| 7092 } | |
| 7093 }, | |
| 7094 SetMixin: { | |
| 7095 "^": "Object;", | |
| 7096 get$isEmpty: function(_) { | |
| 7097 return this.get$length(this) === 0; | |
| 7098 }, | |
| 7099 get$isNotEmpty: function(_) { | |
| 7100 return this.get$length(this) !== 0; | |
| 7101 }, | |
| 7102 addAll$1: function(_, elements) { | |
| 7103 var t1; | |
| 7104 for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) | |
| 7105 this.add$1(0, t1.get$current()); | |
| 7106 }, | |
| 7107 map$1: function(_, f) { | |
| 7108 return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(this, f)
, [H.getTypeArgumentByIndex(this, 0), null]); | |
| 7109 }, | |
| 7110 toString$0: function(_) { | |
| 7111 return P.IterableBase_iterableToFullString(this, "{", "}"); | |
| 7112 }, | |
| 7113 forEach$1: function(_, f) { | |
| 7114 var t1; | |
| 7115 for (t1 = this.get$iterator(this); t1.moveNext$0();) | |
| 7116 f.call$1(t1.get$current()); | |
| 7117 }, | |
| 7118 join$1: function(_, separator) { | |
| 7119 var iterator, buffer, t1; | |
| 7120 iterator = this.get$iterator(this); | |
| 7121 if (!iterator.moveNext$0()) | |
| 7122 return ""; | |
| 7123 buffer = new P.StringBuffer(""); | |
| 7124 if (separator === "") { | |
| 7125 do | |
| 7126 buffer._contents += H.S(iterator.get$current()); | |
| 7127 while (iterator.moveNext$0()); | |
| 7128 } else { | |
| 7129 buffer._contents = H.S(iterator.get$current()); | |
| 7130 for (; iterator.moveNext$0();) { | |
| 7131 buffer._contents += separator; | |
| 7132 buffer._contents += H.S(iterator.get$current()); | |
| 7133 } | |
| 7134 } | |
| 7135 t1 = buffer._contents; | |
| 7136 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 7137 }, | |
| 7138 get$last: function(_) { | |
| 7139 var it, result; | |
| 7140 it = this.get$iterator(this); | |
| 7141 if (!it.moveNext$0()) | |
| 7142 throw H.wrapException(H.IterableElementError_noElement()); | |
| 7143 do | |
| 7144 result = it.get$current(); | |
| 7145 while (it.moveNext$0()); | |
| 7146 return result; | |
| 7147 }, | |
| 7148 $isEfficientLength: 1 | |
| 7149 }, | |
| 7150 SetBase: { | |
| 7151 "^": "SetMixin;" | |
| 7152 } | |
| 7153 }], ["dart.convert", "dart:convert",, P, { | |
| 7154 "^": "", | |
| 7155 _convertJsonToDartLazy: function(object) { | |
| 7156 var i; | |
| 7157 if (object == null) | |
| 7158 return; | |
| 7159 if (typeof object != "object") | |
| 7160 return object; | |
| 7161 if (Object.getPrototypeOf(object) !== Array.prototype) | |
| 7162 return new P._JsonMap(object, Object.create(null), null); | |
| 7163 for (i = 0; i < object.length; ++i) | |
| 7164 object[i] = P._convertJsonToDartLazy(object[i]); | |
| 7165 return object; | |
| 7166 }, | |
| 7167 _parseJson: function(source, reviver) { | |
| 7168 var parsed, e, t1, exception; | |
| 7169 t1 = source; | |
| 7170 if (typeof t1 !== "string") | |
| 7171 throw H.wrapException(H.argumentErrorValue(source)); | |
| 7172 parsed = null; | |
| 7173 try { | |
| 7174 parsed = JSON.parse(source); | |
| 7175 } catch (exception) { | |
| 7176 t1 = H.unwrapException(exception); | |
| 7177 e = t1; | |
| 7178 throw H.wrapException(new P.FormatException(String(e), null, null)); | |
| 7179 } | |
| 7180 return P._convertJsonToDartLazy(parsed); | |
| 7181 }, | |
| 7182 _isLeadSurrogate: function(codeUnit) { | |
| 7183 codeUnit.$and(0, 64512); | |
| 7184 return false; | |
| 7185 }, | |
| 7186 _combineSurrogatePair: function(lead, tail) { | |
| 7187 return (C.JSInt_methods.$add(65536, lead.$and(0, 1023).$shl(0, 10)) | tail
& 1023) >>> 0; | |
| 7188 }, | |
| 7189 _JsonMap: { | |
| 7190 "^": "Object;_original,_processed,_data", | |
| 7191 $index: function(_, key) { | |
| 7192 var t1, result; | |
| 7193 t1 = this._processed; | |
| 7194 if (t1 == null) | |
| 7195 return this._data.$index(0, key); | |
| 7196 else if (typeof key !== "string") | |
| 7197 return; | |
| 7198 else { | |
| 7199 result = t1[key]; | |
| 7200 return typeof result == "undefined" ? this._process$1(key) : result; | |
| 7201 } | |
| 7202 }, | |
| 7203 get$length: function(_) { | |
| 7204 var t1; | |
| 7205 if (this._processed == null) { | |
| 7206 t1 = this._data; | |
| 7207 t1 = t1.get$length(t1); | |
| 7208 } else | |
| 7209 t1 = this._computeKeys$0().length; | |
| 7210 return t1; | |
| 7211 }, | |
| 7212 get$isEmpty: function(_) { | |
| 7213 var t1; | |
| 7214 if (this._processed == null) { | |
| 7215 t1 = this._data; | |
| 7216 t1 = t1.get$length(t1); | |
| 7217 } else | |
| 7218 t1 = this._computeKeys$0().length; | |
| 7219 return t1 === 0; | |
| 7220 }, | |
| 7221 get$isNotEmpty: function(_) { | |
| 7222 var t1; | |
| 7223 if (this._processed == null) { | |
| 7224 t1 = this._data; | |
| 7225 t1 = t1.get$length(t1); | |
| 7226 } else | |
| 7227 t1 = this._computeKeys$0().length; | |
| 7228 return t1 > 0; | |
| 7229 }, | |
| 7230 get$values: function(_) { | |
| 7231 var t1; | |
| 7232 if (this._processed == null) { | |
| 7233 t1 = this._data; | |
| 7234 return t1.get$values(t1); | |
| 7235 } | |
| 7236 return H.MappedIterable_MappedIterable(this._computeKeys$0(), new P._Jso
nMap_values_closure(this), null, null); | |
| 7237 }, | |
| 7238 $indexSet: function(_, key, value) { | |
| 7239 var processed, original; | |
| 7240 if (this._processed == null) | |
| 7241 this._data.$indexSet(0, key, value); | |
| 7242 else if (this.containsKey$1(key)) { | |
| 7243 processed = this._processed; | |
| 7244 processed[key] = value; | |
| 7245 original = this._original; | |
| 7246 if (original == null ? processed != null : original !== processed) | |
| 7247 original[key] = null; | |
| 7248 } else | |
| 7249 this._upgrade$0().$indexSet(0, key, value); | |
| 7250 }, | |
| 7251 containsKey$1: function(key) { | |
| 7252 if (this._processed == null) | |
| 7253 return this._data.containsKey$1(key); | |
| 7254 if (typeof key !== "string") | |
| 7255 return false; | |
| 7256 return Object.prototype.hasOwnProperty.call(this._original, key); | |
| 7257 }, | |
| 7258 putIfAbsent$2: function(key, ifAbsent) { | |
| 7259 var value; | |
| 7260 if (this.containsKey$1(key)) | |
| 7261 return this.$index(0, key); | |
| 7262 value = ifAbsent.call$0(); | |
| 7263 this.$indexSet(0, key, value); | |
| 7264 return value; | |
| 7265 }, | |
| 7266 forEach$1: function(_, f) { | |
| 7267 var keys, i, key, value; | |
| 7268 if (this._processed == null) | |
| 7269 return this._data.forEach$1(0, f); | |
| 7270 keys = this._computeKeys$0(); | |
| 7271 for (i = 0; i < keys.length; ++i) { | |
| 7272 key = keys[i]; | |
| 7273 value = this._processed[key]; | |
| 7274 if (typeof value == "undefined") { | |
| 7275 value = P._convertJsonToDartLazy(this._original[key]); | |
| 7276 this._processed[key] = value; | |
| 7277 } | |
| 7278 f.call$2(key, value); | |
| 7279 if (keys !== this._data) | |
| 7280 throw H.wrapException(new P.ConcurrentModificationError(this)); | |
| 7281 } | |
| 7282 }, | |
| 7283 toString$0: function(_) { | |
| 7284 return P.Maps_mapToString(this); | |
| 7285 }, | |
| 7286 _computeKeys$0: function() { | |
| 7287 var keys = this._data; | |
| 7288 if (keys == null) { | |
| 7289 keys = Object.keys(this._original); | |
| 7290 this._data = keys; | |
| 7291 } | |
| 7292 return keys; | |
| 7293 }, | |
| 7294 _upgrade$0: function() { | |
| 7295 var result, keys, i, t1, key; | |
| 7296 if (this._processed == null) | |
| 7297 return this._data; | |
| 7298 result = P.LinkedHashMap__makeEmpty(); | |
| 7299 keys = this._computeKeys$0(); | |
| 7300 for (i = 0; t1 = keys.length, i < t1; ++i) { | |
| 7301 key = keys[i]; | |
| 7302 result.$indexSet(0, key, this.$index(0, key)); | |
| 7303 } | |
| 7304 if (t1 === 0) | |
| 7305 keys.push(null); | |
| 7306 else | |
| 7307 C.JSArray_methods.set$length(keys, 0); | |
| 7308 this._processed = null; | |
| 7309 this._original = null; | |
| 7310 this._data = result; | |
| 7311 return result; | |
| 7312 }, | |
| 7313 _process$1: function(key) { | |
| 7314 var result; | |
| 7315 if (!Object.prototype.hasOwnProperty.call(this._original, key)) | |
| 7316 return; | |
| 7317 result = P._convertJsonToDartLazy(this._original[key]); | |
| 7318 return this._processed[key] = result; | |
| 7319 } | |
| 7320 }, | |
| 7321 _JsonMap_values_closure: { | |
| 7322 "^": "Closure:0;_convert$_captured_this_0", | |
| 7323 call$1: function(each) { | |
| 7324 return this._convert$_captured_this_0.$index(0, each); | |
| 7325 } | |
| 7326 }, | |
| 7327 Codec: { | |
| 7328 "^": "Object;" | |
| 7329 }, | |
| 7330 Converter: { | |
| 7331 "^": "Object;" | |
| 7332 }, | |
| 7333 Encoding: { | |
| 7334 "^": "Codec;", | |
| 7335 $asCodec: function() { | |
| 7336 return [P.String, [P.List, P.$int]]; | |
| 7337 } | |
| 7338 }, | |
| 7339 HtmlEscapeMode: { | |
| 7340 "^": "Object;_convert$_name,escapeLtGt,escapeQuot,escapeApos,escapeSlash", | |
| 7341 toString$0: function(_) { | |
| 7342 return this._convert$_name; | |
| 7343 } | |
| 7344 }, | |
| 7345 HtmlEscape: { | |
| 7346 "^": "Converter;mode", | |
| 7347 _convert$3: function(text, start, end) { | |
| 7348 var t1, t2, t3, t4, t5, i, result, replacement, t6; | |
| 7349 if (typeof end !== "number") | |
| 7350 return H.iae(end); | |
| 7351 t1 = J.getInterceptor$asx(text); | |
| 7352 t2 = this.mode; | |
| 7353 t3 = t2.escapeSlash; | |
| 7354 t4 = t2.escapeLtGt; | |
| 7355 t5 = t2.escapeApos; | |
| 7356 t2 = t2.escapeQuot; | |
| 7357 i = start; | |
| 7358 result = null; | |
| 7359 for (; i < end; ++i) { | |
| 7360 switch (t1.$index(text, i)) { | |
| 7361 case "&": | |
| 7362 replacement = "&"; | |
| 7363 break; | |
| 7364 case "\"": | |
| 7365 replacement = t2 ? """ : null; | |
| 7366 break; | |
| 7367 case "'": | |
| 7368 replacement = t5 ? "'" : null; | |
| 7369 break; | |
| 7370 case "<": | |
| 7371 replacement = t4 ? "<" : null; | |
| 7372 break; | |
| 7373 case ">": | |
| 7374 replacement = t4 ? ">" : null; | |
| 7375 break; | |
| 7376 case "/": | |
| 7377 replacement = t3 ? "/" : null; | |
| 7378 break; | |
| 7379 default: | |
| 7380 replacement = null; | |
| 7381 } | |
| 7382 if (replacement != null) { | |
| 7383 if (result == null) | |
| 7384 result = new P.StringBuffer(""); | |
| 7385 if (i > start) { | |
| 7386 t6 = t1.substring$2(text, start, i); | |
| 7387 result._contents = result._contents + t6; | |
| 7388 } | |
| 7389 result._contents = result._contents + replacement; | |
| 7390 start = i + 1; | |
| 7391 } | |
| 7392 } | |
| 7393 if (result == null) | |
| 7394 return; | |
| 7395 if (end > start) | |
| 7396 result._contents += t1.substring$2(text, start, end); | |
| 7397 t1 = result._contents; | |
| 7398 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 7399 }, | |
| 7400 $asConverter: function() { | |
| 7401 return [P.String, P.String]; | |
| 7402 } | |
| 7403 }, | |
| 7404 JsonCodec: { | |
| 7405 "^": "Codec;_reviver,_toEncodable", | |
| 7406 decode$2$reviver: function(source, reviver) { | |
| 7407 return P._parseJson(source, this.get$decoder()._reviver); | |
| 7408 }, | |
| 7409 decode$1: function(source) { | |
| 7410 return this.decode$2$reviver(source, null); | |
| 7411 }, | |
| 7412 get$decoder: function() { | |
| 7413 return C.JsonDecoder_null; | |
| 7414 }, | |
| 7415 $asCodec: function() { | |
| 7416 return [P.Object, P.String]; | |
| 7417 } | |
| 7418 }, | |
| 7419 JsonDecoder: { | |
| 7420 "^": "Converter;_reviver", | |
| 7421 $asConverter: function() { | |
| 7422 return [P.String, P.Object]; | |
| 7423 } | |
| 7424 }, | |
| 7425 Utf8Codec: { | |
| 7426 "^": "Encoding;_allowMalformed", | |
| 7427 get$name: function(_) { | |
| 7428 return "utf-8"; | |
| 7429 }, | |
| 7430 get$encoder: function() { | |
| 7431 return C.C_Utf8Encoder; | |
| 7432 } | |
| 7433 }, | |
| 7434 Utf8Encoder: { | |
| 7435 "^": "Converter;", | |
| 7436 convert$3: function(string, start, end) { | |
| 7437 var stringLength, $length, t1, encoder; | |
| 7438 stringLength = string.get$length(string); | |
| 7439 P.RangeError_checkValidRange(start, end, stringLength, null, null, null)
; | |
| 7440 $length = stringLength.$sub(0, start); | |
| 7441 t1 = $length.$mul(0, 3); | |
| 7442 t1 = new Uint8Array(t1); | |
| 7443 encoder = new P._Utf8Encoder(0, 0, t1); | |
| 7444 encoder._fillBuffer$3(string, start, stringLength); | |
| 7445 encoder._writeSurrogate$2(string.codeUnitAt$1(0, stringLength.$sub(0, 1)
), 0); | |
| 7446 return new Uint8Array(t1.subarray(0, H._checkValidRange(0, encoder._buff
erIndex, t1.length))); | |
| 7447 }, | |
| 7448 convert$1: function(string) { | |
| 7449 return this.convert$3(string, 0, null); | |
| 7450 }, | |
| 7451 $asConverter: function() { | |
| 7452 return [P.String, [P.List, P.$int]]; | |
| 7453 } | |
| 7454 }, | |
| 7455 _Utf8Encoder: { | |
| 7456 "^": "Object;_carry,_bufferIndex,_buffer", | |
| 7457 _writeSurrogate$2: function(leadingSurrogate, nextCodeUnit) { | |
| 7458 var t1, t2, t3, t4; | |
| 7459 if ((nextCodeUnit & 64512) === 56320) | |
| 7460 P._combineSurrogatePair(leadingSurrogate, nextCodeUnit); | |
| 7461 else { | |
| 7462 t1 = this._buffer; | |
| 7463 t2 = this._bufferIndex++; | |
| 7464 t3 = C.JSInt_methods.$or(224, leadingSurrogate.$shr(0, 12)); | |
| 7465 t4 = t1.length; | |
| 7466 if (t2 >= t4) | |
| 7467 return H.ioore(t1, t2); | |
| 7468 t1[t2] = t3; | |
| 7469 t3 = this._bufferIndex++; | |
| 7470 t2 = C.JSInt_methods.$or(128, leadingSurrogate.$shr(0, 6).$and(0, 63))
; | |
| 7471 if (t3 >= t4) | |
| 7472 return H.ioore(t1, t3); | |
| 7473 t1[t3] = t2; | |
| 7474 t2 = this._bufferIndex++; | |
| 7475 t3 = C.JSInt_methods.$or(128, leadingSurrogate.$and(0, 63)); | |
| 7476 if (t2 >= t4) | |
| 7477 return H.ioore(t1, t2); | |
| 7478 t1[t2] = t3; | |
| 7479 return false; | |
| 7480 } | |
| 7481 }, | |
| 7482 _fillBuffer$3: function(str, start, end) { | |
| 7483 var t1, t2, stringIndex, codeUnit, t3, stringIndex0, t4; | |
| 7484 if (P._isLeadSurrogate(str.codeUnitAt$1(0, end.$sub(0, 1)))) | |
| 7485 end = end.$sub(0, 1); | |
| 7486 for (t1 = this._buffer, t2 = t1.length, stringIndex = start; C.JSInt_met
hods.$lt(stringIndex, end); ++stringIndex) { | |
| 7487 codeUnit = str.codeUnitAt$1(0, stringIndex); | |
| 7488 if (codeUnit.$le(0, 127)) { | |
| 7489 t3 = this._bufferIndex; | |
| 7490 if (t3 >= t2) | |
| 7491 break; | |
| 7492 this._bufferIndex = t3 + 1; | |
| 7493 t1[t3] = codeUnit; | |
| 7494 } else if (P._isLeadSurrogate(codeUnit)) { | |
| 7495 if (this._bufferIndex + 3 >= t2) | |
| 7496 break; | |
| 7497 stringIndex0 = stringIndex + 1; | |
| 7498 if (this._writeSurrogate$2(codeUnit, str.codeUnitAt$1(0, stringIndex
0))) | |
| 7499 stringIndex = stringIndex0; | |
| 7500 } else if (codeUnit.$le(0, 2047)) { | |
| 7501 t3 = this._bufferIndex; | |
| 7502 t4 = t3 + 1; | |
| 7503 if (t4 >= t2) | |
| 7504 break; | |
| 7505 this._bufferIndex = t4; | |
| 7506 t4 = C.JSInt_methods.$or(192, codeUnit.$shr(0, 6)); | |
| 7507 if (t3 >= t2) | |
| 7508 return H.ioore(t1, t3); | |
| 7509 t1[t3] = t4; | |
| 7510 t4 = this._bufferIndex++; | |
| 7511 t3 = C.JSInt_methods.$or(128, codeUnit.$and(0, 63)); | |
| 7512 if (t4 >= t2) | |
| 7513 return H.ioore(t1, t4); | |
| 7514 t1[t4] = t3; | |
| 7515 } else { | |
| 7516 t3 = this._bufferIndex; | |
| 7517 if (t3 + 2 >= t2) | |
| 7518 break; | |
| 7519 this._bufferIndex = t3 + 1; | |
| 7520 t4 = C.JSInt_methods.$or(224, codeUnit.$shr(0, 12)); | |
| 7521 if (t3 >= t2) | |
| 7522 return H.ioore(t1, t3); | |
| 7523 t1[t3] = t4; | |
| 7524 t4 = this._bufferIndex++; | |
| 7525 t3 = C.JSInt_methods.$or(128, codeUnit.$shr(0, 6).$and(0, 63)); | |
| 7526 if (t4 >= t2) | |
| 7527 return H.ioore(t1, t4); | |
| 7528 t1[t4] = t3; | |
| 7529 t3 = this._bufferIndex++; | |
| 7530 t4 = C.JSInt_methods.$or(128, codeUnit.$and(0, 63)); | |
| 7531 if (t3 >= t2) | |
| 7532 return H.ioore(t1, t3); | |
| 7533 t1[t3] = t4; | |
| 7534 } | |
| 7535 } | |
| 7536 return stringIndex; | |
| 7537 } | |
| 7538 }, | |
| 7539 Utf8Decoder: { | |
| 7540 "^": "Converter;_allowMalformed", | |
| 7541 convert$3: function(codeUnits, start, end) { | |
| 7542 var $length, buffer, t1, decoder; | |
| 7543 $length = J.get$length$asx(codeUnits); | |
| 7544 P.RangeError_checkValidRange(start, end, $length, null, null, null); | |
| 7545 buffer = new P.StringBuffer(""); | |
| 7546 t1 = this._allowMalformed; | |
| 7547 decoder = new P._Utf8Decoder(t1, buffer, true, 0, 0, 0); | |
| 7548 decoder.convert$3(codeUnits, start, $length); | |
| 7549 if (decoder._expectedUnits > 0) { | |
| 7550 if (!t1) | |
| 7551 H.throwExpression(new P.FormatException("Unfinished UTF-8 octet sequ
ence", null, null)); | |
| 7552 buffer._contents += H.Primitives_stringFromCharCode(65533); | |
| 7553 decoder._convert$_value = 0; | |
| 7554 decoder._expectedUnits = 0; | |
| 7555 decoder._extraUnits = 0; | |
| 7556 } | |
| 7557 t1 = buffer._contents; | |
| 7558 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 7559 }, | |
| 7560 convert$1: function(codeUnits) { | |
| 7561 return this.convert$3(codeUnits, 0, null); | |
| 7562 }, | |
| 7563 $asConverter: function() { | |
| 7564 return [[P.List, P.$int], P.String]; | |
| 7565 } | |
| 7566 }, | |
| 7567 _Utf8Decoder: { | |
| 7568 "^": "Object;_allowMalformed,_stringSink,_isFirstCharacter,_convert$_value
,_expectedUnits,_extraUnits", | |
| 7569 convert$3: function(codeUnits, startIndex, endIndex) { | |
| 7570 var value, expectedUnits, extraUnits, t1, t2, t3, t4, t5, i, unit, t6, o
neBytes, i0; | |
| 7571 value = this._convert$_value; | |
| 7572 expectedUnits = this._expectedUnits; | |
| 7573 extraUnits = this._extraUnits; | |
| 7574 this._convert$_value = 0; | |
| 7575 this._expectedUnits = 0; | |
| 7576 this._extraUnits = 0; | |
| 7577 t1 = new P._Utf8Decoder_convert_scanOneByteCharacters(endIndex); | |
| 7578 t2 = new P._Utf8Decoder_convert_addSingleBytes(this, codeUnits, startInd
ex, endIndex); | |
| 7579 $loop$0: | |
| 7580 for (t3 = this._stringSink, t4 = !this._allowMalformed, t5 = J.getInte
rceptor$asx(codeUnits), i = startIndex; true; i = i0) { | |
| 7581 $multibyte$2: | |
| 7582 if (expectedUnits > 0) { | |
| 7583 do { | |
| 7584 if (i === endIndex) | |
| 7585 break $loop$0; | |
| 7586 unit = t5.$index(codeUnits, i); | |
| 7587 if (typeof unit !== "number") | |
| 7588 return unit.$and(); | |
| 7589 if ((unit & 192) !== 128) { | |
| 7590 if (t4) | |
| 7591 throw H.wrapException(new P.FormatException("Bad UTF-8 enc
oding 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null)); | |
| 7592 this._isFirstCharacter = false; | |
| 7593 t3._contents += H.Primitives_stringFromCharCode(65533); | |
| 7594 expectedUnits = 0; | |
| 7595 break $multibyte$2; | |
| 7596 } else { | |
| 7597 value = (value << 6 | unit & 63) >>> 0; | |
| 7598 --expectedUnits; | |
| 7599 ++i; | |
| 7600 } | |
| 7601 } while (expectedUnits > 0); | |
| 7602 t6 = extraUnits - 1; | |
| 7603 if (t6 < 0 || t6 >= 4) | |
| 7604 return H.ioore(C.List_127_2047_65535_1114111, t6); | |
| 7605 if (value <= C.List_127_2047_65535_1114111[t6]) { | |
| 7606 if (t4) | |
| 7607 throw H.wrapException(new P.FormatException("Overlong encodi
ng of 0x" + C.JSInt_methods.toRadixString$1(value, 16), null, null)); | |
| 7608 value = 65533; | |
| 7609 expectedUnits = 0; | |
| 7610 extraUnits = 0; | |
| 7611 } | |
| 7612 if (value > 1114111) { | |
| 7613 if (t4) | |
| 7614 throw H.wrapException(new P.FormatException("Character outsi
de valid Unicode range: 0x" + C.JSInt_methods.toRadixString$1(value, 16), null,
null)); | |
| 7615 value = 65533; | |
| 7616 } | |
| 7617 if (!this._isFirstCharacter || value !== 65279) | |
| 7618 t3._contents += H.Primitives_stringFromCharCode(value); | |
| 7619 this._isFirstCharacter = false; | |
| 7620 } | |
| 7621 for (; i < endIndex; i = i0) { | |
| 7622 oneBytes = t1.call$2(codeUnits, i); | |
| 7623 if (J.$gt$n(oneBytes, 0)) { | |
| 7624 this._isFirstCharacter = false; | |
| 7625 if (typeof oneBytes !== "number") | |
| 7626 return H.iae(oneBytes); | |
| 7627 i0 = i + oneBytes; | |
| 7628 t2.call$2(i, i0); | |
| 7629 if (i0 === endIndex) | |
| 7630 break; | |
| 7631 i = i0; | |
| 7632 } | |
| 7633 i0 = i + 1; | |
| 7634 unit = t5.$index(codeUnits, i); | |
| 7635 t6 = J.getInterceptor$n(unit); | |
| 7636 if (t6.$lt(unit, 0)) { | |
| 7637 if (t4) | |
| 7638 throw H.wrapException(new P.FormatException("Negative UTF-8 co
de unit: -0x" + J.toRadixString$1$n(t6.$negate(unit), 16), null, null)); | |
| 7639 t3._contents += H.Primitives_stringFromCharCode(65533); | |
| 7640 } else { | |
| 7641 if (typeof unit !== "number") | |
| 7642 return unit.$and(); | |
| 7643 if ((unit & 224) === 192) { | |
| 7644 value = unit & 31; | |
| 7645 expectedUnits = 1; | |
| 7646 extraUnits = 1; | |
| 7647 continue $loop$0; | |
| 7648 } | |
| 7649 if ((unit & 240) === 224) { | |
| 7650 value = unit & 15; | |
| 7651 expectedUnits = 2; | |
| 7652 extraUnits = 2; | |
| 7653 continue $loop$0; | |
| 7654 } | |
| 7655 if ((unit & 248) === 240 && unit < 245) { | |
| 7656 value = unit & 7; | |
| 7657 expectedUnits = 3; | |
| 7658 extraUnits = 3; | |
| 7659 continue $loop$0; | |
| 7660 } | |
| 7661 if (t4) | |
| 7662 throw H.wrapException(new P.FormatException("Bad UTF-8 encodin
g 0x" + C.JSNumber_methods.toRadixString$1(unit, 16), null, null)); | |
| 7663 this._isFirstCharacter = false; | |
| 7664 t3._contents += H.Primitives_stringFromCharCode(65533); | |
| 7665 value = 65533; | |
| 7666 expectedUnits = 0; | |
| 7667 extraUnits = 0; | |
| 7668 } | |
| 7669 } | |
| 7670 break $loop$0; | |
| 7671 } | |
| 7672 if (expectedUnits > 0) { | |
| 7673 this._convert$_value = value; | |
| 7674 this._expectedUnits = expectedUnits; | |
| 7675 this._extraUnits = extraUnits; | |
| 7676 } | |
| 7677 } | |
| 7678 }, | |
| 7679 _Utf8Decoder_convert_scanOneByteCharacters: { | |
| 7680 "^": "Closure:19;_captured_endIndex_0", | |
| 7681 call$2: function(units, from) { | |
| 7682 var to, t1, i, unit; | |
| 7683 to = this._captured_endIndex_0; | |
| 7684 for (t1 = J.getInterceptor$asx(units), i = from; i < to; ++i) { | |
| 7685 unit = t1.$index(units, i); | |
| 7686 if (typeof unit !== "number") | |
| 7687 return unit.$and(); | |
| 7688 if ((unit & 127) !== unit) | |
| 7689 return i - from; | |
| 7690 } | |
| 7691 return to - from; | |
| 7692 } | |
| 7693 }, | |
| 7694 _Utf8Decoder_convert_addSingleBytes: { | |
| 7695 "^": "Closure:20;_captured_this_1,_captured_codeUnits_2,_captured_startInd
ex_3,_captured_endIndex_4", | |
| 7696 call$2: function(from, to) { | |
| 7697 this._captured_this_1._stringSink._contents += P.String_String$fromCharC
odes(this._captured_codeUnits_2, from, to); | |
| 7698 } | |
| 7699 } | |
| 7700 }], ["dart.core", "dart:core",, P, { | |
| 7701 "^": "", | |
| 7702 _symbolToString: function(symbol) { | |
| 7703 return H.Symbol_getName(symbol); | |
| 7704 }, | |
| 7705 String__stringFromIterable: function(charCodes, start, end) { | |
| 7706 var t1, it, i, list; | |
| 7707 if (start < 0) | |
| 7708 throw H.wrapException(P.RangeError$range(start, 0, J.get$length$asx(char
Codes), null, null)); | |
| 7709 t1 = end == null; | |
| 7710 if (!t1 && end < start) | |
| 7711 throw H.wrapException(P.RangeError$range(end, start, J.get$length$asx(ch
arCodes), null, null)); | |
| 7712 it = J.get$iterator$ax(charCodes); | |
| 7713 for (i = 0; i < start; ++i) | |
| 7714 if (!it.moveNext$0()) | |
| 7715 throw H.wrapException(P.RangeError$range(start, 0, i, null, null)); | |
| 7716 list = []; | |
| 7717 if (t1) | |
| 7718 for (; it.moveNext$0();) | |
| 7719 list.push(it.get$current()); | |
| 7720 else | |
| 7721 for (i = start; i < end; ++i) { | |
| 7722 if (!it.moveNext$0()) | |
| 7723 throw H.wrapException(P.RangeError$range(end, start, i, null, null))
; | |
| 7724 list.push(it.get$current()); | |
| 7725 } | |
| 7726 return H.Primitives_stringFromCharCodes(list); | |
| 7727 }, | |
| 7728 Error_safeToString: function(object) { | |
| 7729 if (typeof object === "number" || typeof object === "boolean" || null == o
bject) | |
| 7730 return J.toString$0$(object); | |
| 7731 if (typeof object === "string") | |
| 7732 return JSON.stringify(object); | |
| 7733 return P.Error__objectToString(object); | |
| 7734 }, | |
| 7735 Error__objectToString: function(object) { | |
| 7736 var t1 = J.getInterceptor(object); | |
| 7737 if (!!t1.$isClosure) | |
| 7738 return t1.toString$0(object); | |
| 7739 return H.Primitives_objectToHumanReadableString(object); | |
| 7740 }, | |
| 7741 Exception_Exception: function(message) { | |
| 7742 return new P._Exception(message); | |
| 7743 }, | |
| 7744 List_List$filled: function($length, fill, $E) { | |
| 7745 var result, t1, i; | |
| 7746 result = J.JSArray_JSArray$fixed($length, $E); | |
| 7747 if ($length !== 0 && true) | |
| 7748 for (t1 = result.length, i = 0; i < t1; ++i) | |
| 7749 result[i] = fill; | |
| 7750 return result; | |
| 7751 }, | |
| 7752 List_List$from: function(elements, growable, $E) { | |
| 7753 var list, t1; | |
| 7754 list = H.setRuntimeTypeInfo([], [$E]); | |
| 7755 for (t1 = J.get$iterator$ax(elements); t1.moveNext$0();) | |
| 7756 list.push(t1.get$current()); | |
| 7757 if (growable) | |
| 7758 return list; | |
| 7759 list.fixed$length = Array; | |
| 7760 return list; | |
| 7761 }, | |
| 7762 List_List$generate: function($length, generator, growable, $E) { | |
| 7763 var result, t1, i; | |
| 7764 if (growable) { | |
| 7765 result = H.setRuntimeTypeInfo([], [$E]); | |
| 7766 C.JSArray_methods.set$length(result, $length); | |
| 7767 } else { | |
| 7768 t1 = new Array($length); | |
| 7769 t1.fixed$length = Array; | |
| 7770 result = H.setRuntimeTypeInfo(t1, [$E]); | |
| 7771 } | |
| 7772 for (i = 0; i < $length; ++i) { | |
| 7773 t1 = generator.call$1(i); | |
| 7774 if (i >= result.length) | |
| 7775 return H.ioore(result, i); | |
| 7776 result[i] = t1; | |
| 7777 } | |
| 7778 return result; | |
| 7779 }, | |
| 7780 print: function(object) { | |
| 7781 var line = H.S(object); | |
| 7782 H.printString(line); | |
| 7783 }, | |
| 7784 RegExp_RegExp: function(source, caseSensitive, multiLine) { | |
| 7785 return new H.JSSyntaxRegExp(source, H.JSSyntaxRegExp_makeNative(source, mu
ltiLine, caseSensitive, false), null, null); | |
| 7786 }, | |
| 7787 String_String$fromCharCodes: function(charCodes, start, end) { | |
| 7788 var len; | |
| 7789 if (charCodes.constructor === Array) { | |
| 7790 len = charCodes.length; | |
| 7791 end = P.RangeError_checkValidRange(start, end, len, null, null, null); | |
| 7792 return H.Primitives_stringFromCharCodes(start > 0 || end < len ? C.JSArr
ay_methods.sublist$2(charCodes, start, end) : charCodes); | |
| 7793 } | |
| 7794 return P.String__stringFromIterable(charCodes, start, end); | |
| 7795 }, | |
| 7796 NoSuchMethodError_toString_closure: { | |
| 7797 "^": "Closure:21;_core$_box_0,_captured_sb_1", | |
| 7798 call$2: function(key, value) { | |
| 7799 this._captured_sb_1._contents += this._core$_box_0._captured_comma_0; | |
| 7800 P._symbolToString(key); | |
| 7801 } | |
| 7802 }, | |
| 7803 bool: { | |
| 7804 "^": "Object;" | |
| 7805 }, | |
| 7806 "+bool": 0, | |
| 7807 DateTime: { | |
| 7808 "^": "Object;" | |
| 7809 }, | |
| 7810 $double: { | |
| 7811 "^": "num;" | |
| 7812 }, | |
| 7813 "+double": 0, | |
| 7814 Duration: { | |
| 7815 "^": "Object;_duration<", | |
| 7816 $add: function(_, other) { | |
| 7817 return new P.Duration(this._duration + other.get$_duration()); | |
| 7818 }, | |
| 7819 $sub: function(_, other) { | |
| 7820 return new P.Duration(this._duration - other.get$_duration()); | |
| 7821 }, | |
| 7822 $lt: function(_, other) { | |
| 7823 return this._duration < other.get$_duration(); | |
| 7824 }, | |
| 7825 $gt: function(_, other) { | |
| 7826 return this._duration > other.get$_duration(); | |
| 7827 }, | |
| 7828 $eq: function(_, other) { | |
| 7829 if (other == null) | |
| 7830 return false; | |
| 7831 if (!(other instanceof P.Duration)) | |
| 7832 return false; | |
| 7833 return this._duration === other._duration; | |
| 7834 }, | |
| 7835 get$hashCode: function(_) { | |
| 7836 return this._duration & 0x1FFFFFFF; | |
| 7837 }, | |
| 7838 toString$0: function(_) { | |
| 7839 var t1, t2, twoDigitMinutes, twoDigitSeconds, sixDigitUs; | |
| 7840 t1 = new P.Duration_toString_twoDigits(); | |
| 7841 t2 = this._duration; | |
| 7842 if (t2 < 0) | |
| 7843 return "-" + new P.Duration(-t2).toString$0(0); | |
| 7844 twoDigitMinutes = t1.call$1(C.JSInt_methods.remainder$1(C.JSInt_methods.
_tdivFast$1(t2, 60000000), 60)); | |
| 7845 twoDigitSeconds = t1.call$1(C.JSInt_methods.remainder$1(C.JSInt_methods.
_tdivFast$1(t2, 1000000), 60)); | |
| 7846 sixDigitUs = new P.Duration_toString_sixDigits().call$1(C.JSInt_methods.
remainder$1(t2, 1000000)); | |
| 7847 return "" + C.JSInt_methods._tdivFast$1(t2, 3600000000) + ":" + H.S(twoD
igitMinutes) + ":" + H.S(twoDigitSeconds) + "." + H.S(sixDigitUs); | |
| 7848 }, | |
| 7849 abs$0: function(_) { | |
| 7850 return new P.Duration(Math.abs(this._duration)); | |
| 7851 }, | |
| 7852 $negate: function(_) { | |
| 7853 return new P.Duration(-this._duration); | |
| 7854 } | |
| 7855 }, | |
| 7856 Duration_toString_sixDigits: { | |
| 7857 "^": "Closure:8;", | |
| 7858 call$1: function(n) { | |
| 7859 if (n >= 100000) | |
| 7860 return "" + n; | |
| 7861 if (n >= 10000) | |
| 7862 return "0" + n; | |
| 7863 if (n >= 1000) | |
| 7864 return "00" + n; | |
| 7865 if (n >= 100) | |
| 7866 return "000" + n; | |
| 7867 if (n >= 10) | |
| 7868 return "0000" + n; | |
| 7869 return "00000" + n; | |
| 7870 } | |
| 7871 }, | |
| 7872 Duration_toString_twoDigits: { | |
| 7873 "^": "Closure:8;", | |
| 7874 call$1: function(n) { | |
| 7875 if (n >= 10) | |
| 7876 return "" + n; | |
| 7877 return "0" + n; | |
| 7878 } | |
| 7879 }, | |
| 7880 Error: { | |
| 7881 "^": "Object;", | |
| 7882 get$stackTrace: function() { | |
| 7883 return H.getTraceFromException(this.$thrownJsError); | |
| 7884 } | |
| 7885 }, | |
| 7886 NullThrownError: { | |
| 7887 "^": "Error;", | |
| 7888 toString$0: function(_) { | |
| 7889 return "Throw of null."; | |
| 7890 } | |
| 7891 }, | |
| 7892 ArgumentError: { | |
| 7893 "^": "Error;_hasValue,invalidValue,name>,message>", | |
| 7894 get$_errorName: function() { | |
| 7895 return "Invalid argument" + (!this._hasValue ? "(s)" : ""); | |
| 7896 }, | |
| 7897 get$_errorExplanation: function() { | |
| 7898 return ""; | |
| 7899 }, | |
| 7900 toString$0: function(_) { | |
| 7901 var t1, nameString, message, prefix, explanation, errorValue; | |
| 7902 t1 = this.name; | |
| 7903 nameString = t1 != null ? " (" + H.S(t1) + ")" : ""; | |
| 7904 t1 = this.message; | |
| 7905 message = t1 == null ? "" : ": " + H.S(t1); | |
| 7906 prefix = this.get$_errorName() + nameString + message; | |
| 7907 if (!this._hasValue) | |
| 7908 return prefix; | |
| 7909 explanation = this.get$_errorExplanation(); | |
| 7910 errorValue = P.Error_safeToString(this.invalidValue); | |
| 7911 return prefix + explanation + ": " + H.S(errorValue); | |
| 7912 }, | |
| 7913 static: {ArgumentError$: function(message) { | |
| 7914 return new P.ArgumentError(false, null, null, message); | |
| 7915 }, ArgumentError$value: function(value, $name, message) { | |
| 7916 return new P.ArgumentError(true, value, $name, message); | |
| 7917 }} | |
| 7918 }, | |
| 7919 RangeError: { | |
| 7920 "^": "ArgumentError;start,end,_hasValue,invalidValue,name,message", | |
| 7921 get$_errorName: function() { | |
| 7922 return "RangeError"; | |
| 7923 }, | |
| 7924 get$_errorExplanation: function() { | |
| 7925 var t1, explanation, t2; | |
| 7926 t1 = this.start; | |
| 7927 if (t1 == null) { | |
| 7928 t1 = this.end; | |
| 7929 explanation = t1 != null ? ": Not less than or equal to " + H.S(t1) :
""; | |
| 7930 } else { | |
| 7931 t2 = this.end; | |
| 7932 if (t2 == null) | |
| 7933 explanation = ": Not greater than or equal to " + H.S(t1); | |
| 7934 else { | |
| 7935 if (typeof t2 !== "number") | |
| 7936 return t2.$gt(); | |
| 7937 if (typeof t1 !== "number") | |
| 7938 return H.iae(t1); | |
| 7939 if (t2 > t1) | |
| 7940 explanation = ": Not in range " + t1 + ".." + t2 + ", inclusive"; | |
| 7941 else | |
| 7942 explanation = t2 < t1 ? ": Valid value range is empty" : ": Only v
alid value is " + t1; | |
| 7943 } | |
| 7944 } | |
| 7945 return explanation; | |
| 7946 }, | |
| 7947 static: {RangeError$: function(message) { | |
| 7948 return new P.RangeError(null, null, false, null, null, message); | |
| 7949 }, RangeError$value: function(value, $name, message) { | |
| 7950 return new P.RangeError(null, null, true, value, $name, "Value not in
range"); | |
| 7951 }, RangeError$range: function(invalidValue, minValue, maxValue, $name, m
essage) { | |
| 7952 return new P.RangeError(minValue, maxValue, true, invalidValue, $name,
"Invalid value"); | |
| 7953 }, RangeError_checkValueInInterval: function(value, minValue, maxValue,
$name, message) { | |
| 7954 if (value < minValue || value > maxValue) | |
| 7955 throw H.wrapException(P.RangeError$range(value, minValue, maxValue,
$name, message)); | |
| 7956 }, RangeError_checkValidRange: function(start, end, $length, startName,
endName, message) { | |
| 7957 if (0 > start || start > $length) | |
| 7958 throw H.wrapException(P.RangeError$range(start, 0, $length, "start",
message)); | |
| 7959 if (end != null) { | |
| 7960 if (start > end || end > $length) | |
| 7961 throw H.wrapException(P.RangeError$range(end, start, $length, "end
", message)); | |
| 7962 return end; | |
| 7963 } | |
| 7964 return $length; | |
| 7965 }} | |
| 7966 }, | |
| 7967 IndexError: { | |
| 7968 "^": "ArgumentError;indexable,length>,_hasValue,invalidValue,name,message"
, | |
| 7969 get$_errorName: function() { | |
| 7970 return "RangeError"; | |
| 7971 }, | |
| 7972 get$_errorExplanation: function() { | |
| 7973 if (J.$lt$n(this.invalidValue, 0)) | |
| 7974 return ": index must not be negative"; | |
| 7975 var t1 = this.length; | |
| 7976 if (J.$eq$(t1, 0)) | |
| 7977 return ": no indices are valid"; | |
| 7978 return ": index should be less than " + H.S(t1); | |
| 7979 }, | |
| 7980 static: {IndexError$: function(invalidValue, indexable, $name, message, $l
ength) { | |
| 7981 var t1 = $length != null ? $length : J.get$length$asx(indexable); | |
| 7982 return new P.IndexError(indexable, t1, true, invalidValue, $name, "Ind
ex out of range"); | |
| 7983 }} | |
| 7984 }, | |
| 7985 UnsupportedError: { | |
| 7986 "^": "Error;message>", | |
| 7987 toString$0: function(_) { | |
| 7988 return "Unsupported operation: " + this.message; | |
| 7989 } | |
| 7990 }, | |
| 7991 UnimplementedError: { | |
| 7992 "^": "Error;message>", | |
| 7993 toString$0: function(_) { | |
| 7994 var t1 = this.message; | |
| 7995 return t1 != null ? "UnimplementedError: " + H.S(t1) : "UnimplementedErr
or"; | |
| 7996 } | |
| 7997 }, | |
| 7998 StateError: { | |
| 7999 "^": "Error;message>", | |
| 8000 toString$0: function(_) { | |
| 8001 return "Bad state: " + this.message; | |
| 8002 } | |
| 8003 }, | |
| 8004 ConcurrentModificationError: { | |
| 8005 "^": "Error;modifiedObject", | |
| 8006 toString$0: function(_) { | |
| 8007 var t1 = this.modifiedObject; | |
| 8008 if (t1 == null) | |
| 8009 return "Concurrent modification during iteration."; | |
| 8010 return "Concurrent modification during iteration: " + H.S(P.Error_safeTo
String(t1)) + "."; | |
| 8011 } | |
| 8012 }, | |
| 8013 OutOfMemoryError: { | |
| 8014 "^": "Object;", | |
| 8015 toString$0: function(_) { | |
| 8016 return "Out of Memory"; | |
| 8017 }, | |
| 8018 get$stackTrace: function() { | |
| 8019 return; | |
| 8020 }, | |
| 8021 $isError: 1 | |
| 8022 }, | |
| 8023 StackOverflowError: { | |
| 8024 "^": "Object;", | |
| 8025 toString$0: function(_) { | |
| 8026 return "Stack Overflow"; | |
| 8027 }, | |
| 8028 get$stackTrace: function() { | |
| 8029 return; | |
| 8030 }, | |
| 8031 $isError: 1 | |
| 8032 }, | |
| 8033 CyclicInitializationError: { | |
| 8034 "^": "Error;variableName", | |
| 8035 toString$0: function(_) { | |
| 8036 return "Reading static variable '" + this.variableName + "' during its i
nitialization"; | |
| 8037 } | |
| 8038 }, | |
| 8039 _Exception: { | |
| 8040 "^": "Object;message>", | |
| 8041 toString$0: function(_) { | |
| 8042 var t1 = this.message; | |
| 8043 if (t1 == null) | |
| 8044 return "Exception"; | |
| 8045 return "Exception: " + H.S(t1); | |
| 8046 } | |
| 8047 }, | |
| 8048 FormatException: { | |
| 8049 "^": "Object;message>,source,offset", | |
| 8050 toString$0: function(_) { | |
| 8051 var t1, report, offset, source, lineNum, lineStart, lastWasCR, i, $char,
lineEnd, end, start, prefix, postfix, slice; | |
| 8052 t1 = this.message; | |
| 8053 report = t1 != null && "" !== t1 ? "FormatException: " + H.S(t1) : "Form
atException"; | |
| 8054 offset = this.offset; | |
| 8055 source = this.source; | |
| 8056 if (typeof source !== "string") | |
| 8057 return offset != null ? report + (" (at offset " + H.S(offset) + ")")
: report; | |
| 8058 if (offset != null) | |
| 8059 t1 = offset < 0 || offset > source.length; | |
| 8060 else | |
| 8061 t1 = false; | |
| 8062 if (t1) | |
| 8063 offset = null; | |
| 8064 if (offset == null) { | |
| 8065 if (source.length > 78) | |
| 8066 source = J.substring$2$s(source, 0, 75) + "..."; | |
| 8067 return report + "\n" + H.S(source); | |
| 8068 } | |
| 8069 for (t1 = J.getInterceptor$s(source), lineNum = 1, lineStart = 0, lastWa
sCR = null, i = 0; i < offset; ++i) { | |
| 8070 $char = t1.codeUnitAt$1(source, i); | |
| 8071 if ($char === 10) { | |
| 8072 if (lineStart !== i || lastWasCR !== true) | |
| 8073 ++lineNum; | |
| 8074 lineStart = i + 1; | |
| 8075 lastWasCR = false; | |
| 8076 } else if ($char === 13) { | |
| 8077 ++lineNum; | |
| 8078 lineStart = i + 1; | |
| 8079 lastWasCR = true; | |
| 8080 } | |
| 8081 } | |
| 8082 report = lineNum > 1 ? report + (" (at line " + lineNum + ", character "
+ (offset - lineStart + 1) + ")\n") : report + (" (at character " + (offset + 1
) + ")\n"); | |
| 8083 lineEnd = source.length; | |
| 8084 for (i = offset; i < lineEnd; ++i) { | |
| 8085 $char = t1.codeUnitAt$1(source, i); | |
| 8086 if ($char === 10 || $char === 13) { | |
| 8087 lineEnd = i; | |
| 8088 break; | |
| 8089 } | |
| 8090 } | |
| 8091 if (lineEnd - lineStart > 78) | |
| 8092 if (offset - lineStart < 75) { | |
| 8093 end = lineStart + 75; | |
| 8094 start = lineStart; | |
| 8095 prefix = ""; | |
| 8096 postfix = "..."; | |
| 8097 } else { | |
| 8098 if (lineEnd - offset < 75) { | |
| 8099 start = lineEnd - 75; | |
| 8100 end = lineEnd; | |
| 8101 postfix = ""; | |
| 8102 } else { | |
| 8103 start = offset - 36; | |
| 8104 end = offset + 36; | |
| 8105 postfix = "..."; | |
| 8106 } | |
| 8107 prefix = "..."; | |
| 8108 } | |
| 8109 else { | |
| 8110 end = lineEnd; | |
| 8111 start = lineStart; | |
| 8112 prefix = ""; | |
| 8113 postfix = ""; | |
| 8114 } | |
| 8115 slice = t1.substring$2(source, start, end); | |
| 8116 return report + prefix + slice + postfix + "\n" + C.JSString_methods.$mu
l(" ", offset - start + prefix.length) + "^\n"; | |
| 8117 } | |
| 8118 }, | |
| 8119 Expando: { | |
| 8120 "^": "Object;name>", | |
| 8121 toString$0: function(_) { | |
| 8122 return "Expando:" + H.S(this.name); | |
| 8123 }, | |
| 8124 $index: function(_, object) { | |
| 8125 var values = H.Primitives_getProperty(object, "expando$values"); | |
| 8126 return values == null ? null : H.Primitives_getProperty(values, this._ge
tKey$0()); | |
| 8127 }, | |
| 8128 $indexSet: function(_, object, value) { | |
| 8129 var values = H.Primitives_getProperty(object, "expando$values"); | |
| 8130 if (values == null) { | |
| 8131 values = new P.Object(); | |
| 8132 H.Primitives_setProperty(object, "expando$values", values); | |
| 8133 } | |
| 8134 H.Primitives_setProperty(values, this._getKey$0(), value); | |
| 8135 }, | |
| 8136 _getKey$0: function() { | |
| 8137 var key, t1; | |
| 8138 key = H.Primitives_getProperty(this, "expando$key"); | |
| 8139 if (key == null) { | |
| 8140 t1 = $.Expando__keyCount; | |
| 8141 $.Expando__keyCount = t1 + 1; | |
| 8142 key = "expando$key$" + t1; | |
| 8143 H.Primitives_setProperty(this, "expando$key", key); | |
| 8144 } | |
| 8145 return key; | |
| 8146 } | |
| 8147 }, | |
| 8148 Function: { | |
| 8149 "^": "Object;" | |
| 8150 }, | |
| 8151 $int: { | |
| 8152 "^": "num;" | |
| 8153 }, | |
| 8154 "+int": 0, | |
| 8155 Iterable: { | |
| 8156 "^": "Object;", | |
| 8157 map$1: function(_, f) { | |
| 8158 return H.MappedIterable_MappedIterable(this, f, H.getRuntimeTypeArgument
(this, "Iterable", 0), null); | |
| 8159 }, | |
| 8160 where$1: ["super$Iterable$where", function(_, f) { | |
| 8161 return H.setRuntimeTypeInfo(new H.WhereIterable(this, f), [H.getRuntimeT
ypeArgument(this, "Iterable", 0)]); | |
| 8162 }], | |
| 8163 contains$1: function(_, element) { | |
| 8164 var t1; | |
| 8165 for (t1 = this.get$iterator(this); t1.moveNext$0();) | |
| 8166 if (J.$eq$(t1.get$current(), element)) | |
| 8167 return true; | |
| 8168 return false; | |
| 8169 }, | |
| 8170 forEach$1: function(_, f) { | |
| 8171 var t1; | |
| 8172 for (t1 = this.get$iterator(this); t1.moveNext$0();) | |
| 8173 f.call$1(t1.get$current()); | |
| 8174 }, | |
| 8175 toList$1$growable: function(_, growable) { | |
| 8176 return P.List_List$from(this, growable, H.getRuntimeTypeArgument(this, "
Iterable", 0)); | |
| 8177 }, | |
| 8178 toList$0: function($receiver) { | |
| 8179 return this.toList$1$growable($receiver, true); | |
| 8180 }, | |
| 8181 get$length: function(_) { | |
| 8182 var it, count; | |
| 8183 it = this.get$iterator(this); | |
| 8184 for (count = 0; it.moveNext$0();) | |
| 8185 ++count; | |
| 8186 return count; | |
| 8187 }, | |
| 8188 get$isEmpty: function(_) { | |
| 8189 return !this.get$iterator(this).moveNext$0(); | |
| 8190 }, | |
| 8191 get$isNotEmpty: function(_) { | |
| 8192 return this.get$isEmpty(this) !== true; | |
| 8193 }, | |
| 8194 get$last: function(_) { | |
| 8195 var it, result; | |
| 8196 it = this.get$iterator(this); | |
| 8197 if (!it.moveNext$0()) | |
| 8198 throw H.wrapException(H.IterableElementError_noElement()); | |
| 8199 do | |
| 8200 result = it.get$current(); | |
| 8201 while (it.moveNext$0()); | |
| 8202 return result; | |
| 8203 }, | |
| 8204 get$single: function(_) { | |
| 8205 var it, result; | |
| 8206 it = this.get$iterator(this); | |
| 8207 if (!it.moveNext$0()) | |
| 8208 throw H.wrapException(H.IterableElementError_noElement()); | |
| 8209 result = it.get$current(); | |
| 8210 if (it.moveNext$0()) | |
| 8211 throw H.wrapException(H.IterableElementError_tooMany()); | |
| 8212 return result; | |
| 8213 }, | |
| 8214 elementAt$1: function(_, index) { | |
| 8215 var t1, elementIndex, element; | |
| 8216 if (index < 0) | |
| 8217 H.throwExpression(P.RangeError$range(index, 0, null, "index", null)); | |
| 8218 for (t1 = this.get$iterator(this), elementIndex = 0; t1.moveNext$0();) { | |
| 8219 element = t1.get$current(); | |
| 8220 if (index === elementIndex) | |
| 8221 return element; | |
| 8222 ++elementIndex; | |
| 8223 } | |
| 8224 throw H.wrapException(P.IndexError$(index, this, "index", null, elementI
ndex)); | |
| 8225 }, | |
| 8226 toString$0: function(_) { | |
| 8227 return P.IterableBase_iterableToShortString(this, "(", ")"); | |
| 8228 } | |
| 8229 }, | |
| 8230 Iterator: { | |
| 8231 "^": "Object;" | |
| 8232 }, | |
| 8233 List: { | |
| 8234 "^": "Object;", | |
| 8235 $asList: null, | |
| 8236 $isEfficientLength: 1 | |
| 8237 }, | |
| 8238 "+List": 0, | |
| 8239 Map: { | |
| 8240 "^": "Object;" | |
| 8241 }, | |
| 8242 Null: { | |
| 8243 "^": "Object;", | |
| 8244 toString$0: function(_) { | |
| 8245 return "null"; | |
| 8246 } | |
| 8247 }, | |
| 8248 "+Null": 0, | |
| 8249 num: { | |
| 8250 "^": "Object;" | |
| 8251 }, | |
| 8252 "+num": 0, | |
| 8253 Object: { | |
| 8254 "^": ";", | |
| 8255 $eq: function(_, other) { | |
| 8256 return this === other; | |
| 8257 }, | |
| 8258 get$hashCode: function(_) { | |
| 8259 return H.Primitives_objectHashCode(this); | |
| 8260 }, | |
| 8261 toString$0: function(_) { | |
| 8262 return H.Primitives_objectToHumanReadableString(this); | |
| 8263 } | |
| 8264 }, | |
| 8265 Match: { | |
| 8266 "^": "Object;" | |
| 8267 }, | |
| 8268 StackTrace: { | |
| 8269 "^": "Object;" | |
| 8270 }, | |
| 8271 String: { | |
| 8272 "^": "Object;", | |
| 8273 $isPattern: 1 | |
| 8274 }, | |
| 8275 "+String": 0, | |
| 8276 StringBuffer: { | |
| 8277 "^": "Object;_contents<", | |
| 8278 get$length: function(_) { | |
| 8279 return this._contents.length; | |
| 8280 }, | |
| 8281 get$isEmpty: function(_) { | |
| 8282 return this._contents.length === 0; | |
| 8283 }, | |
| 8284 get$isNotEmpty: function(_) { | |
| 8285 return this._contents.length !== 0; | |
| 8286 }, | |
| 8287 toString$0: function(_) { | |
| 8288 var t1 = this._contents; | |
| 8289 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 8290 }, | |
| 8291 static: {StringBuffer__writeAll: function(string, objects, separator) { | |
| 8292 var iterator = J.get$iterator$ax(objects); | |
| 8293 if (!iterator.moveNext$0()) | |
| 8294 return string; | |
| 8295 if (separator.length === 0) { | |
| 8296 do | |
| 8297 string += H.S(iterator.get$current()); | |
| 8298 while (iterator.moveNext$0()); | |
| 8299 } else { | |
| 8300 string += H.S(iterator.get$current()); | |
| 8301 for (; iterator.moveNext$0();) | |
| 8302 string = string + separator + H.S(iterator.get$current()); | |
| 8303 } | |
| 8304 return string; | |
| 8305 }} | |
| 8306 }, | |
| 8307 Symbol: { | |
| 8308 "^": "Object;" | |
| 8309 }, | |
| 8310 Uri: { | |
| 8311 "^": "Object;_host,_port,_path,scheme<,_userInfo,_query,_fragment,_pathSeg
ments,_queryParameters", | |
| 8312 get$host: function(_) { | |
| 8313 var t1 = this._host; | |
| 8314 if (t1 == null) | |
| 8315 return ""; | |
| 8316 if (J.getInterceptor$s(t1).startsWith$1(t1, "[")) | |
| 8317 return C.JSString_methods.substring$2(t1, 1, t1.length - 1); | |
| 8318 return t1; | |
| 8319 }, | |
| 8320 get$port: function(_) { | |
| 8321 var t1 = this._port; | |
| 8322 if (t1 == null) | |
| 8323 return P.Uri__defaultPort(this.scheme); | |
| 8324 return t1; | |
| 8325 }, | |
| 8326 get$pathSegments: function() { | |
| 8327 var t1, pathToSplit; | |
| 8328 t1 = this._pathSegments; | |
| 8329 if (t1 == null) { | |
| 8330 pathToSplit = this._path; | |
| 8331 if (pathToSplit.length !== 0 && C.JSString_methods.codeUnitAt$1(pathTo
Split, 0) === 47) | |
| 8332 pathToSplit = C.JSString_methods.substring$1(pathToSplit, 1); | |
| 8333 t1 = H.setRuntimeTypeInfo(new P.UnmodifiableListView(pathToSplit === "
" ? C.List_empty0 : H.setRuntimeTypeInfo(new H.MappedListIterable(pathToSplit.sp
lit("/"), P.core_Uri_decodeComponent$closure()), [null, null]).toList$1$growable
(0, false)), [null]); | |
| 8334 this._pathSegments = t1; | |
| 8335 } | |
| 8336 return t1; | |
| 8337 }, | |
| 8338 _mergePaths$2: function(base, reference) { | |
| 8339 var backCount, refStart, baseEnd, newEnd, delta, t1; | |
| 8340 for (backCount = 0, refStart = 0; C.JSString_methods.startsWith$2(refere
nce, "../", refStart);) { | |
| 8341 refStart += 3; | |
| 8342 ++backCount; | |
| 8343 } | |
| 8344 baseEnd = C.JSString_methods.lastIndexOf$1(base, "/"); | |
| 8345 while (true) { | |
| 8346 if (!(baseEnd > 0 && backCount > 0)) | |
| 8347 break; | |
| 8348 newEnd = C.JSString_methods.lastIndexOf$2(base, "/", baseEnd - 1); | |
| 8349 if (newEnd < 0) | |
| 8350 break; | |
| 8351 delta = baseEnd - newEnd; | |
| 8352 t1 = delta !== 2; | |
| 8353 if (!t1 || delta === 3) | |
| 8354 if (C.JSString_methods.codeUnitAt$1(base, newEnd + 1) === 46) | |
| 8355 t1 = !t1 || C.JSString_methods.codeUnitAt$1(base, newEnd + 2) ===
46; | |
| 8356 else | |
| 8357 t1 = false; | |
| 8358 else | |
| 8359 t1 = false; | |
| 8360 if (t1) | |
| 8361 break; | |
| 8362 --backCount; | |
| 8363 baseEnd = newEnd; | |
| 8364 } | |
| 8365 return C.JSString_methods.replaceRange$3(base, baseEnd + 1, null, C.JSSt
ring_methods.substring$1(reference, refStart - 3 * backCount)); | |
| 8366 }, | |
| 8367 toFilePath$1$windows: function(windows) { | |
| 8368 var t1 = this.scheme; | |
| 8369 if (t1 !== "" && t1 !== "file") | |
| 8370 throw H.wrapException(new P.UnsupportedError("Cannot extract a file pa
th from a " + t1 + " URI")); | |
| 8371 t1 = this._query; | |
| 8372 if ((t1 == null ? "" : t1) !== "") | |
| 8373 throw H.wrapException(new P.UnsupportedError("Cannot extract a file pa
th from a URI with a query component")); | |
| 8374 t1 = this._fragment; | |
| 8375 if ((t1 == null ? "" : t1) !== "") | |
| 8376 throw H.wrapException(new P.UnsupportedError("Cannot extract a file pa
th from a URI with a fragment component")); | |
| 8377 if (this.get$host(this) !== "") | |
| 8378 H.throwExpression(new P.UnsupportedError("Cannot extract a non-Windows
file path from a file URI with an authority")); | |
| 8379 P.Uri__checkNonWindowsPathReservedCharacters(this.get$pathSegments(), fa
lse); | |
| 8380 t1 = this.get$_isPathAbsolute() ? "/" : ""; | |
| 8381 t1 = P.StringBuffer__writeAll(t1, this.get$pathSegments(), "/"); | |
| 8382 t1 = t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 8383 return t1; | |
| 8384 }, | |
| 8385 toFilePath$0: function() { | |
| 8386 return this.toFilePath$1$windows(null); | |
| 8387 }, | |
| 8388 get$_isPathAbsolute: function() { | |
| 8389 if (this._path.length === 0) | |
| 8390 return false; | |
| 8391 return C.JSString_methods.startsWith$1(this._path, "/"); | |
| 8392 }, | |
| 8393 toString$0: function(_) { | |
| 8394 var t1, t2, t3, t4; | |
| 8395 t1 = this.scheme; | |
| 8396 t2 = "" !== t1 ? t1 + ":" : ""; | |
| 8397 t3 = this._host; | |
| 8398 t4 = t3 == null; | |
| 8399 if (!t4 || C.JSString_methods.startsWith$1(this._path, "//") || t1 === "
file") { | |
| 8400 t1 = t2 + "//"; | |
| 8401 t2 = this._userInfo; | |
| 8402 if (t2.length !== 0) | |
| 8403 t1 = t1 + t2 + "@"; | |
| 8404 if (!t4) | |
| 8405 t1 += H.S(t3); | |
| 8406 t2 = this._port; | |
| 8407 if (t2 != null) | |
| 8408 t1 = t1 + ":" + H.S(t2); | |
| 8409 } else | |
| 8410 t1 = t2; | |
| 8411 t1 += this._path; | |
| 8412 t2 = this._query; | |
| 8413 if (t2 != null) | |
| 8414 t1 = t1 + "?" + H.S(t2); | |
| 8415 t2 = this._fragment; | |
| 8416 if (t2 != null) | |
| 8417 t1 = t1 + "#" + H.S(t2); | |
| 8418 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 8419 }, | |
| 8420 $eq: function(_, other) { | |
| 8421 var t1, t2, t3, t4; | |
| 8422 if (other == null) | |
| 8423 return false; | |
| 8424 t1 = J.getInterceptor(other); | |
| 8425 if (!t1.$isUri) | |
| 8426 return false; | |
| 8427 if (this.scheme === other.scheme) | |
| 8428 if (this._host != null === (other._host != null)) | |
| 8429 if (this._userInfo === other._userInfo) { | |
| 8430 t2 = this.get$host(this); | |
| 8431 t3 = t1.get$host(other); | |
| 8432 if (t2 == null ? t3 == null : t2 === t3) { | |
| 8433 t2 = this.get$port(this); | |
| 8434 t1 = t1.get$port(other); | |
| 8435 if (t2 == null ? t1 == null : t2 === t1) | |
| 8436 if (this._path === other._path) { | |
| 8437 t1 = this._query; | |
| 8438 t2 = t1 == null; | |
| 8439 t3 = other._query; | |
| 8440 t4 = t3 == null; | |
| 8441 if (!t2 === !t4) { | |
| 8442 if (t2) | |
| 8443 t1 = ""; | |
| 8444 if (t1 == null ? (t4 ? "" : t3) == null : t1 === (t4 ? ""
: t3)) { | |
| 8445 t1 = this._fragment; | |
| 8446 t2 = t1 == null; | |
| 8447 t3 = other._fragment; | |
| 8448 t4 = t3 == null; | |
| 8449 if (!t2 === !t4) { | |
| 8450 if (t2) | |
| 8451 t1 = ""; | |
| 8452 t1 = t1 == null ? (t4 ? "" : t3) == null : t1 === (t4
? "" : t3); | |
| 8453 } else | |
| 8454 t1 = false; | |
| 8455 } else | |
| 8456 t1 = false; | |
| 8457 } else | |
| 8458 t1 = false; | |
| 8459 } else | |
| 8460 t1 = false; | |
| 8461 else | |
| 8462 t1 = false; | |
| 8463 } else | |
| 8464 t1 = false; | |
| 8465 } else | |
| 8466 t1 = false; | |
| 8467 else | |
| 8468 t1 = false; | |
| 8469 else | |
| 8470 t1 = false; | |
| 8471 return t1; | |
| 8472 }, | |
| 8473 get$hashCode: function(_) { | |
| 8474 var t1, t2, t3, t4, t5; | |
| 8475 t1 = new P.Uri_hashCode_combine(); | |
| 8476 t2 = this.get$host(this); | |
| 8477 t3 = this.get$port(this); | |
| 8478 t4 = this._query; | |
| 8479 if (t4 == null) | |
| 8480 t4 = ""; | |
| 8481 t5 = this._fragment; | |
| 8482 return t1.call$2(this.scheme, t1.call$2(this._userInfo, t1.call$2(t2, t1
.call$2(t3, t1.call$2(this._path, t1.call$2(t4, t1.call$2(t5 == null ? "" : t5,
1))))))); | |
| 8483 }, | |
| 8484 static: {Uri__defaultPort: function(scheme) { | |
| 8485 if (scheme === "http") | |
| 8486 return 80; | |
| 8487 if (scheme === "https") | |
| 8488 return 443; | |
| 8489 return 0; | |
| 8490 }, Uri_parse: function(uri, start, end) { | |
| 8491 var t1, pathStart, state, i, t2, $char, index, path, numberSignIndex,
query, fragment, t3; | |
| 8492 t1 = {}; | |
| 8493 t1._captured_end_0 = end; | |
| 8494 t1._captured_scheme_1 = ""; | |
| 8495 t1._captured_userinfo_2 = ""; | |
| 8496 t1._captured_host_3 = null; | |
| 8497 t1._captured_port_4 = null; | |
| 8498 t1._captured_end_0 = uri.length; | |
| 8499 t1._captured_index_5 = start; | |
| 8500 t1._captured_char_6 = -1; | |
| 8501 i = start; | |
| 8502 while (true) { | |
| 8503 t2 = t1._captured_end_0; | |
| 8504 if (typeof t2 !== "number") | |
| 8505 return H.iae(t2); | |
| 8506 if (!(i < t2)) { | |
| 8507 pathStart = start; | |
| 8508 state = 0; | |
| 8509 break; | |
| 8510 } | |
| 8511 $char = C.JSString_methods.codeUnitAt$1(uri, i); | |
| 8512 t1._captured_char_6 = $char; | |
| 8513 if ($char === 63 || $char === 35) { | |
| 8514 pathStart = start; | |
| 8515 state = 0; | |
| 8516 break; | |
| 8517 } | |
| 8518 if ($char === 47) { | |
| 8519 state = i === start ? 2 : 1; | |
| 8520 pathStart = start; | |
| 8521 break; | |
| 8522 } | |
| 8523 if ($char === 58) { | |
| 8524 if (i === start) | |
| 8525 P.Uri__fail(uri, start, "Invalid empty scheme"); | |
| 8526 t1._captured_scheme_1 = P.Uri__makeScheme(uri, start, i); | |
| 8527 ++i; | |
| 8528 if (i === t1._captured_end_0) { | |
| 8529 t1._captured_char_6 = -1; | |
| 8530 state = 0; | |
| 8531 } else { | |
| 8532 $char = C.JSString_methods.codeUnitAt$1(uri, i); | |
| 8533 t1._captured_char_6 = $char; | |
| 8534 if ($char === 63 || $char === 35) | |
| 8535 state = 0; | |
| 8536 else | |
| 8537 state = $char === 47 ? 2 : 1; | |
| 8538 } | |
| 8539 pathStart = i; | |
| 8540 break; | |
| 8541 } | |
| 8542 ++i; | |
| 8543 t1._captured_char_6 = -1; | |
| 8544 } | |
| 8545 t1._captured_index_5 = i; | |
| 8546 if (state === 2) { | |
| 8547 index = i + 1; | |
| 8548 t1._captured_index_5 = index; | |
| 8549 if (index === t1._captured_end_0) { | |
| 8550 t1._captured_char_6 = -1; | |
| 8551 state = 0; | |
| 8552 } else { | |
| 8553 $char = C.JSString_methods.codeUnitAt$1(uri, index); | |
| 8554 t1._captured_char_6 = $char; | |
| 8555 if ($char === 47) { | |
| 8556 t2 = t1._captured_index_5; | |
| 8557 if (typeof t2 !== "number") | |
| 8558 return t2.$add(); | |
| 8559 t1._captured_index_5 = t2 + 1; | |
| 8560 new P.Uri_parse_parseAuth(t1, uri, -1).call$0(); | |
| 8561 pathStart = t1._captured_index_5; | |
| 8562 } | |
| 8563 t2 = t1._captured_char_6; | |
| 8564 state = t2 === 63 || t2 === 35 || t2 === -1 ? 0 : 1; | |
| 8565 } | |
| 8566 } | |
| 8567 if (state === 1) | |
| 8568 while (true) { | |
| 8569 t2 = t1._captured_index_5; | |
| 8570 if (typeof t2 !== "number") | |
| 8571 return t2.$add(); | |
| 8572 index = t2 + 1; | |
| 8573 t1._captured_index_5 = index; | |
| 8574 t2 = t1._captured_end_0; | |
| 8575 if (typeof t2 !== "number") | |
| 8576 return H.iae(t2); | |
| 8577 if (!(index < t2)) | |
| 8578 break; | |
| 8579 $char = C.JSString_methods.codeUnitAt$1(uri, index); | |
| 8580 t1._captured_char_6 = $char; | |
| 8581 if ($char === 63 || $char === 35) | |
| 8582 break; | |
| 8583 t1._captured_char_6 = -1; | |
| 8584 } | |
| 8585 t2 = t1._captured_host_3; | |
| 8586 path = P.Uri__makePath(uri, pathStart, t1._captured_index_5, null, t1.
_captured_scheme_1, t2 != null); | |
| 8587 t2 = t1._captured_char_6; | |
| 8588 if (t2 === 63) { | |
| 8589 t2 = t1._captured_index_5; | |
| 8590 if (typeof t2 !== "number") | |
| 8591 return t2.$add(); | |
| 8592 i = t2 + 1; | |
| 8593 while (true) { | |
| 8594 t2 = t1._captured_end_0; | |
| 8595 if (typeof t2 !== "number") | |
| 8596 return H.iae(t2); | |
| 8597 if (!(i < t2)) { | |
| 8598 numberSignIndex = -1; | |
| 8599 break; | |
| 8600 } | |
| 8601 if (C.JSString_methods.codeUnitAt$1(uri, i) === 35) { | |
| 8602 numberSignIndex = i; | |
| 8603 break; | |
| 8604 } | |
| 8605 ++i; | |
| 8606 } | |
| 8607 t2 = t1._captured_index_5; | |
| 8608 if (numberSignIndex < 0) { | |
| 8609 if (typeof t2 !== "number") | |
| 8610 return t2.$add(); | |
| 8611 query = P.Uri__makeQuery(uri, t2 + 1, t1._captured_end_0, null); | |
| 8612 fragment = null; | |
| 8613 } else { | |
| 8614 if (typeof t2 !== "number") | |
| 8615 return t2.$add(); | |
| 8616 query = P.Uri__makeQuery(uri, t2 + 1, numberSignIndex, null); | |
| 8617 fragment = P.Uri__makeFragment(uri, numberSignIndex + 1, t1._captu
red_end_0); | |
| 8618 } | |
| 8619 } else { | |
| 8620 if (t2 === 35) { | |
| 8621 t2 = t1._captured_index_5; | |
| 8622 if (typeof t2 !== "number") | |
| 8623 return t2.$add(); | |
| 8624 fragment = P.Uri__makeFragment(uri, t2 + 1, t1._captured_end_0); | |
| 8625 } else | |
| 8626 fragment = null; | |
| 8627 query = null; | |
| 8628 } | |
| 8629 t2 = t1._captured_scheme_1; | |
| 8630 t3 = t1._captured_userinfo_2; | |
| 8631 return new P.Uri(t1._captured_host_3, t1._captured_port_4, path, t2, t
3, query, fragment, null, null); | |
| 8632 }, Uri__fail: function(uri, index, message) { | |
| 8633 throw H.wrapException(new P.FormatException(message, uri, index)); | |
| 8634 }, Uri_base: function() { | |
| 8635 var uri = H.Primitives_currentUri(); | |
| 8636 if (uri != null) | |
| 8637 return P.Uri_parse(uri, 0, null); | |
| 8638 throw H.wrapException(new P.UnsupportedError("'Uri.base' is not suppor
ted")); | |
| 8639 }, Uri__checkNonWindowsPathReservedCharacters: function(segments, argume
ntError) { | |
| 8640 segments.forEach$1(segments, new P.Uri__checkNonWindowsPathReservedCha
racters_closure(argumentError)); | |
| 8641 }, Uri__makePort: function(port, scheme) { | |
| 8642 if (port != null && port === P.Uri__defaultPort(scheme)) | |
| 8643 return; | |
| 8644 return port; | |
| 8645 }, Uri__makeHost: function(host, start, end, strictIPv6) { | |
| 8646 var t1, i; | |
| 8647 if (host == null) | |
| 8648 return; | |
| 8649 if (start == null ? end == null : start === end) | |
| 8650 return ""; | |
| 8651 if (C.JSString_methods.codeUnitAt$1(host, start) === 91) { | |
| 8652 if (typeof end !== "number") | |
| 8653 return end.$sub(); | |
| 8654 t1 = end - 1; | |
| 8655 if (C.JSString_methods.codeUnitAt$1(host, t1) !== 93) | |
| 8656 P.Uri__fail(host, start, "Missing end `]` to match `[` in host"); | |
| 8657 if (typeof start !== "number") | |
| 8658 return start.$add(); | |
| 8659 P.Uri_parseIPv6Address(host, start + 1, t1); | |
| 8660 return C.JSString_methods.substring$2(host, start, end).toLowerCase(
); | |
| 8661 } | |
| 8662 if (!strictIPv6) { | |
| 8663 i = start; | |
| 8664 while (true) { | |
| 8665 if (typeof i !== "number") | |
| 8666 return i.$lt(); | |
| 8667 if (typeof end !== "number") | |
| 8668 return H.iae(end); | |
| 8669 if (!(i < end)) | |
| 8670 break; | |
| 8671 if (C.JSString_methods.codeUnitAt$1(host, i) === 58) { | |
| 8672 P.Uri_parseIPv6Address(host, start, end); | |
| 8673 return "[" + host + "]"; | |
| 8674 } | |
| 8675 ++i; | |
| 8676 } | |
| 8677 } | |
| 8678 return P.Uri__normalizeRegName(host, start, end); | |
| 8679 }, Uri__normalizeRegName: function(host, start, end) { | |
| 8680 var index, sectionStart, buffer, isNormalized, $char, replacement, t1,
slice, sourceLength, tail; | |
| 8681 index = start; | |
| 8682 sectionStart = index; | |
| 8683 buffer = null; | |
| 8684 isNormalized = true; | |
| 8685 while (true) { | |
| 8686 if (typeof index !== "number") | |
| 8687 return index.$lt(); | |
| 8688 if (typeof end !== "number") | |
| 8689 return H.iae(end); | |
| 8690 if (!(index < end)) | |
| 8691 break; | |
| 8692 c$0: { | |
| 8693 $char = C.JSString_methods.codeUnitAt$1(host, index); | |
| 8694 if ($char === 37) { | |
| 8695 replacement = P.Uri__normalizeEscape(host, index, true); | |
| 8696 t1 = replacement == null; | |
| 8697 if (t1 && isNormalized) { | |
| 8698 index += 3; | |
| 8699 break c$0; | |
| 8700 } | |
| 8701 if (buffer == null) | |
| 8702 buffer = new P.StringBuffer(""); | |
| 8703 slice = C.JSString_methods.substring$2(host, sectionStart, index
); | |
| 8704 if (!isNormalized) | |
| 8705 slice = slice.toLowerCase(); | |
| 8706 buffer._contents = buffer._contents + slice; | |
| 8707 if (t1) { | |
| 8708 replacement = C.JSString_methods.substring$2(host, index, inde
x + 3); | |
| 8709 sourceLength = 3; | |
| 8710 } else if (replacement === "%") { | |
| 8711 replacement = "%25"; | |
| 8712 sourceLength = 1; | |
| 8713 } else | |
| 8714 sourceLength = 3; | |
| 8715 buffer._contents += replacement; | |
| 8716 index += sourceLength; | |
| 8717 sectionStart = index; | |
| 8718 isNormalized = true; | |
| 8719 } else { | |
| 8720 if ($char < 127) { | |
| 8721 t1 = $char >>> 4; | |
| 8722 if (t1 >= 8) | |
| 8723 return H.ioore(C.List_qNA, t1); | |
| 8724 t1 = (C.List_qNA[t1] & C.JSInt_methods._shlPositive$1(1, $char
& 15)) !== 0; | |
| 8725 } else | |
| 8726 t1 = false; | |
| 8727 if (t1) { | |
| 8728 if (isNormalized && 65 <= $char && 90 >= $char) { | |
| 8729 if (buffer == null) | |
| 8730 buffer = new P.StringBuffer(""); | |
| 8731 if (typeof sectionStart !== "number") | |
| 8732 return sectionStart.$lt(); | |
| 8733 if (sectionStart < index) { | |
| 8734 t1 = C.JSString_methods.substring$2(host, sectionStart, in
dex); | |
| 8735 buffer._contents = buffer._contents + t1; | |
| 8736 sectionStart = index; | |
| 8737 } | |
| 8738 isNormalized = false; | |
| 8739 } | |
| 8740 ++index; | |
| 8741 } else { | |
| 8742 if ($char <= 93) { | |
| 8743 t1 = $char >>> 4; | |
| 8744 if (t1 >= 8) | |
| 8745 return H.ioore(C.List_2Vk, t1); | |
| 8746 t1 = (C.List_2Vk[t1] & C.JSInt_methods._shlPositive$1(1, $ch
ar & 15)) !== 0; | |
| 8747 } else | |
| 8748 t1 = false; | |
| 8749 if (t1) | |
| 8750 P.Uri__fail(host, index, "Invalid character"); | |
| 8751 else { | |
| 8752 if (($char & 64512) === 55296 && index + 1 < end) { | |
| 8753 tail = C.JSString_methods.codeUnitAt$1(host, index + 1); | |
| 8754 if ((tail & 64512) === 56320) { | |
| 8755 $char = (65536 | ($char & 1023) << 10 | tail & 1023) >>>
0; | |
| 8756 sourceLength = 2; | |
| 8757 } else | |
| 8758 sourceLength = 1; | |
| 8759 } else | |
| 8760 sourceLength = 1; | |
| 8761 if (buffer == null) | |
| 8762 buffer = new P.StringBuffer(""); | |
| 8763 slice = C.JSString_methods.substring$2(host, sectionStart, i
ndex); | |
| 8764 if (!isNormalized) | |
| 8765 slice = slice.toLowerCase(); | |
| 8766 buffer._contents = buffer._contents + slice; | |
| 8767 buffer._contents += P.Uri__escapeChar($char); | |
| 8768 index += sourceLength; | |
| 8769 sectionStart = index; | |
| 8770 } | |
| 8771 } | |
| 8772 } | |
| 8773 } | |
| 8774 } | |
| 8775 if (buffer == null) | |
| 8776 return C.JSString_methods.substring$2(host, start, end); | |
| 8777 if (typeof sectionStart !== "number") | |
| 8778 return sectionStart.$lt(); | |
| 8779 if (sectionStart < end) { | |
| 8780 slice = C.JSString_methods.substring$2(host, sectionStart, end); | |
| 8781 buffer._contents += !isNormalized ? slice.toLowerCase() : slice; | |
| 8782 } | |
| 8783 t1 = buffer._contents; | |
| 8784 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 8785 }, Uri__makeScheme: function(scheme, start, end) { | |
| 8786 var firstCodeUnit, t1, i, containsUpperCase, codeUnit; | |
| 8787 if (start === end) | |
| 8788 return ""; | |
| 8789 firstCodeUnit = C.JSString_methods.codeUnitAt$1(scheme, start); | |
| 8790 if (!(firstCodeUnit >= 97 && firstCodeUnit <= 122)) | |
| 8791 t1 = firstCodeUnit >= 65 && firstCodeUnit <= 90; | |
| 8792 else | |
| 8793 t1 = true; | |
| 8794 if (!t1) | |
| 8795 P.Uri__fail(scheme, start, "Scheme not starting with alphabetic char
acter"); | |
| 8796 for (i = start, containsUpperCase = false; i < end; ++i) { | |
| 8797 codeUnit = C.JSString_methods.codeUnitAt$1(scheme, i); | |
| 8798 if (codeUnit < 128) { | |
| 8799 t1 = codeUnit >>> 4; | |
| 8800 if (t1 >= 8) | |
| 8801 return H.ioore(C.List_JYB, t1); | |
| 8802 t1 = (C.List_JYB[t1] & C.JSInt_methods._shlPositive$1(1, codeUnit
& 15)) !== 0; | |
| 8803 } else | |
| 8804 t1 = false; | |
| 8805 if (!t1) | |
| 8806 P.Uri__fail(scheme, i, "Illegal scheme character"); | |
| 8807 if (65 <= codeUnit && codeUnit <= 90) | |
| 8808 containsUpperCase = true; | |
| 8809 } | |
| 8810 scheme = C.JSString_methods.substring$2(scheme, start, end); | |
| 8811 return containsUpperCase ? scheme.toLowerCase() : scheme; | |
| 8812 }, Uri__makeUserInfo: function(userInfo, start, end) { | |
| 8813 return P.Uri__normalize(userInfo, start, end, C.List_gRj); | |
| 8814 }, Uri__makePath: function(path, start, end, pathSegments, scheme, hasAu
thority) { | |
| 8815 var isFile, ensureLeadingSlash, result; | |
| 8816 isFile = scheme === "file"; | |
| 8817 ensureLeadingSlash = isFile || hasAuthority; | |
| 8818 result = P.Uri__normalize(path, start, end, C.List_qg4); | |
| 8819 if (result.length === 0) { | |
| 8820 if (isFile) | |
| 8821 return "/"; | |
| 8822 } else if (ensureLeadingSlash && !C.JSString_methods.startsWith$1(resu
lt, "/")) | |
| 8823 result = "/" + result; | |
| 8824 return P.Uri__normalizePath(result, scheme, hasAuthority); | |
| 8825 }, Uri__normalizePath: function(path, scheme, hasAuthority) { | |
| 8826 if (scheme.length === 0 && !hasAuthority && !C.JSString_methods.starts
With$1(path, "/")) | |
| 8827 return P.Uri__normalizeRelativePath(path); | |
| 8828 return P.Uri__removeDotSegments(path); | |
| 8829 }, Uri__makeQuery: function(query, start, end, queryParameters) { | |
| 8830 var t1, t2, result; | |
| 8831 t1 = {}; | |
| 8832 t2 = query == null; | |
| 8833 if (t2 && true) | |
| 8834 return; | |
| 8835 t2 = !t2; | |
| 8836 if (t2) | |
| 8837 ; | |
| 8838 if (t2) | |
| 8839 return P.Uri__normalize(query, start, end, C.List_CVk); | |
| 8840 result = new P.StringBuffer(""); | |
| 8841 t1._captured_first_0 = true; | |
| 8842 C.JSNull_methods.forEach$1(queryParameters, new P.Uri__makeQuery_closu
re(t1, result)); | |
| 8843 t1 = result._contents; | |
| 8844 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 8845 }, Uri__makeFragment: function(fragment, start, end) { | |
| 8846 if (fragment == null) | |
| 8847 return; | |
| 8848 return P.Uri__normalize(fragment, start, end, C.List_CVk); | |
| 8849 }, Uri__isHexDigit: function($char) { | |
| 8850 if (57 >= $char) | |
| 8851 return 48 <= $char; | |
| 8852 $char |= 32; | |
| 8853 return 97 <= $char && 102 >= $char; | |
| 8854 }, Uri__hexValue: function($char) { | |
| 8855 if (57 >= $char) | |
| 8856 return $char - 48; | |
| 8857 return ($char | 32) - 87; | |
| 8858 }, Uri__normalizeEscape: function(source, index, lowerCase) { | |
| 8859 var t1, firstDigit, secondDigit, value; | |
| 8860 t1 = index + 2; | |
| 8861 if (t1 >= source.length) | |
| 8862 return "%"; | |
| 8863 firstDigit = C.JSString_methods.codeUnitAt$1(source, index + 1); | |
| 8864 secondDigit = C.JSString_methods.codeUnitAt$1(source, t1); | |
| 8865 if (!P.Uri__isHexDigit(firstDigit) || !P.Uri__isHexDigit(secondDigit)) | |
| 8866 return "%"; | |
| 8867 value = P.Uri__hexValue(firstDigit) * 16 + P.Uri__hexValue(secondDigit
); | |
| 8868 if (value < 127) { | |
| 8869 t1 = C.JSInt_methods._shrOtherPositive$1(value, 4); | |
| 8870 if (t1 >= 8) | |
| 8871 return H.ioore(C.List_nxB, t1); | |
| 8872 t1 = (C.List_nxB[t1] & C.JSInt_methods._shlPositive$1(1, value & 15)
) !== 0; | |
| 8873 } else | |
| 8874 t1 = false; | |
| 8875 if (t1) | |
| 8876 return H.Primitives_stringFromCharCode(lowerCase && 65 <= value && 9
0 >= value ? (value | 32) >>> 0 : value); | |
| 8877 if (firstDigit >= 97 || secondDigit >= 97) | |
| 8878 return C.JSString_methods.substring$2(source, index, index + 3).toUp
perCase(); | |
| 8879 return; | |
| 8880 }, Uri__escapeChar: function($char) { | |
| 8881 var codeUnits, flag, encodedBytes, t1, index, $byte, t2, t3; | |
| 8882 if ($char < 128) { | |
| 8883 codeUnits = new Array(3); | |
| 8884 codeUnits.fixed$length = Array; | |
| 8885 codeUnits[0] = 37; | |
| 8886 codeUnits[1] = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $
char >>> 4); | |
| 8887 codeUnits[2] = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $
char & 15); | |
| 8888 } else { | |
| 8889 if ($char > 2047) | |
| 8890 if ($char > 65535) { | |
| 8891 flag = 240; | |
| 8892 encodedBytes = 4; | |
| 8893 } else { | |
| 8894 flag = 224; | |
| 8895 encodedBytes = 3; | |
| 8896 } | |
| 8897 else { | |
| 8898 flag = 192; | |
| 8899 encodedBytes = 2; | |
| 8900 } | |
| 8901 t1 = 3 * encodedBytes; | |
| 8902 codeUnits = new Array(t1); | |
| 8903 codeUnits.fixed$length = Array; | |
| 8904 for (index = 0; --encodedBytes, encodedBytes >= 0; flag = 128) { | |
| 8905 $byte = C.JSInt_methods._shrReceiverPositive$1($char, 6 * encodedB
ytes) & 63 | flag; | |
| 8906 if (index >= t1) | |
| 8907 return H.ioore(codeUnits, index); | |
| 8908 codeUnits[index] = 37; | |
| 8909 t2 = index + 1; | |
| 8910 t3 = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte >>>
4); | |
| 8911 if (t2 >= t1) | |
| 8912 return H.ioore(codeUnits, t2); | |
| 8913 codeUnits[t2] = t3; | |
| 8914 t3 = index + 2; | |
| 8915 t2 = C.JSString_methods.codeUnitAt$1("0123456789ABCDEF", $byte & 1
5); | |
| 8916 if (t3 >= t1) | |
| 8917 return H.ioore(codeUnits, t3); | |
| 8918 codeUnits[t3] = t2; | |
| 8919 index += 3; | |
| 8920 } | |
| 8921 } | |
| 8922 return P.String_String$fromCharCodes(codeUnits, 0, null); | |
| 8923 }, Uri__normalize: function(component, start, end, charTable) { | |
| 8924 var index, sectionStart, buffer, $char, t1, replacement, sourceLength,
tail; | |
| 8925 index = start; | |
| 8926 sectionStart = index; | |
| 8927 buffer = null; | |
| 8928 while (true) { | |
| 8929 if (typeof index !== "number") | |
| 8930 return index.$lt(); | |
| 8931 if (typeof end !== "number") | |
| 8932 return H.iae(end); | |
| 8933 if (!(index < end)) | |
| 8934 break; | |
| 8935 c$0: { | |
| 8936 $char = C.JSString_methods.codeUnitAt$1(component, index); | |
| 8937 if ($char < 127) { | |
| 8938 t1 = $char >>> 4; | |
| 8939 if (t1 >= 8) | |
| 8940 return H.ioore(charTable, t1); | |
| 8941 t1 = (charTable[t1] & C.JSInt_methods._shlPositive$1(1, $char &
15)) !== 0; | |
| 8942 } else | |
| 8943 t1 = false; | |
| 8944 if (t1) | |
| 8945 ++index; | |
| 8946 else { | |
| 8947 if ($char === 37) { | |
| 8948 replacement = P.Uri__normalizeEscape(component, index, false); | |
| 8949 if (replacement == null) { | |
| 8950 index += 3; | |
| 8951 break c$0; | |
| 8952 } | |
| 8953 if ("%" === replacement) { | |
| 8954 replacement = "%25"; | |
| 8955 sourceLength = 1; | |
| 8956 } else | |
| 8957 sourceLength = 3; | |
| 8958 } else { | |
| 8959 if ($char <= 93) { | |
| 8960 t1 = $char >>> 4; | |
| 8961 if (t1 >= 8) | |
| 8962 return H.ioore(C.List_2Vk, t1); | |
| 8963 t1 = (C.List_2Vk[t1] & C.JSInt_methods._shlPositive$1(1, $ch
ar & 15)) !== 0; | |
| 8964 } else | |
| 8965 t1 = false; | |
| 8966 if (t1) { | |
| 8967 P.Uri__fail(component, index, "Invalid character"); | |
| 8968 replacement = null; | |
| 8969 sourceLength = null; | |
| 8970 } else { | |
| 8971 if (($char & 64512) === 55296) { | |
| 8972 t1 = index + 1; | |
| 8973 if (t1 < end) { | |
| 8974 tail = C.JSString_methods.codeUnitAt$1(component, t1); | |
| 8975 if ((tail & 64512) === 56320) { | |
| 8976 $char = (65536 | ($char & 1023) << 10 | tail & 1023) >
>> 0; | |
| 8977 sourceLength = 2; | |
| 8978 } else | |
| 8979 sourceLength = 1; | |
| 8980 } else | |
| 8981 sourceLength = 1; | |
| 8982 } else | |
| 8983 sourceLength = 1; | |
| 8984 replacement = P.Uri__escapeChar($char); | |
| 8985 } | |
| 8986 } | |
| 8987 if (buffer == null) | |
| 8988 buffer = new P.StringBuffer(""); | |
| 8989 t1 = C.JSString_methods.substring$2(component, sectionStart, ind
ex); | |
| 8990 buffer._contents = buffer._contents + t1; | |
| 8991 buffer._contents += H.S(replacement); | |
| 8992 if (typeof sourceLength !== "number") | |
| 8993 return H.iae(sourceLength); | |
| 8994 index += sourceLength; | |
| 8995 sectionStart = index; | |
| 8996 } | |
| 8997 } | |
| 8998 } | |
| 8999 if (buffer == null) | |
| 9000 return C.JSString_methods.substring$2(component, start, end); | |
| 9001 if (typeof sectionStart !== "number") | |
| 9002 return sectionStart.$lt(); | |
| 9003 if (sectionStart < end) | |
| 9004 buffer._contents += C.JSString_methods.substring$2(component, sectio
nStart, end); | |
| 9005 t1 = buffer._contents; | |
| 9006 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 9007 }, Uri__mayContainDotSegments: function(path) { | |
| 9008 if (C.JSString_methods.startsWith$1(path, ".")) | |
| 9009 return true; | |
| 9010 return C.JSString_methods.indexOf$1(path, "/.") !== -1; | |
| 9011 }, Uri__removeDotSegments: function(path) { | |
| 9012 var output, t1, t2, appendSlash, _i, segment, t3; | |
| 9013 if (!P.Uri__mayContainDotSegments(path)) | |
| 9014 return path; | |
| 9015 output = []; | |
| 9016 for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0
; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1
), ++_i) { | |
| 9017 segment = t1[_i]; | |
| 9018 if (J.$eq$(segment, "..")) { | |
| 9019 t3 = output.length; | |
| 9020 if (t3 !== 0) { | |
| 9021 if (0 >= t3) | |
| 9022 return H.ioore(output, -1); | |
| 9023 output.pop(); | |
| 9024 if (output.length === 0) | |
| 9025 output.push(""); | |
| 9026 } | |
| 9027 appendSlash = true; | |
| 9028 } else if ("." === segment) | |
| 9029 appendSlash = true; | |
| 9030 else { | |
| 9031 output.push(segment); | |
| 9032 appendSlash = false; | |
| 9033 } | |
| 9034 } | |
| 9035 if (appendSlash) | |
| 9036 output.push(""); | |
| 9037 return C.JSArray_methods.join$1(output, "/"); | |
| 9038 }, Uri__normalizeRelativePath: function(path) { | |
| 9039 var output, t1, t2, appendSlash, _i, segment; | |
| 9040 if (!P.Uri__mayContainDotSegments(path)) | |
| 9041 return path; | |
| 9042 output = []; | |
| 9043 for (t1 = path.split("/"), t2 = t1.length, appendSlash = false, _i = 0
; _i < t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1
), ++_i) { | |
| 9044 segment = t1[_i]; | |
| 9045 if (".." === segment) | |
| 9046 if (output.length !== 0 && !J.$eq$(C.JSArray_methods.get$last(outp
ut), "..")) { | |
| 9047 if (0 >= output.length) | |
| 9048 return H.ioore(output, -1); | |
| 9049 output.pop(); | |
| 9050 appendSlash = true; | |
| 9051 } else { | |
| 9052 output.push(".."); | |
| 9053 appendSlash = false; | |
| 9054 } | |
| 9055 else if ("." === segment) | |
| 9056 appendSlash = true; | |
| 9057 else { | |
| 9058 output.push(segment); | |
| 9059 appendSlash = false; | |
| 9060 } | |
| 9061 } | |
| 9062 t1 = output.length; | |
| 9063 if (t1 !== 0) | |
| 9064 if (t1 === 1) { | |
| 9065 if (0 >= t1) | |
| 9066 return H.ioore(output, 0); | |
| 9067 t1 = J.get$isEmpty$asx(output[0]) === true; | |
| 9068 } else | |
| 9069 t1 = false; | |
| 9070 else | |
| 9071 t1 = true; | |
| 9072 if (t1) | |
| 9073 return "./"; | |
| 9074 if (appendSlash || J.$eq$(C.JSArray_methods.get$last(output), "..")) | |
| 9075 output.push(""); | |
| 9076 return C.JSArray_methods.join$1(output, "/"); | |
| 9077 }, Uri_decodeComponent: [function(encodedComponent) { | |
| 9078 return P.Uri__uriDecode(encodedComponent, C.Utf8Codec_false, false); | |
| 9079 }, "call$1", "core_Uri_decodeComponent$closure", 2, 0, 9], Uri_parseIPv4
Address: function(host) { | |
| 9080 var t1, bytes; | |
| 9081 t1 = new P.Uri_parseIPv4Address_error(); | |
| 9082 bytes = host.split("."); | |
| 9083 if (bytes.length !== 4) | |
| 9084 t1.call$1("IPv4 address should contain exactly 4 parts"); | |
| 9085 return H.setRuntimeTypeInfo(new H.MappedListIterable(bytes, new P.Uri_
parseIPv4Address_closure(t1)), [null, null]).toList$0(0); | |
| 9086 }, Uri_parseIPv6Address: function(host, start, end) { | |
| 9087 var error, parseHex, parts, partStart, last, i, wildcardSeen, t1, atEn
d, isLastWildcard, exception, t2, bytes, index, value, wildCardLength, j; | |
| 9088 if (end == null) | |
| 9089 end = J.get$length$asx(host); | |
| 9090 error = new P.Uri_parseIPv6Address_error(host); | |
| 9091 parseHex = new P.Uri_parseIPv6Address_parseHex(host, error); | |
| 9092 if (J.get$length$asx(host) < 2) | |
| 9093 error.call$1("address is too short"); | |
| 9094 parts = []; | |
| 9095 partStart = start; | |
| 9096 i = start; | |
| 9097 wildcardSeen = false; | |
| 9098 while (true) { | |
| 9099 t1 = end; | |
| 9100 if (typeof i !== "number") | |
| 9101 return i.$lt(); | |
| 9102 if (typeof t1 !== "number") | |
| 9103 return H.iae(t1); | |
| 9104 if (!(i < t1)) | |
| 9105 break; | |
| 9106 if (J.codeUnitAt$1$s(host, i) === 58) { | |
| 9107 if (i === start) { | |
| 9108 ++i; | |
| 9109 if (J.codeUnitAt$1$s(host, i) !== 58) | |
| 9110 error.call$2("invalid start colon.", i); | |
| 9111 partStart = i; | |
| 9112 } | |
| 9113 if (i === partStart) { | |
| 9114 if (wildcardSeen) | |
| 9115 error.call$2("only one wildcard `::` is allowed", i); | |
| 9116 J.add$1$ax(parts, -1); | |
| 9117 wildcardSeen = true; | |
| 9118 } else | |
| 9119 J.add$1$ax(parts, parseHex.call$2(partStart, i)); | |
| 9120 partStart = i + 1; | |
| 9121 } | |
| 9122 ++i; | |
| 9123 } | |
| 9124 if (J.get$length$asx(parts) === 0) | |
| 9125 error.call$1("too few parts"); | |
| 9126 atEnd = J.$eq$(partStart, end); | |
| 9127 isLastWildcard = J.$eq$(J.get$last$ax(parts), -1); | |
| 9128 if (atEnd && !isLastWildcard) | |
| 9129 error.call$2("expected a part after last `:`", end); | |
| 9130 if (!atEnd) | |
| 9131 try { | |
| 9132 J.add$1$ax(parts, parseHex.call$2(partStart, end)); | |
| 9133 } catch (exception) { | |
| 9134 H.unwrapException(exception); | |
| 9135 try { | |
| 9136 last = P.Uri_parseIPv4Address(J.substring$2$s(host, partStart, e
nd)); | |
| 9137 t1 = J.$index$asx(last, 0); | |
| 9138 if (typeof t1 !== "number") | |
| 9139 return t1.$shl(); | |
| 9140 t2 = J.$index$asx(last, 1); | |
| 9141 if (typeof t2 !== "number") | |
| 9142 return H.iae(t2); | |
| 9143 J.add$1$ax(parts, (t1 << 8 | t2) >>> 0); | |
| 9144 t2 = J.$index$asx(last, 2); | |
| 9145 if (typeof t2 !== "number") | |
| 9146 return t2.$shl(); | |
| 9147 t1 = J.$index$asx(last, 3); | |
| 9148 if (typeof t1 !== "number") | |
| 9149 return H.iae(t1); | |
| 9150 J.add$1$ax(parts, (t2 << 8 | t1) >>> 0); | |
| 9151 } catch (exception) { | |
| 9152 H.unwrapException(exception); | |
| 9153 error.call$2("invalid end of IPv6 address.", partStart); | |
| 9154 } | |
| 9155 } | |
| 9156 if (wildcardSeen) { | |
| 9157 if (J.get$length$asx(parts) > 7) | |
| 9158 error.call$1("an address with a wildcard must have less than 7 par
ts"); | |
| 9159 } else if (J.get$length$asx(parts) !== 8) | |
| 9160 error.call$1("an address without a wildcard must contain exactly 8 p
arts"); | |
| 9161 bytes = new Array(16); | |
| 9162 bytes.$builtinTypeInfo = [P.$int]; | |
| 9163 i = 0; | |
| 9164 index = 0; | |
| 9165 while (true) { | |
| 9166 t1 = J.get$length$asx(parts); | |
| 9167 if (typeof t1 !== "number") | |
| 9168 return H.iae(t1); | |
| 9169 if (!(i < t1)) | |
| 9170 break; | |
| 9171 value = J.$index$asx(parts, i); | |
| 9172 if (J.getInterceptor(value).$eq(value, -1)) { | |
| 9173 wildCardLength = 9 - J.get$length$asx(parts); | |
| 9174 for (j = 0; j < wildCardLength; ++j) { | |
| 9175 if (index < 0 || index >= 16) | |
| 9176 return H.ioore(bytes, index); | |
| 9177 bytes[index] = 0; | |
| 9178 t1 = index + 1; | |
| 9179 if (t1 >= 16) | |
| 9180 return H.ioore(bytes, t1); | |
| 9181 bytes[t1] = 0; | |
| 9182 index += 2; | |
| 9183 } | |
| 9184 } else { | |
| 9185 if (typeof value !== "number") | |
| 9186 return value.$shr(); | |
| 9187 t1 = C.JSNumber_methods._shrOtherPositive$1(value, 8); | |
| 9188 if (index < 0 || index >= 16) | |
| 9189 return H.ioore(bytes, index); | |
| 9190 bytes[index] = t1; | |
| 9191 t1 = index + 1; | |
| 9192 if (t1 >= 16) | |
| 9193 return H.ioore(bytes, t1); | |
| 9194 bytes[t1] = value & 255; | |
| 9195 index += 2; | |
| 9196 } | |
| 9197 ++i; | |
| 9198 } | |
| 9199 return bytes; | |
| 9200 }, Uri__uriEncode: function(canonicalTable, text, encoding, spaceToPlus)
{ | |
| 9201 var t1, result, bytes, t2, i, $byte, t3; | |
| 9202 t1 = new P.Uri__uriEncode_byteToHex(); | |
| 9203 result = new P.StringBuffer(""); | |
| 9204 bytes = encoding.get$encoder().convert$1(text); | |
| 9205 for (t2 = bytes.length, i = 0; i < t2; ++i) { | |
| 9206 $byte = bytes[i]; | |
| 9207 if ($byte < 128) { | |
| 9208 t3 = $byte >>> 4; | |
| 9209 if (t3 >= 8) | |
| 9210 return H.ioore(canonicalTable, t3); | |
| 9211 t3 = (canonicalTable[t3] & C.JSInt_methods._shlPositive$1(1, $byte
& 15)) !== 0; | |
| 9212 } else | |
| 9213 t3 = false; | |
| 9214 if (t3) | |
| 9215 result._contents += H.Primitives_stringFromCharCode($byte); | |
| 9216 else if (spaceToPlus && $byte === 32) | |
| 9217 result._contents += H.Primitives_stringFromCharCode(43); | |
| 9218 else { | |
| 9219 result._contents += H.Primitives_stringFromCharCode(37); | |
| 9220 t1.call$2($byte, result); | |
| 9221 } | |
| 9222 } | |
| 9223 t1 = result._contents; | |
| 9224 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 9225 }, Uri__hexCharPairToByte: function(s, pos) { | |
| 9226 var $byte, i, charCode; | |
| 9227 for ($byte = 0, i = 0; i < 2; ++i) { | |
| 9228 charCode = C.JSString_methods.codeUnitAt$1(s, pos + i); | |
| 9229 if (48 <= charCode && charCode <= 57) | |
| 9230 $byte = $byte * 16 + charCode - 48; | |
| 9231 else { | |
| 9232 charCode |= 32; | |
| 9233 if (97 <= charCode && charCode <= 102) | |
| 9234 $byte = $byte * 16 + charCode - 87; | |
| 9235 else | |
| 9236 throw H.wrapException(P.ArgumentError$("Invalid URL encoding")); | |
| 9237 } | |
| 9238 } | |
| 9239 return $byte; | |
| 9240 }, Uri__uriDecode: function(text, encoding, plusToSpace) { | |
| 9241 var t1, simple, i, t2, codeUnit, bytes; | |
| 9242 t1 = J.getInterceptor$asx(text); | |
| 9243 simple = true; | |
| 9244 i = 0; | |
| 9245 while (true) { | |
| 9246 t2 = t1.get$length(text); | |
| 9247 if (typeof t2 !== "number") | |
| 9248 return H.iae(t2); | |
| 9249 if (!(i < t2 && simple)) | |
| 9250 break; | |
| 9251 codeUnit = t1.codeUnitAt$1(text, i); | |
| 9252 simple = codeUnit !== 37 && codeUnit !== 43; | |
| 9253 ++i; | |
| 9254 } | |
| 9255 if (simple) | |
| 9256 if (encoding === C.Utf8Codec_false || false) | |
| 9257 return text; | |
| 9258 else | |
| 9259 bytes = t1.get$codeUnits(text); | |
| 9260 else { | |
| 9261 bytes = []; | |
| 9262 i = 0; | |
| 9263 while (true) { | |
| 9264 t2 = t1.get$length(text); | |
| 9265 if (typeof t2 !== "number") | |
| 9266 return H.iae(t2); | |
| 9267 if (!(i < t2)) | |
| 9268 break; | |
| 9269 codeUnit = t1.codeUnitAt$1(text, i); | |
| 9270 if (codeUnit > 127) | |
| 9271 throw H.wrapException(P.ArgumentError$("Illegal percent encoding
in URI")); | |
| 9272 if (codeUnit === 37) { | |
| 9273 if (i + 3 > text.length) | |
| 9274 throw H.wrapException(P.ArgumentError$("Truncated URI")); | |
| 9275 bytes.push(P.Uri__hexCharPairToByte(text, i + 1)); | |
| 9276 i += 2; | |
| 9277 } else if (plusToSpace && codeUnit === 43) | |
| 9278 bytes.push(32); | |
| 9279 else | |
| 9280 bytes.push(codeUnit); | |
| 9281 ++i; | |
| 9282 } | |
| 9283 } | |
| 9284 return new P.Utf8Decoder(encoding._allowMalformed).convert$1(bytes); | |
| 9285 }} | |
| 9286 }, | |
| 9287 Uri_parse_parseAuth: { | |
| 9288 "^": "Closure:2;_core$_box_0,_captured_uri_1,_captured_EOI_2", | |
| 9289 call$0: function() { | |
| 9290 var t1, hostStart, t2, $char, lastColon, lastAt, t3, t4, char0, endBrack
et, hostEnd, i, portNumber, digit; | |
| 9291 t1 = this._core$_box_0; | |
| 9292 hostStart = t1._captured_index_5; | |
| 9293 t2 = t1._captured_end_0; | |
| 9294 if (hostStart == null ? t2 == null : hostStart === t2) { | |
| 9295 t1._captured_char_6 = this._captured_EOI_2; | |
| 9296 return; | |
| 9297 } | |
| 9298 t2 = this._captured_uri_1; | |
| 9299 t1._captured_char_6 = C.JSString_methods.codeUnitAt$1(t2, hostStart); | |
| 9300 $char = this._captured_EOI_2; | |
| 9301 lastColon = -1; | |
| 9302 lastAt = -1; | |
| 9303 while (true) { | |
| 9304 t3 = t1._captured_index_5; | |
| 9305 t4 = t1._captured_end_0; | |
| 9306 if (typeof t3 !== "number") | |
| 9307 return t3.$lt(); | |
| 9308 if (typeof t4 !== "number") | |
| 9309 return H.iae(t4); | |
| 9310 if (!(t3 < t4)) | |
| 9311 break; | |
| 9312 char0 = C.JSString_methods.codeUnitAt$1(t2, t3); | |
| 9313 t1._captured_char_6 = char0; | |
| 9314 if (char0 === 47 || char0 === 63 || char0 === 35) | |
| 9315 break; | |
| 9316 if (char0 === 64) { | |
| 9317 lastAt = t1._captured_index_5; | |
| 9318 lastColon = -1; | |
| 9319 } else if (char0 === 58) | |
| 9320 lastColon = t1._captured_index_5; | |
| 9321 else if (char0 === 91) { | |
| 9322 t3 = t1._captured_index_5; | |
| 9323 if (typeof t3 !== "number") | |
| 9324 return t3.$add(); | |
| 9325 endBracket = C.JSString_methods.indexOf$2(t2, "]", t3 + 1); | |
| 9326 if (endBracket === -1) { | |
| 9327 t1._captured_index_5 = t1._captured_end_0; | |
| 9328 t1._captured_char_6 = $char; | |
| 9329 lastColon = -1; | |
| 9330 break; | |
| 9331 } else | |
| 9332 t1._captured_index_5 = endBracket; | |
| 9333 lastColon = -1; | |
| 9334 } | |
| 9335 t3 = t1._captured_index_5; | |
| 9336 if (typeof t3 !== "number") | |
| 9337 return t3.$add(); | |
| 9338 t1._captured_index_5 = t3 + 1; | |
| 9339 t1._captured_char_6 = $char; | |
| 9340 } | |
| 9341 hostEnd = t1._captured_index_5; | |
| 9342 if (typeof lastAt !== "number") | |
| 9343 return lastAt.$ge(); | |
| 9344 if (lastAt >= 0) { | |
| 9345 t1._captured_userinfo_2 = P.Uri__makeUserInfo(t2, hostStart, lastAt); | |
| 9346 hostStart = lastAt + 1; | |
| 9347 } | |
| 9348 if (typeof lastColon !== "number") | |
| 9349 return lastColon.$ge(); | |
| 9350 if (lastColon >= 0) { | |
| 9351 i = lastColon + 1; | |
| 9352 t3 = t1._captured_index_5; | |
| 9353 if (typeof t3 !== "number") | |
| 9354 return H.iae(t3); | |
| 9355 if (i < t3) { | |
| 9356 portNumber = 0; | |
| 9357 while (true) { | |
| 9358 t3 = t1._captured_index_5; | |
| 9359 if (typeof t3 !== "number") | |
| 9360 return H.iae(t3); | |
| 9361 if (!(i < t3)) | |
| 9362 break; | |
| 9363 digit = C.JSString_methods.codeUnitAt$1(t2, i); | |
| 9364 if (48 > digit || 57 < digit) | |
| 9365 P.Uri__fail(t2, i, "Invalid port number"); | |
| 9366 portNumber = portNumber * 10 + (digit - 48); | |
| 9367 ++i; | |
| 9368 } | |
| 9369 } else | |
| 9370 portNumber = null; | |
| 9371 t1._captured_port_4 = P.Uri__makePort(portNumber, t1._captured_scheme_
1); | |
| 9372 hostEnd = lastColon; | |
| 9373 } | |
| 9374 t1._captured_host_3 = P.Uri__makeHost(t2, hostStart, hostEnd, true); | |
| 9375 t3 = t1._captured_index_5; | |
| 9376 t4 = t1._captured_end_0; | |
| 9377 if (typeof t3 !== "number") | |
| 9378 return t3.$lt(); | |
| 9379 if (typeof t4 !== "number") | |
| 9380 return H.iae(t4); | |
| 9381 if (t3 < t4) | |
| 9382 t1._captured_char_6 = C.JSString_methods.codeUnitAt$1(t2, t3); | |
| 9383 } | |
| 9384 }, | |
| 9385 Uri__checkNonWindowsPathReservedCharacters_closure: { | |
| 9386 "^": "Closure:0;_captured_argumentError_0", | |
| 9387 call$1: function(segment) { | |
| 9388 if (J.contains$1$asx(segment, "/") === true) | |
| 9389 if (this._captured_argumentError_0) | |
| 9390 throw H.wrapException(P.ArgumentError$("Illegal path character " + H
.S(segment))); | |
| 9391 else | |
| 9392 throw H.wrapException(new P.UnsupportedError("Illegal path character
" + H.S(segment))); | |
| 9393 } | |
| 9394 }, | |
| 9395 Uri__makeQuery_closure: { | |
| 9396 "^": "Closure:3;_core$_box_0,_core$_captured_result_1", | |
| 9397 call$2: function(key, value) { | |
| 9398 var t1 = this._core$_box_0; | |
| 9399 if (!t1._captured_first_0) | |
| 9400 this._core$_captured_result_1._contents += "&"; | |
| 9401 t1._captured_first_0 = false; | |
| 9402 t1 = this._core$_captured_result_1; | |
| 9403 t1._contents += P.Uri__uriEncode(C.List_nxB, key, C.Utf8Codec_false, tru
e); | |
| 9404 if (!value.get$isEmpty(value)) { | |
| 9405 t1._contents += "="; | |
| 9406 t1._contents += P.Uri__uriEncode(C.List_nxB, value, C.Utf8Codec_false,
true); | |
| 9407 } | |
| 9408 } | |
| 9409 }, | |
| 9410 Uri_hashCode_combine: { | |
| 9411 "^": "Closure:22;", | |
| 9412 call$2: function(part, current) { | |
| 9413 return current * 31 + J.get$hashCode$(part) & 1073741823; | |
| 9414 } | |
| 9415 }, | |
| 9416 Uri_parseIPv4Address_error: { | |
| 9417 "^": "Closure:23;", | |
| 9418 call$1: function(msg) { | |
| 9419 throw H.wrapException(new P.FormatException("Illegal IPv4 address, " + m
sg, null, null)); | |
| 9420 } | |
| 9421 }, | |
| 9422 Uri_parseIPv4Address_closure: { | |
| 9423 "^": "Closure:0;_core$_captured_error_0", | |
| 9424 call$1: function(byteString) { | |
| 9425 var $byte, t1; | |
| 9426 $byte = H.Primitives_parseInt(byteString, null, null); | |
| 9427 t1 = J.getInterceptor$n($byte); | |
| 9428 if (t1.$lt($byte, 0) || t1.$gt($byte, 255)) | |
| 9429 this._core$_captured_error_0.call$1("each part must be in the range of
`0..255`"); | |
| 9430 return $byte; | |
| 9431 } | |
| 9432 }, | |
| 9433 Uri_parseIPv6Address_error: { | |
| 9434 "^": "Closure:24;_captured_host_0", | |
| 9435 call$2: function(msg, position) { | |
| 9436 throw H.wrapException(new P.FormatException("Illegal IPv6 address, " + m
sg, this._captured_host_0, position)); | |
| 9437 }, | |
| 9438 call$1: function(msg) { | |
| 9439 return this.call$2(msg, null); | |
| 9440 } | |
| 9441 }, | |
| 9442 Uri_parseIPv6Address_parseHex: { | |
| 9443 "^": "Closure:25;_captured_host_1,_captured_error_2", | |
| 9444 call$2: function(start, end) { | |
| 9445 var value, t1; | |
| 9446 if (typeof start !== "number") | |
| 9447 return H.iae(start); | |
| 9448 if (end - start > 4) | |
| 9449 this._captured_error_2.call$2("an IPv6 part can only contain a maximum
of 4 hex digits", start); | |
| 9450 value = H.Primitives_parseInt(C.JSString_methods.substring$2(this._captu
red_host_1, start, end), 16, null); | |
| 9451 t1 = J.getInterceptor$n(value); | |
| 9452 if (t1.$lt(value, 0) || t1.$gt(value, 65535)) | |
| 9453 this._captured_error_2.call$2("each part must be in the range of `0x0.
.0xFFFF`", start); | |
| 9454 return value; | |
| 9455 } | |
| 9456 }, | |
| 9457 Uri__uriEncode_byteToHex: { | |
| 9458 "^": "Closure:3;", | |
| 9459 call$2: function($byte, buffer) { | |
| 9460 buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods.c
odeUnitAt$1("0123456789ABCDEF", $byte >>> 4)); | |
| 9461 buffer._contents += H.Primitives_stringFromCharCode(C.JSString_methods.c
odeUnitAt$1("0123456789ABCDEF", $byte & 15)); | |
| 9462 } | |
| 9463 } | |
| 9464 }], ["dart.dom.html", "dart:html",, W, { | |
| 9465 "^": "", | |
| 9466 AnchorElement_AnchorElement: function(href) { | |
| 9467 var e = document.createElement("a", null); | |
| 9468 return e; | |
| 9469 }, | |
| 9470 Element_Element$html: function(html, treeSanitizer, validator) { | |
| 9471 var t1, fragment; | |
| 9472 t1 = document.body; | |
| 9473 fragment = (t1 && C.BodyElement_methods).createFragment$3$treeSanitizer$va
lidator(t1, html, treeSanitizer, validator); | |
| 9474 fragment.toString; | |
| 9475 t1 = new W._ChildNodeListLazy(fragment); | |
| 9476 t1 = t1.where$1(t1, new W.Element_Element$html_closure()); | |
| 9477 return t1.get$single(t1); | |
| 9478 }, | |
| 9479 HttpRequest_getString: function(url, onProgress, withCredentials) { | |
| 9480 return W.HttpRequest_request(url, null, null, onProgress, null, null, null
, withCredentials).then$1(new W.HttpRequest_getString_closure()); | |
| 9481 }, | |
| 9482 HttpRequest_request: function(url, method, mimeType, onProgress, requestHead
ers, responseType, sendData, withCredentials) { | |
| 9483 var completer, xhr, t1; | |
| 9484 completer = H.setRuntimeTypeInfo(new P._AsyncCompleter(H.setRuntimeTypeInf
o(new P._Future(0, $.Zone__current, null), [W.HttpRequest])), [W.HttpRequest]); | |
| 9485 xhr = new XMLHttpRequest(); | |
| 9486 C.HttpRequest_methods.open$3$async(xhr, "GET", url, true); | |
| 9487 t1 = H.setRuntimeTypeInfo(new W._EventStream(xhr, "load", false), [null]); | |
| 9488 H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._target, t1._eve
ntType, W._wrapZone(new W.HttpRequest_request_closure(completer, xhr)), t1._useC
apture), [H.getTypeArgumentByIndex(t1, 0)])._tryResume$0(); | |
| 9489 t1 = H.setRuntimeTypeInfo(new W._EventStream(xhr, "error", false), [null])
; | |
| 9490 H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t1._target, t1._eve
ntType, W._wrapZone(completer.get$completeError()), t1._useCapture), [H.getTypeA
rgumentByIndex(t1, 0)])._tryResume$0(); | |
| 9491 xhr.send(); | |
| 9492 return completer.future; | |
| 9493 }, | |
| 9494 _JenkinsSmiHash_combine: function(hash, value) { | |
| 9495 hash = 536870911 & hash + value; | |
| 9496 hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0); | |
| 9497 return hash ^ hash >>> 6; | |
| 9498 }, | |
| 9499 _JenkinsSmiHash_finish: function(hash) { | |
| 9500 hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0); | |
| 9501 hash ^= hash >>> 11; | |
| 9502 return 536870911 & hash + ((16383 & hash) << 15 >>> 0); | |
| 9503 }, | |
| 9504 _convertNativeToDart_EventTarget: function(e) { | |
| 9505 var $window; | |
| 9506 if (e == null) | |
| 9507 return; | |
| 9508 if ("postMessage" in e) { | |
| 9509 $window = W._DOMWindowCrossFrame__createSafe(e); | |
| 9510 if (!!J.getInterceptor($window).$isEventTarget) | |
| 9511 return $window; | |
| 9512 return; | |
| 9513 } else | |
| 9514 return e; | |
| 9515 }, | |
| 9516 _wrapZone: function(callback) { | |
| 9517 var t1 = $.Zone__current; | |
| 9518 if (t1 === C.C__RootZone) | |
| 9519 return callback; | |
| 9520 return t1.bindUnaryCallback$2$runGuarded(callback, true); | |
| 9521 }, | |
| 9522 HtmlElement: { | |
| 9523 "^": "Element;", | |
| 9524 $isHtmlElement: 1, | |
| 9525 $isElement: 1, | |
| 9526 $isNode: 1, | |
| 9527 $isObject: 1, | |
| 9528 "%": "HTMLAppletElement|HTMLBRElement|HTMLCanvasElement|HTMLContentElement
|HTMLDListElement|HTMLDataListElement|HTMLDetailsElement|HTMLDialogElement|HTMLD
irectoryElement|HTMLFontElement|HTMLFrameElement|HTMLHRElement|HTMLHeadElement|H
TMLHeadingElement|HTMLHtmlElement|HTMLLIElement|HTMLLabelElement|HTMLLegendEleme
nt|HTMLMarqueeElement|HTMLMenuElement|HTMLMenuItemElement|HTMLMeterElement|HTMLM
odElement|HTMLOListElement|HTMLOptGroupElement|HTMLOptionElement|HTMLParagraphEl
ement|HTMLPictureElement|HTMLPreElement|HTMLProgressElement|HTMLQuoteElement|HTM
LScriptElement|HTMLShadowElement|HTMLSourceElement|HTMLSpanElement|HTMLStyleElem
ent|HTMLTableCaptionElement|HTMLTableCellElement|HTMLTableDataCellElement|HTMLTa
bleElement|HTMLTableHeaderCellElement|HTMLTableRowElement|HTMLTableSectionElemen
t|HTMLTitleElement|HTMLTrackElement|HTMLUListElement|HTMLUnknownElement;HTMLElem
ent" | |
| 9529 }, | |
| 9530 AnchorElement: { | |
| 9531 "^": "HtmlElement;target=,hostname=,href},port=,protocol=", | |
| 9532 toString$0: function(receiver) { | |
| 9533 return String(receiver); | |
| 9534 }, | |
| 9535 $isInterceptor: 1, | |
| 9536 "%": "HTMLAnchorElement" | |
| 9537 }, | |
| 9538 ApplicationCacheErrorEvent: { | |
| 9539 "^": "Event;message=", | |
| 9540 "%": "ApplicationCacheErrorEvent" | |
| 9541 }, | |
| 9542 AreaElement: { | |
| 9543 "^": "HtmlElement;target=,hostname=,href},port=,protocol=", | |
| 9544 toString$0: function(receiver) { | |
| 9545 return String(receiver); | |
| 9546 }, | |
| 9547 $isInterceptor: 1, | |
| 9548 "%": "HTMLAreaElement" | |
| 9549 }, | |
| 9550 BaseElement: { | |
| 9551 "^": "HtmlElement;href},target=", | |
| 9552 "%": "HTMLBaseElement" | |
| 9553 }, | |
| 9554 Blob: { | |
| 9555 "^": "Interceptor;", | |
| 9556 "%": ";Blob" | |
| 9557 }, | |
| 9558 BodyElement: { | |
| 9559 "^": "HtmlElement;", | |
| 9560 $isBodyElement: 1, | |
| 9561 $isEventTarget: 1, | |
| 9562 $isInterceptor: 1, | |
| 9563 "%": "HTMLBodyElement" | |
| 9564 }, | |
| 9565 ButtonElement: { | |
| 9566 "^": "HtmlElement;name=", | |
| 9567 "%": "HTMLButtonElement" | |
| 9568 }, | |
| 9569 CharacterData: { | |
| 9570 "^": "Node;length=", | |
| 9571 $isInterceptor: 1, | |
| 9572 "%": "CDATASection|Comment|Text;CharacterData" | |
| 9573 }, | |
| 9574 CssStyleDeclaration: { | |
| 9575 "^": "Interceptor_CssStyleDeclarationBase;length=", | |
| 9576 "%": "CSS2Properties|CSSStyleDeclaration|MSStyleCSSProperties" | |
| 9577 }, | |
| 9578 Interceptor_CssStyleDeclarationBase: { | |
| 9579 "^": "Interceptor+CssStyleDeclarationBase;" | |
| 9580 }, | |
| 9581 CssStyleDeclarationBase: { | |
| 9582 "^": "Object;" | |
| 9583 }, | |
| 9584 DivElement: { | |
| 9585 "^": "HtmlElement;", | |
| 9586 "%": ";HTMLDivElement" | |
| 9587 }, | |
| 9588 Document: { | |
| 9589 "^": "Node;", | |
| 9590 querySelector$1: function(receiver, selectors) { | |
| 9591 return receiver.querySelector(selectors); | |
| 9592 }, | |
| 9593 get$onClick: function(receiver) { | |
| 9594 return H.setRuntimeTypeInfo(new W._EventStream(receiver, "click", false)
, [null]); | |
| 9595 }, | |
| 9596 "%": "Document|HTMLDocument|XMLDocument" | |
| 9597 }, | |
| 9598 DocumentFragment: { | |
| 9599 "^": "Node;", | |
| 9600 querySelector$1: function(receiver, selectors) { | |
| 9601 return receiver.querySelector(selectors); | |
| 9602 }, | |
| 9603 $isInterceptor: 1, | |
| 9604 "%": "DocumentFragment|ShadowRoot" | |
| 9605 }, | |
| 9606 DomError: { | |
| 9607 "^": "Interceptor;message=,name=", | |
| 9608 "%": "DOMError|FileError" | |
| 9609 }, | |
| 9610 DomException: { | |
| 9611 "^": "Interceptor;message=", | |
| 9612 get$name: function(receiver) { | |
| 9613 var errorName = receiver.name; | |
| 9614 if (P.Device_isWebKit() === true && errorName === "SECURITY_ERR") | |
| 9615 return "SecurityError"; | |
| 9616 if (P.Device_isWebKit() === true && errorName === "SYNTAX_ERR") | |
| 9617 return "SyntaxError"; | |
| 9618 return errorName; | |
| 9619 }, | |
| 9620 toString$0: function(receiver) { | |
| 9621 return String(receiver); | |
| 9622 }, | |
| 9623 "%": "DOMException" | |
| 9624 }, | |
| 9625 DomRectReadOnly: { | |
| 9626 "^": "Interceptor;bottom=,height=,left=,right=,top=,width=", | |
| 9627 toString$0: function(receiver) { | |
| 9628 return "Rectangle (" + H.S(receiver.left) + ", " + H.S(receiver.top) + "
) " + H.S(this.get$width(receiver)) + " x " + H.S(this.get$height(receiver)); | |
| 9629 }, | |
| 9630 $eq: function(receiver, other) { | |
| 9631 var t1, t2, t3; | |
| 9632 if (other == null) | |
| 9633 return false; | |
| 9634 t1 = J.getInterceptor(other); | |
| 9635 if (!t1.$isRectangle) | |
| 9636 return false; | |
| 9637 t2 = receiver.left; | |
| 9638 t3 = t1.get$left(other); | |
| 9639 if (t2 == null ? t3 == null : t2 === t3) { | |
| 9640 t2 = receiver.top; | |
| 9641 t3 = t1.get$top(other); | |
| 9642 if (t2 == null ? t3 == null : t2 === t3) { | |
| 9643 t2 = this.get$width(receiver); | |
| 9644 t3 = t1.get$width(other); | |
| 9645 if (t2 == null ? t3 == null : t2 === t3) { | |
| 9646 t2 = this.get$height(receiver); | |
| 9647 t1 = t1.get$height(other); | |
| 9648 t1 = t2 == null ? t1 == null : t2 === t1; | |
| 9649 } else | |
| 9650 t1 = false; | |
| 9651 } else | |
| 9652 t1 = false; | |
| 9653 } else | |
| 9654 t1 = false; | |
| 9655 return t1; | |
| 9656 }, | |
| 9657 get$hashCode: function(receiver) { | |
| 9658 var t1, t2, t3, t4; | |
| 9659 t1 = J.get$hashCode$(receiver.left); | |
| 9660 t2 = J.get$hashCode$(receiver.top); | |
| 9661 t3 = J.get$hashCode$(this.get$width(receiver)); | |
| 9662 t4 = J.get$hashCode$(this.get$height(receiver)); | |
| 9663 return W._JenkinsSmiHash_finish(W._JenkinsSmiHash_combine(W._JenkinsSmiH
ash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, t1), t2), t3)
, t4)); | |
| 9664 }, | |
| 9665 $isRectangle: 1, | |
| 9666 $asRectangle: Isolate.functionThatReturnsNull, | |
| 9667 "%": ";DOMRectReadOnly" | |
| 9668 }, | |
| 9669 DomTokenList: { | |
| 9670 "^": "Interceptor;length=", | |
| 9671 add$1: function(receiver, tokens) { | |
| 9672 return receiver.add(tokens); | |
| 9673 }, | |
| 9674 contains$1: function(receiver, token) { | |
| 9675 return receiver.contains(token); | |
| 9676 }, | |
| 9677 "%": "DOMSettableTokenList|DOMTokenList" | |
| 9678 }, | |
| 9679 Element: { | |
| 9680 "^": "Node;tagName=", | |
| 9681 get$attributes: function(receiver) { | |
| 9682 return new W._ElementAttributeMap(receiver); | |
| 9683 }, | |
| 9684 get$classes: function(receiver) { | |
| 9685 return new W._ElementCssClassSet(receiver); | |
| 9686 }, | |
| 9687 toString$0: function(receiver) { | |
| 9688 return receiver.localName; | |
| 9689 }, | |
| 9690 createFragment$3$treeSanitizer$validator: function(receiver, html, treeSan
itizer, validator) { | |
| 9691 var t1, t2, base, contextElement, fragment; | |
| 9692 if (treeSanitizer == null) { | |
| 9693 if (validator == null) { | |
| 9694 t1 = $.Element__defaultValidator; | |
| 9695 if (t1 == null) { | |
| 9696 t1 = H.setRuntimeTypeInfo([], [W.NodeValidator]); | |
| 9697 t2 = new W.NodeValidatorBuilder(t1); | |
| 9698 t1.push(W._Html5NodeValidator$(null)); | |
| 9699 t1.push(W._TemplatingNodeValidator$()); | |
| 9700 $.Element__defaultValidator = t2; | |
| 9701 validator = t2; | |
| 9702 } else | |
| 9703 validator = t1; | |
| 9704 } | |
| 9705 t1 = $.Element__defaultSanitizer; | |
| 9706 if (t1 == null) { | |
| 9707 t1 = new W._ValidatingTreeSanitizer(validator); | |
| 9708 $.Element__defaultSanitizer = t1; | |
| 9709 treeSanitizer = t1; | |
| 9710 } else { | |
| 9711 t1.validator = validator; | |
| 9712 treeSanitizer = t1; | |
| 9713 } | |
| 9714 } else if (validator != null) | |
| 9715 throw H.wrapException(P.ArgumentError$("validator can only be passed i
f treeSanitizer is null")); | |
| 9716 if ($.Element__parseDocument == null) { | |
| 9717 t1 = document.implementation.createHTMLDocument(""); | |
| 9718 $.Element__parseDocument = t1; | |
| 9719 $.Element__parseRange = t1.createRange(); | |
| 9720 base = $.Element__parseDocument.createElement("base", null); | |
| 9721 J.set$href$x(base, document.baseURI); | |
| 9722 $.Element__parseDocument.head.appendChild(base); | |
| 9723 } | |
| 9724 t1 = $.Element__parseDocument; | |
| 9725 if (!!this.$isBodyElement) | |
| 9726 contextElement = t1.body; | |
| 9727 else { | |
| 9728 contextElement = t1.createElement(receiver.tagName, null); | |
| 9729 $.Element__parseDocument.body.appendChild(contextElement); | |
| 9730 } | |
| 9731 if ("createContextualFragment" in window.Range.prototype && !C.JSArray_m
ethods.contains$1(C.List_ego, receiver.tagName)) { | |
| 9732 $.Element__parseRange.selectNodeContents(contextElement); | |
| 9733 fragment = $.Element__parseRange.createContextualFragment(html); | |
| 9734 } else { | |
| 9735 contextElement.innerHTML = html; | |
| 9736 fragment = $.Element__parseDocument.createDocumentFragment(); | |
| 9737 for (; t1 = contextElement.firstChild, t1 != null;) | |
| 9738 fragment.appendChild(t1); | |
| 9739 } | |
| 9740 t1 = $.Element__parseDocument.body; | |
| 9741 if (contextElement == null ? t1 != null : contextElement !== t1) | |
| 9742 J.remove$0$ax(contextElement); | |
| 9743 treeSanitizer.sanitizeTree$1(fragment); | |
| 9744 document.adoptNode(fragment); | |
| 9745 return fragment; | |
| 9746 }, | |
| 9747 querySelector$1: function(receiver, selectors) { | |
| 9748 return receiver.querySelector(selectors); | |
| 9749 }, | |
| 9750 get$onClick: function(receiver) { | |
| 9751 return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "cli
ck", false), [null]); | |
| 9752 }, | |
| 9753 $isElement: 1, | |
| 9754 $isNode: 1, | |
| 9755 $isObject: 1, | |
| 9756 $isInterceptor: 1, | |
| 9757 $isEventTarget: 1, | |
| 9758 "%": ";Element" | |
| 9759 }, | |
| 9760 Element_Element$html_closure: { | |
| 9761 "^": "Closure:0;", | |
| 9762 call$1: function(e) { | |
| 9763 return !!J.getInterceptor(e).$isElement; | |
| 9764 } | |
| 9765 }, | |
| 9766 EmbedElement: { | |
| 9767 "^": "HtmlElement;name=", | |
| 9768 "%": "HTMLEmbedElement" | |
| 9769 }, | |
| 9770 ErrorEvent: { | |
| 9771 "^": "Event;error=,message=", | |
| 9772 "%": "ErrorEvent" | |
| 9773 }, | |
| 9774 Event: { | |
| 9775 "^": "Interceptor;", | |
| 9776 get$target: function(receiver) { | |
| 9777 return W._convertNativeToDart_EventTarget(receiver.target); | |
| 9778 }, | |
| 9779 "%": "AnimationPlayerEvent|AudioProcessingEvent|AutocompleteErrorEvent|Bef
oreUnloadEvent|CloseEvent|CompositionEvent|CustomEvent|DeviceLightEvent|DeviceMo
tionEvent|DeviceOrientationEvent|DragEvent|ExtendableEvent|FetchEvent|FocusEvent
|FontFaceSetLoadEvent|GamepadEvent|HashChangeEvent|IDBVersionChangeEvent|Install
Event|KeyboardEvent|MIDIConnectionEvent|MIDIMessageEvent|MSPointerEvent|MediaKey
NeededEvent|MediaQueryListEvent|MediaStreamEvent|MediaStreamTrackEvent|MessageEv
ent|MouseEvent|MutationEvent|OfflineAudioCompletionEvent|OverflowEvent|PageTrans
itionEvent|PointerEvent|PopStateEvent|ProgressEvent|PushEvent|RTCDTMFToneChangeE
vent|RTCDataChannelEvent|RTCIceCandidateEvent|RTCPeerConnectionIceEvent|RelatedE
vent|ResourceProgressEvent|SVGZoomEvent|SecurityPolicyViolationEvent|SpeechRecog
nitionEvent|StorageEvent|TextEvent|TouchEvent|TrackEvent|TransitionEvent|UIEvent
|WebGLContextEvent|WebKitAnimationEvent|WebKitTransitionEvent|WheelEvent|XMLHttp
RequestProgressEvent;ClipboardEvent|Event|InputEvent" | |
| 9780 }, | |
| 9781 EventTarget: { | |
| 9782 "^": "Interceptor;", | |
| 9783 _addEventListener$3: function(receiver, type, listener, useCapture) { | |
| 9784 return receiver.addEventListener(type, H.convertDartClosureToJS(listener
, 1), useCapture); | |
| 9785 }, | |
| 9786 _removeEventListener$3: function(receiver, type, listener, useCapture) { | |
| 9787 return receiver.removeEventListener(type, H.convertDartClosureToJS(liste
ner, 1), useCapture); | |
| 9788 }, | |
| 9789 $isEventTarget: 1, | |
| 9790 "%": "MediaStream;EventTarget" | |
| 9791 }, | |
| 9792 FieldSetElement: { | |
| 9793 "^": "HtmlElement;name=", | |
| 9794 "%": "HTMLFieldSetElement" | |
| 9795 }, | |
| 9796 File: { | |
| 9797 "^": "Blob;name=", | |
| 9798 "%": "File" | |
| 9799 }, | |
| 9800 FormElement: { | |
| 9801 "^": "HtmlElement;length=,name=,target=", | |
| 9802 "%": "HTMLFormElement" | |
| 9803 }, | |
| 9804 HttpRequest: { | |
| 9805 "^": "HttpRequestEventTarget;responseText=", | |
| 9806 open$5$async$password$user: function(receiver, method, url, async, passwor
d, user) { | |
| 9807 return receiver.open(method, url, async, user, password); | |
| 9808 }, | |
| 9809 open$3$async: function($receiver, method, url, async) { | |
| 9810 return $receiver.open(method, url, async); | |
| 9811 }, | |
| 9812 send$1: function(receiver, data) { | |
| 9813 return receiver.send(data); | |
| 9814 }, | |
| 9815 $isHttpRequest: 1, | |
| 9816 $isObject: 1, | |
| 9817 "%": "XMLHttpRequest" | |
| 9818 }, | |
| 9819 HttpRequest_getString_closure: { | |
| 9820 "^": "Closure:26;", | |
| 9821 call$1: function(xhr) { | |
| 9822 return J.get$responseText$x(xhr); | |
| 9823 } | |
| 9824 }, | |
| 9825 HttpRequest_request_closure: { | |
| 9826 "^": "Closure:0;_captured_completer_1,_captured_xhr_2", | |
| 9827 call$1: function(e) { | |
| 9828 var t1, t2, accepted, unknownRedirect, t3; | |
| 9829 t1 = this._captured_xhr_2; | |
| 9830 t2 = t1.status; | |
| 9831 if (typeof t2 !== "number") | |
| 9832 return t2.$ge(); | |
| 9833 accepted = t2 >= 200 && t2 < 300; | |
| 9834 unknownRedirect = t2 > 307 && t2 < 400; | |
| 9835 t2 = accepted || t2 === 0 || t2 === 304 || unknownRedirect; | |
| 9836 t3 = this._captured_completer_1; | |
| 9837 if (t2) | |
| 9838 t3.complete$1(0, t1); | |
| 9839 else | |
| 9840 t3.completeError$1(e); | |
| 9841 } | |
| 9842 }, | |
| 9843 HttpRequestEventTarget: { | |
| 9844 "^": "EventTarget;", | |
| 9845 "%": ";XMLHttpRequestEventTarget" | |
| 9846 }, | |
| 9847 IFrameElement: { | |
| 9848 "^": "HtmlElement;name=", | |
| 9849 "%": "HTMLIFrameElement" | |
| 9850 }, | |
| 9851 ImageElement: { | |
| 9852 "^": "HtmlElement;", | |
| 9853 complete$1: function($receiver, arg0) { | |
| 9854 return $receiver.complete.call$1(arg0); | |
| 9855 }, | |
| 9856 "%": "HTMLImageElement" | |
| 9857 }, | |
| 9858 InputElement: { | |
| 9859 "^": "HtmlElement;name=", | |
| 9860 accept$1: function($receiver, arg0) { | |
| 9861 return $receiver.accept.call$1(arg0); | |
| 9862 }, | |
| 9863 $isElement: 1, | |
| 9864 $isInterceptor: 1, | |
| 9865 $isEventTarget: 1, | |
| 9866 "%": "HTMLInputElement" | |
| 9867 }, | |
| 9868 KeygenElement: { | |
| 9869 "^": "HtmlElement;name=", | |
| 9870 "%": "HTMLKeygenElement" | |
| 9871 }, | |
| 9872 LinkElement: { | |
| 9873 "^": "HtmlElement;href}", | |
| 9874 "%": "HTMLLinkElement" | |
| 9875 }, | |
| 9876 Location: { | |
| 9877 "^": "Interceptor;", | |
| 9878 toString$0: function(receiver) { | |
| 9879 return String(receiver); | |
| 9880 }, | |
| 9881 "%": "Location" | |
| 9882 }, | |
| 9883 MapElement: { | |
| 9884 "^": "HtmlElement;name=", | |
| 9885 "%": "HTMLMapElement" | |
| 9886 }, | |
| 9887 MediaElement: { | |
| 9888 "^": "HtmlElement;error=", | |
| 9889 "%": "HTMLAudioElement|HTMLMediaElement|HTMLVideoElement" | |
| 9890 }, | |
| 9891 MediaKeyEvent: { | |
| 9892 "^": "Event;message=", | |
| 9893 "%": "MediaKeyEvent" | |
| 9894 }, | |
| 9895 MediaKeyMessageEvent: { | |
| 9896 "^": "Event;message=", | |
| 9897 "%": "MediaKeyMessageEvent" | |
| 9898 }, | |
| 9899 MetaElement: { | |
| 9900 "^": "HtmlElement;name=", | |
| 9901 "%": "HTMLMetaElement" | |
| 9902 }, | |
| 9903 MidiOutput: { | |
| 9904 "^": "MidiPort;", | |
| 9905 send$2: function(receiver, data, timestamp) { | |
| 9906 return receiver.send(data, timestamp); | |
| 9907 }, | |
| 9908 send$1: function($receiver, data) { | |
| 9909 return $receiver.send(data); | |
| 9910 }, | |
| 9911 "%": "MIDIOutput" | |
| 9912 }, | |
| 9913 MidiPort: { | |
| 9914 "^": "EventTarget;name=", | |
| 9915 "%": "MIDIInput;MIDIPort" | |
| 9916 }, | |
| 9917 Navigator: { | |
| 9918 "^": "Interceptor;", | |
| 9919 $isInterceptor: 1, | |
| 9920 "%": "Navigator" | |
| 9921 }, | |
| 9922 NavigatorUserMediaError: { | |
| 9923 "^": "Interceptor;message=,name=", | |
| 9924 "%": "NavigatorUserMediaError" | |
| 9925 }, | |
| 9926 _ChildNodeListLazy: { | |
| 9927 "^": "ListBase;_this", | |
| 9928 get$last: function(_) { | |
| 9929 var result = this._this.lastChild; | |
| 9930 if (result == null) | |
| 9931 throw H.wrapException(new P.StateError("No elements")); | |
| 9932 return result; | |
| 9933 }, | |
| 9934 add$1: function(_, value) { | |
| 9935 this._this.appendChild(value); | |
| 9936 }, | |
| 9937 $indexSet: function(_, index, value) { | |
| 9938 var t1, t2; | |
| 9939 t1 = this._this; | |
| 9940 t2 = t1.childNodes; | |
| 9941 if (index < 0 || index >= t2.length) | |
| 9942 return H.ioore(t2, index); | |
| 9943 t1.replaceChild(value, t2[index]); | |
| 9944 }, | |
| 9945 get$iterator: function(_) { | |
| 9946 return C.NodeList_methods.get$iterator(this._this.childNodes); | |
| 9947 }, | |
| 9948 get$length: function(_) { | |
| 9949 return this._this.childNodes.length; | |
| 9950 }, | |
| 9951 set$length: function(_, value) { | |
| 9952 throw H.wrapException(new P.UnsupportedError("Cannot set length on immut
able List.")); | |
| 9953 }, | |
| 9954 $index: function(_, index) { | |
| 9955 var t1 = this._this.childNodes; | |
| 9956 if (index >>> 0 !== index || index >= t1.length) | |
| 9957 return H.ioore(t1, index); | |
| 9958 return t1[index]; | |
| 9959 }, | |
| 9960 $asListBase: function() { | |
| 9961 return [W.Node]; | |
| 9962 }, | |
| 9963 $asObject_ListMixin: function() { | |
| 9964 return [W.Node]; | |
| 9965 }, | |
| 9966 $asList: function() { | |
| 9967 return [W.Node]; | |
| 9968 } | |
| 9969 }, | |
| 9970 Node: { | |
| 9971 "^": "EventTarget;", | |
| 9972 remove$0: function(receiver) { | |
| 9973 var t1 = receiver.parentNode; | |
| 9974 if (t1 != null) | |
| 9975 t1.removeChild(receiver); | |
| 9976 }, | |
| 9977 toString$0: function(receiver) { | |
| 9978 var value = receiver.nodeValue; | |
| 9979 return value == null ? this.super$Interceptor$toString(receiver) : value
; | |
| 9980 }, | |
| 9981 contains$1: function(receiver, other) { | |
| 9982 return receiver.contains(other); | |
| 9983 }, | |
| 9984 $isNode: 1, | |
| 9985 $isObject: 1, | |
| 9986 "%": ";Node" | |
| 9987 }, | |
| 9988 NodeList: { | |
| 9989 "^": "Interceptor_ListMixin_ImmutableListMixin;", | |
| 9990 get$length: function(receiver) { | |
| 9991 return receiver.length; | |
| 9992 }, | |
| 9993 $index: function(receiver, index) { | |
| 9994 if (index >>> 0 !== index || index >= receiver.length) | |
| 9995 throw H.wrapException(P.IndexError$(index, receiver, null, null, null)
); | |
| 9996 return receiver[index]; | |
| 9997 }, | |
| 9998 $indexSet: function(receiver, index, value) { | |
| 9999 throw H.wrapException(new P.UnsupportedError("Cannot assign element of i
mmutable List.")); | |
| 10000 }, | |
| 10001 set$length: function(receiver, value) { | |
| 10002 throw H.wrapException(new P.UnsupportedError("Cannot resize immutable Li
st.")); | |
| 10003 }, | |
| 10004 get$last: function(receiver) { | |
| 10005 var len = receiver.length; | |
| 10006 if (len > 0) | |
| 10007 return receiver[len - 1]; | |
| 10008 throw H.wrapException(new P.StateError("No elements")); | |
| 10009 }, | |
| 10010 elementAt$1: function(receiver, index) { | |
| 10011 if (index < 0 || index >= receiver.length) | |
| 10012 return H.ioore(receiver, index); | |
| 10013 return receiver[index]; | |
| 10014 }, | |
| 10015 $isList: 1, | |
| 10016 $asList: function() { | |
| 10017 return [W.Node]; | |
| 10018 }, | |
| 10019 $isEfficientLength: 1, | |
| 10020 $isJavaScriptIndexingBehavior: 1, | |
| 10021 $isJSIndexable: 1, | |
| 10022 "%": "NodeList|RadioNodeList" | |
| 10023 }, | |
| 10024 Interceptor_ListMixin: { | |
| 10025 "^": "Interceptor+ListMixin;", | |
| 10026 $isList: 1, | |
| 10027 $asList: function() { | |
| 10028 return [W.Node]; | |
| 10029 }, | |
| 10030 $isEfficientLength: 1 | |
| 10031 }, | |
| 10032 Interceptor_ListMixin_ImmutableListMixin: { | |
| 10033 "^": "Interceptor_ListMixin+ImmutableListMixin;", | |
| 10034 $isList: 1, | |
| 10035 $asList: function() { | |
| 10036 return [W.Node]; | |
| 10037 }, | |
| 10038 $isEfficientLength: 1 | |
| 10039 }, | |
| 10040 ObjectElement: { | |
| 10041 "^": "HtmlElement;name=", | |
| 10042 "%": "HTMLObjectElement" | |
| 10043 }, | |
| 10044 OutputElement: { | |
| 10045 "^": "HtmlElement;name=", | |
| 10046 "%": "HTMLOutputElement" | |
| 10047 }, | |
| 10048 ParamElement: { | |
| 10049 "^": "HtmlElement;name=", | |
| 10050 "%": "HTMLParamElement" | |
| 10051 }, | |
| 10052 PluginPlaceholderElement: { | |
| 10053 "^": "DivElement;message=", | |
| 10054 "%": "PluginPlaceholderElement" | |
| 10055 }, | |
| 10056 PositionError: { | |
| 10057 "^": "Interceptor;message=", | |
| 10058 "%": "PositionError" | |
| 10059 }, | |
| 10060 ProcessingInstruction: { | |
| 10061 "^": "CharacterData;target=", | |
| 10062 "%": "ProcessingInstruction" | |
| 10063 }, | |
| 10064 SelectElement: { | |
| 10065 "^": "HtmlElement;length=,name=", | |
| 10066 "%": "HTMLSelectElement" | |
| 10067 }, | |
| 10068 SpeechRecognitionError: { | |
| 10069 "^": "Event;error=,message=", | |
| 10070 "%": "SpeechRecognitionError" | |
| 10071 }, | |
| 10072 SpeechSynthesisEvent: { | |
| 10073 "^": "Event;name=", | |
| 10074 "%": "SpeechSynthesisEvent" | |
| 10075 }, | |
| 10076 TableColElement: { | |
| 10077 "^": "HtmlElement;span=", | |
| 10078 "%": "HTMLTableColElement" | |
| 10079 }, | |
| 10080 TemplateElement: { | |
| 10081 "^": "HtmlElement;", | |
| 10082 $isTemplateElement: 1, | |
| 10083 "%": "HTMLTemplateElement" | |
| 10084 }, | |
| 10085 TextAreaElement: { | |
| 10086 "^": "HtmlElement;name=", | |
| 10087 "%": "HTMLTextAreaElement" | |
| 10088 }, | |
| 10089 Window: { | |
| 10090 "^": "EventTarget;name=", | |
| 10091 get$animationFrame: function(receiver) { | |
| 10092 var completer = H.setRuntimeTypeInfo(new P._SyncCompleter(H.setRuntimeTy
peInfo(new P._Future(0, $.Zone__current, null), [P.num])), [P.num]); | |
| 10093 this._ensureRequestAnimationFrame$0(receiver); | |
| 10094 this._requestAnimationFrame$1(receiver, W._wrapZone(new W.Window_animati
onFrame_closure(completer))); | |
| 10095 return completer.future; | |
| 10096 }, | |
| 10097 _requestAnimationFrame$1: function(receiver, callback) { | |
| 10098 return receiver.requestAnimationFrame(H.convertDartClosureToJS(callback,
1)); | |
| 10099 }, | |
| 10100 _ensureRequestAnimationFrame$0: function(receiver) { | |
| 10101 if (!!(receiver.requestAnimationFrame && receiver.cancelAnimationFrame)) | |
| 10102 return; | |
| 10103 (function($this) { | |
| 10104 var vendors = ['ms', 'moz', 'webkit', 'o']; | |
| 10105 for (var i = 0; i < vendors.length && !$this.requestAnimationFrame; ++
i) { | |
| 10106 $this.requestAnimationFrame = $this[vendors[i] + 'RequestAnimationFr
ame']; | |
| 10107 $this.cancelAnimationFrame = $this[vendors[i] + 'CancelAnimationFram
e'] || $this[vendors[i] + 'CancelRequestAnimationFrame']; | |
| 10108 } | |
| 10109 if ($this.requestAnimationFrame && $this.cancelAnimationFrame) | |
| 10110 return; | |
| 10111 $this.requestAnimationFrame = function(callback) { | |
| 10112 return window.setTimeout(function() { | |
| 10113 callback(Date.now()); | |
| 10114 }, 16); | |
| 10115 }; | |
| 10116 $this.cancelAnimationFrame = function(id) { | |
| 10117 clearTimeout(id); | |
| 10118 }; | |
| 10119 })(receiver); | |
| 10120 }, | |
| 10121 get$onClick: function(receiver) { | |
| 10122 return H.setRuntimeTypeInfo(new W._EventStream(receiver, "click", false)
, [null]); | |
| 10123 }, | |
| 10124 $isInterceptor: 1, | |
| 10125 $isEventTarget: 1, | |
| 10126 "%": "DOMWindow|Window" | |
| 10127 }, | |
| 10128 Window_animationFrame_closure: { | |
| 10129 "^": "Closure:0;_captured_completer_0", | |
| 10130 call$1: function(time) { | |
| 10131 this._captured_completer_0.complete$1(0, time); | |
| 10132 } | |
| 10133 }, | |
| 10134 _Attr: { | |
| 10135 "^": "Node;name=", | |
| 10136 "%": "Attr" | |
| 10137 }, | |
| 10138 _ClientRect: { | |
| 10139 "^": "Interceptor;bottom=,height=,left=,right=,top=,width=", | |
| 10140 toString$0: function(receiver) { | |
| 10141 return "Rectangle (" + H.S(receiver.left) + ", " + H.S(receiver.top) + "
) " + H.S(receiver.width) + " x " + H.S(receiver.height); | |
| 10142 }, | |
| 10143 $eq: function(receiver, other) { | |
| 10144 var t1, t2, t3; | |
| 10145 if (other == null) | |
| 10146 return false; | |
| 10147 t1 = J.getInterceptor(other); | |
| 10148 if (!t1.$isRectangle) | |
| 10149 return false; | |
| 10150 t2 = receiver.left; | |
| 10151 t3 = t1.get$left(other); | |
| 10152 if (t2 == null ? t3 == null : t2 === t3) { | |
| 10153 t2 = receiver.top; | |
| 10154 t3 = t1.get$top(other); | |
| 10155 if (t2 == null ? t3 == null : t2 === t3) { | |
| 10156 t2 = receiver.width; | |
| 10157 t3 = t1.get$width(other); | |
| 10158 if (t2 == null ? t3 == null : t2 === t3) { | |
| 10159 t2 = receiver.height; | |
| 10160 t1 = t1.get$height(other); | |
| 10161 t1 = t2 == null ? t1 == null : t2 === t1; | |
| 10162 } else | |
| 10163 t1 = false; | |
| 10164 } else | |
| 10165 t1 = false; | |
| 10166 } else | |
| 10167 t1 = false; | |
| 10168 return t1; | |
| 10169 }, | |
| 10170 get$hashCode: function(receiver) { | |
| 10171 var t1, t2, t3, t4; | |
| 10172 t1 = J.get$hashCode$(receiver.left); | |
| 10173 t2 = J.get$hashCode$(receiver.top); | |
| 10174 t3 = J.get$hashCode$(receiver.width); | |
| 10175 t4 = J.get$hashCode$(receiver.height); | |
| 10176 return W._JenkinsSmiHash_finish(W._JenkinsSmiHash_combine(W._JenkinsSmiH
ash_combine(W._JenkinsSmiHash_combine(W._JenkinsSmiHash_combine(0, t1), t2), t3)
, t4)); | |
| 10177 }, | |
| 10178 $isRectangle: 1, | |
| 10179 $asRectangle: Isolate.functionThatReturnsNull, | |
| 10180 "%": "ClientRect" | |
| 10181 }, | |
| 10182 _DocumentType: { | |
| 10183 "^": "Node;", | |
| 10184 $isInterceptor: 1, | |
| 10185 "%": "DocumentType" | |
| 10186 }, | |
| 10187 _DomRect: { | |
| 10188 "^": "DomRectReadOnly;", | |
| 10189 get$height: function(receiver) { | |
| 10190 return receiver.height; | |
| 10191 }, | |
| 10192 get$width: function(receiver) { | |
| 10193 return receiver.width; | |
| 10194 }, | |
| 10195 "%": "DOMRect" | |
| 10196 }, | |
| 10197 _HTMLFrameSetElement: { | |
| 10198 "^": "HtmlElement;", | |
| 10199 $isEventTarget: 1, | |
| 10200 $isInterceptor: 1, | |
| 10201 "%": "HTMLFrameSetElement" | |
| 10202 }, | |
| 10203 _NamedNodeMap: { | |
| 10204 "^": "Interceptor_ListMixin_ImmutableListMixin0;", | |
| 10205 get$length: function(receiver) { | |
| 10206 return receiver.length; | |
| 10207 }, | |
| 10208 $index: function(receiver, index) { | |
| 10209 if (index >>> 0 !== index || index >= receiver.length) | |
| 10210 throw H.wrapException(P.IndexError$(index, receiver, null, null, null)
); | |
| 10211 return receiver[index]; | |
| 10212 }, | |
| 10213 $indexSet: function(receiver, index, value) { | |
| 10214 throw H.wrapException(new P.UnsupportedError("Cannot assign element of i
mmutable List.")); | |
| 10215 }, | |
| 10216 set$length: function(receiver, value) { | |
| 10217 throw H.wrapException(new P.UnsupportedError("Cannot resize immutable Li
st.")); | |
| 10218 }, | |
| 10219 get$last: function(receiver) { | |
| 10220 var len = receiver.length; | |
| 10221 if (len > 0) | |
| 10222 return receiver[len - 1]; | |
| 10223 throw H.wrapException(new P.StateError("No elements")); | |
| 10224 }, | |
| 10225 elementAt$1: function(receiver, index) { | |
| 10226 if (index < 0 || index >= receiver.length) | |
| 10227 return H.ioore(receiver, index); | |
| 10228 return receiver[index]; | |
| 10229 }, | |
| 10230 $isList: 1, | |
| 10231 $asList: function() { | |
| 10232 return [W.Node]; | |
| 10233 }, | |
| 10234 $isEfficientLength: 1, | |
| 10235 $isJavaScriptIndexingBehavior: 1, | |
| 10236 $isJSIndexable: 1, | |
| 10237 "%": "MozNamedAttrMap|NamedNodeMap" | |
| 10238 }, | |
| 10239 Interceptor_ListMixin0: { | |
| 10240 "^": "Interceptor+ListMixin;", | |
| 10241 $isList: 1, | |
| 10242 $asList: function() { | |
| 10243 return [W.Node]; | |
| 10244 }, | |
| 10245 $isEfficientLength: 1 | |
| 10246 }, | |
| 10247 Interceptor_ListMixin_ImmutableListMixin0: { | |
| 10248 "^": "Interceptor_ListMixin0+ImmutableListMixin;", | |
| 10249 $isList: 1, | |
| 10250 $asList: function() { | |
| 10251 return [W.Node]; | |
| 10252 }, | |
| 10253 $isEfficientLength: 1 | |
| 10254 }, | |
| 10255 _AttributeMap: { | |
| 10256 "^": "Object;_element<", | |
| 10257 forEach$1: function(_, f) { | |
| 10258 var t1, t2, _i, key; | |
| 10259 for (t1 = this.get$keys(), t2 = t1.length, _i = 0; _i < t1.length; t1.le
ngth === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { | |
| 10260 key = t1[_i]; | |
| 10261 f.call$2(key, this.$index(0, key)); | |
| 10262 } | |
| 10263 }, | |
| 10264 get$keys: function() { | |
| 10265 var attributes, keys, len, i; | |
| 10266 attributes = this._element.attributes; | |
| 10267 keys = H.setRuntimeTypeInfo([], [P.String]); | |
| 10268 for (len = attributes.length, i = 0; i < len; ++i) { | |
| 10269 if (i >= attributes.length) | |
| 10270 return H.ioore(attributes, i); | |
| 10271 if (this._matches$1(attributes[i])) { | |
| 10272 if (i >= attributes.length) | |
| 10273 return H.ioore(attributes, i); | |
| 10274 keys.push(J.get$name$x(attributes[i])); | |
| 10275 } | |
| 10276 } | |
| 10277 return keys; | |
| 10278 }, | |
| 10279 get$isEmpty: function(_) { | |
| 10280 return this.get$length(this) === 0; | |
| 10281 }, | |
| 10282 get$isNotEmpty: function(_) { | |
| 10283 return this.get$length(this) !== 0; | |
| 10284 } | |
| 10285 }, | |
| 10286 _ElementAttributeMap: { | |
| 10287 "^": "_AttributeMap;_element", | |
| 10288 $index: function(_, key) { | |
| 10289 return this._element.getAttribute(key); | |
| 10290 }, | |
| 10291 $indexSet: function(_, key, value) { | |
| 10292 this._element.setAttribute(key, value); | |
| 10293 }, | |
| 10294 get$length: function(_) { | |
| 10295 return this.get$keys().length; | |
| 10296 }, | |
| 10297 _matches$1: function(node) { | |
| 10298 return node.namespaceURI == null; | |
| 10299 } | |
| 10300 }, | |
| 10301 _ElementCssClassSet: { | |
| 10302 "^": "CssClassSetImpl;_element<", | |
| 10303 readClasses$0: function() { | |
| 10304 var s, t1, t2, _i, trimmed; | |
| 10305 s = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String); | |
| 10306 for (t1 = this._element.className.split(" "), t2 = t1.length, _i = 0; _i
< t1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), +
+_i) { | |
| 10307 trimmed = J.trim$0$s(t1[_i]); | |
| 10308 if (trimmed.length !== 0) | |
| 10309 s.add$1(0, trimmed); | |
| 10310 } | |
| 10311 return s; | |
| 10312 }, | |
| 10313 writeClasses$1: function(s) { | |
| 10314 this._element.className = s.join$1(0, " "); | |
| 10315 }, | |
| 10316 get$length: function(_) { | |
| 10317 return this._element.classList.length; | |
| 10318 }, | |
| 10319 get$isEmpty: function(_) { | |
| 10320 return this._element.classList.length === 0; | |
| 10321 }, | |
| 10322 get$isNotEmpty: function(_) { | |
| 10323 return this._element.classList.length !== 0; | |
| 10324 }, | |
| 10325 contains$1: function(_, value) { | |
| 10326 return typeof value === "string" && this._element.classList.contains(val
ue); | |
| 10327 }, | |
| 10328 add$1: function(_, value) { | |
| 10329 var list, t1; | |
| 10330 list = this._element.classList; | |
| 10331 t1 = list.contains(value); | |
| 10332 list.add(value); | |
| 10333 return !t1; | |
| 10334 }, | |
| 10335 remove$1: function(_, value) { | |
| 10336 var list, removed, t1; | |
| 10337 list = this._element.classList; | |
| 10338 removed = list.contains(value); | |
| 10339 list.remove(value); | |
| 10340 t1 = removed; | |
| 10341 return t1; | |
| 10342 }, | |
| 10343 toggle$2: function(_, value, shouldAdd) { | |
| 10344 return this._element.classList.toggle(value); | |
| 10345 }, | |
| 10346 toggle$1: function($receiver, value) { | |
| 10347 return this.toggle$2($receiver, value, null); | |
| 10348 } | |
| 10349 }, | |
| 10350 _EventStream: { | |
| 10351 "^": "Stream;_target,_eventType,_useCapture", | |
| 10352 listen$4$cancelOnError$onDone$onError: function(onData, cancelOnError, onD
one, onError) { | |
| 10353 var t1 = new W._EventStreamSubscription(0, this._target, this._eventType
, W._wrapZone(onData), this._useCapture); | |
| 10354 t1.$builtinTypeInfo = this.$builtinTypeInfo; | |
| 10355 t1._tryResume$0(); | |
| 10356 return t1; | |
| 10357 }, | |
| 10358 listen$3$onDone$onError: function(onData, onDone, onError) { | |
| 10359 return this.listen$4$cancelOnError$onDone$onError(onData, null, onDone,
onError); | |
| 10360 } | |
| 10361 }, | |
| 10362 _ElementEventStreamImpl: { | |
| 10363 "^": "_EventStream;_target,_eventType,_useCapture" | |
| 10364 }, | |
| 10365 _EventStreamSubscription: { | |
| 10366 "^": "StreamSubscription;_pauseCount,_target,_eventType,_onData,_useCaptur
e", | |
| 10367 cancel$0: function() { | |
| 10368 if (this._target == null) | |
| 10369 return; | |
| 10370 this._unlisten$0(); | |
| 10371 this._target = null; | |
| 10372 this._onData = null; | |
| 10373 return; | |
| 10374 }, | |
| 10375 pause$1: function(_, resumeSignal) { | |
| 10376 if (this._target == null) | |
| 10377 return; | |
| 10378 ++this._pauseCount; | |
| 10379 this._unlisten$0(); | |
| 10380 }, | |
| 10381 pause$0: function($receiver) { | |
| 10382 return this.pause$1($receiver, null); | |
| 10383 }, | |
| 10384 resume$0: function() { | |
| 10385 if (this._target == null || this._pauseCount <= 0) | |
| 10386 return; | |
| 10387 --this._pauseCount; | |
| 10388 this._tryResume$0(); | |
| 10389 }, | |
| 10390 _tryResume$0: function() { | |
| 10391 var t1, t2, t3; | |
| 10392 t1 = this._onData; | |
| 10393 t2 = t1 != null; | |
| 10394 if (t2 && this._pauseCount <= 0) { | |
| 10395 t3 = this._target; | |
| 10396 t3.toString; | |
| 10397 if (t2) | |
| 10398 J._addEventListener$3$x(t3, this._eventType, t1, this._useCapture); | |
| 10399 } | |
| 10400 }, | |
| 10401 _unlisten$0: function() { | |
| 10402 var t1, t2, t3; | |
| 10403 t1 = this._onData; | |
| 10404 t2 = t1 != null; | |
| 10405 if (t2) { | |
| 10406 t3 = this._target; | |
| 10407 t3.toString; | |
| 10408 if (t2) | |
| 10409 J._removeEventListener$3$x(t3, this._eventType, t1, this._useCapture
); | |
| 10410 } | |
| 10411 } | |
| 10412 }, | |
| 10413 _Html5NodeValidator: { | |
| 10414 "^": "Object;uriPolicy<", | |
| 10415 allowsElement$1: function(element) { | |
| 10416 return $.$get$_Html5NodeValidator__allowedElements().contains$1(0, J.get
$tagName$x(element)); | |
| 10417 }, | |
| 10418 allowsAttribute$3: function(element, attributeName, value) { | |
| 10419 var tagName, t1, validator; | |
| 10420 tagName = J.get$tagName$x(element); | |
| 10421 t1 = $.$get$_Html5NodeValidator__attributeValidators(); | |
| 10422 validator = t1.$index(0, H.S(tagName) + "::" + attributeName); | |
| 10423 if (validator == null) | |
| 10424 validator = t1.$index(0, "*::" + attributeName); | |
| 10425 if (validator == null) | |
| 10426 return false; | |
| 10427 return validator.call$4(element, attributeName, value, this); | |
| 10428 }, | |
| 10429 _Html5NodeValidator$1$uriPolicy: function(uriPolicy) { | |
| 10430 var t1, _i; | |
| 10431 t1 = $.$get$_Html5NodeValidator__attributeValidators(); | |
| 10432 if (t1.get$isEmpty(t1)) { | |
| 10433 for (_i = 0; _i < 261; ++_i) | |
| 10434 t1.$indexSet(0, C.List_1GN[_i], W.html__Html5NodeValidator__standard
AttributeValidator$closure()); | |
| 10435 for (_i = 0; _i < 12; ++_i) | |
| 10436 t1.$indexSet(0, C.List_yrN[_i], W.html__Html5NodeValidator__uriAttri
buteValidator$closure()); | |
| 10437 } | |
| 10438 }, | |
| 10439 $isNodeValidator: 1, | |
| 10440 static: {_Html5NodeValidator$: function(uriPolicy) { | |
| 10441 var t1 = new W._Html5NodeValidator(new W._SameOriginUriPolicy(W.Anchor
Element_AnchorElement(null), window.location)); | |
| 10442 t1._Html5NodeValidator$1$uriPolicy(uriPolicy); | |
| 10443 return t1; | |
| 10444 }, _Html5NodeValidator__standardAttributeValidator: [function(element, a
ttributeName, value, context) { | |
| 10445 return true; | |
| 10446 }, "call$4", "html__Html5NodeValidator__standardAttributeValidator$closu
re", 8, 0, 10], _Html5NodeValidator__uriAttributeValidator: [function(element, a
ttributeName, value, context) { | |
| 10447 return context.get$uriPolicy().allowsUri$1(value); | |
| 10448 }, "call$4", "html__Html5NodeValidator__uriAttributeValidator$closure",
8, 0, 10]} | |
| 10449 }, | |
| 10450 ImmutableListMixin: { | |
| 10451 "^": "Object;", | |
| 10452 get$iterator: function(receiver) { | |
| 10453 return H.setRuntimeTypeInfo(new W.FixedSizeListIterator(receiver, this.g
et$length(receiver), -1, null), [H.getRuntimeTypeArgument(receiver, "ImmutableLi
stMixin", 0)]); | |
| 10454 }, | |
| 10455 add$1: function(receiver, value) { | |
| 10456 throw H.wrapException(new P.UnsupportedError("Cannot add to immutable Li
st.")); | |
| 10457 }, | |
| 10458 $isList: 1, | |
| 10459 $asList: null, | |
| 10460 $isEfficientLength: 1 | |
| 10461 }, | |
| 10462 NodeValidatorBuilder: { | |
| 10463 "^": "Object;_validators", | |
| 10464 add$1: function(_, validator) { | |
| 10465 this._validators.push(validator); | |
| 10466 }, | |
| 10467 allowsElement$1: function(element) { | |
| 10468 return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuil
der_allowsElement_closure(element)); | |
| 10469 }, | |
| 10470 allowsAttribute$3: function(element, attributeName, value) { | |
| 10471 return C.JSArray_methods.any$1(this._validators, new W.NodeValidatorBuil
der_allowsAttribute_closure(element, attributeName, value)); | |
| 10472 } | |
| 10473 }, | |
| 10474 NodeValidatorBuilder_allowsElement_closure: { | |
| 10475 "^": "Closure:0;_captured_element_0", | |
| 10476 call$1: function(v) { | |
| 10477 return v.allowsElement$1(this._captured_element_0); | |
| 10478 } | |
| 10479 }, | |
| 10480 NodeValidatorBuilder_allowsAttribute_closure: { | |
| 10481 "^": "Closure:0;_captured_element_0,_captured_attributeName_1,_captured_va
lue_2", | |
| 10482 call$1: function(v) { | |
| 10483 return v.allowsAttribute$3(this._captured_element_0, this._captured_attr
ibuteName_1, this._captured_value_2); | |
| 10484 } | |
| 10485 }, | |
| 10486 _SimpleNodeValidator: { | |
| 10487 "^": "Object;allowedElements,allowedAttributes,allowedUriAttributes,uriPol
icy<", | |
| 10488 allowsElement$1: function(element) { | |
| 10489 return this.allowedElements.contains$1(0, J.get$tagName$x(element)); | |
| 10490 }, | |
| 10491 allowsAttribute$3: ["super$_SimpleNodeValidator$allowsAttribute", function
(element, attributeName, value) { | |
| 10492 var tagName, t1; | |
| 10493 tagName = J.get$tagName$x(element); | |
| 10494 t1 = this.allowedUriAttributes; | |
| 10495 if (t1.contains$1(0, H.S(tagName) + "::" + attributeName)) | |
| 10496 return this.uriPolicy.allowsUri$1(value); | |
| 10497 else if (t1.contains$1(0, "*::" + attributeName)) | |
| 10498 return this.uriPolicy.allowsUri$1(value); | |
| 10499 else { | |
| 10500 t1 = this.allowedAttributes; | |
| 10501 if (t1.contains$1(0, H.S(tagName) + "::" + attributeName)) | |
| 10502 return true; | |
| 10503 else if (t1.contains$1(0, "*::" + attributeName)) | |
| 10504 return true; | |
| 10505 else if (t1.contains$1(0, H.S(tagName) + "::*")) | |
| 10506 return true; | |
| 10507 else if (t1.contains$1(0, "*::*")) | |
| 10508 return true; | |
| 10509 } | |
| 10510 return false; | |
| 10511 }], | |
| 10512 _SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUriAttribu
tes: function(uriPolicy, allowedAttributes, allowedElements, allowedUriAttribute
s) { | |
| 10513 var t1, legalAttributes, extraUriAttributes; | |
| 10514 this.allowedElements.addAll$1(0, allowedElements); | |
| 10515 if (allowedUriAttributes == null) | |
| 10516 allowedUriAttributes = C.List_empty; | |
| 10517 t1 = J.getInterceptor$ax(allowedAttributes); | |
| 10518 legalAttributes = t1.where$1(allowedAttributes, new W._SimpleNodeValidat
or_closure()); | |
| 10519 extraUriAttributes = t1.where$1(allowedAttributes, new W._SimpleNodeVali
dator_closure0()); | |
| 10520 this.allowedAttributes.addAll$1(0, legalAttributes); | |
| 10521 t1 = this.allowedUriAttributes; | |
| 10522 t1.addAll$1(0, allowedUriAttributes); | |
| 10523 t1.addAll$1(0, extraUriAttributes); | |
| 10524 }, | |
| 10525 static: {_SimpleNodeValidator$: function(uriPolicy, allowedAttributes, all
owedElements, allowedUriAttributes) { | |
| 10526 var t1 = new W._SimpleNodeValidator(P.LinkedHashSet_LinkedHashSet(null
, null, null, P.String), P.LinkedHashSet_LinkedHashSet(null, null, null, P.Strin
g), P.LinkedHashSet_LinkedHashSet(null, null, null, P.String), uriPolicy); | |
| 10527 t1._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUri
Attributes(uriPolicy, allowedAttributes, allowedElements, allowedUriAttributes); | |
| 10528 return t1; | |
| 10529 }} | |
| 10530 }, | |
| 10531 _SimpleNodeValidator_closure: { | |
| 10532 "^": "Closure:0;", | |
| 10533 call$1: function(x) { | |
| 10534 return !C.JSArray_methods.contains$1(C.List_yrN, x); | |
| 10535 } | |
| 10536 }, | |
| 10537 _SimpleNodeValidator_closure0: { | |
| 10538 "^": "Closure:0;", | |
| 10539 call$1: function(x) { | |
| 10540 return C.JSArray_methods.contains$1(C.List_yrN, x); | |
| 10541 } | |
| 10542 }, | |
| 10543 _TemplatingNodeValidator: { | |
| 10544 "^": "_SimpleNodeValidator;_templateAttrs,allowedElements,allowedAttribute
s,allowedUriAttributes,uriPolicy", | |
| 10545 allowsAttribute$3: function(element, attributeName, value) { | |
| 10546 if (this.super$_SimpleNodeValidator$allowsAttribute(element, attributeNa
me, value)) | |
| 10547 return true; | |
| 10548 if (attributeName === "template" && value === "") | |
| 10549 return true; | |
| 10550 if (J.get$attributes$x(element)._element.getAttribute("template") === ""
) | |
| 10551 return this._templateAttrs.contains$1(0, attributeName); | |
| 10552 return false; | |
| 10553 }, | |
| 10554 static: {_TemplatingNodeValidator$: function() { | |
| 10555 var t1, t2, t3, t4; | |
| 10556 t1 = H.setRuntimeTypeInfo(new H.MappedListIterable(C.List_wSV, new W._
TemplatingNodeValidator_closure()), [null, null]); | |
| 10557 t2 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String); | |
| 10558 t3 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String); | |
| 10559 t4 = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String); | |
| 10560 t4 = new W._TemplatingNodeValidator(P.LinkedHashSet_LinkedHashSet$from
(C.List_wSV, P.String), t2, t3, t4, null); | |
| 10561 t4._SimpleNodeValidator$4$allowedAttributes$allowedElements$allowedUri
Attributes(null, t1, ["TEMPLATE"], null); | |
| 10562 return t4; | |
| 10563 }} | |
| 10564 }, | |
| 10565 _TemplatingNodeValidator_closure: { | |
| 10566 "^": "Closure:0;", | |
| 10567 call$1: function(attr) { | |
| 10568 return "TEMPLATE::" + H.S(attr); | |
| 10569 } | |
| 10570 }, | |
| 10571 FixedSizeListIterator: { | |
| 10572 "^": "Object;_array,_length,_position,_current", | |
| 10573 moveNext$0: function() { | |
| 10574 var nextPosition, t1; | |
| 10575 nextPosition = this._position + 1; | |
| 10576 t1 = this._length; | |
| 10577 if (nextPosition < t1) { | |
| 10578 this._current = J.$index$asx(this._array, nextPosition); | |
| 10579 this._position = nextPosition; | |
| 10580 return true; | |
| 10581 } | |
| 10582 this._current = null; | |
| 10583 this._position = t1; | |
| 10584 return false; | |
| 10585 }, | |
| 10586 get$current: function() { | |
| 10587 return this._current; | |
| 10588 } | |
| 10589 }, | |
| 10590 _DOMWindowCrossFrame: { | |
| 10591 "^": "Object;_window", | |
| 10592 $isEventTarget: 1, | |
| 10593 $isInterceptor: 1, | |
| 10594 static: {_DOMWindowCrossFrame__createSafe: function(w) { | |
| 10595 if (w === window) | |
| 10596 return w; | |
| 10597 else | |
| 10598 return new W._DOMWindowCrossFrame(w); | |
| 10599 }} | |
| 10600 }, | |
| 10601 NodeValidator: { | |
| 10602 "^": "Object;" | |
| 10603 }, | |
| 10604 _SameOriginUriPolicy: { | |
| 10605 "^": "Object;_hiddenAnchor,_loc", | |
| 10606 allowsUri$1: function(uri) { | |
| 10607 var t1, t2, t3, t4, t5; | |
| 10608 t1 = this._hiddenAnchor; | |
| 10609 t2 = J.getInterceptor$x(t1); | |
| 10610 t2.set$href(t1, uri); | |
| 10611 t3 = t2.get$hostname(t1); | |
| 10612 t4 = this._loc; | |
| 10613 t5 = t4.hostname; | |
| 10614 if (t3 == null ? t5 == null : t3 === t5) { | |
| 10615 t3 = t2.get$port(t1); | |
| 10616 t5 = t4.port; | |
| 10617 if (t3 == null ? t5 == null : t3 === t5) { | |
| 10618 t3 = t2.get$protocol(t1); | |
| 10619 t4 = t4.protocol; | |
| 10620 t4 = t3 == null ? t4 == null : t3 === t4; | |
| 10621 t3 = t4; | |
| 10622 } else | |
| 10623 t3 = false; | |
| 10624 } else | |
| 10625 t3 = false; | |
| 10626 if (!t3) | |
| 10627 if (t2.get$hostname(t1) === "") | |
| 10628 if (t2.get$port(t1) === "") | |
| 10629 t1 = t2.get$protocol(t1) === ":" || t2.get$protocol(t1) === ""; | |
| 10630 else | |
| 10631 t1 = false; | |
| 10632 else | |
| 10633 t1 = false; | |
| 10634 else | |
| 10635 t1 = true; | |
| 10636 return t1; | |
| 10637 } | |
| 10638 }, | |
| 10639 _ValidatingTreeSanitizer: { | |
| 10640 "^": "Object;validator", | |
| 10641 sanitizeTree$1: function(node) { | |
| 10642 new W._ValidatingTreeSanitizer_sanitizeTree_walk(this).call$2(node, null
); | |
| 10643 }, | |
| 10644 _removeNode$2: function(node, $parent) { | |
| 10645 if ($parent == null) | |
| 10646 J.remove$0$ax(node); | |
| 10647 else | |
| 10648 $parent.removeChild(node); | |
| 10649 }, | |
| 10650 _sanitizeUntrustedElement$2: function(element, $parent) { | |
| 10651 var corrupted, attrs, isAttr, elementText, elementTagName, exception; | |
| 10652 corrupted = true; | |
| 10653 attrs = null; | |
| 10654 isAttr = null; | |
| 10655 try { | |
| 10656 attrs = J.get$attributes$x(element); | |
| 10657 isAttr = attrs.get$_element().getAttribute("is"); | |
| 10658 corrupted = function(element) { | |
| 10659 if (!(element.attributes instanceof NamedNodeMap)) | |
| 10660 return true; | |
| 10661 var childNodes = element.childNodes; | |
| 10662 if (element.lastChild && element.lastChild !== childNodes[childNodes
.length - 1]) | |
| 10663 return true; | |
| 10664 if (element.children) | |
| 10665 if (!(element.children instanceof HTMLCollection || element.childr
en instanceof NodeList)) | |
| 10666 return true; | |
| 10667 return false; | |
| 10668 }(element); | |
| 10669 } catch (exception) { | |
| 10670 H.unwrapException(exception); | |
| 10671 } | |
| 10672 elementText = "element unprintable"; | |
| 10673 try { | |
| 10674 elementText = J.toString$0$(element); | |
| 10675 } catch (exception) { | |
| 10676 H.unwrapException(exception); | |
| 10677 } | |
| 10678 elementTagName = "element tag unavailable"; | |
| 10679 try { | |
| 10680 elementTagName = J.get$tagName$x(element); | |
| 10681 } catch (exception) { | |
| 10682 H.unwrapException(exception); | |
| 10683 } | |
| 10684 this._sanitizeElement$7(element, $parent, corrupted, elementText, elemen
tTagName, attrs, isAttr); | |
| 10685 }, | |
| 10686 _sanitizeElement$7: function(element, $parent, corrupted, text, tag, attrs
, isAttr) { | |
| 10687 var t1, keys, i, $name, t2; | |
| 10688 if (corrupted) { | |
| 10689 window; | |
| 10690 t1 = "Removing element due to corrupted attributes on <" + text + ">"; | |
| 10691 if (typeof console != "undefined") | |
| 10692 console.warn(t1); | |
| 10693 this._removeNode$2(element, $parent); | |
| 10694 return; | |
| 10695 } | |
| 10696 if (!this.validator.allowsElement$1(element)) { | |
| 10697 window; | |
| 10698 t1 = "Removing disallowed element <" + H.S(tag) + ">"; | |
| 10699 if (typeof console != "undefined") | |
| 10700 console.warn(t1); | |
| 10701 this._removeNode$2(element, $parent); | |
| 10702 return; | |
| 10703 } | |
| 10704 if (isAttr != null) | |
| 10705 if (!this.validator.allowsAttribute$3(element, "is", isAttr)) { | |
| 10706 window; | |
| 10707 t1 = "Removing disallowed type extension <" + H.S(tag) + " is=\"" +
isAttr + "\">"; | |
| 10708 if (typeof console != "undefined") | |
| 10709 console.warn(t1); | |
| 10710 this._removeNode$2(element, $parent); | |
| 10711 return; | |
| 10712 } | |
| 10713 t1 = attrs.get$keys(); | |
| 10714 keys = H.setRuntimeTypeInfo(t1.slice(), [H.getTypeArgumentByIndex(t1, 0)
]); | |
| 10715 for (i = attrs.get$keys().length - 1, t1 = attrs._element; i >= 0; --i)
{ | |
| 10716 if (i >= keys.length) | |
| 10717 return H.ioore(keys, i); | |
| 10718 $name = keys[i]; | |
| 10719 if (!this.validator.allowsAttribute$3(element, J.toLowerCase$0$s($name
), t1.getAttribute($name))) { | |
| 10720 window; | |
| 10721 t2 = "Removing disallowed attribute <" + H.S(tag) + " " + $name + "=
\"" + H.S(t1.getAttribute($name)) + "\">"; | |
| 10722 if (typeof console != "undefined") | |
| 10723 console.warn(t2); | |
| 10724 t1.getAttribute($name); | |
| 10725 t1.removeAttribute($name); | |
| 10726 } | |
| 10727 } | |
| 10728 if (!!J.getInterceptor(element).$isTemplateElement) | |
| 10729 this.sanitizeTree$1(element.content); | |
| 10730 } | |
| 10731 }, | |
| 10732 _ValidatingTreeSanitizer_sanitizeTree_walk: { | |
| 10733 "^": "Closure:27;_html$_captured_this_0", | |
| 10734 call$2: function(node, $parent) { | |
| 10735 var t1, child, nextChild; | |
| 10736 t1 = this._html$_captured_this_0; | |
| 10737 switch (node.nodeType) { | |
| 10738 case 1: | |
| 10739 t1._sanitizeUntrustedElement$2(node, $parent); | |
| 10740 break; | |
| 10741 case 8: | |
| 10742 case 11: | |
| 10743 case 3: | |
| 10744 case 4: | |
| 10745 break; | |
| 10746 default: | |
| 10747 t1._removeNode$2(node, $parent); | |
| 10748 } | |
| 10749 child = node.lastChild; | |
| 10750 for (; child != null; child = nextChild) { | |
| 10751 nextChild = child.previousSibling; | |
| 10752 this.call$2(child, node); | |
| 10753 } | |
| 10754 } | |
| 10755 } | |
| 10756 }], ["dart.dom.indexed_db", "dart:indexed_db",, P, { | |
| 10757 "^": "" | |
| 10758 }], ["dart.dom.svg", "dart:svg",, P, { | |
| 10759 "^": "", | |
| 10760 AElement: { | |
| 10761 "^": "GraphicsElement;target=", | |
| 10762 $isInterceptor: 1, | |
| 10763 "%": "SVGAElement" | |
| 10764 }, | |
| 10765 AltGlyphElement: { | |
| 10766 "^": "TextPositioningElement;", | |
| 10767 $isInterceptor: 1, | |
| 10768 "%": "SVGAltGlyphElement" | |
| 10769 }, | |
| 10770 AnimationElement: { | |
| 10771 "^": "SvgElement;", | |
| 10772 $isInterceptor: 1, | |
| 10773 "%": "SVGAnimateElement|SVGAnimateMotionElement|SVGAnimateTransformElement
|SVGAnimationElement|SVGSetElement" | |
| 10774 }, | |
| 10775 FEBlendElement: { | |
| 10776 "^": "SvgElement;", | |
| 10777 $isInterceptor: 1, | |
| 10778 "%": "SVGFEBlendElement" | |
| 10779 }, | |
| 10780 FEColorMatrixElement: { | |
| 10781 "^": "SvgElement;", | |
| 10782 $isInterceptor: 1, | |
| 10783 "%": "SVGFEColorMatrixElement" | |
| 10784 }, | |
| 10785 FEComponentTransferElement: { | |
| 10786 "^": "SvgElement;", | |
| 10787 $isInterceptor: 1, | |
| 10788 "%": "SVGFEComponentTransferElement" | |
| 10789 }, | |
| 10790 FECompositeElement: { | |
| 10791 "^": "SvgElement;", | |
| 10792 $isInterceptor: 1, | |
| 10793 "%": "SVGFECompositeElement" | |
| 10794 }, | |
| 10795 FEConvolveMatrixElement: { | |
| 10796 "^": "SvgElement;", | |
| 10797 $isInterceptor: 1, | |
| 10798 "%": "SVGFEConvolveMatrixElement" | |
| 10799 }, | |
| 10800 FEDiffuseLightingElement: { | |
| 10801 "^": "SvgElement;", | |
| 10802 $isInterceptor: 1, | |
| 10803 "%": "SVGFEDiffuseLightingElement" | |
| 10804 }, | |
| 10805 FEDisplacementMapElement: { | |
| 10806 "^": "SvgElement;", | |
| 10807 $isInterceptor: 1, | |
| 10808 "%": "SVGFEDisplacementMapElement" | |
| 10809 }, | |
| 10810 FEFloodElement: { | |
| 10811 "^": "SvgElement;", | |
| 10812 $isInterceptor: 1, | |
| 10813 "%": "SVGFEFloodElement" | |
| 10814 }, | |
| 10815 FEGaussianBlurElement: { | |
| 10816 "^": "SvgElement;", | |
| 10817 $isInterceptor: 1, | |
| 10818 "%": "SVGFEGaussianBlurElement" | |
| 10819 }, | |
| 10820 FEImageElement: { | |
| 10821 "^": "SvgElement;", | |
| 10822 $isInterceptor: 1, | |
| 10823 "%": "SVGFEImageElement" | |
| 10824 }, | |
| 10825 FEMergeElement: { | |
| 10826 "^": "SvgElement;", | |
| 10827 $isInterceptor: 1, | |
| 10828 "%": "SVGFEMergeElement" | |
| 10829 }, | |
| 10830 FEMorphologyElement: { | |
| 10831 "^": "SvgElement;", | |
| 10832 $isInterceptor: 1, | |
| 10833 "%": "SVGFEMorphologyElement" | |
| 10834 }, | |
| 10835 FEOffsetElement: { | |
| 10836 "^": "SvgElement;", | |
| 10837 $isInterceptor: 1, | |
| 10838 "%": "SVGFEOffsetElement" | |
| 10839 }, | |
| 10840 FESpecularLightingElement: { | |
| 10841 "^": "SvgElement;", | |
| 10842 $isInterceptor: 1, | |
| 10843 "%": "SVGFESpecularLightingElement" | |
| 10844 }, | |
| 10845 FETileElement: { | |
| 10846 "^": "SvgElement;", | |
| 10847 $isInterceptor: 1, | |
| 10848 "%": "SVGFETileElement" | |
| 10849 }, | |
| 10850 FETurbulenceElement: { | |
| 10851 "^": "SvgElement;", | |
| 10852 $isInterceptor: 1, | |
| 10853 "%": "SVGFETurbulenceElement" | |
| 10854 }, | |
| 10855 FilterElement: { | |
| 10856 "^": "SvgElement;", | |
| 10857 $isInterceptor: 1, | |
| 10858 "%": "SVGFilterElement" | |
| 10859 }, | |
| 10860 GraphicsElement: { | |
| 10861 "^": "SvgElement;", | |
| 10862 $isInterceptor: 1, | |
| 10863 "%": "SVGCircleElement|SVGClipPathElement|SVGDefsElement|SVGEllipseElement
|SVGForeignObjectElement|SVGGElement|SVGGeometryElement|SVGLineElement|SVGPathEl
ement|SVGPolygonElement|SVGPolylineElement|SVGRectElement|SVGSwitchElement;SVGGr
aphicsElement" | |
| 10864 }, | |
| 10865 ImageElement0: { | |
| 10866 "^": "GraphicsElement;", | |
| 10867 $isInterceptor: 1, | |
| 10868 "%": "SVGImageElement" | |
| 10869 }, | |
| 10870 MarkerElement: { | |
| 10871 "^": "SvgElement;", | |
| 10872 $isInterceptor: 1, | |
| 10873 "%": "SVGMarkerElement" | |
| 10874 }, | |
| 10875 MaskElement: { | |
| 10876 "^": "SvgElement;", | |
| 10877 $isInterceptor: 1, | |
| 10878 "%": "SVGMaskElement" | |
| 10879 }, | |
| 10880 PatternElement: { | |
| 10881 "^": "SvgElement;", | |
| 10882 $isInterceptor: 1, | |
| 10883 "%": "SVGPatternElement" | |
| 10884 }, | |
| 10885 ScriptElement0: { | |
| 10886 "^": "SvgElement;", | |
| 10887 $isInterceptor: 1, | |
| 10888 "%": "SVGScriptElement" | |
| 10889 }, | |
| 10890 _AttributeClassSet: { | |
| 10891 "^": "CssClassSetImpl;_svg$_element", | |
| 10892 readClasses$0: function() { | |
| 10893 var classname, s, t1, t2, _i, trimmed; | |
| 10894 classname = this._svg$_element.getAttribute("class"); | |
| 10895 s = P.LinkedHashSet_LinkedHashSet(null, null, null, P.String); | |
| 10896 if (classname == null) | |
| 10897 return s; | |
| 10898 for (t1 = classname.split(" "), t2 = t1.length, _i = 0; _i < t1.length;
t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) { | |
| 10899 trimmed = J.trim$0$s(t1[_i]); | |
| 10900 if (trimmed.length !== 0) | |
| 10901 s.add$1(0, trimmed); | |
| 10902 } | |
| 10903 return s; | |
| 10904 }, | |
| 10905 writeClasses$1: function(s) { | |
| 10906 this._svg$_element.setAttribute("class", s.join$1(0, " ")); | |
| 10907 } | |
| 10908 }, | |
| 10909 SvgElement: { | |
| 10910 "^": "Element;", | |
| 10911 get$classes: function(receiver) { | |
| 10912 return new P._AttributeClassSet(receiver); | |
| 10913 }, | |
| 10914 get$onClick: function(receiver) { | |
| 10915 return H.setRuntimeTypeInfo(new W._ElementEventStreamImpl(receiver, "cli
ck", false), [null]); | |
| 10916 }, | |
| 10917 $isEventTarget: 1, | |
| 10918 $isInterceptor: 1, | |
| 10919 "%": "SVGAltGlyphDefElement|SVGAltGlyphItemElement|SVGComponentTransferFun
ctionElement|SVGDescElement|SVGDiscardElement|SVGFEDistantLightElement|SVGFEFunc
AElement|SVGFEFuncBElement|SVGFEFuncGElement|SVGFEFuncRElement|SVGFEMergeNodeEle
ment|SVGFEPointLightElement|SVGFESpotLightElement|SVGFontElement|SVGFontFaceElem
ent|SVGFontFaceFormatElement|SVGFontFaceNameElement|SVGFontFaceSrcElement|SVGFon
tFaceUriElement|SVGGlyphElement|SVGHKernElement|SVGMetadataElement|SVGMissingGly
phElement|SVGStopElement|SVGStyleElement|SVGTitleElement|SVGVKernElement;SVGElem
ent" | |
| 10920 }, | |
| 10921 SvgSvgElement: { | |
| 10922 "^": "GraphicsElement;", | |
| 10923 $isInterceptor: 1, | |
| 10924 "%": "SVGSVGElement" | |
| 10925 }, | |
| 10926 SymbolElement: { | |
| 10927 "^": "SvgElement;", | |
| 10928 $isInterceptor: 1, | |
| 10929 "%": "SVGSymbolElement" | |
| 10930 }, | |
| 10931 TextContentElement: { | |
| 10932 "^": "GraphicsElement;", | |
| 10933 "%": ";SVGTextContentElement" | |
| 10934 }, | |
| 10935 TextPathElement: { | |
| 10936 "^": "TextContentElement;", | |
| 10937 $isInterceptor: 1, | |
| 10938 "%": "SVGTextPathElement" | |
| 10939 }, | |
| 10940 TextPositioningElement: { | |
| 10941 "^": "TextContentElement;", | |
| 10942 "%": "SVGTSpanElement|SVGTextElement;SVGTextPositioningElement" | |
| 10943 }, | |
| 10944 UseElement: { | |
| 10945 "^": "GraphicsElement;", | |
| 10946 $isInterceptor: 1, | |
| 10947 "%": "SVGUseElement" | |
| 10948 }, | |
| 10949 ViewElement: { | |
| 10950 "^": "SvgElement;", | |
| 10951 $isInterceptor: 1, | |
| 10952 "%": "SVGViewElement" | |
| 10953 }, | |
| 10954 _GradientElement: { | |
| 10955 "^": "SvgElement;", | |
| 10956 $isInterceptor: 1, | |
| 10957 "%": "SVGGradientElement|SVGLinearGradientElement|SVGRadialGradientElement
" | |
| 10958 }, | |
| 10959 _SVGCursorElement: { | |
| 10960 "^": "SvgElement;", | |
| 10961 $isInterceptor: 1, | |
| 10962 "%": "SVGCursorElement" | |
| 10963 }, | |
| 10964 _SVGFEDropShadowElement: { | |
| 10965 "^": "SvgElement;", | |
| 10966 $isInterceptor: 1, | |
| 10967 "%": "SVGFEDropShadowElement" | |
| 10968 }, | |
| 10969 _SVGGlyphRefElement: { | |
| 10970 "^": "SvgElement;", | |
| 10971 $isInterceptor: 1, | |
| 10972 "%": "SVGGlyphRefElement" | |
| 10973 }, | |
| 10974 _SVGMPathElement: { | |
| 10975 "^": "SvgElement;", | |
| 10976 $isInterceptor: 1, | |
| 10977 "%": "SVGMPathElement" | |
| 10978 } | |
| 10979 }], ["dart.dom.web_audio", "dart:web_audio",, P, { | |
| 10980 "^": "" | |
| 10981 }], ["dart.dom.web_gl", "dart:web_gl",, P, { | |
| 10982 "^": "" | |
| 10983 }], ["dart.dom.web_sql", "dart:web_sql",, P, { | |
| 10984 "^": "", | |
| 10985 SqlError: { | |
| 10986 "^": "Interceptor;message=", | |
| 10987 "%": "SQLError" | |
| 10988 } | |
| 10989 }], ["dart.isolate", "dart:isolate",, P, { | |
| 10990 "^": "", | |
| 10991 Capability: { | |
| 10992 "^": "Object;" | |
| 10993 } | |
| 10994 }], ["dart.math", "dart:math",, P, { | |
| 10995 "^": "", | |
| 10996 _JenkinsSmiHash_combine0: function(hash, value) { | |
| 10997 hash = 536870911 & hash + value; | |
| 10998 hash = 536870911 & hash + ((524287 & hash) << 10 >>> 0); | |
| 10999 return hash ^ hash >>> 6; | |
| 11000 }, | |
| 11001 _JenkinsSmiHash_finish0: function(hash) { | |
| 11002 hash = 536870911 & hash + ((67108863 & hash) << 3 >>> 0); | |
| 11003 hash ^= hash >>> 11; | |
| 11004 return 536870911 & hash + ((16383 & hash) << 15 >>> 0); | |
| 11005 }, | |
| 11006 min: function(a, b) { | |
| 11007 if (typeof a !== "number") | |
| 11008 throw H.wrapException(P.ArgumentError$(a)); | |
| 11009 if (typeof b !== "number") | |
| 11010 throw H.wrapException(P.ArgumentError$(b)); | |
| 11011 if (a > b) | |
| 11012 return b; | |
| 11013 if (a < b) | |
| 11014 return a; | |
| 11015 if (typeof b === "number") { | |
| 11016 if (typeof a === "number") | |
| 11017 if (a === 0) | |
| 11018 return (a + b) * a * b; | |
| 11019 if (a === 0 && C.JSDouble_methods.get$isNegative(b) || C.JSDouble_method
s.get$isNaN(b)) | |
| 11020 return b; | |
| 11021 return a; | |
| 11022 } | |
| 11023 return a; | |
| 11024 }, | |
| 11025 max: function(a, b) { | |
| 11026 if (a > b) | |
| 11027 return a; | |
| 11028 if (a < b) | |
| 11029 return b; | |
| 11030 if (typeof b === "number") { | |
| 11031 if (typeof a === "number") | |
| 11032 if (a === 0) | |
| 11033 return a + b; | |
| 11034 if (isNaN(b)) | |
| 11035 return b; | |
| 11036 return a; | |
| 11037 } | |
| 11038 if (b === 0 && C.JSNumber_methods.get$isNegative(a)) | |
| 11039 return b; | |
| 11040 return a; | |
| 11041 } | |
| 11042 }], ["dart.typed_data.implementation", "dart:_native_typed_data",, H, { | |
| 11043 "^": "", | |
| 11044 _checkValidRange: function(start, end, $length) { | |
| 11045 var t1; | |
| 11046 if (!(start >>> 0 !== start)) | |
| 11047 t1 = end >>> 0 !== end || start > end || end > $length; | |
| 11048 else | |
| 11049 t1 = true; | |
| 11050 if (t1) | |
| 11051 throw H.wrapException(H.diagnoseRangeError(start, end, $length)); | |
| 11052 return end; | |
| 11053 }, | |
| 11054 NativeByteBuffer: { | |
| 11055 "^": "Interceptor;", | |
| 11056 $isNativeByteBuffer: 1, | |
| 11057 "%": "ArrayBuffer" | |
| 11058 }, | |
| 11059 NativeTypedData: { | |
| 11060 "^": "Interceptor;", | |
| 11061 $isNativeTypedData: 1, | |
| 11062 "%": "DataView;ArrayBufferView;NativeTypedArray|NativeTypedArray_ListMixin
|NativeTypedArray_ListMixin_FixedLengthListMixin|NativeTypedArrayOfDouble|Native
TypedArray_ListMixin0|NativeTypedArray_ListMixin_FixedLengthListMixin0|NativeTyp
edArrayOfInt" | |
| 11063 }, | |
| 11064 NativeTypedArray: { | |
| 11065 "^": "NativeTypedData;", | |
| 11066 get$length: function(receiver) { | |
| 11067 return receiver.length; | |
| 11068 }, | |
| 11069 $isJavaScriptIndexingBehavior: 1, | |
| 11070 $isJSIndexable: 1 | |
| 11071 }, | |
| 11072 NativeTypedArrayOfDouble: { | |
| 11073 "^": "NativeTypedArray_ListMixin_FixedLengthListMixin;", | |
| 11074 $index: function(receiver, index) { | |
| 11075 if (index >>> 0 !== index || index >= receiver.length) | |
| 11076 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11077 return receiver[index]; | |
| 11078 }, | |
| 11079 $indexSet: function(receiver, index, value) { | |
| 11080 if (index >>> 0 !== index || index >= receiver.length) | |
| 11081 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11082 receiver[index] = value; | |
| 11083 } | |
| 11084 }, | |
| 11085 NativeTypedArray_ListMixin: { | |
| 11086 "^": "NativeTypedArray+ListMixin;", | |
| 11087 $isList: 1, | |
| 11088 $asList: function() { | |
| 11089 return [P.$double]; | |
| 11090 }, | |
| 11091 $isEfficientLength: 1 | |
| 11092 }, | |
| 11093 NativeTypedArray_ListMixin_FixedLengthListMixin: { | |
| 11094 "^": "NativeTypedArray_ListMixin+FixedLengthListMixin;" | |
| 11095 }, | |
| 11096 NativeTypedArrayOfInt: { | |
| 11097 "^": "NativeTypedArray_ListMixin_FixedLengthListMixin0;", | |
| 11098 $indexSet: function(receiver, index, value) { | |
| 11099 if (index >>> 0 !== index || index >= receiver.length) | |
| 11100 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11101 receiver[index] = value; | |
| 11102 }, | |
| 11103 $isList: 1, | |
| 11104 $asList: function() { | |
| 11105 return [P.$int]; | |
| 11106 }, | |
| 11107 $isEfficientLength: 1 | |
| 11108 }, | |
| 11109 NativeTypedArray_ListMixin0: { | |
| 11110 "^": "NativeTypedArray+ListMixin;", | |
| 11111 $isList: 1, | |
| 11112 $asList: function() { | |
| 11113 return [P.$int]; | |
| 11114 }, | |
| 11115 $isEfficientLength: 1 | |
| 11116 }, | |
| 11117 NativeTypedArray_ListMixin_FixedLengthListMixin0: { | |
| 11118 "^": "NativeTypedArray_ListMixin0+FixedLengthListMixin;" | |
| 11119 }, | |
| 11120 NativeFloat32List: { | |
| 11121 "^": "NativeTypedArrayOfDouble;", | |
| 11122 $isList: 1, | |
| 11123 $asList: function() { | |
| 11124 return [P.$double]; | |
| 11125 }, | |
| 11126 $isEfficientLength: 1, | |
| 11127 "%": "Float32Array" | |
| 11128 }, | |
| 11129 NativeFloat64List: { | |
| 11130 "^": "NativeTypedArrayOfDouble;", | |
| 11131 $isList: 1, | |
| 11132 $asList: function() { | |
| 11133 return [P.$double]; | |
| 11134 }, | |
| 11135 $isEfficientLength: 1, | |
| 11136 "%": "Float64Array" | |
| 11137 }, | |
| 11138 NativeInt16List: { | |
| 11139 "^": "NativeTypedArrayOfInt;", | |
| 11140 $index: function(receiver, index) { | |
| 11141 if (index >>> 0 !== index || index >= receiver.length) | |
| 11142 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11143 return receiver[index]; | |
| 11144 }, | |
| 11145 $isList: 1, | |
| 11146 $asList: function() { | |
| 11147 return [P.$int]; | |
| 11148 }, | |
| 11149 $isEfficientLength: 1, | |
| 11150 "%": "Int16Array" | |
| 11151 }, | |
| 11152 NativeInt32List: { | |
| 11153 "^": "NativeTypedArrayOfInt;", | |
| 11154 $index: function(receiver, index) { | |
| 11155 if (index >>> 0 !== index || index >= receiver.length) | |
| 11156 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11157 return receiver[index]; | |
| 11158 }, | |
| 11159 $isList: 1, | |
| 11160 $asList: function() { | |
| 11161 return [P.$int]; | |
| 11162 }, | |
| 11163 $isEfficientLength: 1, | |
| 11164 "%": "Int32Array" | |
| 11165 }, | |
| 11166 NativeInt8List: { | |
| 11167 "^": "NativeTypedArrayOfInt;", | |
| 11168 $index: function(receiver, index) { | |
| 11169 if (index >>> 0 !== index || index >= receiver.length) | |
| 11170 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11171 return receiver[index]; | |
| 11172 }, | |
| 11173 $isList: 1, | |
| 11174 $asList: function() { | |
| 11175 return [P.$int]; | |
| 11176 }, | |
| 11177 $isEfficientLength: 1, | |
| 11178 "%": "Int8Array" | |
| 11179 }, | |
| 11180 NativeUint16List: { | |
| 11181 "^": "NativeTypedArrayOfInt;", | |
| 11182 $index: function(receiver, index) { | |
| 11183 if (index >>> 0 !== index || index >= receiver.length) | |
| 11184 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11185 return receiver[index]; | |
| 11186 }, | |
| 11187 $isList: 1, | |
| 11188 $asList: function() { | |
| 11189 return [P.$int]; | |
| 11190 }, | |
| 11191 $isEfficientLength: 1, | |
| 11192 "%": "Uint16Array" | |
| 11193 }, | |
| 11194 NativeUint32List: { | |
| 11195 "^": "NativeTypedArrayOfInt;", | |
| 11196 $index: function(receiver, index) { | |
| 11197 if (index >>> 0 !== index || index >= receiver.length) | |
| 11198 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11199 return receiver[index]; | |
| 11200 }, | |
| 11201 $isList: 1, | |
| 11202 $asList: function() { | |
| 11203 return [P.$int]; | |
| 11204 }, | |
| 11205 $isEfficientLength: 1, | |
| 11206 "%": "Uint32Array" | |
| 11207 }, | |
| 11208 NativeUint8ClampedList: { | |
| 11209 "^": "NativeTypedArrayOfInt;", | |
| 11210 get$length: function(receiver) { | |
| 11211 return receiver.length; | |
| 11212 }, | |
| 11213 $index: function(receiver, index) { | |
| 11214 if (index >>> 0 !== index || index >= receiver.length) | |
| 11215 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11216 return receiver[index]; | |
| 11217 }, | |
| 11218 $isList: 1, | |
| 11219 $asList: function() { | |
| 11220 return [P.$int]; | |
| 11221 }, | |
| 11222 $isEfficientLength: 1, | |
| 11223 "%": "CanvasPixelArray|Uint8ClampedArray" | |
| 11224 }, | |
| 11225 NativeUint8List: { | |
| 11226 "^": "NativeTypedArrayOfInt;", | |
| 11227 get$length: function(receiver) { | |
| 11228 return receiver.length; | |
| 11229 }, | |
| 11230 $index: function(receiver, index) { | |
| 11231 if (index >>> 0 !== index || index >= receiver.length) | |
| 11232 H.throwExpression(H.diagnoseIndexError(receiver, index)); | |
| 11233 return receiver[index]; | |
| 11234 }, | |
| 11235 $isList: 1, | |
| 11236 $asList: function() { | |
| 11237 return [P.$int]; | |
| 11238 }, | |
| 11239 $isEfficientLength: 1, | |
| 11240 "%": ";Uint8Array" | |
| 11241 } | |
| 11242 }], ["dart2js._js_primitives", "dart:_js_primitives",, H, { | |
| 11243 "^": "", | |
| 11244 printString: function(string) { | |
| 11245 if (typeof dartPrint == "function") { | |
| 11246 dartPrint(string); | |
| 11247 return; | |
| 11248 } | |
| 11249 if (typeof console == "object" && typeof console.log != "undefined") { | |
| 11250 console.log(string); | |
| 11251 return; | |
| 11252 } | |
| 11253 if (typeof window == "object") | |
| 11254 return; | |
| 11255 if (typeof print == "function") { | |
| 11256 print(string); | |
| 11257 return; | |
| 11258 } | |
| 11259 throw "Unable to print message: " + String(string); | |
| 11260 } | |
| 11261 }], ["dev_compiler.messages", "messages_widget.dart",, K, { | |
| 11262 "^": "", | |
| 11263 main: [function() { | |
| 11264 var $async$goto = 0, $async$completer = new P.Completer_Completer$sync(),
$async$handler = 1, $async$currentError, $async$temp1, $async$temp2; | |
| 11265 var $async$main = P._wrapJsFunctionForAsync(function($async$errorCode, $as
ync$result) { | |
| 11266 if ($async$errorCode === 1) { | |
| 11267 $async$currentError = $async$result; | |
| 11268 $async$goto = $async$handler; | |
| 11269 } | |
| 11270 while (true) | |
| 11271 switch ($async$goto) { | |
| 11272 case 0: | |
| 11273 // Function start | |
| 11274 $async$temp1 = C; | |
| 11275 $async$temp1 = $async$temp1.Window_methods; | |
| 11276 $async$goto = 2; | |
| 11277 return P._asyncHelper($async$temp1.get$animationFrame(window), $as
ync$main, $async$completer); | |
| 11278 case 2: | |
| 11279 // returning from await. | |
| 11280 $async$temp1 = K; | |
| 11281 $async$temp1 = $async$temp1; | |
| 11282 $async$temp2 = W; | |
| 11283 $async$goto = 3; | |
| 11284 return P._asyncHelper($async$temp2.HttpRequest_getString("messages
.json", null, null), $async$main, $async$completer); | |
| 11285 case 3: | |
| 11286 // returning from await. | |
| 11287 $async$temp1.displayMessages($async$result); | |
| 11288 // implicit return | |
| 11289 return P._asyncHelper(null, 0, $async$completer, null); | |
| 11290 case 1: | |
| 11291 // rethrow | |
| 11292 return P._asyncHelper($async$currentError, 1, $async$completer); | |
| 11293 } | |
| 11294 }); | |
| 11295 return P._asyncHelper(null, $async$main, $async$completer, null); | |
| 11296 }, "call$0", "messages__main$closure", 0, 0, 1], | |
| 11297 displayMessages: function(data) { | |
| 11298 var summary, t1, menuWrapper, contentWrapper, wrapperDiv; | |
| 11299 summary = X.GlobalSummary_parse(C.JsonCodec_null_null.decode$1(data)); | |
| 11300 t1 = P.LinkedHashMap__makeEmpty(); | |
| 11301 new K._Visitor(t1).visitGlobal$1(summary); | |
| 11302 if (t1.get$isEmpty(t1)) | |
| 11303 return; | |
| 11304 menuWrapper = document.createElement("div", null); | |
| 11305 J.get$classes$x(menuWrapper).add$1(0, "menu"); | |
| 11306 contentWrapper = document.createElement("div", null); | |
| 11307 J.get$classes$x(contentWrapper).add$1(0, "content"); | |
| 11308 wrapperDiv = document.createElement("div", null); | |
| 11309 J.get$classes$x(wrapperDiv).add$1(0, "dev-compiler-messages"); | |
| 11310 wrapperDiv.appendChild(menuWrapper); | |
| 11311 wrapperDiv.appendChild(contentWrapper); | |
| 11312 t1.forEach$1(0, new K.displayMessages_closure(menuWrapper, contentWrapper,
new K._Selection(null), new K._Selection(null))); | |
| 11313 document.body.appendChild(wrapperDiv); | |
| 11314 }, | |
| 11315 _hyperlinkUrls: function(text) { | |
| 11316 return J.replaceAllMapped$2$s(text, $.$get$_urlRegex(), new K._hyperlinkUr
ls_closure()); | |
| 11317 }, | |
| 11318 displayMessages_closure: { | |
| 11319 "^": "Closure:3;_captured_menuWrapper_0,_captured_contentWrapper_1,_captur
ed_selectedMenu_2,_captured_selectedContent_3", | |
| 11320 call$2: function(level, messages) { | |
| 11321 var contentItem, t1, menuItem, t2, m, t3, t4, val, message, span, t5, so
urce, t6, t7, logElement, messageElement; | |
| 11322 contentItem = document.createElement("div", null); | |
| 11323 J.get$classes$x(contentItem).add$1(0, level); | |
| 11324 t1 = J.getInterceptor$asx(messages); | |
| 11325 menuItem = W.Element_Element$html("<div class=\"" + H.S(level) + "\">" +
H.S(level) + " <span class=\"num\">(" + H.S(t1.get$length(messages)) + ")</span
></div>", null, null); | |
| 11326 this._captured_menuWrapper_0.appendChild(menuItem); | |
| 11327 this._captured_contentWrapper_1.appendChild(contentItem); | |
| 11328 t2 = J.get$onClick$x(menuItem); | |
| 11329 H.setRuntimeTypeInfo(new W._EventStreamSubscription(0, t2._target, t2._e
ventType, W._wrapZone(new K.displayMessages__closure(this._captured_selectedMenu
_2, this._captured_selectedContent_3, contentItem, menuItem)), t2._useCapture),
[H.getTypeArgumentByIndex(t2, 0)])._tryResume$0(); | |
| 11330 for (t1 = t1.get$iterator(messages); t1.moveNext$0();) { | |
| 11331 m = t1.get$current(); | |
| 11332 t2 = J.getInterceptor$x(m); | |
| 11333 t3 = t2.get$message(m); | |
| 11334 t4 = $.$get$_escaper(); | |
| 11335 t4.toString; | |
| 11336 val = t4._convert$3(t3, 0, J.get$length$asx(t3)); | |
| 11337 message = K._hyperlinkUrls(val == null ? t3 : val); | |
| 11338 span = t2.get$span(m); | |
| 11339 t2 = "<div class=\"message\"><div class=\"text " + H.S(level) + "\">"
+ message + "</div>"; | |
| 11340 if (span != null) { | |
| 11341 t3 = J.getInterceptor$x(span); | |
| 11342 t5 = t3.get$start(span); | |
| 11343 source = t5.sourceUrl; | |
| 11344 t2 += "<div class=\"location\"> <span class=\"location\">" + (H.S(s
ource == null ? "unknown source" : source) + ":" + H.S(J.$add$ns(t5.line, 1)) +
":" + H.S(J.$add$ns(t5.column, 1))) + "</span></div> <span class=\"text\">"; | |
| 11345 if (!!t3.$isSourceSpanWithContext) { | |
| 11346 t3 = span.context; | |
| 11347 t5 = span.start.column; | |
| 11348 t6 = J.getInterceptor$s(t3).substring$2(t3, 0, t5); | |
| 11349 val = t4._convert$3(t6, 0, t6.length); | |
| 11350 t2 = t2 + H.S(val == null ? t6 : val) + ("<span class=\"" + H.S(le
vel) + "\">"); | |
| 11351 t6 = span.text; | |
| 11352 t7 = J.getInterceptor$asx(t6); | |
| 11353 val = t4._convert$3(t6, 0, t7.get$length(t6)); | |
| 11354 t2 = t2 + H.S(val == null ? t6 : val) + "</span>"; | |
| 11355 t6 = C.JSString_methods.substring$1(t3, J.$add$ns(t5, t7.get$lengt
h(t6))); | |
| 11356 val = t4._convert$3(t6, 0, t6.length); | |
| 11357 t2 += H.S(val == null ? t6 : val); | |
| 11358 } else { | |
| 11359 t3 = span.text; | |
| 11360 val = t4._convert$3(t3, 0, J.get$length$asx(t3)); | |
| 11361 t2 += H.S(val == null ? t3 : val); | |
| 11362 } | |
| 11363 t2 += "</span></div></div>"; | |
| 11364 } | |
| 11365 t2 += "</div>"; | |
| 11366 t2 = t2.charCodeAt(0) == 0 ? t2 : t2; | |
| 11367 t3 = []; | |
| 11368 t3.$builtinTypeInfo = [W.NodeValidator]; | |
| 11369 t3.push(W._Html5NodeValidator$(null)); | |
| 11370 t3.push(W._TemplatingNodeValidator$()); | |
| 11371 t3.push(W._SimpleNodeValidator$(new K._OpenUriPolicy(), C.List_h4r, C.
List_A_FORM, C.List_BSc)); | |
| 11372 logElement = W.Element_Element$html(t2, null, new W.NodeValidatorBuild
er(t3)); | |
| 11373 contentItem.appendChild(logElement); | |
| 11374 messageElement = J.querySelector$1$x(logElement, "div.text"); | |
| 11375 t2 = J.get$onClick$x(messageElement); | |
| 11376 t3 = t2._eventType; | |
| 11377 t4 = t2._useCapture; | |
| 11378 t5 = new W._EventStreamSubscription(0, t2._target, t3, W._wrapZone(new
K.displayMessages__closure0(messageElement)), t4); | |
| 11379 t5.$builtinTypeInfo = [H.getTypeArgumentByIndex(t2, 0)]; | |
| 11380 t2 = t5._onData; | |
| 11381 t6 = t2 != null; | |
| 11382 if (t6 && t5._pauseCount <= 0) { | |
| 11383 t5 = t5._target; | |
| 11384 t5.toString; | |
| 11385 if (t6) | |
| 11386 J._addEventListener$3$x(t5, t3, t2, t4); | |
| 11387 } | |
| 11388 } | |
| 11389 } | |
| 11390 }, | |
| 11391 displayMessages__closure: { | |
| 11392 "^": "Closure:0;_captured_selectedMenu_4,_captured_selectedContent_5,_capt
ured_contentItem_6,_captured_menuItem_7", | |
| 11393 call$1: function(_) { | |
| 11394 this._captured_selectedMenu_4.select$1(0, this._captured_menuItem_7); | |
| 11395 this._captured_selectedContent_5.select$1(0, this._captured_contentItem_
6); | |
| 11396 } | |
| 11397 }, | |
| 11398 displayMessages__closure0: { | |
| 11399 "^": "Closure:0;_captured_messageElement_8", | |
| 11400 call$1: function(e) { | |
| 11401 var t1 = this._captured_messageElement_8; | |
| 11402 if (J.$eq$(J.get$target$x(e), t1)) | |
| 11403 J.get$classes$x(t1).toggle$1(0, "expanded"); | |
| 11404 } | |
| 11405 }, | |
| 11406 _Selection: { | |
| 11407 "^": "Object;_selected", | |
| 11408 select$1: function(_, newItem) { | |
| 11409 var t1 = this._selected; | |
| 11410 if (t1 == null ? newItem == null : t1 === newItem) | |
| 11411 this._selected = null; | |
| 11412 else { | |
| 11413 if (t1 != null) | |
| 11414 J.get$classes$x(t1).remove$1(0, "active"); | |
| 11415 this._selected = newItem; | |
| 11416 } | |
| 11417 J.get$classes$x(newItem).toggle$1(0, "active"); | |
| 11418 } | |
| 11419 }, | |
| 11420 _hyperlinkUrls_closure: { | |
| 11421 "^": "Closure:0;", | |
| 11422 call$1: function(m) { | |
| 11423 return "<a href=\"" + H.S(m.group$1(0)) + "\" target=\"blank\">" + H.S(m
.group$1(0)) + "</a>"; | |
| 11424 } | |
| 11425 }, | |
| 11426 _OpenUriPolicy: { | |
| 11427 "^": "Object;", | |
| 11428 allowsUri$1: function(uri) { | |
| 11429 return true; | |
| 11430 } | |
| 11431 }, | |
| 11432 _Visitor: { | |
| 11433 "^": "RecursiveSummaryVisitor;messagesByLevel", | |
| 11434 visitMessage$1: function(message) { | |
| 11435 var level, t1; | |
| 11436 level = J.toLowerCase$0$s(message.level); | |
| 11437 t1 = this.messagesByLevel; | |
| 11438 t1.putIfAbsent$2(level, new K._Visitor_visitMessage_closure()); | |
| 11439 J.add$1$ax(t1.$index(0, level), message); | |
| 11440 } | |
| 11441 }, | |
| 11442 _Visitor_visitMessage_closure: { | |
| 11443 "^": "Closure:1;", | |
| 11444 call$0: function() { | |
| 11445 return []; | |
| 11446 } | |
| 11447 } | |
| 11448 }, 1], ["dev_compiler.src.summary", "package:dev_compiler/src/summary.dart",,
X, { | |
| 11449 "^": "", | |
| 11450 Summary: { | |
| 11451 "^": "Object;" | |
| 11452 }, | |
| 11453 GlobalSummary: { | |
| 11454 "^": "Object;system,packages,loose", | |
| 11455 accept$1: function(_, visitor) { | |
| 11456 return visitor.visitGlobal$1(this); | |
| 11457 }, | |
| 11458 static: {GlobalSummary_parse: function(json) { | |
| 11459 var res, t1; | |
| 11460 res = new X.GlobalSummary(P.LinkedHashMap_LinkedHashMap$_empty(P.Strin
g, X.LibrarySummary), P.LinkedHashMap_LinkedHashMap$_empty(P.String, X.PackageSu
mmary), P.LinkedHashMap_LinkedHashMap$_empty(P.String, X.IndividualSummary)); | |
| 11461 t1 = J.getInterceptor$asx(json); | |
| 11462 J.map$1$ax(t1.$index(json, "system"), X.summary_LibrarySummary_parse$c
losure()).forEach$1(0, new X.GlobalSummary_parse_closure(res)); | |
| 11463 J.map$1$ax(t1.$index(json, "packages"), X.summary_PackageSummary_parse
$closure()).forEach$1(0, new X.GlobalSummary_parse_closure0(res)); | |
| 11464 J.forEach$1$ax(t1.$index(json, "loose"), new X.GlobalSummary_parse_clo
sure1(res)); | |
| 11465 return res; | |
| 11466 }} | |
| 11467 }, | |
| 11468 GlobalSummary_parse_closure: { | |
| 11469 "^": "Closure:0;_captured_res_0", | |
| 11470 call$1: function(l) { | |
| 11471 this._captured_res_0.system.$indexSet(0, J.get$name$x(l), l); | |
| 11472 } | |
| 11473 }, | |
| 11474 GlobalSummary_parse_closure0: { | |
| 11475 "^": "Closure:0;_captured_res_1", | |
| 11476 call$1: function(p) { | |
| 11477 this._captured_res_1.packages.$indexSet(0, J.get$name$x(p), p); | |
| 11478 } | |
| 11479 }, | |
| 11480 GlobalSummary_parse_closure1: { | |
| 11481 "^": "Closure:0;_captured_res_2", | |
| 11482 call$1: function(e) { | |
| 11483 var t1, summary, t2, t3; | |
| 11484 t1 = J.getInterceptor$asx(e); | |
| 11485 if (J.$eq$(t1.$index(e, 0), "LibrarySummary")) | |
| 11486 summary = X.LibrarySummary_parse(t1.$index(e, 1)); | |
| 11487 else { | |
| 11488 t1 = t1.$index(e, 1); | |
| 11489 t2 = J.getInterceptor$asx(t1); | |
| 11490 t3 = t2.$index(t1, "name"); | |
| 11491 t1 = P.List_List$from(J.map$1$ax(t2.$index(t1, "messages"), X.summary_
MessageSummary_parse$closure()), true, X.MessageSummary); | |
| 11492 summary = new X.HtmlSummary(t3, t1); | |
| 11493 } | |
| 11494 this._captured_res_2.loose.$indexSet(0, summary.get$name(summary), summa
ry); | |
| 11495 } | |
| 11496 }, | |
| 11497 PackageSummary: { | |
| 11498 "^": "Object;name>,libraries", | |
| 11499 accept$1: function(_, visitor) { | |
| 11500 return visitor.visitPackage$1(this); | |
| 11501 }, | |
| 11502 static: {PackageSummary_parse: [function(json) { | |
| 11503 var t1, res; | |
| 11504 t1 = J.getInterceptor$asx(json); | |
| 11505 res = new X.PackageSummary(t1.$index(json, "package_name"), P.LinkedHa
shMap_LinkedHashMap$_empty(P.String, X.LibrarySummary)); | |
| 11506 J.map$1$ax(t1.$index(json, "libraries"), X.summary_LibrarySummary_pars
e$closure()).forEach$1(0, new X.PackageSummary_parse_closure(res)); | |
| 11507 return res; | |
| 11508 }, "call$1", "summary_PackageSummary_parse$closure", 2, 0, 29]} | |
| 11509 }, | |
| 11510 PackageSummary_parse_closure: { | |
| 11511 "^": "Closure:0;_captured_res_0", | |
| 11512 call$1: function(l) { | |
| 11513 this._captured_res_0.libraries.$indexSet(0, J.get$name$x(l), l); | |
| 11514 } | |
| 11515 }, | |
| 11516 IndividualSummary: { | |
| 11517 "^": "Summary;" | |
| 11518 }, | |
| 11519 LibrarySummary: { | |
| 11520 "^": "Object;name>,messages,_uris,_lines", | |
| 11521 accept$1: function(_, visitor) { | |
| 11522 return visitor.visitLibrary$1(this); | |
| 11523 }, | |
| 11524 static: {LibrarySummary_parse: [function(json) { | |
| 11525 var t1, t2, t3, t4; | |
| 11526 t1 = J.getInterceptor$asx(json); | |
| 11527 t2 = t1.$index(json, "library_name"); | |
| 11528 t3 = P.List_List$from(J.map$1$ax(t1.$index(json, "messages"), X.summar
y_MessageSummary_parse$closure()), true, X.MessageSummary); | |
| 11529 t1 = t1.$index(json, "lines"); | |
| 11530 t4 = P.HashSet_HashSet(null, null, null, P.Uri); | |
| 11531 return new X.LibrarySummary(t2, t3, t4, t1 != null ? t1 : 0); | |
| 11532 }, "call$1", "summary_LibrarySummary_parse$closure", 2, 0, 30]} | |
| 11533 }, | |
| 11534 HtmlSummary: { | |
| 11535 "^": "Object;name>,messages", | |
| 11536 accept$1: function(_, visitor) { | |
| 11537 return visitor.visitHtml$1(this); | |
| 11538 } | |
| 11539 }, | |
| 11540 MessageSummary: { | |
| 11541 "^": "Object;kind,level,span>,message>", | |
| 11542 accept$1: function(_, visitor) { | |
| 11543 return visitor.visitMessage$1(this); | |
| 11544 }, | |
| 11545 static: {MessageSummary_parse: [function(json) { | |
| 11546 var t1, t2, t3, t4, start, end, context, span; | |
| 11547 t1 = J.getInterceptor$asx(json); | |
| 11548 t2 = J.$index$asx(t1.$index(json, "start"), 0); | |
| 11549 t3 = t1.$index(json, "url"); | |
| 11550 t4 = J.$index$asx(t1.$index(json, "start"), 1); | |
| 11551 start = O.SourceLocation$(t2, J.$index$asx(t1.$index(json, "start"), 2
), t4, t3); | |
| 11552 t3 = J.$index$asx(t1.$index(json, "end"), 0); | |
| 11553 t4 = t1.$index(json, "url"); | |
| 11554 t2 = J.$index$asx(t1.$index(json, "end"), 1); | |
| 11555 end = O.SourceLocation$(t3, J.$index$asx(t1.$index(json, "end"), 2), t
2, t4); | |
| 11556 context = t1.$index(json, "context"); | |
| 11557 if (context != null) { | |
| 11558 t2 = t1.$index(json, "text"); | |
| 11559 span = new E.SourceSpanWithContext(context, start, end, t2); | |
| 11560 span.SourceSpanBase$3(start, end, t2); | |
| 11561 if (J.contains$1$asx(context, t2) !== true) | |
| 11562 H.throwExpression(P.ArgumentError$("The context line \"" + H.S(con
text) + "\" must contain \"" + H.S(t2) + "\".")); | |
| 11563 t3 = start.column; | |
| 11564 if (D.findLineStart(context, t2, t3) == null) | |
| 11565 H.throwExpression(P.ArgumentError$("The span text \"" + H.S(t2) +
"\" must start at column " + H.S(J.$add$ns(t3, 1)) + " in a line within \"" + H.
S(context) + "\".")); | |
| 11566 } else | |
| 11567 span = T.SourceSpanBase$(start, end, t1.$index(json, "text")); | |
| 11568 return new X.MessageSummary(t1.$index(json, "kind"), t1.$index(json, "
level"), span, t1.$index(json, "message")); | |
| 11569 }, "call$1", "summary_MessageSummary_parse$closure", 2, 0, 31]} | |
| 11570 }, | |
| 11571 RecursiveSummaryVisitor: { | |
| 11572 "^": "Object;", | |
| 11573 visitGlobal$1: function(global) { | |
| 11574 var t1; | |
| 11575 for (t1 = global.system, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1
); t1.moveNext$0();) | |
| 11576 J.accept$1$x(t1.get$current(), this); | |
| 11577 for (t1 = global.packages, t1 = t1.get$values(t1), t1 = t1.get$iterator(
t1); t1.moveNext$0();) | |
| 11578 J.accept$1$x(t1.get$current(), this); | |
| 11579 for (t1 = global.loose, t1 = t1.get$values(t1), t1 = t1.get$iterator(t1)
; t1.moveNext$0();) | |
| 11580 J.accept$1$x(t1.get$current(), this); | |
| 11581 }, | |
| 11582 visitPackage$1: function($package) { | |
| 11583 var t1; | |
| 11584 for (t1 = $package.libraries, t1 = t1.get$values(t1), t1 = t1.get$iterat
or(t1); t1.moveNext$0();) | |
| 11585 J.accept$1$x(t1.get$current(), this); | |
| 11586 }, | |
| 11587 visitLibrary$1: function(lib) { | |
| 11588 var t1, t2, _i; | |
| 11589 for (t1 = lib.messages, t2 = t1.length, _i = 0; _i < t1.length; t1.lengt
h === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) | |
| 11590 J.accept$1$x(t1[_i], this); | |
| 11591 }, | |
| 11592 visitHtml$1: function(html) { | |
| 11593 var t1, t2, _i; | |
| 11594 for (t1 = html.messages, t2 = t1.length, _i = 0; _i < t1.length; t1.leng
th === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i) | |
| 11595 J.accept$1$x(t1[_i], this); | |
| 11596 }, | |
| 11597 visitMessage$1: function(message) { | |
| 11598 } | |
| 11599 } | |
| 11600 }], ["html_common", "dart:html_common",, P, { | |
| 11601 "^": "", | |
| 11602 Device_isOpera: function() { | |
| 11603 var t1 = $.Device__isOpera; | |
| 11604 if (t1 == null) { | |
| 11605 t1 = J.contains$2$asx(window.navigator.userAgent, "Opera", 0); | |
| 11606 $.Device__isOpera = t1; | |
| 11607 } | |
| 11608 return t1; | |
| 11609 }, | |
| 11610 Device_isWebKit: function() { | |
| 11611 var t1 = $.Device__isWebKit; | |
| 11612 if (t1 == null) { | |
| 11613 t1 = P.Device_isOpera() !== true && J.contains$2$asx(window.navigator.us
erAgent, "WebKit", 0); | |
| 11614 $.Device__isWebKit = t1; | |
| 11615 } | |
| 11616 return t1; | |
| 11617 }, | |
| 11618 CssClassSetImpl: { | |
| 11619 "^": "Object;", | |
| 11620 _validateToken$1: function(value) { | |
| 11621 if ($.$get$CssClassSetImpl__validTokenRE()._nativeRegExp.test(H.checkStr
ing(value))) | |
| 11622 return value; | |
| 11623 throw H.wrapException(P.ArgumentError$value(value, "value", "Not a valid
class token")); | |
| 11624 }, | |
| 11625 toString$0: function(_) { | |
| 11626 return this.readClasses$0().join$1(0, " "); | |
| 11627 }, | |
| 11628 toggle$2: function(_, value, shouldAdd) { | |
| 11629 var s, result; | |
| 11630 this._validateToken$1(value); | |
| 11631 s = this.readClasses$0(); | |
| 11632 if (!s.contains$1(0, value)) { | |
| 11633 s.add$1(0, value); | |
| 11634 result = true; | |
| 11635 } else { | |
| 11636 s.remove$1(0, value); | |
| 11637 result = false; | |
| 11638 } | |
| 11639 this.writeClasses$1(s); | |
| 11640 return result; | |
| 11641 }, | |
| 11642 toggle$1: function($receiver, value) { | |
| 11643 return this.toggle$2($receiver, value, null); | |
| 11644 }, | |
| 11645 get$iterator: function(_) { | |
| 11646 var t1 = this.readClasses$0(); | |
| 11647 t1 = H.setRuntimeTypeInfo(new P.LinkedHashSetIterator(t1, t1._collection
$_modifications, null, null), [null]); | |
| 11648 t1._cell = t1._set._collection$_first; | |
| 11649 return t1; | |
| 11650 }, | |
| 11651 forEach$1: function(_, f) { | |
| 11652 this.readClasses$0().forEach$1(0, f); | |
| 11653 }, | |
| 11654 map$1: function(_, f) { | |
| 11655 var t1 = this.readClasses$0(); | |
| 11656 return H.setRuntimeTypeInfo(new H.EfficientLengthMappedIterable(t1, f),
[H.getTypeArgumentByIndex(t1, 0), null]); | |
| 11657 }, | |
| 11658 get$isEmpty: function(_) { | |
| 11659 return this.readClasses$0()._collection$_length === 0; | |
| 11660 }, | |
| 11661 get$isNotEmpty: function(_) { | |
| 11662 return this.readClasses$0()._collection$_length !== 0; | |
| 11663 }, | |
| 11664 get$length: function(_) { | |
| 11665 return this.readClasses$0()._collection$_length; | |
| 11666 }, | |
| 11667 contains$1: function(_, value) { | |
| 11668 if (typeof value !== "string") | |
| 11669 return false; | |
| 11670 this._validateToken$1(value); | |
| 11671 return this.readClasses$0().contains$1(0, value); | |
| 11672 }, | |
| 11673 lookup$1: function(value) { | |
| 11674 return this.contains$1(0, value) ? value : null; | |
| 11675 }, | |
| 11676 add$1: function(_, value) { | |
| 11677 this._validateToken$1(value); | |
| 11678 return this.modify$1(new P.CssClassSetImpl_add_closure(value)); | |
| 11679 }, | |
| 11680 remove$1: function(_, value) { | |
| 11681 var s, result; | |
| 11682 this._validateToken$1(value); | |
| 11683 s = this.readClasses$0(); | |
| 11684 result = s.remove$1(0, value); | |
| 11685 this.writeClasses$1(s); | |
| 11686 return result; | |
| 11687 }, | |
| 11688 get$last: function(_) { | |
| 11689 var t1 = this.readClasses$0(); | |
| 11690 return t1.get$last(t1); | |
| 11691 }, | |
| 11692 modify$1: function(f) { | |
| 11693 var s, ret; | |
| 11694 s = this.readClasses$0(); | |
| 11695 ret = f.call$1(s); | |
| 11696 this.writeClasses$1(s); | |
| 11697 return ret; | |
| 11698 }, | |
| 11699 $isEfficientLength: 1 | |
| 11700 }, | |
| 11701 CssClassSetImpl_add_closure: { | |
| 11702 "^": "Closure:0;_captured_value_0", | |
| 11703 call$1: function(s) { | |
| 11704 return s.add$1(0, this._captured_value_0); | |
| 11705 } | |
| 11706 } | |
| 11707 }], ["path", "package:path/path.dart",, B, { | |
| 11708 "^": "", | |
| 11709 current: function() { | |
| 11710 var uri, t1, t2, targetScheme, targetUserInfo, targetHost, targetPort, tar
getPath, targetQuery, mergedPath, fragment, path; | |
| 11711 uri = P.Uri_base(); | |
| 11712 t1 = $.$get$Style_platform(); | |
| 11713 t2 = $.$get$Style_url(); | |
| 11714 if (t1 == null ? t2 == null : t1 === t2) { | |
| 11715 t1 = P.Uri_parse(".", 0, null); | |
| 11716 targetScheme = t1.scheme; | |
| 11717 if (targetScheme.length !== 0) { | |
| 11718 if (t1._host != null) { | |
| 11719 targetUserInfo = t1._userInfo; | |
| 11720 targetHost = t1.get$host(t1); | |
| 11721 targetPort = t1._port != null ? t1.get$port(t1) : null; | |
| 11722 } else { | |
| 11723 targetUserInfo = ""; | |
| 11724 targetHost = null; | |
| 11725 targetPort = null; | |
| 11726 } | |
| 11727 targetPath = P.Uri__removeDotSegments(t1._path); | |
| 11728 targetQuery = t1._query; | |
| 11729 if (targetQuery != null) | |
| 11730 ; | |
| 11731 else | |
| 11732 targetQuery = null; | |
| 11733 } else { | |
| 11734 targetScheme = uri.scheme; | |
| 11735 if (t1._host != null) { | |
| 11736 targetUserInfo = t1._userInfo; | |
| 11737 targetHost = t1.get$host(t1); | |
| 11738 targetPort = P.Uri__makePort(t1._port != null ? t1.get$port(t1) : nu
ll, targetScheme); | |
| 11739 targetPath = P.Uri__removeDotSegments(t1._path); | |
| 11740 targetQuery = t1._query; | |
| 11741 if (targetQuery != null) | |
| 11742 ; | |
| 11743 else | |
| 11744 targetQuery = null; | |
| 11745 } else { | |
| 11746 targetUserInfo = uri._userInfo; | |
| 11747 targetHost = uri._host; | |
| 11748 targetPort = uri._port; | |
| 11749 targetPath = t1._path; | |
| 11750 if (targetPath === "") { | |
| 11751 targetPath = uri._path; | |
| 11752 targetQuery = t1._query; | |
| 11753 if (targetQuery != null) | |
| 11754 ; | |
| 11755 else | |
| 11756 targetQuery = uri._query; | |
| 11757 } else { | |
| 11758 if (C.JSString_methods.startsWith$1(targetPath, "/")) | |
| 11759 targetPath = P.Uri__removeDotSegments(targetPath); | |
| 11760 else { | |
| 11761 t2 = uri._path; | |
| 11762 if (t2.length === 0) | |
| 11763 targetPath = targetScheme.length === 0 && targetHost == null ?
targetPath : P.Uri__removeDotSegments("/" + targetPath); | |
| 11764 else { | |
| 11765 mergedPath = uri._mergePaths$2(t2, targetPath); | |
| 11766 targetPath = targetScheme.length !== 0 || targetHost != null |
| C.JSString_methods.startsWith$1(t2, "/") ? P.Uri__removeDotSegments(mergedPath
) : P.Uri__normalizeRelativePath(mergedPath); | |
| 11767 } | |
| 11768 } | |
| 11769 targetQuery = t1._query; | |
| 11770 if (targetQuery != null) | |
| 11771 ; | |
| 11772 else | |
| 11773 targetQuery = null; | |
| 11774 } | |
| 11775 } | |
| 11776 } | |
| 11777 fragment = t1._fragment; | |
| 11778 if (fragment != null) | |
| 11779 ; | |
| 11780 else | |
| 11781 fragment = null; | |
| 11782 return new P.Uri(targetHost, targetPort, targetPath, targetScheme, targe
tUserInfo, targetQuery, fragment, null, null).toString$0(0); | |
| 11783 } else { | |
| 11784 path = uri.toFilePath$0(); | |
| 11785 return C.JSString_methods.substring$2(path, 0, path.length - 1); | |
| 11786 } | |
| 11787 } | |
| 11788 }], ["path.context", "package:path/src/context.dart",, F, { | |
| 11789 "^": "", | |
| 11790 _validateArgList: function(method, args) { | |
| 11791 var i, numArgs, numArgs0, message, t1, t2; | |
| 11792 for (i = 1; i < 8; ++i) { | |
| 11793 if (args[i] == null || args[i - 1] != null) | |
| 11794 continue; | |
| 11795 for (numArgs = 8; numArgs >= 1; numArgs = numArgs0) { | |
| 11796 numArgs0 = numArgs - 1; | |
| 11797 if (args[numArgs0] != null) | |
| 11798 break; | |
| 11799 } | |
| 11800 message = new P.StringBuffer(""); | |
| 11801 t1 = method + "("; | |
| 11802 message._contents = t1; | |
| 11803 t2 = new H.SubListIterable(args, 0, numArgs); | |
| 11804 t2.$builtinTypeInfo = [H.getTypeArgumentByIndex(args, 0)]; | |
| 11805 if (numArgs < 0) | |
| 11806 H.throwExpression(P.RangeError$range(numArgs, 0, null, "end", null)); | |
| 11807 if (0 > numArgs) | |
| 11808 H.throwExpression(P.RangeError$range(0, 0, numArgs, "start", null)); | |
| 11809 t2 = new H.MappedListIterable(t2, new F._validateArgList_closure()); | |
| 11810 t2.$builtinTypeInfo = [null, null]; | |
| 11811 t1 += t2.join$1(0, ", "); | |
| 11812 message._contents = t1; | |
| 11813 message._contents = t1 + ("): part " + (i - 1) + " was null, but part "
+ i + " was not."); | |
| 11814 throw H.wrapException(P.ArgumentError$(message.toString$0(0))); | |
| 11815 } | |
| 11816 }, | |
| 11817 Context: { | |
| 11818 "^": "Object;style,_context$_current", | |
| 11819 join$8: function(_, part1, part2, part3, part4, part5, part6, part7, part8
) { | |
| 11820 var parts = H.setRuntimeTypeInfo([part1, part2, part3, part4, part5, par
t6, part7, part8], [P.String]); | |
| 11821 F._validateArgList("join", parts); | |
| 11822 return this.joinAll$1(H.setRuntimeTypeInfo(new H.WhereIterable(parts, ne
w F.Context_join_closure()), [H.getTypeArgumentByIndex(parts, 0)])); | |
| 11823 }, | |
| 11824 joinAll$1: function(parts) { | |
| 11825 var buffer, t1, t2, t3, needsSeparator, isAbsoluteAndNotRootRelative, pa
rt, parsed, t4, t5; | |
| 11826 buffer = new P.StringBuffer(""); | |
| 11827 for (t1 = H.setRuntimeTypeInfo(new H.WhereIterable(parts, new F.Context_
joinAll_closure()), [H.getRuntimeTypeArgument(parts, "Iterable", 0)]), t1 = H.se
tRuntimeTypeInfo(new H.WhereIterator(J.get$iterator$ax(t1._iterable), t1._f), [H
.getTypeArgumentByIndex(t1, 0)]), t2 = this.style, t3 = t1._iterator, needsSepar
ator = false, isAbsoluteAndNotRootRelative = false; t1.moveNext$0();) { | |
| 11828 part = t3.get$current(); | |
| 11829 if (t2.isRootRelative$1(part) && isAbsoluteAndNotRootRelative) { | |
| 11830 parsed = Q.ParsedPath_ParsedPath$parse(part, t2); | |
| 11831 t4 = buffer._contents; | |
| 11832 t4 = t4.charCodeAt(0) == 0 ? t4 : t4; | |
| 11833 t4 = C.JSString_methods.substring$2(t4, 0, t2.rootLength$1(t4)); | |
| 11834 parsed.root = t4; | |
| 11835 if (t2.needsSeparator$1(t4)) { | |
| 11836 t4 = parsed.separators; | |
| 11837 t5 = t2.get$separator(); | |
| 11838 if (0 >= t4.length) | |
| 11839 return H.ioore(t4, 0); | |
| 11840 t4[0] = t5; | |
| 11841 } | |
| 11842 buffer._contents = ""; | |
| 11843 buffer._contents += parsed.toString$0(0); | |
| 11844 } else if (t2.rootLength$1(part) > 0) { | |
| 11845 isAbsoluteAndNotRootRelative = !t2.isRootRelative$1(part); | |
| 11846 buffer._contents = ""; | |
| 11847 buffer._contents += H.S(part); | |
| 11848 } else { | |
| 11849 t4 = J.getInterceptor$asx(part); | |
| 11850 if (J.$gt$n(t4.get$length(part), 0) && t2.containsSeparator$1(t4.$in
dex(part, 0)) === true) | |
| 11851 ; | |
| 11852 else if (needsSeparator) | |
| 11853 buffer._contents += t2.get$separator(); | |
| 11854 buffer._contents += H.S(part); | |
| 11855 } | |
| 11856 needsSeparator = t2.needsSeparator$1(part); | |
| 11857 } | |
| 11858 t1 = buffer._contents; | |
| 11859 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 11860 }, | |
| 11861 split$1: function(_, path) { | |
| 11862 var parsed, t1, t2; | |
| 11863 parsed = Q.ParsedPath_ParsedPath$parse(path, this.style); | |
| 11864 t1 = parsed.parts; | |
| 11865 t1 = H.setRuntimeTypeInfo(new H.WhereIterable(t1, new F.Context_split_cl
osure()), [H.getTypeArgumentByIndex(t1, 0)]); | |
| 11866 t1 = P.List_List$from(t1, true, H.getRuntimeTypeArgument(t1, "Iterable",
0)); | |
| 11867 parsed.parts = t1; | |
| 11868 t2 = parsed.root; | |
| 11869 if (t2 != null) | |
| 11870 C.JSArray_methods.insert$2(t1, 0, t2); | |
| 11871 return parsed.parts; | |
| 11872 }, | |
| 11873 normalize$1: function(path) { | |
| 11874 var parsed = Q.ParsedPath_ParsedPath$parse(path, this.style); | |
| 11875 parsed.normalize$0(); | |
| 11876 return parsed.toString$0(0); | |
| 11877 }, | |
| 11878 relative$2$from: function(path, from) { | |
| 11879 var t1, t2, fromParsed, pathParsed, t3; | |
| 11880 from = this._context$_current; | |
| 11881 from = from != null ? from : B.current(); | |
| 11882 t1 = this.style; | |
| 11883 if (t1.rootLength$1(from) <= 0 && t1.rootLength$1(path) > 0) | |
| 11884 return this.normalize$1(path); | |
| 11885 if (t1.rootLength$1(path) <= 0 || t1.isRootRelative$1(path)) { | |
| 11886 t2 = this._context$_current; | |
| 11887 path = this.join$8(0, t2 != null ? t2 : B.current(), path, null, null,
null, null, null, null); | |
| 11888 } | |
| 11889 if (t1.rootLength$1(path) <= 0 && t1.rootLength$1(from) > 0) | |
| 11890 throw H.wrapException(new E.PathException("Unable to find a path to \"
" + path + "\" from \"" + H.S(from) + "\".")); | |
| 11891 fromParsed = Q.ParsedPath_ParsedPath$parse(from, t1); | |
| 11892 fromParsed.normalize$0(); | |
| 11893 pathParsed = Q.ParsedPath_ParsedPath$parse(path, t1); | |
| 11894 pathParsed.normalize$0(); | |
| 11895 t2 = fromParsed.parts; | |
| 11896 if (t2.length > 0 && J.$eq$(t2[0], ".")) | |
| 11897 return pathParsed.toString$0(0); | |
| 11898 if (!J.$eq$(fromParsed.root, pathParsed.root)) { | |
| 11899 t2 = fromParsed.root; | |
| 11900 if (!(t2 == null || pathParsed.root == null)) { | |
| 11901 t2 = J.toLowerCase$0$s(t2); | |
| 11902 H.checkString("\\"); | |
| 11903 t2 = H.stringReplaceAllUnchecked(t2, "/", "\\"); | |
| 11904 t3 = J.toLowerCase$0$s(pathParsed.root); | |
| 11905 H.checkString("\\"); | |
| 11906 t3 = t2 !== H.stringReplaceAllUnchecked(t3, "/", "\\"); | |
| 11907 t2 = t3; | |
| 11908 } else | |
| 11909 t2 = true; | |
| 11910 } else | |
| 11911 t2 = false; | |
| 11912 if (t2) | |
| 11913 return pathParsed.toString$0(0); | |
| 11914 while (true) { | |
| 11915 t2 = fromParsed.parts; | |
| 11916 if (t2.length > 0) { | |
| 11917 t3 = pathParsed.parts; | |
| 11918 t2 = t3.length > 0 && J.$eq$(t2[0], t3[0]); | |
| 11919 } else | |
| 11920 t2 = false; | |
| 11921 if (!t2) | |
| 11922 break; | |
| 11923 C.JSArray_methods.removeAt$1(fromParsed.parts, 0); | |
| 11924 C.JSArray_methods.removeAt$1(fromParsed.separators, 1); | |
| 11925 C.JSArray_methods.removeAt$1(pathParsed.parts, 0); | |
| 11926 C.JSArray_methods.removeAt$1(pathParsed.separators, 1); | |
| 11927 } | |
| 11928 t2 = fromParsed.parts; | |
| 11929 if (t2.length > 0 && J.$eq$(t2[0], "..")) | |
| 11930 throw H.wrapException(new E.PathException("Unable to find a path to \"
" + path + "\" from \"" + H.S(from) + "\".")); | |
| 11931 C.JSArray_methods.insertAll$2(pathParsed.parts, 0, P.List_List$filled(fr
omParsed.parts.length, "..", null)); | |
| 11932 t2 = pathParsed.separators; | |
| 11933 if (0 >= t2.length) | |
| 11934 return H.ioore(t2, 0); | |
| 11935 t2[0] = ""; | |
| 11936 C.JSArray_methods.insertAll$2(t2, 1, P.List_List$filled(fromParsed.parts
.length, t1.get$separator(), null)); | |
| 11937 t1 = pathParsed.parts; | |
| 11938 t2 = t1.length; | |
| 11939 if (t2 === 0) | |
| 11940 return "."; | |
| 11941 if (t2 > 1 && J.$eq$(C.JSArray_methods.get$last(t1), ".")) { | |
| 11942 C.JSArray_methods.removeLast$0(pathParsed.parts); | |
| 11943 t1 = pathParsed.separators; | |
| 11944 C.JSArray_methods.removeLast$0(t1); | |
| 11945 C.JSArray_methods.removeLast$0(t1); | |
| 11946 C.JSArray_methods.add$1(t1, ""); | |
| 11947 } | |
| 11948 pathParsed.root = ""; | |
| 11949 pathParsed.removeTrailingSeparators$0(); | |
| 11950 return pathParsed.toString$0(0); | |
| 11951 }, | |
| 11952 relative$1: function(path) { | |
| 11953 return this.relative$2$from(path, null); | |
| 11954 }, | |
| 11955 prettyUri$1: function(uri) { | |
| 11956 var t1, t2, path, rel; | |
| 11957 if (typeof uri === "string") | |
| 11958 uri = P.Uri_parse(uri, 0, null); | |
| 11959 if (uri.get$scheme() === "file") { | |
| 11960 t1 = this.style; | |
| 11961 t2 = $.$get$Style_url(); | |
| 11962 t2 = t1 == null ? t2 == null : t1 === t2; | |
| 11963 t1 = t2; | |
| 11964 } else | |
| 11965 t1 = false; | |
| 11966 if (t1) | |
| 11967 return uri.toString$0(0); | |
| 11968 t1 = uri.scheme; | |
| 11969 if (t1 !== "file") | |
| 11970 if (t1 !== "") { | |
| 11971 t1 = this.style; | |
| 11972 t2 = $.$get$Style_url(); | |
| 11973 t2 = t1 == null ? t2 != null : t1 !== t2; | |
| 11974 t1 = t2; | |
| 11975 } else | |
| 11976 t1 = false; | |
| 11977 else | |
| 11978 t1 = false; | |
| 11979 if (t1) | |
| 11980 return uri.toString$0(0); | |
| 11981 path = this.normalize$1(this.style.pathFromUri$1(uri)); | |
| 11982 rel = this.relative$1(path); | |
| 11983 return this.split$1(0, rel).length > this.split$1(0, path).length ? path
: rel; | |
| 11984 } | |
| 11985 }, | |
| 11986 Context_join_closure: { | |
| 11987 "^": "Closure:0;", | |
| 11988 call$1: function(part) { | |
| 11989 return part != null; | |
| 11990 } | |
| 11991 }, | |
| 11992 Context_joinAll_closure: { | |
| 11993 "^": "Closure:0;", | |
| 11994 call$1: function(part) { | |
| 11995 return !J.$eq$(part, ""); | |
| 11996 } | |
| 11997 }, | |
| 11998 Context_split_closure: { | |
| 11999 "^": "Closure:0;", | |
| 12000 call$1: function(part) { | |
| 12001 return J.get$isEmpty$asx(part) !== true; | |
| 12002 } | |
| 12003 }, | |
| 12004 _validateArgList_closure: { | |
| 12005 "^": "Closure:0;", | |
| 12006 call$1: function(arg) { | |
| 12007 return arg == null ? "null" : "\"" + H.S(arg) + "\""; | |
| 12008 } | |
| 12009 } | |
| 12010 }], ["path.internal_style", "package:path/src/internal_style.dart",, E, { | |
| 12011 "^": "", | |
| 12012 InternalStyle: { | |
| 12013 "^": "Style;", | |
| 12014 getRoot$1: function(path) { | |
| 12015 var $length = this.rootLength$1(path); | |
| 12016 if ($length > 0) | |
| 12017 return J.substring$2$s(path, 0, $length); | |
| 12018 return this.isRootRelative$1(path) ? J.$index$asx(path, 0) : null; | |
| 12019 } | |
| 12020 } | |
| 12021 }], ["path.parsed_path", "package:path/src/parsed_path.dart",, Q, { | |
| 12022 "^": "", | |
| 12023 ParsedPath: { | |
| 12024 "^": "Object;style,root,isRootRelative,parts,separators", | |
| 12025 removeTrailingSeparators$0: function() { | |
| 12026 var t1, t2; | |
| 12027 while (true) { | |
| 12028 t1 = this.parts; | |
| 12029 if (!(t1.length !== 0 && J.$eq$(C.JSArray_methods.get$last(t1), ""))) | |
| 12030 break; | |
| 12031 C.JSArray_methods.removeLast$0(this.parts); | |
| 12032 C.JSArray_methods.removeLast$0(this.separators); | |
| 12033 } | |
| 12034 t1 = this.separators; | |
| 12035 t2 = t1.length; | |
| 12036 if (t2 > 0) | |
| 12037 t1[t2 - 1] = ""; | |
| 12038 }, | |
| 12039 normalize$0: function() { | |
| 12040 var newParts, t1, t2, leadingDoubles, _i, part, t3, newSeparators; | |
| 12041 newParts = H.setRuntimeTypeInfo([], [P.String]); | |
| 12042 for (t1 = this.parts, t2 = t1.length, leadingDoubles = 0, _i = 0; _i < t
1.length; t1.length === t2 || (0, H.throwConcurrentModificationError)(t1), ++_i)
{ | |
| 12043 part = t1[_i]; | |
| 12044 t3 = J.getInterceptor(part); | |
| 12045 if (t3.$eq(part, ".") || t3.$eq(part, "")) | |
| 12046 ; | |
| 12047 else if (t3.$eq(part, "..")) | |
| 12048 if (newParts.length > 0) | |
| 12049 newParts.pop(); | |
| 12050 else | |
| 12051 ++leadingDoubles; | |
| 12052 else | |
| 12053 newParts.push(part); | |
| 12054 } | |
| 12055 if (this.root == null) | |
| 12056 C.JSArray_methods.insertAll$2(newParts, 0, P.List_List$filled(leadingD
oubles, "..", null)); | |
| 12057 if (newParts.length === 0 && this.root == null) | |
| 12058 newParts.push("."); | |
| 12059 newSeparators = P.List_List$generate(newParts.length, new Q.ParsedPath_n
ormalize_closure(this), true, P.String); | |
| 12060 t1 = this.root; | |
| 12061 C.JSArray_methods.insert$2(newSeparators, 0, t1 != null && newParts.leng
th > 0 && this.style.needsSeparator$1(t1) ? this.style.get$separator() : ""); | |
| 12062 this.parts = newParts; | |
| 12063 this.separators = newSeparators; | |
| 12064 t1 = this.root; | |
| 12065 if (t1 != null && this.style === $.$get$Style_windows()) | |
| 12066 this.root = J.replaceAll$2$s(t1, "/", "\\"); | |
| 12067 this.removeTrailingSeparators$0(); | |
| 12068 }, | |
| 12069 toString$0: function(_) { | |
| 12070 var builder, t1, i; | |
| 12071 builder = new P.StringBuffer(""); | |
| 12072 t1 = this.root; | |
| 12073 if (t1 != null) | |
| 12074 builder._contents = H.S(t1); | |
| 12075 for (i = 0; i < this.parts.length; ++i) { | |
| 12076 t1 = this.separators; | |
| 12077 if (i >= t1.length) | |
| 12078 return H.ioore(t1, i); | |
| 12079 builder._contents += H.S(t1[i]); | |
| 12080 t1 = this.parts; | |
| 12081 if (i >= t1.length) | |
| 12082 return H.ioore(t1, i); | |
| 12083 builder._contents += H.S(t1[i]); | |
| 12084 } | |
| 12085 t1 = builder._contents += H.S(C.JSArray_methods.get$last(this.separators
)); | |
| 12086 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 12087 }, | |
| 12088 static: {ParsedPath_ParsedPath$parse: function(path, style) { | |
| 12089 var root, isRootRelative, parts, separators, t1, start, i, t2; | |
| 12090 root = style.getRoot$1(path); | |
| 12091 isRootRelative = style.isRootRelative$1(path); | |
| 12092 if (root != null) | |
| 12093 path = J.substring$1$s(path, J.get$length$asx(root)); | |
| 12094 parts = H.setRuntimeTypeInfo([], [P.String]); | |
| 12095 separators = H.setRuntimeTypeInfo([], [P.String]); | |
| 12096 t1 = J.getInterceptor$asx(path); | |
| 12097 if (t1.get$isNotEmpty(path) && style.isSeparator$1(t1.codeUnitAt$1(pat
h, 0))) { | |
| 12098 separators.push(t1.$index(path, 0)); | |
| 12099 start = 1; | |
| 12100 } else { | |
| 12101 separators.push(""); | |
| 12102 start = 0; | |
| 12103 } | |
| 12104 i = start; | |
| 12105 while (true) { | |
| 12106 t2 = t1.get$length(path); | |
| 12107 if (typeof t2 !== "number") | |
| 12108 return H.iae(t2); | |
| 12109 if (!(i < t2)) | |
| 12110 break; | |
| 12111 if (style.isSeparator$1(t1.codeUnitAt$1(path, i))) { | |
| 12112 parts.push(C.JSString_methods.substring$2(path, start, i)); | |
| 12113 if (i >= path.length) | |
| 12114 return H.ioore(path, i); | |
| 12115 separators.push(path[i]); | |
| 12116 start = i + 1; | |
| 12117 } | |
| 12118 ++i; | |
| 12119 } | |
| 12120 t2 = t1.get$length(path); | |
| 12121 if (typeof t2 !== "number") | |
| 12122 return H.iae(t2); | |
| 12123 if (start < t2) { | |
| 12124 parts.push(t1.substring$1(path, start)); | |
| 12125 separators.push(""); | |
| 12126 } | |
| 12127 return new Q.ParsedPath(style, root, isRootRelative, parts, separators
); | |
| 12128 }} | |
| 12129 }, | |
| 12130 ParsedPath_normalize_closure: { | |
| 12131 "^": "Closure:0;_parsed_path$_captured_this_0", | |
| 12132 call$1: function(_) { | |
| 12133 return this._parsed_path$_captured_this_0.style.get$separator(); | |
| 12134 } | |
| 12135 } | |
| 12136 }], ["path.path_exception", "package:path/src/path_exception.dart",, E, { | |
| 12137 "^": "", | |
| 12138 PathException: { | |
| 12139 "^": "Object;message>", | |
| 12140 toString$0: function(_) { | |
| 12141 return "PathException: " + this.message; | |
| 12142 } | |
| 12143 } | |
| 12144 }], ["path.style", "package:path/src/style.dart",, S, { | |
| 12145 "^": "", | |
| 12146 Style__getPlatformStyle: function() { | |
| 12147 var scheme, userInfo, host, query, fragment, port, isFile, t1, path; | |
| 12148 if (P.Uri_base().scheme !== "file") | |
| 12149 return $.$get$Style_url(); | |
| 12150 if (!C.JSString_methods.endsWith$1(P.Uri_base()._path, "/")) | |
| 12151 return $.$get$Style_url(); | |
| 12152 scheme = P.Uri__makeScheme("", 0, 0); | |
| 12153 userInfo = P.Uri__makeUserInfo("", 0, 0); | |
| 12154 host = P.Uri__makeHost(null, 0, 0, false); | |
| 12155 query = P.Uri__makeQuery(null, 0, 0, null); | |
| 12156 fragment = P.Uri__makeFragment(null, 0, 0); | |
| 12157 port = P.Uri__makePort(null, scheme); | |
| 12158 isFile = scheme === "file"; | |
| 12159 if (host == null) | |
| 12160 t1 = userInfo.length !== 0 || port != null || isFile; | |
| 12161 else | |
| 12162 t1 = false; | |
| 12163 if (t1) | |
| 12164 host = ""; | |
| 12165 t1 = host == null; | |
| 12166 path = P.Uri__makePath("a/b", 0, 3, null, scheme, !t1); | |
| 12167 if (new P.Uri(host, port, scheme.length === 0 && t1 && !C.JSString_methods
.startsWith$1(path, "/") ? P.Uri__normalizeRelativePath(path) : P.Uri__removeDot
Segments(path), scheme, userInfo, query, fragment, null, null).toFilePath$0() ==
= "a\\b") | |
| 12168 return $.$get$Style_windows(); | |
| 12169 return $.$get$Style_posix(); | |
| 12170 }, | |
| 12171 Style: { | |
| 12172 "^": "Object;", | |
| 12173 toString$0: function(_) { | |
| 12174 return this.get$name(this); | |
| 12175 } | |
| 12176 } | |
| 12177 }], ["path.style.posix", "package:path/src/style/posix.dart",, Z, { | |
| 12178 "^": "", | |
| 12179 PosixStyle: { | |
| 12180 "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSepa
ratorPattern,rootPattern,relativeRootPattern", | |
| 12181 containsSeparator$1: function(path) { | |
| 12182 return J.contains$1$asx(path, "/"); | |
| 12183 }, | |
| 12184 isSeparator$1: function(codeUnit) { | |
| 12185 return codeUnit === 47; | |
| 12186 }, | |
| 12187 needsSeparator$1: function(path) { | |
| 12188 var t1 = J.getInterceptor$asx(path); | |
| 12189 return t1.get$isNotEmpty(path) && t1.codeUnitAt$1(path, J.$sub$n(t1.get$
length(path), 1)) !== 47; | |
| 12190 }, | |
| 12191 rootLength$1: function(path) { | |
| 12192 var t1 = J.getInterceptor$asx(path); | |
| 12193 if (t1.get$isNotEmpty(path) && t1.codeUnitAt$1(path, 0) === 47) | |
| 12194 return 1; | |
| 12195 return 0; | |
| 12196 }, | |
| 12197 isRootRelative$1: function(path) { | |
| 12198 return false; | |
| 12199 }, | |
| 12200 pathFromUri$1: function(uri) { | |
| 12201 var t1 = uri.scheme; | |
| 12202 if (t1 === "" || t1 === "file") | |
| 12203 return P.Uri__uriDecode(uri._path, C.Utf8Codec_false, false); | |
| 12204 throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + " mu
st have scheme 'file:'.")); | |
| 12205 } | |
| 12206 } | |
| 12207 }], ["path.style.url", "package:path/src/style/url.dart",, E, { | |
| 12208 "^": "", | |
| 12209 UrlStyle: { | |
| 12210 "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSepa
ratorPattern,rootPattern,relativeRootPattern", | |
| 12211 containsSeparator$1: function(path) { | |
| 12212 return J.contains$1$asx(path, "/"); | |
| 12213 }, | |
| 12214 isSeparator$1: function(codeUnit) { | |
| 12215 return codeUnit === 47; | |
| 12216 }, | |
| 12217 needsSeparator$1: function(path) { | |
| 12218 var t1 = J.getInterceptor$asx(path); | |
| 12219 if (t1.get$isEmpty(path) === true) | |
| 12220 return false; | |
| 12221 if (t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)) !== 47) | |
| 12222 return true; | |
| 12223 return C.JSString_methods.endsWith$1(path, "://") && this.rootLength$1(p
ath) === path.length; | |
| 12224 }, | |
| 12225 rootLength$1: function(path) { | |
| 12226 var t1, index; | |
| 12227 t1 = J.getInterceptor$asx(path); | |
| 12228 if (t1.get$isEmpty(path) === true) | |
| 12229 return 0; | |
| 12230 if (t1.codeUnitAt$1(path, 0) === 47) | |
| 12231 return 1; | |
| 12232 index = C.JSString_methods.indexOf$1(path, "/"); | |
| 12233 if (index > 0 && C.JSString_methods.startsWith$2(path, "://", index - 1)
) { | |
| 12234 index = C.JSString_methods.indexOf$2(path, "/", index + 2); | |
| 12235 if (index > 0) | |
| 12236 return index; | |
| 12237 return path.length; | |
| 12238 } | |
| 12239 return 0; | |
| 12240 }, | |
| 12241 isRootRelative$1: function(path) { | |
| 12242 var t1 = J.getInterceptor$asx(path); | |
| 12243 return t1.get$isNotEmpty(path) && t1.codeUnitAt$1(path, 0) === 47; | |
| 12244 }, | |
| 12245 pathFromUri$1: function(uri) { | |
| 12246 return uri.toString$0(0); | |
| 12247 } | |
| 12248 } | |
| 12249 }], ["path.style.windows", "package:path/src/style/windows.dart",, T, { | |
| 12250 "^": "", | |
| 12251 WindowsStyle: { | |
| 12252 "^": "InternalStyle;name>,separator<,separators,separatorPattern,needsSepa
ratorPattern,rootPattern,relativeRootPattern", | |
| 12253 containsSeparator$1: function(path) { | |
| 12254 return J.contains$1$asx(path, "/"); | |
| 12255 }, | |
| 12256 isSeparator$1: function(codeUnit) { | |
| 12257 return codeUnit === 47 || codeUnit === 92; | |
| 12258 }, | |
| 12259 needsSeparator$1: function(path) { | |
| 12260 var t1 = J.getInterceptor$asx(path); | |
| 12261 if (t1.get$isEmpty(path) === true) | |
| 12262 return false; | |
| 12263 t1 = t1.codeUnitAt$1(path, J.$sub$n(t1.get$length(path), 1)); | |
| 12264 return !(t1 === 47 || t1 === 92); | |
| 12265 }, | |
| 12266 rootLength$1: function(path) { | |
| 12267 var t1, index; | |
| 12268 t1 = J.getInterceptor$asx(path); | |
| 12269 if (t1.get$isEmpty(path) === true) | |
| 12270 return 0; | |
| 12271 if (t1.codeUnitAt$1(path, 0) === 47) | |
| 12272 return 1; | |
| 12273 if (C.JSString_methods.codeUnitAt$1(path, 0) === 92) { | |
| 12274 t1 = path.length; | |
| 12275 if (t1 < 2 || C.JSString_methods.codeUnitAt$1(path, 1) !== 92) | |
| 12276 return 1; | |
| 12277 index = C.JSString_methods.indexOf$2(path, "\\", 2); | |
| 12278 if (index > 0) { | |
| 12279 index = C.JSString_methods.indexOf$2(path, "\\", index + 1); | |
| 12280 if (index > 0) | |
| 12281 return index; | |
| 12282 } | |
| 12283 return t1; | |
| 12284 } | |
| 12285 if (path.length < 3) | |
| 12286 return 0; | |
| 12287 t1 = C.JSString_methods.codeUnitAt$1(path, 0); | |
| 12288 if (!(t1 >= 65 && t1 <= 90)) | |
| 12289 t1 = t1 >= 97 && t1 <= 122; | |
| 12290 else | |
| 12291 t1 = true; | |
| 12292 if (!t1) | |
| 12293 return 0; | |
| 12294 if (C.JSString_methods.codeUnitAt$1(path, 1) !== 58) | |
| 12295 return 0; | |
| 12296 t1 = C.JSString_methods.codeUnitAt$1(path, 2); | |
| 12297 if (!(t1 === 47 || t1 === 92)) | |
| 12298 return 0; | |
| 12299 return 3; | |
| 12300 }, | |
| 12301 isRootRelative$1: function(path) { | |
| 12302 return this.rootLength$1(path) === 1; | |
| 12303 }, | |
| 12304 pathFromUri$1: function(uri) { | |
| 12305 var t1, path; | |
| 12306 t1 = uri.scheme; | |
| 12307 if (t1 !== "" && t1 !== "file") | |
| 12308 throw H.wrapException(P.ArgumentError$("Uri " + uri.toString$0(0) + "
must have scheme 'file:'.")); | |
| 12309 path = uri._path; | |
| 12310 if (uri.get$host(uri) === "") { | |
| 12311 if (C.JSString_methods.startsWith$1(path, "/")) { | |
| 12312 H.checkString(""); | |
| 12313 H.checkInt(0); | |
| 12314 P.RangeError_checkValueInInterval(0, 0, path.length, "startIndex", n
ull); | |
| 12315 path = H.stringReplaceFirstUnchecked(path, "/", "", 0); | |
| 12316 } | |
| 12317 } else | |
| 12318 path = "\\\\" + H.S(uri.get$host(uri)) + path; | |
| 12319 H.checkString("\\"); | |
| 12320 return P.Uri__uriDecode(H.stringReplaceAllUnchecked(path, "/", "\\"), C.
Utf8Codec_false, false); | |
| 12321 } | |
| 12322 } | |
| 12323 }], ["source_span.location", "package:source_span/src/location.dart",, O, { | |
| 12324 "^": "", | |
| 12325 SourceLocation: { | |
| 12326 "^": "Object;sourceUrl,offset,line,column", | |
| 12327 get$toolString: function() { | |
| 12328 var source = this.sourceUrl; | |
| 12329 return H.S(source == null ? "unknown source" : source) + ":" + H.S(J.$ad
d$ns(this.line, 1)) + ":" + H.S(J.$add$ns(this.column, 1)); | |
| 12330 }, | |
| 12331 distance$1: function(other) { | |
| 12332 var t1, t2; | |
| 12333 t1 = this.sourceUrl; | |
| 12334 t2 = other.sourceUrl; | |
| 12335 if (!J.$eq$(t1, t2)) | |
| 12336 throw H.wrapException(P.ArgumentError$("Source URLs \"" + H.S(t1) + "\
" and \"" + H.S(t2) + "\" don't match.")); | |
| 12337 return J.abs$0$n(J.$sub$n(this.offset, other.offset)); | |
| 12338 }, | |
| 12339 $eq: function(_, other) { | |
| 12340 if (other == null) | |
| 12341 return false; | |
| 12342 return other instanceof O.SourceLocation && J.$eq$(this.sourceUrl, other
.sourceUrl) && J.$eq$(this.offset, other.offset); | |
| 12343 }, | |
| 12344 get$hashCode: function(_) { | |
| 12345 return J.$add$ns(J.get$hashCode$(this.sourceUrl), this.offset); | |
| 12346 }, | |
| 12347 toString$0: function(_) { | |
| 12348 return "<" + H.S(new H.TypeImpl(H.getRuntimeTypeString(this), null)) + "
: " + H.S(this.offset) + " " + this.get$toolString() + ">"; | |
| 12349 }, | |
| 12350 SourceLocation$4$column$line$sourceUrl: function(offset, column, line, sou
rceUrl) { | |
| 12351 if (J.$lt$n(offset, 0)) | |
| 12352 throw H.wrapException(P.RangeError$("Offset may not be negative, was "
+ H.S(offset) + ".")); | |
| 12353 else if (line != null && J.$lt$n(line, 0)) | |
| 12354 throw H.wrapException(P.RangeError$("Line may not be negative, was " +
H.S(line) + ".")); | |
| 12355 else if (column != null && J.$lt$n(column, 0)) | |
| 12356 throw H.wrapException(P.RangeError$("Column may not be negative, was "
+ H.S(column) + ".")); | |
| 12357 }, | |
| 12358 static: {SourceLocation$: function(offset, column, line, sourceUrl) { | |
| 12359 var t1, t2; | |
| 12360 t1 = typeof sourceUrl === "string" ? P.Uri_parse(sourceUrl, 0, null) :
sourceUrl; | |
| 12361 t2 = line == null ? 0 : line; | |
| 12362 t1 = new O.SourceLocation(t1, offset, t2, column == null ? offset : co
lumn); | |
| 12363 t1.SourceLocation$4$column$line$sourceUrl(offset, column, line, source
Url); | |
| 12364 return t1; | |
| 12365 }} | |
| 12366 } | |
| 12367 }], ["source_span.span", "package:source_span/src/span.dart",, T, { | |
| 12368 "^": "", | |
| 12369 SourceSpan: { | |
| 12370 "^": "Object;" | |
| 12371 }, | |
| 12372 SourceSpanBase: { | |
| 12373 "^": "SourceSpanMixin;start>,end<,text", | |
| 12374 SourceSpanBase$3: function(start, end, text) { | |
| 12375 var t1, t2, t3, t4; | |
| 12376 t1 = this.end; | |
| 12377 t2 = t1.sourceUrl; | |
| 12378 t3 = this.start; | |
| 12379 t4 = t3.sourceUrl; | |
| 12380 if (!J.$eq$(t2, t4)) | |
| 12381 throw H.wrapException(P.ArgumentError$("Source URLs \"" + H.S(t4) + "\
" and \"" + H.S(t2) + "\" don't match.")); | |
| 12382 else if (J.$lt$n(t1.offset, t3.offset)) | |
| 12383 throw H.wrapException(P.ArgumentError$("End " + t1.toString$0(0) + " m
ust come after start " + t3.toString$0(0) + ".")); | |
| 12384 else { | |
| 12385 t2 = this.text; | |
| 12386 if (!J.$eq$(J.get$length$asx(t2), t3.distance$1(t1))) | |
| 12387 throw H.wrapException(P.ArgumentError$("Text \"" + H.S(t2) + "\" mus
t be " + H.S(t3.distance$1(t1)) + " characters long.")); | |
| 12388 } | |
| 12389 }, | |
| 12390 static: {SourceSpanBase$: function(start, end, text) { | |
| 12391 var t1 = new T.SourceSpanBase(start, end, text); | |
| 12392 t1.SourceSpanBase$3(start, end, text); | |
| 12393 return t1; | |
| 12394 }} | |
| 12395 } | |
| 12396 }], ["source_span.span_mixin", "package:source_span/src/span_mixin.dart",, Y,
{ | |
| 12397 "^": "", | |
| 12398 SourceSpanMixin: { | |
| 12399 "^": "Object;", | |
| 12400 get$length: function(_) { | |
| 12401 return J.$sub$n(this.get$end().offset, this.start.offset); | |
| 12402 }, | |
| 12403 message$2$color: [function(_, message, color) { | |
| 12404 var t1, column, t2, t3, context, lineStart, t4, endIndex, textLine, toCo
lumn; | |
| 12405 t1 = this.start; | |
| 12406 column = t1.column; | |
| 12407 t2 = "line " + H.S(J.$add$ns(this.get$start(this).line, 1)) + ", column
" + H.S(J.$add$ns(column, 1)); | |
| 12408 t3 = t1.sourceUrl; | |
| 12409 if (t3 != null) | |
| 12410 t2 += " of " + $.$get$context().prettyUri$1(t3); | |
| 12411 t2 += ": " + H.S(message); | |
| 12412 t3 = this.end.offset; | |
| 12413 t1 = t1.offset; | |
| 12414 if (J.$eq$(J.$sub$n(t3, t1), 0) && !this.$isSourceSpanWithContext) | |
| 12415 return t2.charCodeAt(0) == 0 ? t2 : t2; | |
| 12416 t2 += "\n"; | |
| 12417 if (!!this.$isSourceSpanWithContext) { | |
| 12418 context = this.context; | |
| 12419 lineStart = D.findLineStart(context, this.text, column); | |
| 12420 if (lineStart != null && lineStart > 0) { | |
| 12421 t2 += J.substring$2$s(context, 0, lineStart); | |
| 12422 context = C.JSString_methods.substring$1(context, lineStart); | |
| 12423 } | |
| 12424 t4 = J.getInterceptor$asx(context); | |
| 12425 endIndex = t4.indexOf$1(context, "\n"); | |
| 12426 textLine = endIndex === -1 ? context : t4.substring$2(context, 0, endI
ndex + 1); | |
| 12427 column = P.min(column, J.get$length$asx(textLine) - 1); | |
| 12428 } else { | |
| 12429 textLine = C.JSArray_methods.get$first(J.split$1$s(this.text, "\n")); | |
| 12430 column = 0; | |
| 12431 } | |
| 12432 if (typeof t3 !== "number") | |
| 12433 return H.iae(t3); | |
| 12434 if (typeof t1 !== "number") | |
| 12435 return H.iae(t1); | |
| 12436 t4 = J.getInterceptor$asx(textLine); | |
| 12437 toColumn = P.min(column + t3 - t1, t4.get$length(textLine)); | |
| 12438 t1 = t2 + H.S(textLine); | |
| 12439 if (!t4.endsWith$1(textLine, "\n")) | |
| 12440 t1 += "\n"; | |
| 12441 t1 += C.JSString_methods.$mul(" ", column); | |
| 12442 t1 += C.JSString_methods.$mul("^", P.max(toColumn - column, 1)); | |
| 12443 return t1.charCodeAt(0) == 0 ? t1 : t1; | |
| 12444 }, function($receiver, message) { | |
| 12445 return this.message$2$color($receiver, message, null); | |
| 12446 }, "message$1", "call$2$color", "call$1", "get$message", 2, 3, 28, 0], | |
| 12447 $eq: function(_, other) { | |
| 12448 var t1; | |
| 12449 if (other == null) | |
| 12450 return false; | |
| 12451 t1 = J.getInterceptor(other); | |
| 12452 return !!t1.$isSourceSpan && this.get$start(this).$eq(0, t1.get$start(ot
her)) && this.end.$eq(0, other.get$end()); | |
| 12453 }, | |
| 12454 get$hashCode: function(_) { | |
| 12455 var t1, t2; | |
| 12456 t1 = this.get$start(this); | |
| 12457 t1 = J.$add$ns(J.get$hashCode$(t1.sourceUrl), t1.offset); | |
| 12458 t2 = this.end; | |
| 12459 t2 = J.$add$ns(J.get$hashCode$(t2.sourceUrl), t2.offset); | |
| 12460 if (typeof t2 !== "number") | |
| 12461 return H.iae(t2); | |
| 12462 return J.$add$ns(t1, 31 * t2); | |
| 12463 }, | |
| 12464 toString$0: function(_) { | |
| 12465 var t1, t2, t3; | |
| 12466 t1 = "<" + H.S(new H.TypeImpl(H.getRuntimeTypeString(this), null)) + ":
from "; | |
| 12467 t2 = this.get$start(this); | |
| 12468 t3 = this.end; | |
| 12469 return t1 + ("<" + H.S(new H.TypeImpl(H.getRuntimeTypeString(t2), null))
+ ": " + H.S(t2.offset) + " " + t2.get$toolString() + ">") + " to " + ("<" + H.
S(new H.TypeImpl(H.getRuntimeTypeString(t3), null)) + ": " + H.S(t3.offset) + "
" + t3.get$toolString() + ">") + " \"" + H.S(this.text) + "\">"; | |
| 12470 }, | |
| 12471 $isSourceSpan: 1 | |
| 12472 } | |
| 12473 }], ["source_span.span_with_context", "package:source_span/src/span_with_conte
xt.dart",, E, { | |
| 12474 "^": "", | |
| 12475 SourceSpanWithContext: { | |
| 12476 "^": "SourceSpanBase;context,start,end,text" | |
| 12477 } | |
| 12478 }], ["source_span.utils", "package:source_span/src/utils.dart",, D, { | |
| 12479 "^": "", | |
| 12480 findLineStart: function(context, text, column) { | |
| 12481 var isEmpty, t1, index, t2, lineStart, textColumn, t3; | |
| 12482 isEmpty = J.$eq$(text, ""); | |
| 12483 t1 = J.getInterceptor$asx(context); | |
| 12484 index = t1.indexOf$1(context, text); | |
| 12485 for (t2 = J.getInterceptor(column); index !== -1;) { | |
| 12486 lineStart = t1.lastIndexOf$2(context, "\n", index) + 1; | |
| 12487 textColumn = index - lineStart; | |
| 12488 if (!t2.$eq(column, textColumn)) | |
| 12489 t3 = isEmpty && t2.$eq(column, textColumn + 1); | |
| 12490 else | |
| 12491 t3 = true; | |
| 12492 if (t3) | |
| 12493 return lineStart; | |
| 12494 index = t1.indexOf$2(context, text, index + 1); | |
| 12495 } | |
| 12496 return; | |
| 12497 } | |
| 12498 }]]; | |
| 12499 setupProgram(dart, 0); | |
| 12500 // getInterceptor methods | |
| 12501 J.getInterceptor = function(receiver) { | |
| 12502 if (typeof receiver == "number") { | |
| 12503 if (Math.floor(receiver) == receiver) | |
| 12504 return J.JSInt.prototype; | |
| 12505 return J.JSDouble.prototype; | |
| 12506 } | |
| 12507 if (typeof receiver == "string") | |
| 12508 return J.JSString.prototype; | |
| 12509 if (receiver == null) | |
| 12510 return J.JSNull.prototype; | |
| 12511 if (typeof receiver == "boolean") | |
| 12512 return J.JSBool.prototype; | |
| 12513 if (receiver.constructor == Array) | |
| 12514 return J.JSArray.prototype; | |
| 12515 if (typeof receiver != "object") | |
| 12516 return receiver; | |
| 12517 if (receiver instanceof P.Object) | |
| 12518 return receiver; | |
| 12519 return J.getNativeInterceptor(receiver); | |
| 12520 }; | |
| 12521 J.getInterceptor$asx = function(receiver) { | |
| 12522 if (typeof receiver == "string") | |
| 12523 return J.JSString.prototype; | |
| 12524 if (receiver == null) | |
| 12525 return receiver; | |
| 12526 if (receiver.constructor == Array) | |
| 12527 return J.JSArray.prototype; | |
| 12528 if (typeof receiver != "object") | |
| 12529 return receiver; | |
| 12530 if (receiver instanceof P.Object) | |
| 12531 return receiver; | |
| 12532 return J.getNativeInterceptor(receiver); | |
| 12533 }; | |
| 12534 J.getInterceptor$ax = function(receiver) { | |
| 12535 if (receiver == null) | |
| 12536 return receiver; | |
| 12537 if (receiver.constructor == Array) | |
| 12538 return J.JSArray.prototype; | |
| 12539 if (typeof receiver != "object") | |
| 12540 return receiver; | |
| 12541 if (receiver instanceof P.Object) | |
| 12542 return receiver; | |
| 12543 return J.getNativeInterceptor(receiver); | |
| 12544 }; | |
| 12545 J.getInterceptor$n = function(receiver) { | |
| 12546 if (typeof receiver == "number") | |
| 12547 return J.JSNumber.prototype; | |
| 12548 if (receiver == null) | |
| 12549 return receiver; | |
| 12550 if (!(receiver instanceof P.Object)) | |
| 12551 return J.UnknownJavaScriptObject.prototype; | |
| 12552 return receiver; | |
| 12553 }; | |
| 12554 J.getInterceptor$ns = function(receiver) { | |
| 12555 if (typeof receiver == "number") | |
| 12556 return J.JSNumber.prototype; | |
| 12557 if (typeof receiver == "string") | |
| 12558 return J.JSString.prototype; | |
| 12559 if (receiver == null) | |
| 12560 return receiver; | |
| 12561 if (!(receiver instanceof P.Object)) | |
| 12562 return J.UnknownJavaScriptObject.prototype; | |
| 12563 return receiver; | |
| 12564 }; | |
| 12565 J.getInterceptor$s = function(receiver) { | |
| 12566 if (typeof receiver == "string") | |
| 12567 return J.JSString.prototype; | |
| 12568 if (receiver == null) | |
| 12569 return receiver; | |
| 12570 if (!(receiver instanceof P.Object)) | |
| 12571 return J.UnknownJavaScriptObject.prototype; | |
| 12572 return receiver; | |
| 12573 }; | |
| 12574 J.getInterceptor$x = function(receiver) { | |
| 12575 if (receiver == null) | |
| 12576 return receiver; | |
| 12577 if (typeof receiver != "object") | |
| 12578 return receiver; | |
| 12579 if (receiver instanceof P.Object) | |
| 12580 return receiver; | |
| 12581 return J.getNativeInterceptor(receiver); | |
| 12582 }; | |
| 12583 J.set$href$x = function(receiver, value) { | |
| 12584 return J.getInterceptor$x(receiver).set$href(receiver, value); | |
| 12585 }; | |
| 12586 J.get$attributes$x = function(receiver) { | |
| 12587 return J.getInterceptor$x(receiver).get$attributes(receiver); | |
| 12588 }; | |
| 12589 J.get$classes$x = function(receiver) { | |
| 12590 return J.getInterceptor$x(receiver).get$classes(receiver); | |
| 12591 }; | |
| 12592 J.get$error$x = function(receiver) { | |
| 12593 return J.getInterceptor$x(receiver).get$error(receiver); | |
| 12594 }; | |
| 12595 J.get$isEmpty$asx = function(receiver) { | |
| 12596 return J.getInterceptor$asx(receiver).get$isEmpty(receiver); | |
| 12597 }; | |
| 12598 J.get$iterator$ax = function(receiver) { | |
| 12599 return J.getInterceptor$ax(receiver).get$iterator(receiver); | |
| 12600 }; | |
| 12601 J.get$last$ax = function(receiver) { | |
| 12602 return J.getInterceptor$ax(receiver).get$last(receiver); | |
| 12603 }; | |
| 12604 J.get$length$asx = function(receiver) { | |
| 12605 return J.getInterceptor$asx(receiver).get$length(receiver); | |
| 12606 }; | |
| 12607 J.get$name$x = function(receiver) { | |
| 12608 return J.getInterceptor$x(receiver).get$name(receiver); | |
| 12609 }; | |
| 12610 J.get$onClick$x = function(receiver) { | |
| 12611 return J.getInterceptor$x(receiver).get$onClick(receiver); | |
| 12612 }; | |
| 12613 J.get$responseText$x = function(receiver) { | |
| 12614 return J.getInterceptor$x(receiver).get$responseText(receiver); | |
| 12615 }; | |
| 12616 J.get$tagName$x = function(receiver) { | |
| 12617 return J.getInterceptor$x(receiver).get$tagName(receiver); | |
| 12618 }; | |
| 12619 J.get$target$x = function(receiver) { | |
| 12620 return J.getInterceptor$x(receiver).get$target(receiver); | |
| 12621 }; | |
| 12622 J.$add$ns = function(receiver, a0) { | |
| 12623 if (typeof receiver == "number" && typeof a0 == "number") | |
| 12624 return receiver + a0; | |
| 12625 return J.getInterceptor$ns(receiver).$add(receiver, a0); | |
| 12626 }; | |
| 12627 J.$gt$n = function(receiver, a0) { | |
| 12628 if (typeof receiver == "number" && typeof a0 == "number") | |
| 12629 return receiver > a0; | |
| 12630 return J.getInterceptor$n(receiver).$gt(receiver, a0); | |
| 12631 }; | |
| 12632 J.$index$asx = function(receiver, a0) { | |
| 12633 if (receiver.constructor == Array || typeof receiver == "string" || H.isJsIn
dexable(receiver, receiver[init.dispatchPropertyName])) | |
| 12634 if (a0 >>> 0 === a0 && a0 < receiver.length) | |
| 12635 return receiver[a0]; | |
| 12636 return J.getInterceptor$asx(receiver).$index(receiver, a0); | |
| 12637 }; | |
| 12638 J.$lt$n = function(receiver, a0) { | |
| 12639 if (typeof receiver == "number" && typeof a0 == "number") | |
| 12640 return receiver < a0; | |
| 12641 return J.getInterceptor$n(receiver).$lt(receiver, a0); | |
| 12642 }; | |
| 12643 J.$sub$n = function(receiver, a0) { | |
| 12644 if (typeof receiver == "number" && typeof a0 == "number") | |
| 12645 return receiver - a0; | |
| 12646 return J.getInterceptor$n(receiver).$sub(receiver, a0); | |
| 12647 }; | |
| 12648 J._addEventListener$3$x = function(receiver, a0, a1, a2) { | |
| 12649 return J.getInterceptor$x(receiver)._addEventListener$3(receiver, a0, a1, a2
); | |
| 12650 }; | |
| 12651 J._removeEventListener$3$x = function(receiver, a0, a1, a2) { | |
| 12652 return J.getInterceptor$x(receiver)._removeEventListener$3(receiver, a0, a1,
a2); | |
| 12653 }; | |
| 12654 J.abs$0$n = function(receiver) { | |
| 12655 return J.getInterceptor$n(receiver).abs$0(receiver); | |
| 12656 }; | |
| 12657 J.accept$1$x = function(receiver, a0) { | |
| 12658 return J.getInterceptor$x(receiver).accept$1(receiver, a0); | |
| 12659 }; | |
| 12660 J.add$1$ax = function(receiver, a0) { | |
| 12661 return J.getInterceptor$ax(receiver).add$1(receiver, a0); | |
| 12662 }; | |
| 12663 J.codeUnitAt$1$s = function(receiver, a0) { | |
| 12664 return J.getInterceptor$s(receiver).codeUnitAt$1(receiver, a0); | |
| 12665 }; | |
| 12666 J.complete$1$x = function(receiver, a0) { | |
| 12667 return J.getInterceptor$x(receiver).complete$1(receiver, a0); | |
| 12668 }; | |
| 12669 J.contains$1$asx = function(receiver, a0) { | |
| 12670 return J.getInterceptor$asx(receiver).contains$1(receiver, a0); | |
| 12671 }; | |
| 12672 J.contains$2$asx = function(receiver, a0, a1) { | |
| 12673 return J.getInterceptor$asx(receiver).contains$2(receiver, a0, a1); | |
| 12674 }; | |
| 12675 J.elementAt$1$ax = function(receiver, a0) { | |
| 12676 return J.getInterceptor$ax(receiver).elementAt$1(receiver, a0); | |
| 12677 }; | |
| 12678 J.forEach$1$ax = function(receiver, a0) { | |
| 12679 return J.getInterceptor$ax(receiver).forEach$1(receiver, a0); | |
| 12680 }; | |
| 12681 J.map$1$ax = function(receiver, a0) { | |
| 12682 return J.getInterceptor$ax(receiver).map$1(receiver, a0); | |
| 12683 }; | |
| 12684 J.querySelector$1$x = function(receiver, a0) { | |
| 12685 return J.getInterceptor$x(receiver).querySelector$1(receiver, a0); | |
| 12686 }; | |
| 12687 J.remove$0$ax = function(receiver) { | |
| 12688 return J.getInterceptor$ax(receiver).remove$0(receiver); | |
| 12689 }; | |
| 12690 J.replaceAll$2$s = function(receiver, a0, a1) { | |
| 12691 return J.getInterceptor$s(receiver).replaceAll$2(receiver, a0, a1); | |
| 12692 }; | |
| 12693 J.replaceAllMapped$2$s = function(receiver, a0, a1) { | |
| 12694 return J.getInterceptor$s(receiver).replaceAllMapped$2(receiver, a0, a1); | |
| 12695 }; | |
| 12696 J.send$1$x = function(receiver, a0) { | |
| 12697 return J.getInterceptor$x(receiver).send$1(receiver, a0); | |
| 12698 }; | |
| 12699 J.split$1$s = function(receiver, a0) { | |
| 12700 return J.getInterceptor$s(receiver).split$1(receiver, a0); | |
| 12701 }; | |
| 12702 J.substring$1$s = function(receiver, a0) { | |
| 12703 return J.getInterceptor$s(receiver).substring$1(receiver, a0); | |
| 12704 }; | |
| 12705 J.substring$2$s = function(receiver, a0, a1) { | |
| 12706 return J.getInterceptor$s(receiver).substring$2(receiver, a0, a1); | |
| 12707 }; | |
| 12708 J.toLowerCase$0$s = function(receiver) { | |
| 12709 return J.getInterceptor$s(receiver).toLowerCase$0(receiver); | |
| 12710 }; | |
| 12711 J.toRadixString$1$n = function(receiver, a0) { | |
| 12712 return J.getInterceptor$n(receiver).toRadixString$1(receiver, a0); | |
| 12713 }; | |
| 12714 J.trim$0$s = function(receiver) { | |
| 12715 return J.getInterceptor$s(receiver).trim$0(receiver); | |
| 12716 }; | |
| 12717 J.get$hashCode$ = function(receiver) { | |
| 12718 return J.getInterceptor(receiver).get$hashCode(receiver); | |
| 12719 }; | |
| 12720 J.$eq$ = function(receiver, a0) { | |
| 12721 if (receiver == null) | |
| 12722 return a0 == null; | |
| 12723 if (typeof receiver != "object") | |
| 12724 return a0 != null && receiver === a0; | |
| 12725 return J.getInterceptor(receiver).$eq(receiver, a0); | |
| 12726 }; | |
| 12727 J.toString$0$ = function(receiver) { | |
| 12728 return J.getInterceptor(receiver).toString$0(receiver); | |
| 12729 }; | |
| 12730 Isolate.makeConstantList = function(list) { | |
| 12731 list.immutable$list = Array; | |
| 12732 list.fixed$length = Array; | |
| 12733 return list; | |
| 12734 }; | |
| 12735 var $ = Isolate.$isolateProperties; | |
| 12736 C.BodyElement_methods = W.BodyElement.prototype; | |
| 12737 C.HttpRequest_methods = W.HttpRequest.prototype; | |
| 12738 C.JSArray_methods = J.JSArray.prototype; | |
| 12739 C.JSDouble_methods = J.JSDouble.prototype; | |
| 12740 C.JSInt_methods = J.JSInt.prototype; | |
| 12741 C.JSNull_methods = J.JSNull.prototype; | |
| 12742 C.JSNumber_methods = J.JSNumber.prototype; | |
| 12743 C.JSString_methods = J.JSString.prototype; | |
| 12744 C.NodeList_methods = W.NodeList.prototype; | |
| 12745 C.PlainJavaScriptObject_methods = J.PlainJavaScriptObject.prototype; | |
| 12746 C.UnknownJavaScriptObject_methods = J.UnknownJavaScriptObject.prototype; | |
| 12747 C.Window_methods = W.Window.prototype; | |
| 12748 C.C_DynamicRuntimeType = new H.DynamicRuntimeType(); | |
| 12749 C.C_OutOfMemoryError = new P.OutOfMemoryError(); | |
| 12750 C.C_Utf8Encoder = new P.Utf8Encoder(); | |
| 12751 C.C__DelayedDone = new P._DelayedDone(); | |
| 12752 C.C__RootZone = new P._RootZone(); | |
| 12753 C.Duration_0 = new P.Duration(0); | |
| 12754 C.HtmlEscapeMode_p2v = new P.HtmlEscapeMode("unknown", true, true, true, true)
; | |
| 12755 C.JS_CONST_0 = function(hooks) { | |
| 12756 if (typeof dartExperimentalFixupGetTag != "function") return hooks; | |
| 12757 hooks.getTag = dartExperimentalFixupGetTag(hooks.getTag); | |
| 12758 }; | |
| 12759 C.JS_CONST_4hp = function(hooks) { | |
| 12760 var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; | |
| 12761 if (userAgent.indexOf("Firefox") == -1) return hooks; | |
| 12762 var getTag = hooks.getTag; | |
| 12763 var quickMap = { | |
| 12764 "BeforeUnloadEvent": "Event", | |
| 12765 "DataTransfer": "Clipboard", | |
| 12766 "GeoGeolocation": "Geolocation", | |
| 12767 "Location": "!Location", | |
| 12768 "WorkerMessageEvent": "MessageEvent", | |
| 12769 "XMLDocument": "!Document"}; | |
| 12770 function getTagFirefox(o) { | |
| 12771 var tag = getTag(o); | |
| 12772 return quickMap[tag] || tag; | |
| 12773 } | |
| 12774 hooks.getTag = getTagFirefox; | |
| 12775 }; | |
| 12776 C.JS_CONST_8ZY = function getTagFallback(o) { | |
| 12777 var constructor = o.constructor; | |
| 12778 if (typeof constructor == "function") { | |
| 12779 var name = constructor.name; | |
| 12780 if (typeof name == "string" && | |
| 12781 name.length > 2 && | |
| 12782 name !== "Object" && | |
| 12783 name !== "Function.prototype") { | |
| 12784 return name; | |
| 12785 } | |
| 12786 } | |
| 12787 var s = Object.prototype.toString.call(o); | |
| 12788 return s.substring(8, s.length - 1); | |
| 12789 }; | |
| 12790 C.JS_CONST_Fs4 = function(hooks) { return hooks; } | |
| 12791 ; | |
| 12792 C.JS_CONST_QJm = function(getTagFallback) { | |
| 12793 return function(hooks) { | |
| 12794 if (typeof navigator != "object") return hooks; | |
| 12795 var ua = navigator.userAgent; | |
| 12796 if (ua.indexOf("DumpRenderTree") >= 0) return hooks; | |
| 12797 if (ua.indexOf("Chrome") >= 0) { | |
| 12798 function confirm(p) { | |
| 12799 return typeof window == "object" && window[p] && window[p].name == p; | |
| 12800 } | |
| 12801 if (confirm("Window") && confirm("HTMLElement")) return hooks; | |
| 12802 } | |
| 12803 hooks.getTag = getTagFallback; | |
| 12804 }; | |
| 12805 }; | |
| 12806 C.JS_CONST_gkc = function() { | |
| 12807 function typeNameInChrome(o) { | |
| 12808 var constructor = o.constructor; | |
| 12809 if (constructor) { | |
| 12810 var name = constructor.name; | |
| 12811 if (name) return name; | |
| 12812 } | |
| 12813 var s = Object.prototype.toString.call(o); | |
| 12814 return s.substring(8, s.length - 1); | |
| 12815 } | |
| 12816 function getUnknownTag(object, tag) { | |
| 12817 if (/^HTML[A-Z].*Element$/.test(tag)) { | |
| 12818 var name = Object.prototype.toString.call(object); | |
| 12819 if (name == "[object Object]") return null; | |
| 12820 return "HTMLElement"; | |
| 12821 } | |
| 12822 } | |
| 12823 function getUnknownTagGenericBrowser(object, tag) { | |
| 12824 if (self.HTMLElement && object instanceof HTMLElement) return "HTMLElement"; | |
| 12825 return getUnknownTag(object, tag); | |
| 12826 } | |
| 12827 function prototypeForTag(tag) { | |
| 12828 if (typeof window == "undefined") return null; | |
| 12829 if (typeof window[tag] == "undefined") return null; | |
| 12830 var constructor = window[tag]; | |
| 12831 if (typeof constructor != "function") return null; | |
| 12832 return constructor.prototype; | |
| 12833 } | |
| 12834 function discriminator(tag) { return null; } | |
| 12835 var isBrowser = typeof navigator == "object"; | |
| 12836 return { | |
| 12837 getTag: typeNameInChrome, | |
| 12838 getUnknownTag: isBrowser ? getUnknownTagGenericBrowser : getUnknownTag, | |
| 12839 prototypeForTag: prototypeForTag, | |
| 12840 discriminator: discriminator }; | |
| 12841 }; | |
| 12842 C.JS_CONST_gkc0 = function(hooks) { | |
| 12843 var userAgent = typeof navigator == "object" ? navigator.userAgent : ""; | |
| 12844 if (userAgent.indexOf("Trident/") == -1) return hooks; | |
| 12845 var getTag = hooks.getTag; | |
| 12846 var quickMap = { | |
| 12847 "BeforeUnloadEvent": "Event", | |
| 12848 "DataTransfer": "Clipboard", | |
| 12849 "HTMLDDElement": "HTMLElement", | |
| 12850 "HTMLDTElement": "HTMLElement", | |
| 12851 "HTMLPhraseElement": "HTMLElement", | |
| 12852 "Position": "Geoposition" | |
| 12853 }; | |
| 12854 function getTagIE(o) { | |
| 12855 var tag = getTag(o); | |
| 12856 var newTag = quickMap[tag]; | |
| 12857 if (newTag) return newTag; | |
| 12858 if (tag == "Object") { | |
| 12859 if (window.DataView && (o instanceof window.DataView)) return "DataView"; | |
| 12860 } | |
| 12861 return tag; | |
| 12862 } | |
| 12863 function prototypeForTagIE(tag) { | |
| 12864 var constructor = window[tag]; | |
| 12865 if (constructor == null) return null; | |
| 12866 return constructor.prototype; | |
| 12867 } | |
| 12868 hooks.getTag = getTagIE; | |
| 12869 hooks.prototypeForTag = prototypeForTagIE; | |
| 12870 }; | |
| 12871 C.JS_CONST_rr7 = function(hooks) { | |
| 12872 var getTag = hooks.getTag; | |
| 12873 var prototypeForTag = hooks.prototypeForTag; | |
| 12874 function getTagFixed(o) { | |
| 12875 var tag = getTag(o); | |
| 12876 if (tag == "Document") { | |
| 12877 if (!!o.xmlVersion) return "!Document"; | |
| 12878 return "!HTMLDocument"; | |
| 12879 } | |
| 12880 return tag; | |
| 12881 } | |
| 12882 function prototypeForTagFixed(tag) { | |
| 12883 if (tag == "Document") return null; | |
| 12884 return prototypeForTag(tag); | |
| 12885 } | |
| 12886 hooks.getTag = getTagFixed; | |
| 12887 hooks.prototypeForTag = prototypeForTagFixed; | |
| 12888 }; | |
| 12889 C.JsonCodec_null_null = new P.JsonCodec(null, null); | |
| 12890 C.JsonDecoder_null = new P.JsonDecoder(null); | |
| 12891 C.List_127_2047_65535_1114111 = H.setRuntimeTypeInfo(Isolate.makeConstantList(
[127, 2047, 65535, 1114111]), [P.$int]); | |
| 12892 C.List_1GN = H.setRuntimeTypeInfo(Isolate.makeConstantList(["*::class", "*::di
r", "*::draggable", "*::hidden", "*::id", "*::inert", "*::itemprop", "*::itemref
", "*::itemscope", "*::lang", "*::spellcheck", "*::title", "*::translate", "A::a
ccesskey", "A::coords", "A::hreflang", "A::name", "A::shape", "A::tabindex", "A:
:target", "A::type", "AREA::accesskey", "AREA::alt", "AREA::coords", "AREA::nohr
ef", "AREA::shape", "AREA::tabindex", "AREA::target", "AUDIO::controls", "AUDIO:
:loop", "AUDIO::mediagroup", "AUDIO::muted", "AUDIO::preload", "BDO::dir", "BODY
::alink", "BODY::bgcolor", "BODY::link", "BODY::text", "BODY::vlink", "BR::clear
", "BUTTON::accesskey", "BUTTON::disabled", "BUTTON::name", "BUTTON::tabindex",
"BUTTON::type", "BUTTON::value", "CANVAS::height", "CANVAS::width", "CAPTION::al
ign", "COL::align", "COL::char", "COL::charoff", "COL::span", "COL::valign", "CO
L::width", "COLGROUP::align", "COLGROUP::char", "COLGROUP::charoff", "COLGROUP::
span", "COLGROUP::valign", "COLGROUP::width", "COMMAND::checked", "COMMAND::comm
and", "COMMAND::disabled", "COMMAND::label", "COMMAND::radiogroup", "COMMAND::ty
pe", "DATA::value", "DEL::datetime", "DETAILS::open", "DIR::compact", "DIV::alig
n", "DL::compact", "FIELDSET::disabled", "FONT::color", "FONT::face", "FONT::siz
e", "FORM::accept", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM
::name", "FORM::novalidate", "FORM::target", "FRAME::name", "H1::align", "H2::al
ign", "H3::align", "H4::align", "H5::align", "H6::align", "HR::align", "HR::nosh
ade", "HR::size", "HR::width", "HTML::version", "IFRAME::align", "IFRAME::frameb
order", "IFRAME::height", "IFRAME::marginheight", "IFRAME::marginwidth", "IFRAME
::width", "IMG::align", "IMG::alt", "IMG::border", "IMG::height", "IMG::hspace",
"IMG::ismap", "IMG::name", "IMG::usemap", "IMG::vspace", "IMG::width", "INPUT::
accept", "INPUT::accesskey", "INPUT::align", "INPUT::alt", "INPUT::autocomplete"
, "INPUT::checked", "INPUT::disabled", "INPUT::inputmode", "INPUT::ismap", "INPU
T::list", "INPUT::max", "INPUT::maxlength", "INPUT::min", "INPUT::multiple", "IN
PUT::name", "INPUT::placeholder", "INPUT::readonly", "INPUT::required", "INPUT::
size", "INPUT::step", "INPUT::tabindex", "INPUT::type", "INPUT::usemap", "INPUT:
:value", "INS::datetime", "KEYGEN::disabled", "KEYGEN::keytype", "KEYGEN::name",
"LABEL::accesskey", "LABEL::for", "LEGEND::accesskey", "LEGEND::align", "LI::ty
pe", "LI::value", "LINK::sizes", "MAP::name", "MENU::compact", "MENU::label", "M
ENU::type", "METER::high", "METER::low", "METER::max", "METER::min", "METER::val
ue", "OBJECT::typemustmatch", "OL::compact", "OL::reversed", "OL::start", "OL::t
ype", "OPTGROUP::disabled", "OPTGROUP::label", "OPTION::disabled", "OPTION::labe
l", "OPTION::selected", "OPTION::value", "OUTPUT::for", "OUTPUT::name", "P::alig
n", "PRE::width", "PROGRESS::max", "PROGRESS::min", "PROGRESS::value", "SELECT::
autocomplete", "SELECT::disabled", "SELECT::multiple", "SELECT::name", "SELECT::
required", "SELECT::size", "SELECT::tabindex", "SOURCE::type", "TABLE::align", "
TABLE::bgcolor", "TABLE::border", "TABLE::cellpadding", "TABLE::cellspacing", "T
ABLE::frame", "TABLE::rules", "TABLE::summary", "TABLE::width", "TBODY::align",
"TBODY::char", "TBODY::charoff", "TBODY::valign", "TD::abbr", "TD::align", "TD::
axis", "TD::bgcolor", "TD::char", "TD::charoff", "TD::colspan", "TD::headers", "
TD::height", "TD::nowrap", "TD::rowspan", "TD::scope", "TD::valign", "TD::width"
, "TEXTAREA::accesskey", "TEXTAREA::autocomplete", "TEXTAREA::cols", "TEXTAREA::
disabled", "TEXTAREA::inputmode", "TEXTAREA::name", "TEXTAREA::placeholder", "TE
XTAREA::readonly", "TEXTAREA::required", "TEXTAREA::rows", "TEXTAREA::tabindex",
"TEXTAREA::wrap", "TFOOT::align", "TFOOT::char", "TFOOT::charoff", "TFOOT::vali
gn", "TH::abbr", "TH::align", "TH::axis", "TH::bgcolor", "TH::char", "TH::charof
f", "TH::colspan", "TH::headers", "TH::height", "TH::nowrap", "TH::rowspan", "TH
::scope", "TH::valign", "TH::width", "THEAD::align", "THEAD::char", "THEAD::char
off", "THEAD::valign", "TR::align", "TR::bgcolor", "TR::char", "TR::charoff", "T
R::valign", "TRACK::default", "TRACK::kind", "TRACK::label", "TRACK::srclang", "
UL::compact", "UL::type", "VIDEO::controls", "VIDEO::height", "VIDEO::loop", "VI
DEO::mediagroup", "VIDEO::muted", "VIDEO::preload", "VIDEO::width"]), [P.String]
); | |
| 12893 C.List_2Vk = Isolate.makeConstantList([0, 0, 32776, 33792, 1, 10240, 0, 0]); | |
| 12894 C.List_A_FORM = Isolate.makeConstantList(["A", "FORM"]); | |
| 12895 C.List_BSc = Isolate.makeConstantList(["A::href", "FORM::action"]); | |
| 12896 C.List_CVk = Isolate.makeConstantList([0, 0, 65490, 45055, 65535, 34815, 65534
, 18431]); | |
| 12897 C.List_JYB = Isolate.makeConstantList([0, 0, 26624, 1023, 65534, 2047, 65534,
2047]); | |
| 12898 C.List_WnV = Isolate.makeConstantList(["/", "\\"]); | |
| 12899 C.List_cSk = Isolate.makeConstantList(["/"]); | |
| 12900 C.List_ego = Isolate.makeConstantList(["HEAD", "AREA", "BASE", "BASEFONT", "BR
", "COL", "COLGROUP", "EMBED", "FRAME", "FRAMESET", "HR", "IMAGE", "IMG", "INPUT
", "ISINDEX", "LINK", "META", "PARAM", "SOURCE", "STYLE", "TITLE", "WBR"]); | |
| 12901 C.List_empty0 = H.setRuntimeTypeInfo(Isolate.makeConstantList([]), [P.String])
; | |
| 12902 C.List_empty = Isolate.makeConstantList([]); | |
| 12903 C.List_gRj = Isolate.makeConstantList([0, 0, 32722, 12287, 65534, 34815, 65534
, 18431]); | |
| 12904 C.List_h4r = Isolate.makeConstantList(["A::accesskey", "A::coords", "A::hrefla
ng", "A::name", "A::shape", "A::tabindex", "A::target", "A::type", "FORM::accept
", "FORM::autocomplete", "FORM::enctype", "FORM::method", "FORM::name", "FORM::n
ovalidate", "FORM::target"]); | |
| 12905 C.List_nxB = Isolate.makeConstantList([0, 0, 24576, 1023, 65534, 34815, 65534,
18431]); | |
| 12906 C.List_qNA = Isolate.makeConstantList([0, 0, 32754, 11263, 65534, 34815, 65534
, 18431]); | |
| 12907 C.List_qg40 = Isolate.makeConstantList([0, 0, 32722, 12287, 65535, 34815, 6553
4, 18431]); | |
| 12908 C.List_qg4 = Isolate.makeConstantList([0, 0, 65490, 12287, 65535, 34815, 65534
, 18431]); | |
| 12909 C.List_wSV = H.setRuntimeTypeInfo(Isolate.makeConstantList(["bind", "if", "ref
", "repeat", "syntax"]), [P.String]); | |
| 12910 C.List_yrN = H.setRuntimeTypeInfo(Isolate.makeConstantList(["A::href", "AREA::
href", "BLOCKQUOTE::cite", "BODY::background", "COMMAND::icon", "DEL::cite", "FO
RM::action", "IMG::src", "INPUT::src", "INS::cite", "Q::cite", "VIDEO::poster"])
, [P.String]); | |
| 12911 C.Utf8Codec_false = new P.Utf8Codec(false); | |
| 12912 $.Primitives_mirrorFunctionCacheName = "$cachedFunction"; | |
| 12913 $.Primitives_mirrorInvokeCacheName = "$cachedInvocation"; | |
| 12914 $.Closure_functionCounter = 0; | |
| 12915 $.BoundClosure_selfFieldNameCache = null; | |
| 12916 $.BoundClosure_receiverFieldNameCache = null; | |
| 12917 $.getTagFunction = null; | |
| 12918 $.alternateTagFunction = null; | |
| 12919 $.prototypeForTagFunction = null; | |
| 12920 $.dispatchRecordsForInstanceTags = null; | |
| 12921 $.interceptorsForUncacheableTags = null; | |
| 12922 $.initNativeDispatchFlag = null; | |
| 12923 $._nextCallback = null; | |
| 12924 $._lastCallback = null; | |
| 12925 $._lastPriorityCallback = null; | |
| 12926 $._isInCallbackLoop = false; | |
| 12927 $.Zone__current = C.C__RootZone; | |
| 12928 $.Expando__keyCount = 0; | |
| 12929 $.Element__parseDocument = null; | |
| 12930 $.Element__parseRange = null; | |
| 12931 $.Element__defaultValidator = null; | |
| 12932 $.Element__defaultSanitizer = null; | |
| 12933 $.Device__isOpera = null; | |
| 12934 $.Device__isWebKit = null; | |
| 12935 $ = null; | |
| 12936 init.isHunkLoaded = function(hunkHash) { | |
| 12937 return !!$dart_deferred_initializers$[hunkHash]; | |
| 12938 }; | |
| 12939 init.deferredInitialized = new Object(null); | |
| 12940 init.isHunkInitialized = function(hunkHash) { | |
| 12941 return init.deferredInitialized[hunkHash]; | |
| 12942 }; | |
| 12943 init.initializeLoadedHunk = function(hunkHash) { | |
| 12944 $dart_deferred_initializers$[hunkHash]($globals$, $); | |
| 12945 init.deferredInitialized[hunkHash] = true; | |
| 12946 }; | |
| 12947 init.deferredLibraryUris = {}; | |
| 12948 init.deferredLibraryHashes = {}; | |
| 12949 // Empty type-to-interceptor map. | |
| 12950 (function(lazies) { | |
| 12951 for (var i = 0; i < lazies.length;) { | |
| 12952 var fieldName = lazies[i++]; | |
| 12953 var getterName = lazies[i++]; | |
| 12954 var staticName = lazies[i++]; | |
| 12955 var lazyValue = lazies[i++]; | |
| 12956 Isolate.$lazy(fieldName, getterName, lazyValue, staticName); | |
| 12957 } | |
| 12958 })(["IsolateNatives_thisScript", "$get$IsolateNatives_thisScript", "thisScript
", function() { | |
| 12959 return H.IsolateNatives_computeThisScript(); | |
| 12960 }, "IsolateNatives_workerIds", "$get$IsolateNatives_workerIds", "workerIds", f
unction() { | |
| 12961 return H.setRuntimeTypeInfo(new P.Expando(null), [P.$int]); | |
| 12962 }, "TypeErrorDecoder_noSuchMethodPattern", "$get$TypeErrorDecoder_noSuchMethod
Pattern", "noSuchMethodPattern", function() { | |
| 12963 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallError
On({toString: function() { | |
| 12964 return "$receiver$"; | |
| 12965 }})); | |
| 12966 }, "TypeErrorDecoder_notClosurePattern", "$get$TypeErrorDecoder_notClosurePatt
ern", "notClosurePattern", function() { | |
| 12967 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallError
On({$method$: null, toString: function() { | |
| 12968 return "$receiver$"; | |
| 12969 }})); | |
| 12970 }, "TypeErrorDecoder_nullCallPattern", "$get$TypeErrorDecoder_nullCallPattern"
, "nullCallPattern", function() { | |
| 12971 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallError
On(null)); | |
| 12972 }, "TypeErrorDecoder_nullLiteralCallPattern", "$get$TypeErrorDecoder_nullLiter
alCallPattern", "nullLiteralCallPattern", function() { | |
| 12973 return H.TypeErrorDecoder_extractPattern(function() { | |
| 12974 var $argumentsExpr$ = '$arguments$'; | |
| 12975 try { | |
| 12976 null.$method$($argumentsExpr$); | |
| 12977 } catch (e) { | |
| 12978 return e.message; | |
| 12979 } | |
| 12980 }()); | |
| 12981 }, "TypeErrorDecoder_undefinedCallPattern", "$get$TypeErrorDecoder_undefinedCa
llPattern", "undefinedCallPattern", function() { | |
| 12982 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokeCallError
On(void 0)); | |
| 12983 }, "TypeErrorDecoder_undefinedLiteralCallPattern", "$get$TypeErrorDecoder_unde
finedLiteralCallPattern", "undefinedLiteralCallPattern", function() { | |
| 12984 return H.TypeErrorDecoder_extractPattern(function() { | |
| 12985 var $argumentsExpr$ = '$arguments$'; | |
| 12986 try { | |
| 12987 (void 0).$method$($argumentsExpr$); | |
| 12988 } catch (e) { | |
| 12989 return e.message; | |
| 12990 } | |
| 12991 }()); | |
| 12992 }, "TypeErrorDecoder_nullPropertyPattern", "$get$TypeErrorDecoder_nullProperty
Pattern", "nullPropertyPattern", function() { | |
| 12993 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyE
rrorOn(null)); | |
| 12994 }, "TypeErrorDecoder_nullLiteralPropertyPattern", "$get$TypeErrorDecoder_nullL
iteralPropertyPattern", "nullLiteralPropertyPattern", function() { | |
| 12995 return H.TypeErrorDecoder_extractPattern(function() { | |
| 12996 try { | |
| 12997 null.$method$; | |
| 12998 } catch (e) { | |
| 12999 return e.message; | |
| 13000 } | |
| 13001 }()); | |
| 13002 }, "TypeErrorDecoder_undefinedPropertyPattern", "$get$TypeErrorDecoder_undefin
edPropertyPattern", "undefinedPropertyPattern", function() { | |
| 13003 return H.TypeErrorDecoder_extractPattern(H.TypeErrorDecoder_provokePropertyE
rrorOn(void 0)); | |
| 13004 }, "TypeErrorDecoder_undefinedLiteralPropertyPattern", "$get$TypeErrorDecoder_
undefinedLiteralPropertyPattern", "undefinedLiteralPropertyPattern", function()
{ | |
| 13005 return H.TypeErrorDecoder_extractPattern(function() { | |
| 13006 try { | |
| 13007 (void 0).$method$; | |
| 13008 } catch (e) { | |
| 13009 return e.message; | |
| 13010 } | |
| 13011 }()); | |
| 13012 }, "_AsyncRun_scheduleImmediateClosure", "$get$_AsyncRun_scheduleImmediateClos
ure", "scheduleImmediateClosure", function() { | |
| 13013 return P._AsyncRun__initializeScheduleImmediate(); | |
| 13014 }, "_toStringVisiting", "$get$_toStringVisiting", "_toStringVisiting", functio
n() { | |
| 13015 return []; | |
| 13016 }, "_Html5NodeValidator__allowedElements", "$get$_Html5NodeValidator__allowedE
lements", "_allowedElements", function() { | |
| 13017 return P.LinkedHashSet_LinkedHashSet$from(["A", "ABBR", "ACRONYM", "ADDRESS"
, "AREA", "ARTICLE", "ASIDE", "AUDIO", "B", "BDI", "BDO", "BIG", "BLOCKQUOTE", "
BR", "BUTTON", "CANVAS", "CAPTION", "CENTER", "CITE", "CODE", "COL", "COLGROUP",
"COMMAND", "DATA", "DATALIST", "DD", "DEL", "DETAILS", "DFN", "DIR", "DIV", "DL
", "DT", "EM", "FIELDSET", "FIGCAPTION", "FIGURE", "FONT", "FOOTER", "FORM", "H1
", "H2", "H3", "H4", "H5", "H6", "HEADER", "HGROUP", "HR", "I", "IFRAME", "IMG",
"INPUT", "INS", "KBD", "LABEL", "LEGEND", "LI", "MAP", "MARK", "MENU", "METER",
"NAV", "NOBR", "OL", "OPTGROUP", "OPTION", "OUTPUT", "P", "PRE", "PROGRESS", "Q
", "S", "SAMP", "SECTION", "SELECT", "SMALL", "SOURCE", "SPAN", "STRIKE", "STRON
G", "SUB", "SUMMARY", "SUP", "TABLE", "TBODY", "TD", "TEXTAREA", "TFOOT", "TH",
"THEAD", "TIME", "TR", "TRACK", "TT", "U", "UL", "VAR", "VIDEO", "WBR"], null); | |
| 13018 }, "_Html5NodeValidator__attributeValidators", "$get$_Html5NodeValidator__attr
ibuteValidators", "_attributeValidators", function() { | |
| 13019 return P.LinkedHashMap__makeEmpty(); | |
| 13020 }, "_urlRegex", "$get$_urlRegex", "_urlRegex", function() { | |
| 13021 return P.RegExp_RegExp("http://[^ ]*", true, false); | |
| 13022 }, "_escaper", "$get$_escaper", "_escaper", function() { | |
| 13023 return new P.HtmlEscape(C.HtmlEscapeMode_p2v); | |
| 13024 }, "CssClassSetImpl__validTokenRE", "$get$CssClassSetImpl__validTokenRE", "_va
lidTokenRE", function() { | |
| 13025 return P.RegExp_RegExp("^\\S+$", true, false); | |
| 13026 }, "context", "$get$context", "context", function() { | |
| 13027 return new F.Context($.$get$Style_platform(), null); | |
| 13028 }, "Style_posix", "$get$Style_posix", "posix", function() { | |
| 13029 return new Z.PosixStyle("posix", "/", C.List_cSk, P.RegExp_RegExp("/", true,
false), P.RegExp_RegExp("[^/]$", true, false), P.RegExp_RegExp("^/", true, fals
e), null); | |
| 13030 }, "Style_windows", "$get$Style_windows", "windows", function() { | |
| 13031 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_RegEx
p("^[/\\\\](?![/\\\\])", true, false)); | |
| 13032 }, "Style_url", "$get$Style_url", "url", function() { | |
| 13033 return new E.UrlStyle("url", "/", C.List_cSk, P.RegExp_RegExp("/", true, fal
se), P.RegExp_RegExp("(^[a-zA-Z][-+.a-zA-Z\\d]*://|[^/])$", true, false), P.RegE
xp_RegExp("[a-zA-Z][-+.a-zA-Z\\d]*://[^/]*", true, false), P.RegExp_RegExp("^/",
true, false)); | |
| 13034 }, "Style_platform", "$get$Style_platform", "platform", function() { | |
| 13035 return S.Style__getPlatformStyle(); | |
| 13036 }]); | |
| 13037 Isolate = Isolate.$finishIsolateConstructor(Isolate); | |
| 13038 $ = new Isolate(); | |
| 13039 init.metadata = [null]; | |
| 13040 init.types = [{func: 1, args: [,]}, {func: 1}, {func: 1, void: true}, {func: 1
, args: [,,]}, {func: 1, void: true, args: [{func: 1, void: true}]}, {func: 1, a
rgs: [, P.StackTrace]}, {func: 1, void: true, args: [P.Object], opt: [P.StackTra
ce]}, {func: 1, args: [,], opt: [,]}, {func: 1, ret: P.String, args: [P.$int]},
{func: 1, ret: P.String, args: [P.String]}, {func: 1, ret: P.bool, args: [W.Elem
ent, P.String, P.String, W._Html5NodeValidator]}, {func: 1, args: [, P.String]},
{func: 1, args: [P.String]}, {func: 1, args: [{func: 1, void: true}]}, {func: 1
, args: [P.$int,,]}, {func: 1, void: true, args: [,], opt: [P.StackTrace]}, {fun
c: 1, ret: P.bool}, {func: 1, args: [P.bool]}, {func: 1, void: true, args: [, P.
StackTrace]}, {func: 1, ret: P.$int, args: [, P.$int]}, {func: 1, void: true, ar
gs: [P.$int, P.$int]}, {func: 1, args: [P.Symbol,,]}, {func: 1, ret: P.$int, arg
s: [,,]}, {func: 1, void: true, args: [P.String]}, {func: 1, void: true, args: [
P.String], opt: [,]}, {func: 1, ret: P.$int, args: [P.$int, P.$int]}, {func: 1,
args: [W.HttpRequest]}, {func: 1, void: true, args: [W.Node, W.Node]}, {func: 1,
ret: P.String, args: [P.String], named: {color: null}}, {func: 1, ret: X.Packag
eSummary, args: [P.Map]}, {func: 1, ret: X.LibrarySummary, args: [P.Map]}, {func
: 1, ret: X.MessageSummary, args: [P.Map]}]; | |
| 13041 function convertToFastObject(properties) { | |
| 13042 function MyClass() { | |
| 13043 } | |
| 13044 MyClass.prototype = properties; | |
| 13045 new MyClass(); | |
| 13046 return properties; | |
| 13047 } | |
| 13048 function convertToSlowObject(properties) { | |
| 13049 properties.__MAGIC_SLOW_PROPERTY = 1; | |
| 13050 delete properties.__MAGIC_SLOW_PROPERTY; | |
| 13051 return properties; | |
| 13052 } | |
| 13053 A = convertToFastObject(A); | |
| 13054 B = convertToFastObject(B); | |
| 13055 C = convertToFastObject(C); | |
| 13056 D = convertToFastObject(D); | |
| 13057 E = convertToFastObject(E); | |
| 13058 F = convertToFastObject(F); | |
| 13059 G = convertToFastObject(G); | |
| 13060 H = convertToFastObject(H); | |
| 13061 J = convertToFastObject(J); | |
| 13062 K = convertToFastObject(K); | |
| 13063 L = convertToFastObject(L); | |
| 13064 M = convertToFastObject(M); | |
| 13065 N = convertToFastObject(N); | |
| 13066 O = convertToFastObject(O); | |
| 13067 P = convertToFastObject(P); | |
| 13068 Q = convertToFastObject(Q); | |
| 13069 R = convertToFastObject(R); | |
| 13070 S = convertToFastObject(S); | |
| 13071 T = convertToFastObject(T); | |
| 13072 U = convertToFastObject(U); | |
| 13073 V = convertToFastObject(V); | |
| 13074 W = convertToFastObject(W); | |
| 13075 X = convertToFastObject(X); | |
| 13076 Y = convertToFastObject(Y); | |
| 13077 Z = convertToFastObject(Z); | |
| 13078 function init() { | |
| 13079 Isolate.$isolateProperties = Object.create(null); | |
| 13080 init.allClasses = map(); | |
| 13081 init.getTypeFromName = function(name) { | |
| 13082 return init.allClasses[name]; | |
| 13083 }; | |
| 13084 init.interceptorsByTag = map(); | |
| 13085 init.leafTags = map(); | |
| 13086 init.finishedClasses = map(); | |
| 13087 Isolate.$lazy = function(fieldName, getterName, lazyValue, staticName, proto
type) { | |
| 13088 if (!init.lazies) | |
| 13089 init.lazies = Object.create(null); | |
| 13090 init.lazies[fieldName] = getterName; | |
| 13091 prototype = prototype || Isolate.$isolateProperties; | |
| 13092 var sentinelUndefined = {}; | |
| 13093 var sentinelInProgress = {}; | |
| 13094 prototype[fieldName] = sentinelUndefined; | |
| 13095 prototype[getterName] = function() { | |
| 13096 var result = this[fieldName]; | |
| 13097 try { | |
| 13098 if (result === sentinelUndefined) { | |
| 13099 this[fieldName] = sentinelInProgress; | |
| 13100 try { | |
| 13101 result = this[fieldName] = lazyValue(); | |
| 13102 } finally { | |
| 13103 if (result === sentinelUndefined) | |
| 13104 this[fieldName] = null; | |
| 13105 } | |
| 13106 } else | |
| 13107 if (result === sentinelInProgress) | |
| 13108 H.throwCyclicInit(staticName || fieldName); | |
| 13109 return result; | |
| 13110 } finally { | |
| 13111 this[getterName] = function() { | |
| 13112 return this[fieldName]; | |
| 13113 }; | |
| 13114 } | |
| 13115 }; | |
| 13116 }; | |
| 13117 Isolate.$finishIsolateConstructor = function(oldIsolate) { | |
| 13118 var isolateProperties = oldIsolate.$isolateProperties; | |
| 13119 function Isolate() { | |
| 13120 var staticNames = Object.keys(isolateProperties); | |
| 13121 for (var i = 0; i < staticNames.length; i++) { | |
| 13122 var staticName = staticNames[i]; | |
| 13123 this[staticName] = isolateProperties[staticName]; | |
| 13124 } | |
| 13125 var lazies = init.lazies; | |
| 13126 var lazyInitializers = lazies ? Object.keys(lazies) : []; | |
| 13127 for (var i = 0; i < lazyInitializers.length; i++) | |
| 13128 this[lazies[lazyInitializers[i]]] = null; | |
| 13129 function ForceEfficientMap() { | |
| 13130 } | |
| 13131 ForceEfficientMap.prototype = this; | |
| 13132 new ForceEfficientMap(); | |
| 13133 for (var i = 0; i < lazyInitializers.length; i++) { | |
| 13134 var lazyInitName = lazies[lazyInitializers[i]]; | |
| 13135 this[lazyInitName] = isolateProperties[lazyInitName]; | |
| 13136 } | |
| 13137 } | |
| 13138 Isolate.prototype = oldIsolate.prototype; | |
| 13139 Isolate.prototype.constructor = Isolate; | |
| 13140 Isolate.$isolateProperties = isolateProperties; | |
| 13141 Isolate.makeConstantList = oldIsolate.makeConstantList; | |
| 13142 Isolate.functionThatReturnsNull = oldIsolate.functionThatReturnsNull; | |
| 13143 return Isolate; | |
| 13144 }; | |
| 13145 } | |
| 13146 !function() { | |
| 13147 var intern = function(s) { | |
| 13148 var o = {}; | |
| 13149 o[s] = 1; | |
| 13150 return Object.keys(convertToFastObject(o))[0]; | |
| 13151 }; | |
| 13152 init.getIsolateTag = function(name) { | |
| 13153 return intern("___dart_" + name + init.isolateTag); | |
| 13154 }; | |
| 13155 var tableProperty = "___dart_isolate_tags_"; | |
| 13156 var usedProperties = Object[tableProperty] || (Object[tableProperty] = Objec
t.create(null)); | |
| 13157 var rootProperty = "_ZxYxX"; | |
| 13158 for (var i = 0;; i++) { | |
| 13159 var property = intern(rootProperty + "_" + i + "_"); | |
| 13160 if (!(property in usedProperties)) { | |
| 13161 usedProperties[property] = 1; | |
| 13162 init.isolateTag = property; | |
| 13163 break; | |
| 13164 } | |
| 13165 } | |
| 13166 init.dispatchPropertyName = init.getIsolateTag("dispatch_record"); | |
| 13167 }(); | |
| 13168 // BEGIN invoke [main]. | |
| 13169 (function(callback) { | |
| 13170 if (typeof document === "undefined") { | |
| 13171 callback(null); | |
| 13172 return; | |
| 13173 } | |
| 13174 if (typeof document.currentScript != 'undefined') { | |
| 13175 callback(document.currentScript); | |
| 13176 return; | |
| 13177 } | |
| 13178 var scripts = document.scripts; | |
| 13179 function onLoad(event) { | |
| 13180 for (var i = 0; i < scripts.length; ++i) | |
| 13181 scripts[i].removeEventListener("load", onLoad, false); | |
| 13182 callback(event.target); | |
| 13183 } | |
| 13184 for (var i = 0; i < scripts.length; ++i) | |
| 13185 scripts[i].addEventListener("load", onLoad, false); | |
| 13186 })(function(currentScript) { | |
| 13187 init.currentScript = currentScript; | |
| 13188 if (typeof dartMainRunner === "function") | |
| 13189 dartMainRunner(function(a) { | |
| 13190 H.startRootIsolate(K.messages__main$closure(), a); | |
| 13191 }, []); | |
| 13192 else | |
| 13193 (function(a) { | |
| 13194 H.startRootIsolate(K.messages__main$closure(), a); | |
| 13195 })([]); | |
| 13196 }); | |
| 13197 // END invoke [main]. | |
| 13198 })(); | |
| 13199 | |
| 13200 //# sourceMappingURL=messages_widget.js.map | |
| OLD | NEW |