| OLD | NEW |
| (Empty) |
| 1 dart_library.library('dart/_internal', null, /* Imports */[ | |
| 2 "dart_runtime/dart", | |
| 3 'dart/core', | |
| 4 'dart/collection' | |
| 5 ], /* Lazy imports */[ | |
| 6 'dart/math', | |
| 7 'dart/_interceptors', | |
| 8 'dart/_js_primitives' | |
| 9 ], function(exports, dart, core, collection, math, _interceptors, _js_primitives
) { | |
| 10 'use strict'; | |
| 11 let dartx = dart.dartx; | |
| 12 class EfficientLength extends core.Object {} | |
| 13 let ListIterable$ = dart.generic(function(E) { | |
| 14 class ListIterable extends collection.IterableBase$(E) { | |
| 15 ListIterable() { | |
| 16 super.IterableBase(); | |
| 17 } | |
| 18 get iterator() { | |
| 19 return new (ListIterator$(E))(this); | |
| 20 } | |
| 21 forEach(action) { | |
| 22 dart.as(action, dart.functionType(dart.void, [E])); | |
| 23 let length = this.length; | |
| 24 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 25 action(this.elementAt(i)); | |
| 26 if (length != this.length) { | |
| 27 dart.throw(new core.ConcurrentModificationError(this)); | |
| 28 } | |
| 29 } | |
| 30 } | |
| 31 get isEmpty() { | |
| 32 return this.length == 0; | |
| 33 } | |
| 34 get first() { | |
| 35 if (this.length == 0) | |
| 36 dart.throw(IterableElementError.noElement()); | |
| 37 return this.elementAt(0); | |
| 38 } | |
| 39 get last() { | |
| 40 if (this.length == 0) | |
| 41 dart.throw(IterableElementError.noElement()); | |
| 42 return this.elementAt(dart.notNull(this.length) - 1); | |
| 43 } | |
| 44 get single() { | |
| 45 if (this.length == 0) | |
| 46 dart.throw(IterableElementError.noElement()); | |
| 47 if (dart.notNull(this.length) > 1) | |
| 48 dart.throw(IterableElementError.tooMany()); | |
| 49 return this.elementAt(0); | |
| 50 } | |
| 51 contains(element) { | |
| 52 let length = this.length; | |
| 53 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 54 if (dart.equals(this.elementAt(i), element)) | |
| 55 return true; | |
| 56 if (length != this.length) { | |
| 57 dart.throw(new core.ConcurrentModificationError(this)); | |
| 58 } | |
| 59 } | |
| 60 return false; | |
| 61 } | |
| 62 every(test) { | |
| 63 dart.as(test, dart.functionType(core.bool, [E])); | |
| 64 let length = this.length; | |
| 65 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 66 if (!dart.notNull(test(this.elementAt(i)))) | |
| 67 return false; | |
| 68 if (length != this.length) { | |
| 69 dart.throw(new core.ConcurrentModificationError(this)); | |
| 70 } | |
| 71 } | |
| 72 return true; | |
| 73 } | |
| 74 any(test) { | |
| 75 dart.as(test, dart.functionType(core.bool, [E])); | |
| 76 let length = this.length; | |
| 77 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 78 if (dart.notNull(test(this.elementAt(i)))) | |
| 79 return true; | |
| 80 if (length != this.length) { | |
| 81 dart.throw(new core.ConcurrentModificationError(this)); | |
| 82 } | |
| 83 } | |
| 84 return false; | |
| 85 } | |
| 86 firstWhere(test, opts) { | |
| 87 dart.as(test, dart.functionType(core.bool, [E])); | |
| 88 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
| 89 dart.as(orElse, dart.functionType(E, [])); | |
| 90 let length = this.length; | |
| 91 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 92 let element = this.elementAt(i); | |
| 93 if (dart.notNull(test(element))) | |
| 94 return element; | |
| 95 if (length != this.length) { | |
| 96 dart.throw(new core.ConcurrentModificationError(this)); | |
| 97 } | |
| 98 } | |
| 99 if (orElse != null) | |
| 100 return orElse(); | |
| 101 dart.throw(IterableElementError.noElement()); | |
| 102 } | |
| 103 lastWhere(test, opts) { | |
| 104 dart.as(test, dart.functionType(core.bool, [E])); | |
| 105 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
| 106 dart.as(orElse, dart.functionType(E, [])); | |
| 107 let length = this.length; | |
| 108 for (let i = dart.notNull(length) - 1; dart.notNull(i) >= 0; i = dart.no
tNull(i) - 1) { | |
| 109 let element = this.elementAt(i); | |
| 110 if (dart.notNull(test(element))) | |
| 111 return element; | |
| 112 if (length != this.length) { | |
| 113 dart.throw(new core.ConcurrentModificationError(this)); | |
| 114 } | |
| 115 } | |
| 116 if (orElse != null) | |
| 117 return orElse(); | |
| 118 dart.throw(IterableElementError.noElement()); | |
| 119 } | |
| 120 singleWhere(test) { | |
| 121 dart.as(test, dart.functionType(core.bool, [E])); | |
| 122 let length = this.length; | |
| 123 let match = null; | |
| 124 let matchFound = false; | |
| 125 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 126 let element = this.elementAt(i); | |
| 127 if (dart.notNull(test(element))) { | |
| 128 if (dart.notNull(matchFound)) { | |
| 129 dart.throw(IterableElementError.tooMany()); | |
| 130 } | |
| 131 matchFound = true; | |
| 132 match = element; | |
| 133 } | |
| 134 if (length != this.length) { | |
| 135 dart.throw(new core.ConcurrentModificationError(this)); | |
| 136 } | |
| 137 } | |
| 138 if (dart.notNull(matchFound)) | |
| 139 return match; | |
| 140 dart.throw(IterableElementError.noElement()); | |
| 141 } | |
| 142 join(separator) { | |
| 143 if (separator === void 0) | |
| 144 separator = ""; | |
| 145 let length = this.length; | |
| 146 if (!dart.notNull(separator[dartx.isEmpty])) { | |
| 147 if (length == 0) | |
| 148 return ""; | |
| 149 let first = `${this.elementAt(0)}`; | |
| 150 if (length != this.length) { | |
| 151 dart.throw(new core.ConcurrentModificationError(this)); | |
| 152 } | |
| 153 let buffer = new core.StringBuffer(first); | |
| 154 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { | |
| 155 buffer.write(separator); | |
| 156 buffer.write(this.elementAt(i)); | |
| 157 if (length != this.length) { | |
| 158 dart.throw(new core.ConcurrentModificationError(this)); | |
| 159 } | |
| 160 } | |
| 161 return dart.toString(buffer); | |
| 162 } else { | |
| 163 let buffer = new core.StringBuffer(); | |
| 164 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNu
ll(i) + 1) { | |
| 165 buffer.write(this.elementAt(i)); | |
| 166 if (length != this.length) { | |
| 167 dart.throw(new core.ConcurrentModificationError(this)); | |
| 168 } | |
| 169 } | |
| 170 return dart.toString(buffer); | |
| 171 } | |
| 172 } | |
| 173 where(test) { | |
| 174 dart.as(test, dart.functionType(core.bool, [E])); | |
| 175 return super.where(test); | |
| 176 } | |
| 177 map(f) { | |
| 178 dart.as(f, dart.functionType(dart.dynamic, [E])); | |
| 179 return new MappedListIterable(this, f); | |
| 180 } | |
| 181 reduce(combine) { | |
| 182 dart.as(combine, dart.functionType(E, [dart.dynamic, E])); | |
| 183 let length = this.length; | |
| 184 if (length == 0) | |
| 185 dart.throw(IterableElementError.noElement()); | |
| 186 let value = this.elementAt(0); | |
| 187 for (let i = 1; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 188 value = dart.dcall(combine, value, this.elementAt(i)); | |
| 189 if (length != this.length) { | |
| 190 dart.throw(new core.ConcurrentModificationError(this)); | |
| 191 } | |
| 192 } | |
| 193 return value; | |
| 194 } | |
| 195 fold(initialValue, combine) { | |
| 196 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E])); | |
| 197 let value = initialValue; | |
| 198 let length = this.length; | |
| 199 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 200 value = dart.dcall(combine, value, this.elementAt(i)); | |
| 201 if (length != this.length) { | |
| 202 dart.throw(new core.ConcurrentModificationError(this)); | |
| 203 } | |
| 204 } | |
| 205 return value; | |
| 206 } | |
| 207 skip(count) { | |
| 208 return new (SubListIterable$(E))(this, count, null); | |
| 209 } | |
| 210 skipWhile(test) { | |
| 211 dart.as(test, dart.functionType(core.bool, [E])); | |
| 212 return super.skipWhile(test); | |
| 213 } | |
| 214 take(count) { | |
| 215 return new (SubListIterable$(E))(this, 0, count); | |
| 216 } | |
| 217 takeWhile(test) { | |
| 218 dart.as(test, dart.functionType(core.bool, [E])); | |
| 219 return super.takeWhile(test); | |
| 220 } | |
| 221 toList(opts) { | |
| 222 let growable = opts && 'growable' in opts ? opts.growable : true; | |
| 223 let result = null; | |
| 224 if (dart.notNull(growable)) { | |
| 225 result = core.List$(E).new(); | |
| 226 result[dartx.length] = this.length; | |
| 227 } else { | |
| 228 result = core.List$(E).new(this.length); | |
| 229 } | |
| 230 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { | |
| 231 result[dartx.set](i, this.elementAt(i)); | |
| 232 } | |
| 233 return result; | |
| 234 } | |
| 235 toSet() { | |
| 236 let result = core.Set$(E).new(); | |
| 237 for (let i = 0; dart.notNull(i) < dart.notNull(this.length); i = dart.no
tNull(i) + 1) { | |
| 238 result.add(this.elementAt(i)); | |
| 239 } | |
| 240 return result; | |
| 241 } | |
| 242 } | |
| 243 ListIterable[dart.implements] = () => [EfficientLength]; | |
| 244 dart.setSignature(ListIterable, { | |
| 245 constructors: () => ({ListIterable: [ListIterable$(E), []]}), | |
| 246 methods: () => ({ | |
| 247 forEach: [dart.void, [dart.functionType(dart.void, [E])]], | |
| 248 every: [core.bool, [dart.functionType(core.bool, [E])]], | |
| 249 any: [core.bool, [dart.functionType(core.bool, [E])]], | |
| 250 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], | |
| 251 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], | |
| 252 singleWhere: [E, [dart.functionType(core.bool, [E])]], | |
| 253 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 254 map: [core.Iterable, [dart.functionType(dart.dynamic, [E])]], | |
| 255 reduce: [E, [dart.functionType(E, [dart.dynamic, E])]], | |
| 256 fold: [dart.dynamic, [dart.dynamic, dart.functionType(dart.dynamic, [dar
t.dynamic, E])]], | |
| 257 skip: [core.Iterable$(E), [core.int]], | |
| 258 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 259 take: [core.Iterable$(E), [core.int]], | |
| 260 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 261 toList: [core.List$(E), [], {growable: core.bool}], | |
| 262 toSet: [core.Set$(E), []] | |
| 263 }) | |
| 264 }); | |
| 265 dart.defineExtensionMembers(ListIterable, [ | |
| 266 'forEach', | |
| 267 'contains', | |
| 268 'every', | |
| 269 'any', | |
| 270 'firstWhere', | |
| 271 'lastWhere', | |
| 272 'singleWhere', | |
| 273 'join', | |
| 274 'where', | |
| 275 'map', | |
| 276 'reduce', | |
| 277 'fold', | |
| 278 'skip', | |
| 279 'skipWhile', | |
| 280 'take', | |
| 281 'takeWhile', | |
| 282 'toList', | |
| 283 'toSet', | |
| 284 'iterator', | |
| 285 'isEmpty', | |
| 286 'first', | |
| 287 'last', | |
| 288 'single' | |
| 289 ]); | |
| 290 return ListIterable; | |
| 291 }); | |
| 292 let ListIterable = ListIterable$(); | |
| 293 let _iterable = dart.JsSymbol('_iterable'); | |
| 294 let _start = dart.JsSymbol('_start'); | |
| 295 let _endOrLength = dart.JsSymbol('_endOrLength'); | |
| 296 let _endIndex = dart.JsSymbol('_endIndex'); | |
| 297 let _startIndex = dart.JsSymbol('_startIndex'); | |
| 298 let SubListIterable$ = dart.generic(function(E) { | |
| 299 class SubListIterable extends ListIterable$(E) { | |
| 300 SubListIterable(iterable, start, endOrLength) { | |
| 301 this[_iterable] = iterable; | |
| 302 this[_start] = start; | |
| 303 this[_endOrLength] = endOrLength; | |
| 304 super.ListIterable(); | |
| 305 core.RangeError.checkNotNegative(this[_start], "start"); | |
| 306 if (this[_endOrLength] != null) { | |
| 307 core.RangeError.checkNotNegative(this[_endOrLength], "end"); | |
| 308 if (dart.notNull(this[_start]) > dart.notNull(this[_endOrLength])) { | |
| 309 dart.throw(new core.RangeError.range(this[_start], 0, this[_endOrLen
gth], "start")); | |
| 310 } | |
| 311 } | |
| 312 } | |
| 313 get [_endIndex]() { | |
| 314 let length = this[_iterable][dartx.length]; | |
| 315 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) > dar
t.notNull(length)) | |
| 316 return length; | |
| 317 return this[_endOrLength]; | |
| 318 } | |
| 319 get [_startIndex]() { | |
| 320 let length = this[_iterable][dartx.length]; | |
| 321 if (dart.notNull(this[_start]) > dart.notNull(length)) | |
| 322 return length; | |
| 323 return this[_start]; | |
| 324 } | |
| 325 get length() { | |
| 326 let length = this[_iterable][dartx.length]; | |
| 327 if (dart.notNull(this[_start]) >= dart.notNull(length)) | |
| 328 return 0; | |
| 329 if (this[_endOrLength] == null || dart.notNull(this[_endOrLength]) >= da
rt.notNull(length)) { | |
| 330 return dart.notNull(length) - dart.notNull(this[_start]); | |
| 331 } | |
| 332 return dart.notNull(this[_endOrLength]) - dart.notNull(this[_start]); | |
| 333 } | |
| 334 elementAt(index) { | |
| 335 let realIndex = dart.notNull(this[_startIndex]) + dart.notNull(index); | |
| 336 if (dart.notNull(index) < 0 || dart.notNull(realIndex) >= dart.notNull(t
his[_endIndex])) { | |
| 337 dart.throw(core.RangeError.index(index, this, "index")); | |
| 338 } | |
| 339 return this[_iterable][dartx.elementAt](realIndex); | |
| 340 } | |
| 341 skip(count) { | |
| 342 core.RangeError.checkNotNegative(count, "count"); | |
| 343 let newStart = dart.notNull(this[_start]) + dart.notNull(count); | |
| 344 if (this[_endOrLength] != null && dart.notNull(newStart) >= dart.notNull
(this[_endOrLength])) { | |
| 345 return new (EmptyIterable$(E))(); | |
| 346 } | |
| 347 return new (SubListIterable$(E))(this[_iterable], newStart, this[_endOrL
ength]); | |
| 348 } | |
| 349 take(count) { | |
| 350 core.RangeError.checkNotNegative(count, "count"); | |
| 351 if (this[_endOrLength] == null) { | |
| 352 return new (SubListIterable$(E))(this[_iterable], this[_start], dart.n
otNull(this[_start]) + dart.notNull(count)); | |
| 353 } else { | |
| 354 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); | |
| 355 if (dart.notNull(this[_endOrLength]) < dart.notNull(newEnd)) | |
| 356 return this; | |
| 357 return new (SubListIterable$(E))(this[_iterable], this[_start], newEnd
); | |
| 358 } | |
| 359 } | |
| 360 toList(opts) { | |
| 361 let growable = opts && 'growable' in opts ? opts.growable : true; | |
| 362 let start = this[_start]; | |
| 363 let end = this[_iterable][dartx.length]; | |
| 364 if (this[_endOrLength] != null && dart.notNull(this[_endOrLength]) < dar
t.notNull(end)) | |
| 365 end = this[_endOrLength]; | |
| 366 let length = dart.notNull(end) - dart.notNull(start); | |
| 367 if (dart.notNull(length) < 0) | |
| 368 length = 0; | |
| 369 let result = dart.notNull(growable) ? (() => { | |
| 370 let _ = core.List$(E).new(); | |
| 371 _[dartx.length] = length; | |
| 372 return _; | |
| 373 })() : core.List$(E).new(length); | |
| 374 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 375 result[dartx.set](i, this[_iterable][dartx.elementAt](dart.notNull(sta
rt) + dart.notNull(i))); | |
| 376 if (dart.notNull(this[_iterable][dartx.length]) < dart.notNull(end)) | |
| 377 dart.throw(new core.ConcurrentModificationError(this)); | |
| 378 } | |
| 379 return dart.as(result, core.List$(E)); | |
| 380 } | |
| 381 } | |
| 382 dart.setSignature(SubListIterable, { | |
| 383 constructors: () => ({SubListIterable: [SubListIterable$(E), [core.Iterabl
e$(E), core.int, core.int]]}), | |
| 384 methods: () => ({ | |
| 385 elementAt: [E, [core.int]], | |
| 386 skip: [core.Iterable$(E), [core.int]], | |
| 387 take: [core.Iterable$(E), [core.int]], | |
| 388 toList: [core.List$(E), [], {growable: core.bool}] | |
| 389 }) | |
| 390 }); | |
| 391 dart.defineExtensionMembers(SubListIterable, [ | |
| 392 'elementAt', | |
| 393 'skip', | |
| 394 'take', | |
| 395 'toList', | |
| 396 'length' | |
| 397 ]); | |
| 398 return SubListIterable; | |
| 399 }); | |
| 400 let SubListIterable = SubListIterable$(); | |
| 401 let _length = dart.JsSymbol('_length'); | |
| 402 let _index = dart.JsSymbol('_index'); | |
| 403 let _current = dart.JsSymbol('_current'); | |
| 404 let ListIterator$ = dart.generic(function(E) { | |
| 405 class ListIterator extends core.Object { | |
| 406 ListIterator(iterable) { | |
| 407 this[_iterable] = iterable; | |
| 408 this[_length] = iterable[dartx.length]; | |
| 409 this[_index] = 0; | |
| 410 this[_current] = null; | |
| 411 } | |
| 412 get current() { | |
| 413 return this[_current]; | |
| 414 } | |
| 415 moveNext() { | |
| 416 let length = this[_iterable][dartx.length]; | |
| 417 if (this[_length] != length) { | |
| 418 dart.throw(new core.ConcurrentModificationError(this[_iterable])); | |
| 419 } | |
| 420 if (dart.notNull(this[_index]) >= dart.notNull(length)) { | |
| 421 this[_current] = null; | |
| 422 return false; | |
| 423 } | |
| 424 this[_current] = this[_iterable][dartx.elementAt](this[_index]); | |
| 425 this[_index] = dart.notNull(this[_index]) + 1; | |
| 426 return true; | |
| 427 } | |
| 428 } | |
| 429 ListIterator[dart.implements] = () => [core.Iterator$(E)]; | |
| 430 dart.setSignature(ListIterator, { | |
| 431 constructors: () => ({ListIterator: [ListIterator$(E), [core.Iterable$(E)]
]}), | |
| 432 methods: () => ({moveNext: [core.bool, []]}) | |
| 433 }); | |
| 434 return ListIterator; | |
| 435 }); | |
| 436 let ListIterator = ListIterator$(); | |
| 437 let _Transformation$ = dart.generic(function(S, T) { | |
| 438 let _Transformation = dart.typedef('_Transformation', () => dart.functionTyp
e(T, [S])); | |
| 439 return _Transformation; | |
| 440 }); | |
| 441 let _Transformation = _Transformation$(); | |
| 442 let _f = dart.JsSymbol('_f'); | |
| 443 let MappedIterable$ = dart.generic(function(S, T) { | |
| 444 class MappedIterable extends collection.IterableBase$(T) { | |
| 445 static new(iterable, func) { | |
| 446 if (dart.is(iterable, EfficientLength)) { | |
| 447 return new (EfficientLengthMappedIterable$(S, T))(iterable, func); | |
| 448 } | |
| 449 return new (MappedIterable$(S, T))._(dart.as(iterable, core.Iterable$(S)
), func); | |
| 450 } | |
| 451 _(iterable, f) { | |
| 452 this[_iterable] = iterable; | |
| 453 this[_f] = f; | |
| 454 super.IterableBase(); | |
| 455 } | |
| 456 get iterator() { | |
| 457 return new (MappedIterator$(S, T))(this[_iterable][dartx.iterator], this
[_f]); | |
| 458 } | |
| 459 get length() { | |
| 460 return this[_iterable][dartx.length]; | |
| 461 } | |
| 462 get isEmpty() { | |
| 463 return this[_iterable][dartx.isEmpty]; | |
| 464 } | |
| 465 get first() { | |
| 466 return this[_f](this[_iterable][dartx.first]); | |
| 467 } | |
| 468 get last() { | |
| 469 return this[_f](this[_iterable][dartx.last]); | |
| 470 } | |
| 471 get single() { | |
| 472 return this[_f](this[_iterable][dartx.single]); | |
| 473 } | |
| 474 elementAt(index) { | |
| 475 return this[_f](this[_iterable][dartx.elementAt](index)); | |
| 476 } | |
| 477 } | |
| 478 dart.defineNamedConstructor(MappedIterable, '_'); | |
| 479 dart.setSignature(MappedIterable, { | |
| 480 constructors: () => ({ | |
| 481 new: [MappedIterable$(S, T), [core.Iterable, dart.functionType(T, [S])]]
, | |
| 482 _: [MappedIterable$(S, T), [core.Iterable$(S), dart.functionType(T, [S])
]] | |
| 483 }), | |
| 484 methods: () => ({elementAt: [T, [core.int]]}) | |
| 485 }); | |
| 486 dart.defineExtensionMembers(MappedIterable, [ | |
| 487 'elementAt', | |
| 488 'iterator', | |
| 489 'length', | |
| 490 'isEmpty', | |
| 491 'first', | |
| 492 'last', | |
| 493 'single' | |
| 494 ]); | |
| 495 return MappedIterable; | |
| 496 }); | |
| 497 let MappedIterable = MappedIterable$(); | |
| 498 let EfficientLengthMappedIterable$ = dart.generic(function(S, T) { | |
| 499 class EfficientLengthMappedIterable extends MappedIterable$(S, T) { | |
| 500 EfficientLengthMappedIterable(iterable, func) { | |
| 501 super._(dart.as(iterable, core.Iterable$(S)), func); | |
| 502 } | |
| 503 } | |
| 504 EfficientLengthMappedIterable[dart.implements] = () => [EfficientLength]; | |
| 505 dart.setSignature(EfficientLengthMappedIterable, { | |
| 506 constructors: () => ({EfficientLengthMappedIterable: [EfficientLengthMappe
dIterable$(S, T), [core.Iterable, dart.functionType(T, [S])]]}) | |
| 507 }); | |
| 508 return EfficientLengthMappedIterable; | |
| 509 }); | |
| 510 let EfficientLengthMappedIterable = EfficientLengthMappedIterable$(); | |
| 511 let _iterator = dart.JsSymbol('_iterator'); | |
| 512 let MappedIterator$ = dart.generic(function(S, T) { | |
| 513 class MappedIterator extends core.Iterator$(T) { | |
| 514 MappedIterator(iterator, f) { | |
| 515 this[_iterator] = iterator; | |
| 516 this[_f] = f; | |
| 517 this[_current] = null; | |
| 518 } | |
| 519 moveNext() { | |
| 520 if (dart.notNull(this[_iterator].moveNext())) { | |
| 521 this[_current] = this[_f](this[_iterator].current); | |
| 522 return true; | |
| 523 } | |
| 524 this[_current] = null; | |
| 525 return false; | |
| 526 } | |
| 527 get current() { | |
| 528 return this[_current]; | |
| 529 } | |
| 530 } | |
| 531 dart.setSignature(MappedIterator, { | |
| 532 constructors: () => ({MappedIterator: [MappedIterator$(S, T), [core.Iterat
or$(S), dart.functionType(T, [S])]]}), | |
| 533 methods: () => ({moveNext: [core.bool, []]}) | |
| 534 }); | |
| 535 return MappedIterator; | |
| 536 }); | |
| 537 let MappedIterator = MappedIterator$(); | |
| 538 let _source = dart.JsSymbol('_source'); | |
| 539 let MappedListIterable$ = dart.generic(function(S, T) { | |
| 540 class MappedListIterable extends ListIterable$(T) { | |
| 541 MappedListIterable(source, f) { | |
| 542 this[_source] = source; | |
| 543 this[_f] = f; | |
| 544 super.ListIterable(); | |
| 545 } | |
| 546 get length() { | |
| 547 return this[_source][dartx.length]; | |
| 548 } | |
| 549 elementAt(index) { | |
| 550 return this[_f](this[_source][dartx.elementAt](index)); | |
| 551 } | |
| 552 } | |
| 553 MappedListIterable[dart.implements] = () => [EfficientLength]; | |
| 554 dart.setSignature(MappedListIterable, { | |
| 555 constructors: () => ({MappedListIterable: [MappedListIterable$(S, T), [cor
e.Iterable$(S), dart.functionType(T, [S])]]}), | |
| 556 methods: () => ({elementAt: [T, [core.int]]}) | |
| 557 }); | |
| 558 dart.defineExtensionMembers(MappedListIterable, ['elementAt', 'length']); | |
| 559 return MappedListIterable; | |
| 560 }); | |
| 561 let MappedListIterable = MappedListIterable$(); | |
| 562 let _ElementPredicate$ = dart.generic(function(E) { | |
| 563 let _ElementPredicate = dart.typedef('_ElementPredicate', () => dart.functio
nType(core.bool, [E])); | |
| 564 return _ElementPredicate; | |
| 565 }); | |
| 566 let _ElementPredicate = _ElementPredicate$(); | |
| 567 let WhereIterable$ = dart.generic(function(E) { | |
| 568 class WhereIterable extends collection.IterableBase$(E) { | |
| 569 WhereIterable(iterable, f) { | |
| 570 this[_iterable] = iterable; | |
| 571 this[_f] = f; | |
| 572 super.IterableBase(); | |
| 573 } | |
| 574 get iterator() { | |
| 575 return new (WhereIterator$(E))(this[_iterable][dartx.iterator], this[_f]
); | |
| 576 } | |
| 577 } | |
| 578 dart.setSignature(WhereIterable, { | |
| 579 constructors: () => ({WhereIterable: [WhereIterable$(E), [core.Iterable$(E
), dart.functionType(core.bool, [E])]]}) | |
| 580 }); | |
| 581 dart.defineExtensionMembers(WhereIterable, ['iterator']); | |
| 582 return WhereIterable; | |
| 583 }); | |
| 584 let WhereIterable = WhereIterable$(); | |
| 585 let WhereIterator$ = dart.generic(function(E) { | |
| 586 class WhereIterator extends core.Iterator$(E) { | |
| 587 WhereIterator(iterator, f) { | |
| 588 this[_iterator] = iterator; | |
| 589 this[_f] = f; | |
| 590 } | |
| 591 moveNext() { | |
| 592 while (dart.notNull(this[_iterator].moveNext())) { | |
| 593 if (dart.notNull(this[_f](this[_iterator].current))) { | |
| 594 return true; | |
| 595 } | |
| 596 } | |
| 597 return false; | |
| 598 } | |
| 599 get current() { | |
| 600 return this[_iterator].current; | |
| 601 } | |
| 602 } | |
| 603 dart.setSignature(WhereIterator, { | |
| 604 constructors: () => ({WhereIterator: [WhereIterator$(E), [core.Iterator$(E
), dart.functionType(core.bool, [E])]]}), | |
| 605 methods: () => ({moveNext: [core.bool, []]}) | |
| 606 }); | |
| 607 return WhereIterator; | |
| 608 }); | |
| 609 let WhereIterator = WhereIterator$(); | |
| 610 let _ExpandFunction$ = dart.generic(function(S, T) { | |
| 611 let _ExpandFunction = dart.typedef('_ExpandFunction', () => dart.functionTyp
e(core.Iterable$(T), [S])); | |
| 612 return _ExpandFunction; | |
| 613 }); | |
| 614 let _ExpandFunction = _ExpandFunction$(); | |
| 615 let ExpandIterable$ = dart.generic(function(S, T) { | |
| 616 class ExpandIterable extends collection.IterableBase$(T) { | |
| 617 ExpandIterable(iterable, f) { | |
| 618 this[_iterable] = iterable; | |
| 619 this[_f] = f; | |
| 620 super.IterableBase(); | |
| 621 } | |
| 622 get iterator() { | |
| 623 return new (ExpandIterator$(S, T))(this[_iterable][dartx.iterator], dart
.as(this[_f], __CastType0)); | |
| 624 } | |
| 625 } | |
| 626 dart.setSignature(ExpandIterable, { | |
| 627 constructors: () => ({ExpandIterable: [ExpandIterable$(S, T), [core.Iterab
le$(S), dart.functionType(core.Iterable$(T), [S])]]}) | |
| 628 }); | |
| 629 dart.defineExtensionMembers(ExpandIterable, ['iterator']); | |
| 630 return ExpandIterable; | |
| 631 }); | |
| 632 let ExpandIterable = ExpandIterable$(); | |
| 633 let _currentExpansion = dart.JsSymbol('_currentExpansion'); | |
| 634 let _nextExpansion = dart.JsSymbol('_nextExpansion'); | |
| 635 let ExpandIterator$ = dart.generic(function(S, T) { | |
| 636 class ExpandIterator extends core.Object { | |
| 637 ExpandIterator(iterator, f) { | |
| 638 this[_iterator] = iterator; | |
| 639 this[_f] = f; | |
| 640 this[_currentExpansion] = dart.const(new (EmptyIterator$(T))()); | |
| 641 this[_current] = null; | |
| 642 } | |
| 643 [_nextExpansion]() {} | |
| 644 get current() { | |
| 645 return this[_current]; | |
| 646 } | |
| 647 moveNext() { | |
| 648 if (this[_currentExpansion] == null) | |
| 649 return false; | |
| 650 while (!dart.notNull(this[_currentExpansion].moveNext())) { | |
| 651 this[_current] = null; | |
| 652 if (dart.notNull(this[_iterator].moveNext())) { | |
| 653 this[_currentExpansion] = null; | |
| 654 this[_currentExpansion] = dart.as(dart.dcall(this[_f], this[_iterato
r].current)[dartx.iterator], core.Iterator$(T)); | |
| 655 } else { | |
| 656 return false; | |
| 657 } | |
| 658 } | |
| 659 this[_current] = this[_currentExpansion].current; | |
| 660 return true; | |
| 661 } | |
| 662 } | |
| 663 ExpandIterator[dart.implements] = () => [core.Iterator$(T)]; | |
| 664 dart.setSignature(ExpandIterator, { | |
| 665 constructors: () => ({ExpandIterator: [ExpandIterator$(S, T), [core.Iterat
or$(S), dart.functionType(core.Iterable$(T), [S])]]}), | |
| 666 methods: () => ({ | |
| 667 [_nextExpansion]: [dart.void, []], | |
| 668 moveNext: [core.bool, []] | |
| 669 }) | |
| 670 }); | |
| 671 return ExpandIterator; | |
| 672 }); | |
| 673 let ExpandIterator = ExpandIterator$(); | |
| 674 let _takeCount = dart.JsSymbol('_takeCount'); | |
| 675 let TakeIterable$ = dart.generic(function(E) { | |
| 676 class TakeIterable extends collection.IterableBase$(E) { | |
| 677 static new(iterable, takeCount) { | |
| 678 if (!(typeof takeCount == 'number') || dart.notNull(takeCount) < 0) { | |
| 679 dart.throw(new core.ArgumentError(takeCount)); | |
| 680 } | |
| 681 if (dart.is(iterable, EfficientLength)) { | |
| 682 return new (EfficientLengthTakeIterable$(E))(iterable, takeCount); | |
| 683 } | |
| 684 return new (TakeIterable$(E))._(iterable, takeCount); | |
| 685 } | |
| 686 _(iterable, takeCount) { | |
| 687 this[_iterable] = iterable; | |
| 688 this[_takeCount] = takeCount; | |
| 689 super.IterableBase(); | |
| 690 } | |
| 691 get iterator() { | |
| 692 return new (TakeIterator$(E))(this[_iterable][dartx.iterator], this[_tak
eCount]); | |
| 693 } | |
| 694 } | |
| 695 dart.defineNamedConstructor(TakeIterable, '_'); | |
| 696 dart.setSignature(TakeIterable, { | |
| 697 constructors: () => ({ | |
| 698 new: [TakeIterable$(E), [core.Iterable$(E), core.int]], | |
| 699 _: [TakeIterable$(E), [core.Iterable$(E), core.int]] | |
| 700 }) | |
| 701 }); | |
| 702 dart.defineExtensionMembers(TakeIterable, ['iterator']); | |
| 703 return TakeIterable; | |
| 704 }); | |
| 705 let TakeIterable = TakeIterable$(); | |
| 706 let EfficientLengthTakeIterable$ = dart.generic(function(E) { | |
| 707 class EfficientLengthTakeIterable extends TakeIterable$(E) { | |
| 708 EfficientLengthTakeIterable(iterable, takeCount) { | |
| 709 super._(iterable, takeCount); | |
| 710 } | |
| 711 get length() { | |
| 712 let iterableLength = this[_iterable][dartx.length]; | |
| 713 if (dart.notNull(iterableLength) > dart.notNull(this[_takeCount])) | |
| 714 return this[_takeCount]; | |
| 715 return iterableLength; | |
| 716 } | |
| 717 } | |
| 718 EfficientLengthTakeIterable[dart.implements] = () => [EfficientLength]; | |
| 719 dart.setSignature(EfficientLengthTakeIterable, { | |
| 720 constructors: () => ({EfficientLengthTakeIterable: [EfficientLengthTakeIte
rable$(E), [core.Iterable$(E), core.int]]}) | |
| 721 }); | |
| 722 dart.defineExtensionMembers(EfficientLengthTakeIterable, ['length']); | |
| 723 return EfficientLengthTakeIterable; | |
| 724 }); | |
| 725 let EfficientLengthTakeIterable = EfficientLengthTakeIterable$(); | |
| 726 let _remaining = dart.JsSymbol('_remaining'); | |
| 727 let TakeIterator$ = dart.generic(function(E) { | |
| 728 class TakeIterator extends core.Iterator$(E) { | |
| 729 TakeIterator(iterator, remaining) { | |
| 730 this[_iterator] = iterator; | |
| 731 this[_remaining] = remaining; | |
| 732 dart.assert(typeof this[_remaining] == 'number' && dart.notNull(this[_re
maining]) >= 0); | |
| 733 } | |
| 734 moveNext() { | |
| 735 this[_remaining] = dart.notNull(this[_remaining]) - 1; | |
| 736 if (dart.notNull(this[_remaining]) >= 0) { | |
| 737 return this[_iterator].moveNext(); | |
| 738 } | |
| 739 this[_remaining] = -1; | |
| 740 return false; | |
| 741 } | |
| 742 get current() { | |
| 743 if (dart.notNull(this[_remaining]) < 0) | |
| 744 return null; | |
| 745 return this[_iterator].current; | |
| 746 } | |
| 747 } | |
| 748 dart.setSignature(TakeIterator, { | |
| 749 constructors: () => ({TakeIterator: [TakeIterator$(E), [core.Iterator$(E),
core.int]]}), | |
| 750 methods: () => ({moveNext: [core.bool, []]}) | |
| 751 }); | |
| 752 return TakeIterator; | |
| 753 }); | |
| 754 let TakeIterator = TakeIterator$(); | |
| 755 let TakeWhileIterable$ = dart.generic(function(E) { | |
| 756 class TakeWhileIterable extends collection.IterableBase$(E) { | |
| 757 TakeWhileIterable(iterable, f) { | |
| 758 this[_iterable] = iterable; | |
| 759 this[_f] = f; | |
| 760 super.IterableBase(); | |
| 761 } | |
| 762 get iterator() { | |
| 763 return new (TakeWhileIterator$(E))(this[_iterable][dartx.iterator], this
[_f]); | |
| 764 } | |
| 765 } | |
| 766 dart.setSignature(TakeWhileIterable, { | |
| 767 constructors: () => ({TakeWhileIterable: [TakeWhileIterable$(E), [core.Ite
rable$(E), dart.functionType(core.bool, [E])]]}) | |
| 768 }); | |
| 769 dart.defineExtensionMembers(TakeWhileIterable, ['iterator']); | |
| 770 return TakeWhileIterable; | |
| 771 }); | |
| 772 let TakeWhileIterable = TakeWhileIterable$(); | |
| 773 let _isFinished = dart.JsSymbol('_isFinished'); | |
| 774 let TakeWhileIterator$ = dart.generic(function(E) { | |
| 775 class TakeWhileIterator extends core.Iterator$(E) { | |
| 776 TakeWhileIterator(iterator, f) { | |
| 777 this[_iterator] = iterator; | |
| 778 this[_f] = f; | |
| 779 this[_isFinished] = false; | |
| 780 } | |
| 781 moveNext() { | |
| 782 if (dart.notNull(this[_isFinished])) | |
| 783 return false; | |
| 784 if (!dart.notNull(this[_iterator].moveNext()) || !dart.notNull(this[_f](
this[_iterator].current))) { | |
| 785 this[_isFinished] = true; | |
| 786 return false; | |
| 787 } | |
| 788 return true; | |
| 789 } | |
| 790 get current() { | |
| 791 if (dart.notNull(this[_isFinished])) | |
| 792 return null; | |
| 793 return this[_iterator].current; | |
| 794 } | |
| 795 } | |
| 796 dart.setSignature(TakeWhileIterator, { | |
| 797 constructors: () => ({TakeWhileIterator: [TakeWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), | |
| 798 methods: () => ({moveNext: [core.bool, []]}) | |
| 799 }); | |
| 800 return TakeWhileIterator; | |
| 801 }); | |
| 802 let TakeWhileIterator = TakeWhileIterator$(); | |
| 803 let _skipCount = dart.JsSymbol('_skipCount'); | |
| 804 let SkipIterable$ = dart.generic(function(E) { | |
| 805 class SkipIterable extends collection.IterableBase$(E) { | |
| 806 static new(iterable, count) { | |
| 807 if (dart.is(iterable, EfficientLength)) { | |
| 808 return new (EfficientLengthSkipIterable$(E))(iterable, count); | |
| 809 } | |
| 810 return new (SkipIterable$(E))._(iterable, count); | |
| 811 } | |
| 812 _(iterable, skipCount) { | |
| 813 this[_iterable] = iterable; | |
| 814 this[_skipCount] = skipCount; | |
| 815 super.IterableBase(); | |
| 816 if (!(typeof this[_skipCount] == 'number')) { | |
| 817 dart.throw(new core.ArgumentError.value(this[_skipCount], "count is no
t an integer")); | |
| 818 } | |
| 819 core.RangeError.checkNotNegative(this[_skipCount], "count"); | |
| 820 } | |
| 821 skip(count) { | |
| 822 if (!(typeof this[_skipCount] == 'number')) { | |
| 823 dart.throw(new core.ArgumentError.value(this[_skipCount], "count is no
t an integer")); | |
| 824 } | |
| 825 core.RangeError.checkNotNegative(this[_skipCount], "count"); | |
| 826 return new (SkipIterable$(E))._(this[_iterable], dart.notNull(this[_skip
Count]) + dart.notNull(count)); | |
| 827 } | |
| 828 get iterator() { | |
| 829 return new (SkipIterator$(E))(this[_iterable][dartx.iterator], this[_ski
pCount]); | |
| 830 } | |
| 831 } | |
| 832 dart.defineNamedConstructor(SkipIterable, '_'); | |
| 833 dart.setSignature(SkipIterable, { | |
| 834 constructors: () => ({ | |
| 835 new: [SkipIterable$(E), [core.Iterable$(E), core.int]], | |
| 836 _: [SkipIterable$(E), [core.Iterable$(E), core.int]] | |
| 837 }), | |
| 838 methods: () => ({skip: [core.Iterable$(E), [core.int]]}) | |
| 839 }); | |
| 840 dart.defineExtensionMembers(SkipIterable, ['skip', 'iterator']); | |
| 841 return SkipIterable; | |
| 842 }); | |
| 843 let SkipIterable = SkipIterable$(); | |
| 844 let EfficientLengthSkipIterable$ = dart.generic(function(E) { | |
| 845 class EfficientLengthSkipIterable extends SkipIterable$(E) { | |
| 846 EfficientLengthSkipIterable(iterable, skipCount) { | |
| 847 super._(iterable, skipCount); | |
| 848 } | |
| 849 get length() { | |
| 850 let length = dart.notNull(this[_iterable][dartx.length]) - dart.notNull(
this[_skipCount]); | |
| 851 if (dart.notNull(length) >= 0) | |
| 852 return length; | |
| 853 return 0; | |
| 854 } | |
| 855 } | |
| 856 EfficientLengthSkipIterable[dart.implements] = () => [EfficientLength]; | |
| 857 dart.setSignature(EfficientLengthSkipIterable, { | |
| 858 constructors: () => ({EfficientLengthSkipIterable: [EfficientLengthSkipIte
rable$(E), [core.Iterable$(E), core.int]]}) | |
| 859 }); | |
| 860 dart.defineExtensionMembers(EfficientLengthSkipIterable, ['length']); | |
| 861 return EfficientLengthSkipIterable; | |
| 862 }); | |
| 863 let EfficientLengthSkipIterable = EfficientLengthSkipIterable$(); | |
| 864 let SkipIterator$ = dart.generic(function(E) { | |
| 865 class SkipIterator extends core.Iterator$(E) { | |
| 866 SkipIterator(iterator, skipCount) { | |
| 867 this[_iterator] = iterator; | |
| 868 this[_skipCount] = skipCount; | |
| 869 dart.assert(typeof this[_skipCount] == 'number' && dart.notNull(this[_sk
ipCount]) >= 0); | |
| 870 } | |
| 871 moveNext() { | |
| 872 for (let i = 0; dart.notNull(i) < dart.notNull(this[_skipCount]); i = da
rt.notNull(i) + 1) | |
| 873 this[_iterator].moveNext(); | |
| 874 this[_skipCount] = 0; | |
| 875 return this[_iterator].moveNext(); | |
| 876 } | |
| 877 get current() { | |
| 878 return this[_iterator].current; | |
| 879 } | |
| 880 } | |
| 881 dart.setSignature(SkipIterator, { | |
| 882 constructors: () => ({SkipIterator: [SkipIterator$(E), [core.Iterator$(E),
core.int]]}), | |
| 883 methods: () => ({moveNext: [core.bool, []]}) | |
| 884 }); | |
| 885 return SkipIterator; | |
| 886 }); | |
| 887 let SkipIterator = SkipIterator$(); | |
| 888 let SkipWhileIterable$ = dart.generic(function(E) { | |
| 889 class SkipWhileIterable extends collection.IterableBase$(E) { | |
| 890 SkipWhileIterable(iterable, f) { | |
| 891 this[_iterable] = iterable; | |
| 892 this[_f] = f; | |
| 893 super.IterableBase(); | |
| 894 } | |
| 895 get iterator() { | |
| 896 return new (SkipWhileIterator$(E))(this[_iterable][dartx.iterator], this
[_f]); | |
| 897 } | |
| 898 } | |
| 899 dart.setSignature(SkipWhileIterable, { | |
| 900 constructors: () => ({SkipWhileIterable: [SkipWhileIterable$(E), [core.Ite
rable$(E), dart.functionType(core.bool, [E])]]}) | |
| 901 }); | |
| 902 dart.defineExtensionMembers(SkipWhileIterable, ['iterator']); | |
| 903 return SkipWhileIterable; | |
| 904 }); | |
| 905 let SkipWhileIterable = SkipWhileIterable$(); | |
| 906 let _hasSkipped = dart.JsSymbol('_hasSkipped'); | |
| 907 let SkipWhileIterator$ = dart.generic(function(E) { | |
| 908 class SkipWhileIterator extends core.Iterator$(E) { | |
| 909 SkipWhileIterator(iterator, f) { | |
| 910 this[_iterator] = iterator; | |
| 911 this[_f] = f; | |
| 912 this[_hasSkipped] = false; | |
| 913 } | |
| 914 moveNext() { | |
| 915 if (!dart.notNull(this[_hasSkipped])) { | |
| 916 this[_hasSkipped] = true; | |
| 917 while (dart.notNull(this[_iterator].moveNext())) { | |
| 918 if (!dart.notNull(this[_f](this[_iterator].current))) | |
| 919 return true; | |
| 920 } | |
| 921 } | |
| 922 return this[_iterator].moveNext(); | |
| 923 } | |
| 924 get current() { | |
| 925 return this[_iterator].current; | |
| 926 } | |
| 927 } | |
| 928 dart.setSignature(SkipWhileIterator, { | |
| 929 constructors: () => ({SkipWhileIterator: [SkipWhileIterator$(E), [core.Ite
rator$(E), dart.functionType(core.bool, [E])]]}), | |
| 930 methods: () => ({moveNext: [core.bool, []]}) | |
| 931 }); | |
| 932 return SkipWhileIterator; | |
| 933 }); | |
| 934 let SkipWhileIterator = SkipWhileIterator$(); | |
| 935 let EmptyIterable$ = dart.generic(function(E) { | |
| 936 class EmptyIterable extends collection.IterableBase$(E) { | |
| 937 EmptyIterable() { | |
| 938 super.IterableBase(); | |
| 939 } | |
| 940 get iterator() { | |
| 941 return dart.const(new (EmptyIterator$(E))()); | |
| 942 } | |
| 943 forEach(action) { | |
| 944 dart.as(action, dart.functionType(dart.void, [E])); | |
| 945 } | |
| 946 get isEmpty() { | |
| 947 return true; | |
| 948 } | |
| 949 get length() { | |
| 950 return 0; | |
| 951 } | |
| 952 get first() { | |
| 953 dart.throw(IterableElementError.noElement()); | |
| 954 } | |
| 955 get last() { | |
| 956 dart.throw(IterableElementError.noElement()); | |
| 957 } | |
| 958 get single() { | |
| 959 dart.throw(IterableElementError.noElement()); | |
| 960 } | |
| 961 elementAt(index) { | |
| 962 dart.throw(new core.RangeError.range(index, 0, 0, "index")); | |
| 963 } | |
| 964 contains(element) { | |
| 965 return false; | |
| 966 } | |
| 967 every(test) { | |
| 968 dart.as(test, dart.functionType(core.bool, [E])); | |
| 969 return true; | |
| 970 } | |
| 971 any(test) { | |
| 972 dart.as(test, dart.functionType(core.bool, [E])); | |
| 973 return false; | |
| 974 } | |
| 975 firstWhere(test, opts) { | |
| 976 dart.as(test, dart.functionType(core.bool, [E])); | |
| 977 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
| 978 dart.as(orElse, dart.functionType(E, [])); | |
| 979 if (orElse != null) | |
| 980 return orElse(); | |
| 981 dart.throw(IterableElementError.noElement()); | |
| 982 } | |
| 983 lastWhere(test, opts) { | |
| 984 dart.as(test, dart.functionType(core.bool, [E])); | |
| 985 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
| 986 dart.as(orElse, dart.functionType(E, [])); | |
| 987 if (orElse != null) | |
| 988 return orElse(); | |
| 989 dart.throw(IterableElementError.noElement()); | |
| 990 } | |
| 991 singleWhere(test, opts) { | |
| 992 dart.as(test, dart.functionType(core.bool, [E])); | |
| 993 let orElse = opts && 'orElse' in opts ? opts.orElse : null; | |
| 994 dart.as(orElse, dart.functionType(E, [])); | |
| 995 if (orElse != null) | |
| 996 return orElse(); | |
| 997 dart.throw(IterableElementError.noElement()); | |
| 998 } | |
| 999 join(separator) { | |
| 1000 if (separator === void 0) | |
| 1001 separator = ""; | |
| 1002 return ""; | |
| 1003 } | |
| 1004 where(test) { | |
| 1005 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1006 return this; | |
| 1007 } | |
| 1008 map(f) { | |
| 1009 dart.as(f, dart.functionType(dart.dynamic, [E])); | |
| 1010 return dart.const(new (EmptyIterable$())()); | |
| 1011 } | |
| 1012 reduce(combine) { | |
| 1013 dart.as(combine, dart.functionType(E, [E, E])); | |
| 1014 dart.throw(IterableElementError.noElement()); | |
| 1015 } | |
| 1016 fold(initialValue, combine) { | |
| 1017 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, E])); | |
| 1018 return initialValue; | |
| 1019 } | |
| 1020 skip(count) { | |
| 1021 core.RangeError.checkNotNegative(count, "count"); | |
| 1022 return this; | |
| 1023 } | |
| 1024 skipWhile(test) { | |
| 1025 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1026 return this; | |
| 1027 } | |
| 1028 take(count) { | |
| 1029 core.RangeError.checkNotNegative(count, "count"); | |
| 1030 return this; | |
| 1031 } | |
| 1032 takeWhile(test) { | |
| 1033 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1034 return this; | |
| 1035 } | |
| 1036 toList(opts) { | |
| 1037 let growable = opts && 'growable' in opts ? opts.growable : true; | |
| 1038 return dart.notNull(growable) ? dart.list([], E) : core.List$(E).new(0); | |
| 1039 } | |
| 1040 toSet() { | |
| 1041 return core.Set$(E).new(); | |
| 1042 } | |
| 1043 } | |
| 1044 EmptyIterable[dart.implements] = () => [EfficientLength]; | |
| 1045 dart.setSignature(EmptyIterable, { | |
| 1046 constructors: () => ({EmptyIterable: [EmptyIterable$(E), []]}), | |
| 1047 methods: () => ({ | |
| 1048 forEach: [dart.void, [dart.functionType(dart.void, [E])]], | |
| 1049 elementAt: [E, [core.int]], | |
| 1050 every: [core.bool, [dart.functionType(core.bool, [E])]], | |
| 1051 any: [core.bool, [dart.functionType(core.bool, [E])]], | |
| 1052 firstWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.funct
ionType(E, [])}], | |
| 1053 lastWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.functi
onType(E, [])}], | |
| 1054 singleWhere: [E, [dart.functionType(core.bool, [E])], {orElse: dart.func
tionType(E, [])}], | |
| 1055 where: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 1056 map: [core.Iterable, [dart.functionType(dart.dynamic, [E])]], | |
| 1057 reduce: [E, [dart.functionType(E, [E, E])]], | |
| 1058 fold: [dart.dynamic, [dart.dynamic, dart.functionType(dart.dynamic, [dar
t.dynamic, E])]], | |
| 1059 skip: [core.Iterable$(E), [core.int]], | |
| 1060 skipWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 1061 take: [core.Iterable$(E), [core.int]], | |
| 1062 takeWhile: [core.Iterable$(E), [dart.functionType(core.bool, [E])]], | |
| 1063 toList: [core.List$(E), [], {growable: core.bool}], | |
| 1064 toSet: [core.Set$(E), []] | |
| 1065 }) | |
| 1066 }); | |
| 1067 dart.defineExtensionMembers(EmptyIterable, [ | |
| 1068 'forEach', | |
| 1069 'elementAt', | |
| 1070 'contains', | |
| 1071 'every', | |
| 1072 'any', | |
| 1073 'firstWhere', | |
| 1074 'lastWhere', | |
| 1075 'singleWhere', | |
| 1076 'join', | |
| 1077 'where', | |
| 1078 'map', | |
| 1079 'reduce', | |
| 1080 'fold', | |
| 1081 'skip', | |
| 1082 'skipWhile', | |
| 1083 'take', | |
| 1084 'takeWhile', | |
| 1085 'toList', | |
| 1086 'toSet', | |
| 1087 'iterator', | |
| 1088 'isEmpty', | |
| 1089 'length', | |
| 1090 'first', | |
| 1091 'last', | |
| 1092 'single' | |
| 1093 ]); | |
| 1094 return EmptyIterable; | |
| 1095 }); | |
| 1096 let EmptyIterable = EmptyIterable$(); | |
| 1097 let EmptyIterator$ = dart.generic(function(E) { | |
| 1098 class EmptyIterator extends core.Object { | |
| 1099 EmptyIterator() { | |
| 1100 } | |
| 1101 moveNext() { | |
| 1102 return false; | |
| 1103 } | |
| 1104 get current() { | |
| 1105 return null; | |
| 1106 } | |
| 1107 } | |
| 1108 EmptyIterator[dart.implements] = () => [core.Iterator$(E)]; | |
| 1109 dart.setSignature(EmptyIterator, { | |
| 1110 constructors: () => ({EmptyIterator: [EmptyIterator$(E), []]}), | |
| 1111 methods: () => ({moveNext: [core.bool, []]}) | |
| 1112 }); | |
| 1113 return EmptyIterator; | |
| 1114 }); | |
| 1115 let EmptyIterator = EmptyIterator$(); | |
| 1116 let BidirectionalIterator$ = dart.generic(function(T) { | |
| 1117 class BidirectionalIterator extends core.Object {} | |
| 1118 BidirectionalIterator[dart.implements] = () => [core.Iterator$(T)]; | |
| 1119 return BidirectionalIterator; | |
| 1120 }); | |
| 1121 let BidirectionalIterator = BidirectionalIterator$(); | |
| 1122 let IterableMixinWorkaround$ = dart.generic(function(T) { | |
| 1123 class IterableMixinWorkaround extends core.Object { | |
| 1124 static contains(iterable, element) { | |
| 1125 for (let e of iterable) { | |
| 1126 if (dart.equals(e, element)) | |
| 1127 return true; | |
| 1128 } | |
| 1129 return false; | |
| 1130 } | |
| 1131 static forEach(iterable, f) { | |
| 1132 dart.as(f, dart.functionType(dart.void, [dart.dynamic])); | |
| 1133 for (let e of iterable) { | |
| 1134 dart.dcall(f, e); | |
| 1135 } | |
| 1136 } | |
| 1137 static any(iterable, f) { | |
| 1138 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); | |
| 1139 for (let e of iterable) { | |
| 1140 if (dart.notNull(dart.dcall(f, e))) | |
| 1141 return true; | |
| 1142 } | |
| 1143 return false; | |
| 1144 } | |
| 1145 static every(iterable, f) { | |
| 1146 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); | |
| 1147 for (let e of iterable) { | |
| 1148 if (!dart.notNull(dart.dcall(f, e))) | |
| 1149 return false; | |
| 1150 } | |
| 1151 return true; | |
| 1152 } | |
| 1153 static reduce(iterable, combine) { | |
| 1154 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); | |
| 1155 let iterator = iterable[dartx.iterator]; | |
| 1156 if (!dart.notNull(iterator.moveNext())) | |
| 1157 dart.throw(IterableElementError.noElement()); | |
| 1158 let value = iterator.current; | |
| 1159 while (dart.notNull(iterator.moveNext())) { | |
| 1160 value = dart.dcall(combine, value, iterator.current); | |
| 1161 } | |
| 1162 return value; | |
| 1163 } | |
| 1164 static fold(iterable, initialValue, combine) { | |
| 1165 dart.as(combine, dart.functionType(dart.dynamic, [dart.dynamic, dart.dyn
amic])); | |
| 1166 for (let element of iterable) { | |
| 1167 initialValue = dart.dcall(combine, initialValue, element); | |
| 1168 } | |
| 1169 return initialValue; | |
| 1170 } | |
| 1171 static removeWhereList(list, test) { | |
| 1172 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1173 let retained = []; | |
| 1174 let length = list[dartx.length]; | |
| 1175 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 1176 let element = list[dartx.get](i); | |
| 1177 if (!dart.notNull(dart.dcall(test, element))) { | |
| 1178 retained[dartx.add](element); | |
| 1179 } | |
| 1180 if (length != list[dartx.length]) { | |
| 1181 dart.throw(new core.ConcurrentModificationError(list)); | |
| 1182 } | |
| 1183 } | |
| 1184 if (retained[dartx.length] == length) | |
| 1185 return; | |
| 1186 list[dartx.length] = retained[dartx.length]; | |
| 1187 for (let i = 0; dart.notNull(i) < dart.notNull(retained[dartx.length]);
i = dart.notNull(i) + 1) { | |
| 1188 list[dartx.set](i, retained[dartx.get](i)); | |
| 1189 } | |
| 1190 } | |
| 1191 static isEmpty(iterable) { | |
| 1192 return !dart.notNull(iterable[dartx.iterator].moveNext()); | |
| 1193 } | |
| 1194 static first(iterable) { | |
| 1195 let it = iterable[dartx.iterator]; | |
| 1196 if (!dart.notNull(it.moveNext())) { | |
| 1197 dart.throw(IterableElementError.noElement()); | |
| 1198 } | |
| 1199 return it.current; | |
| 1200 } | |
| 1201 static last(iterable) { | |
| 1202 let it = iterable[dartx.iterator]; | |
| 1203 if (!dart.notNull(it.moveNext())) { | |
| 1204 dart.throw(IterableElementError.noElement()); | |
| 1205 } | |
| 1206 let result = null; | |
| 1207 do { | |
| 1208 result = it.current; | |
| 1209 } while (dart.notNull(it.moveNext())); | |
| 1210 return result; | |
| 1211 } | |
| 1212 static single(iterable) { | |
| 1213 let it = iterable[dartx.iterator]; | |
| 1214 if (!dart.notNull(it.moveNext())) | |
| 1215 dart.throw(IterableElementError.noElement()); | |
| 1216 let result = it.current; | |
| 1217 if (dart.notNull(it.moveNext())) | |
| 1218 dart.throw(IterableElementError.tooMany()); | |
| 1219 return result; | |
| 1220 } | |
| 1221 static firstWhere(iterable, test, orElse) { | |
| 1222 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1223 dart.as(orElse, dart.functionType(dart.dynamic, [])); | |
| 1224 for (let element of iterable) { | |
| 1225 if (dart.notNull(dart.dcall(test, element))) | |
| 1226 return element; | |
| 1227 } | |
| 1228 if (orElse != null) | |
| 1229 return orElse(); | |
| 1230 dart.throw(IterableElementError.noElement()); | |
| 1231 } | |
| 1232 static lastWhere(iterable, test, orElse) { | |
| 1233 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1234 dart.as(orElse, dart.functionType(dart.dynamic, [])); | |
| 1235 let result = null; | |
| 1236 let foundMatching = false; | |
| 1237 for (let element of iterable) { | |
| 1238 if (dart.notNull(dart.dcall(test, element))) { | |
| 1239 result = element; | |
| 1240 foundMatching = true; | |
| 1241 } | |
| 1242 } | |
| 1243 if (dart.notNull(foundMatching)) | |
| 1244 return result; | |
| 1245 if (orElse != null) | |
| 1246 return orElse(); | |
| 1247 dart.throw(IterableElementError.noElement()); | |
| 1248 } | |
| 1249 static lastWhereList(list, test, orElse) { | |
| 1250 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1251 dart.as(orElse, dart.functionType(dart.dynamic, [])); | |
| 1252 for (let i = dart.notNull(list[dartx.length]) - 1; dart.notNull(i) >= 0;
i = dart.notNull(i) - 1) { | |
| 1253 let element = list[dartx.get](i); | |
| 1254 if (dart.notNull(dart.dcall(test, element))) | |
| 1255 return element; | |
| 1256 } | |
| 1257 if (orElse != null) | |
| 1258 return orElse(); | |
| 1259 dart.throw(IterableElementError.noElement()); | |
| 1260 } | |
| 1261 static singleWhere(iterable, test) { | |
| 1262 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1263 let result = null; | |
| 1264 let foundMatching = false; | |
| 1265 for (let element of iterable) { | |
| 1266 if (dart.notNull(dart.dcall(test, element))) { | |
| 1267 if (dart.notNull(foundMatching)) { | |
| 1268 dart.throw(IterableElementError.tooMany()); | |
| 1269 } | |
| 1270 result = element; | |
| 1271 foundMatching = true; | |
| 1272 } | |
| 1273 } | |
| 1274 if (dart.notNull(foundMatching)) | |
| 1275 return result; | |
| 1276 dart.throw(IterableElementError.noElement()); | |
| 1277 } | |
| 1278 static elementAt(iterable, index) { | |
| 1279 if (!(typeof index == 'number')) | |
| 1280 dart.throw(new core.ArgumentError.notNull("index")); | |
| 1281 core.RangeError.checkNotNegative(index, "index"); | |
| 1282 let elementIndex = 0; | |
| 1283 for (let element of iterable) { | |
| 1284 if (index == elementIndex) | |
| 1285 return element; | |
| 1286 elementIndex = dart.notNull(elementIndex) + 1; | |
| 1287 } | |
| 1288 dart.throw(core.RangeError.index(index, iterable, "index", null, element
Index)); | |
| 1289 } | |
| 1290 static join(iterable, separator) { | |
| 1291 if (separator === void 0) | |
| 1292 separator = null; | |
| 1293 let buffer = new core.StringBuffer(); | |
| 1294 buffer.writeAll(iterable, separator); | |
| 1295 return dart.toString(buffer); | |
| 1296 } | |
| 1297 static joinList(list, separator) { | |
| 1298 if (separator === void 0) | |
| 1299 separator = null; | |
| 1300 if (dart.notNull(list[dartx.isEmpty])) | |
| 1301 return ""; | |
| 1302 if (list[dartx.length] == 1) | |
| 1303 return `${list[dartx.get](0)}`; | |
| 1304 let buffer = new core.StringBuffer(); | |
| 1305 if (dart.notNull(separator[dartx.isEmpty])) { | |
| 1306 for (let i = 0; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { | |
| 1307 buffer.write(list[dartx.get](i)); | |
| 1308 } | |
| 1309 } else { | |
| 1310 buffer.write(list[dartx.get](0)); | |
| 1311 for (let i = 1; dart.notNull(i) < dart.notNull(list[dartx.length]); i
= dart.notNull(i) + 1) { | |
| 1312 buffer.write(separator); | |
| 1313 buffer.write(list[dartx.get](i)); | |
| 1314 } | |
| 1315 } | |
| 1316 return dart.toString(buffer); | |
| 1317 } | |
| 1318 where(iterable, f) { | |
| 1319 dart.as(f, dart.functionType(core.bool, [dart.dynamic])); | |
| 1320 return new (WhereIterable$(T))(dart.as(iterable, core.Iterable$(T)), dar
t.as(f, __CastType2)); | |
| 1321 } | |
| 1322 static map(iterable, f) { | |
| 1323 dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic])); | |
| 1324 return MappedIterable.new(iterable, f); | |
| 1325 } | |
| 1326 static mapList(list, f) { | |
| 1327 dart.as(f, dart.functionType(dart.dynamic, [dart.dynamic])); | |
| 1328 return new MappedListIterable(list, f); | |
| 1329 } | |
| 1330 static expand(iterable, f) { | |
| 1331 dart.as(f, dart.functionType(core.Iterable, [dart.dynamic])); | |
| 1332 return new ExpandIterable(iterable, f); | |
| 1333 } | |
| 1334 takeList(list, n) { | |
| 1335 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), 0, n)
; | |
| 1336 } | |
| 1337 takeWhile(iterable, test) { | |
| 1338 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1339 return new (TakeWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)),
dart.as(test, dart.functionType(core.bool, [T]))); | |
| 1340 } | |
| 1341 skipList(list, n) { | |
| 1342 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), n, nu
ll); | |
| 1343 } | |
| 1344 skipWhile(iterable, test) { | |
| 1345 dart.as(test, dart.functionType(core.bool, [dart.dynamic])); | |
| 1346 return new (SkipWhileIterable$(T))(dart.as(iterable, core.Iterable$(T)),
dart.as(test, dart.functionType(core.bool, [T]))); | |
| 1347 } | |
| 1348 reversedList(list) { | |
| 1349 return new (ReversedListIterable$(T))(dart.as(list, core.Iterable$(T))); | |
| 1350 } | |
| 1351 static sortList(list, compare) { | |
| 1352 dart.as(compare, dart.functionType(core.int, [dart.dynamic, dart.dynamic
])); | |
| 1353 if (compare == null) | |
| 1354 compare = core.Comparable.compare; | |
| 1355 Sort.sort(list, compare); | |
| 1356 } | |
| 1357 static shuffleList(list, random) { | |
| 1358 if (random == null) | |
| 1359 random = math.Random.new(); | |
| 1360 let length = list[dartx.length]; | |
| 1361 while (dart.notNull(length) > 1) { | |
| 1362 let pos = random.nextInt(length); | |
| 1363 length = dart.notNull(length) - 1; | |
| 1364 let tmp = list[dartx.get](length); | |
| 1365 list[dartx.set](length, list[dartx.get](pos)); | |
| 1366 list[dartx.set](pos, tmp); | |
| 1367 } | |
| 1368 } | |
| 1369 static indexOfList(list, element, start) { | |
| 1370 return Lists.indexOf(list, element, start, list[dartx.length]); | |
| 1371 } | |
| 1372 static lastIndexOfList(list, element, start) { | |
| 1373 if (start == null) | |
| 1374 start = dart.notNull(list[dartx.length]) - 1; | |
| 1375 return Lists.lastIndexOf(list, element, start); | |
| 1376 } | |
| 1377 static _rangeCheck(list, start, end) { | |
| 1378 core.RangeError.checkValidRange(start, end, list[dartx.length]); | |
| 1379 } | |
| 1380 getRangeList(list, start, end) { | |
| 1381 IterableMixinWorkaround$()._rangeCheck(list, start, end); | |
| 1382 return new (SubListIterable$(T))(dart.as(list, core.Iterable$(T)), start
, end); | |
| 1383 } | |
| 1384 static setRangeList(list, start, end, from, skipCount) { | |
| 1385 IterableMixinWorkaround$()._rangeCheck(list, start, end); | |
| 1386 let length = dart.notNull(end) - dart.notNull(start); | |
| 1387 if (length == 0) | |
| 1388 return; | |
| 1389 if (dart.notNull(skipCount) < 0) | |
| 1390 dart.throw(new core.ArgumentError(skipCount)); | |
| 1391 let otherList = null; | |
| 1392 let otherStart = null; | |
| 1393 if (dart.is(from, core.List)) { | |
| 1394 otherList = from; | |
| 1395 otherStart = skipCount; | |
| 1396 } else { | |
| 1397 otherList = from[dartx.skip](skipCount)[dartx.toList]({growable: false
}); | |
| 1398 otherStart = 0; | |
| 1399 } | |
| 1400 if (dart.notNull(otherStart) + dart.notNull(length) > dart.notNull(other
List[dartx.length])) { | |
| 1401 dart.throw(IterableElementError.tooFew()); | |
| 1402 } | |
| 1403 Lists.copy(otherList, otherStart, list, start, length); | |
| 1404 } | |
| 1405 static replaceRangeList(list, start, end, iterable) { | |
| 1406 IterableMixinWorkaround$()._rangeCheck(list, start, end); | |
| 1407 if (!dart.is(iterable, EfficientLength)) { | |
| 1408 iterable = iterable[dartx.toList](); | |
| 1409 } | |
| 1410 let removeLength = dart.notNull(end) - dart.notNull(start); | |
| 1411 let insertLength = iterable[dartx.length]; | |
| 1412 if (dart.notNull(removeLength) >= dart.notNull(insertLength)) { | |
| 1413 let delta = dart.notNull(removeLength) - dart.notNull(insertLength); | |
| 1414 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); | |
| 1415 let newEnd = dart.notNull(list[dartx.length]) - dart.notNull(delta); | |
| 1416 list[dartx.setRange](start, insertEnd, iterable); | |
| 1417 if (delta != 0) { | |
| 1418 list[dartx.setRange](insertEnd, newEnd, list, end); | |
| 1419 list[dartx.length] = newEnd; | |
| 1420 } | |
| 1421 } else { | |
| 1422 let delta = dart.notNull(insertLength) - dart.notNull(removeLength); | |
| 1423 let newLength = dart.notNull(list[dartx.length]) + dart.notNull(delta)
; | |
| 1424 let insertEnd = dart.notNull(start) + dart.notNull(insertLength); | |
| 1425 list[dartx.length] = newLength; | |
| 1426 list[dartx.setRange](insertEnd, newLength, list, end); | |
| 1427 list[dartx.setRange](start, insertEnd, iterable); | |
| 1428 } | |
| 1429 } | |
| 1430 static fillRangeList(list, start, end, fillValue) { | |
| 1431 IterableMixinWorkaround$()._rangeCheck(list, start, end); | |
| 1432 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul
l(i) + 1) { | |
| 1433 list[dartx.set](i, fillValue); | |
| 1434 } | |
| 1435 } | |
| 1436 static insertAllList(list, index, iterable) { | |
| 1437 core.RangeError.checkValueInInterval(index, 0, list[dartx.length], "inde
x"); | |
| 1438 if (!dart.is(iterable, EfficientLength)) { | |
| 1439 iterable = iterable[dartx.toList]({growable: false}); | |
| 1440 } | |
| 1441 let insertionLength = iterable[dartx.length]; | |
| 1442 list[dartx.length] = dart.notNull(list[dartx.length]) + dart.notNull(ins
ertionLength); | |
| 1443 list[dartx.setRange](dart.notNull(index) + dart.notNull(insertionLength)
, list[dartx.length], list, index); | |
| 1444 for (let element of iterable) { | |
| 1445 list[dartx.set]((() => { | |
| 1446 let x = index; | |
| 1447 index = dart.notNull(x) + 1; | |
| 1448 return x; | |
| 1449 })(), element); | |
| 1450 } | |
| 1451 } | |
| 1452 static setAllList(list, index, iterable) { | |
| 1453 core.RangeError.checkValueInInterval(index, 0, list[dartx.length], "inde
x"); | |
| 1454 for (let element of iterable) { | |
| 1455 list[dartx.set]((() => { | |
| 1456 let x = index; | |
| 1457 index = dart.notNull(x) + 1; | |
| 1458 return x; | |
| 1459 })(), element); | |
| 1460 } | |
| 1461 } | |
| 1462 asMapList(l) { | |
| 1463 return new (ListMapView$(T))(dart.as(l, core.List$(T))); | |
| 1464 } | |
| 1465 static setContainsAll(set, other) { | |
| 1466 for (let element of other) { | |
| 1467 if (!dart.notNull(set.contains(element))) | |
| 1468 return false; | |
| 1469 } | |
| 1470 return true; | |
| 1471 } | |
| 1472 static setIntersection(set, other, result) { | |
| 1473 let smaller = null; | |
| 1474 let larger = null; | |
| 1475 if (dart.notNull(set.length) < dart.notNull(other.length)) { | |
| 1476 smaller = set; | |
| 1477 larger = other; | |
| 1478 } else { | |
| 1479 smaller = other; | |
| 1480 larger = set; | |
| 1481 } | |
| 1482 for (let element of smaller) { | |
| 1483 if (dart.notNull(larger.contains(element))) { | |
| 1484 result.add(element); | |
| 1485 } | |
| 1486 } | |
| 1487 return result; | |
| 1488 } | |
| 1489 static setUnion(set, other, result) { | |
| 1490 result.addAll(set); | |
| 1491 result.addAll(other); | |
| 1492 return result; | |
| 1493 } | |
| 1494 static setDifference(set, other, result) { | |
| 1495 for (let element of set) { | |
| 1496 if (!dart.notNull(other.contains(element))) { | |
| 1497 result.add(element); | |
| 1498 } | |
| 1499 } | |
| 1500 return result; | |
| 1501 } | |
| 1502 } | |
| 1503 dart.setSignature(IterableMixinWorkaround, { | |
| 1504 methods: () => ({ | |
| 1505 where: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bool,
[dart.dynamic])]], | |
| 1506 takeList: [core.Iterable$(T), [core.List, core.int]], | |
| 1507 takeWhile: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bo
ol, [dart.dynamic])]], | |
| 1508 skipList: [core.Iterable$(T), [core.List, core.int]], | |
| 1509 skipWhile: [core.Iterable$(T), [core.Iterable, dart.functionType(core.bo
ol, [dart.dynamic])]], | |
| 1510 reversedList: [core.Iterable$(T), [core.List]], | |
| 1511 getRangeList: [core.Iterable$(T), [core.List, core.int, core.int]], | |
| 1512 asMapList: [core.Map$(core.int, T), [core.List]] | |
| 1513 }), | |
| 1514 statics: () => ({ | |
| 1515 contains: [core.bool, [core.Iterable, dart.dynamic]], | |
| 1516 forEach: [dart.void, [core.Iterable, dart.functionType(dart.void, [dart.
dynamic])]], | |
| 1517 any: [core.bool, [core.Iterable, dart.functionType(core.bool, [dart.dyna
mic])]], | |
| 1518 every: [core.bool, [core.Iterable, dart.functionType(core.bool, [dart.dy
namic])]], | |
| 1519 reduce: [dart.dynamic, [core.Iterable, dart.functionType(dart.dynamic, [
dart.dynamic, dart.dynamic])]], | |
| 1520 fold: [dart.dynamic, [core.Iterable, dart.dynamic, dart.functionType(dar
t.dynamic, [dart.dynamic, dart.dynamic])]], | |
| 1521 removeWhereList: [dart.void, [core.List, dart.functionType(core.bool, [d
art.dynamic])]], | |
| 1522 isEmpty: [core.bool, [core.Iterable]], | |
| 1523 first: [dart.dynamic, [core.Iterable]], | |
| 1524 last: [dart.dynamic, [core.Iterable]], | |
| 1525 single: [dart.dynamic, [core.Iterable]], | |
| 1526 firstWhere: [dart.dynamic, [core.Iterable, dart.functionType(core.bool,
[dart.dynamic]), dart.functionType(dart.dynamic, [])]], | |
| 1527 lastWhere: [dart.dynamic, [core.Iterable, dart.functionType(core.bool, [
dart.dynamic]), dart.functionType(dart.dynamic, [])]], | |
| 1528 lastWhereList: [dart.dynamic, [core.List, dart.functionType(core.bool, [
dart.dynamic]), dart.functionType(dart.dynamic, [])]], | |
| 1529 singleWhere: [dart.dynamic, [core.Iterable, dart.functionType(core.bool,
[dart.dynamic])]], | |
| 1530 elementAt: [dart.dynamic, [core.Iterable, core.int]], | |
| 1531 join: [core.String, [core.Iterable], [core.String]], | |
| 1532 joinList: [core.String, [core.List], [core.String]], | |
| 1533 map: [core.Iterable, [core.Iterable, dart.functionType(dart.dynamic, [da
rt.dynamic])]], | |
| 1534 mapList: [core.Iterable, [core.List, dart.functionType(dart.dynamic, [da
rt.dynamic])]], | |
| 1535 expand: [core.Iterable, [core.Iterable, dart.functionType(core.Iterable,
[dart.dynamic])]], | |
| 1536 sortList: [dart.void, [core.List, dart.functionType(core.int, [dart.dyna
mic, dart.dynamic])]], | |
| 1537 shuffleList: [dart.void, [core.List, math.Random]], | |
| 1538 indexOfList: [core.int, [core.List, dart.dynamic, core.int]], | |
| 1539 lastIndexOfList: [core.int, [core.List, dart.dynamic, core.int]], | |
| 1540 _rangeCheck: [dart.void, [core.List, core.int, core.int]], | |
| 1541 setRangeList: [dart.void, [core.List, core.int, core.int, core.Iterable,
core.int]], | |
| 1542 replaceRangeList: [dart.void, [core.List, core.int, core.int, core.Itera
ble]], | |
| 1543 fillRangeList: [dart.void, [core.List, core.int, core.int, dart.dynamic]
], | |
| 1544 insertAllList: [dart.void, [core.List, core.int, core.Iterable]], | |
| 1545 setAllList: [dart.void, [core.List, core.int, core.Iterable]], | |
| 1546 setContainsAll: [core.bool, [core.Set, core.Iterable]], | |
| 1547 setIntersection: [core.Set, [core.Set, core.Set, core.Set]], | |
| 1548 setUnion: [core.Set, [core.Set, core.Set, core.Set]], | |
| 1549 setDifference: [core.Set, [core.Set, core.Set, core.Set]] | |
| 1550 }), | |
| 1551 names: ['contains', 'forEach', 'any', 'every', 'reduce', 'fold', 'removeWh
ereList', 'isEmpty', 'first', 'last', 'single', 'firstWhere', 'lastWhere', 'last
WhereList', 'singleWhere', 'elementAt', 'join', 'joinList', 'map', 'mapList', 'e
xpand', 'sortList', 'shuffleList', 'indexOfList', 'lastIndexOfList', '_rangeChec
k', 'setRangeList', 'replaceRangeList', 'fillRangeList', 'insertAllList', 'setAl
lList', 'setContainsAll', 'setIntersection', 'setUnion', 'setDifference'] | |
| 1552 }); | |
| 1553 return IterableMixinWorkaround; | |
| 1554 }); | |
| 1555 let IterableMixinWorkaround = IterableMixinWorkaround$(); | |
| 1556 class IterableElementError extends core.Object { | |
| 1557 static noElement() { | |
| 1558 return new core.StateError("No element"); | |
| 1559 } | |
| 1560 static tooMany() { | |
| 1561 return new core.StateError("Too many elements"); | |
| 1562 } | |
| 1563 static tooFew() { | |
| 1564 return new core.StateError("Too few elements"); | |
| 1565 } | |
| 1566 } | |
| 1567 dart.setSignature(IterableElementError, { | |
| 1568 statics: () => ({ | |
| 1569 noElement: [core.StateError, []], | |
| 1570 tooMany: [core.StateError, []], | |
| 1571 tooFew: [core.StateError, []] | |
| 1572 }), | |
| 1573 names: ['noElement', 'tooMany', 'tooFew'] | |
| 1574 }); | |
| 1575 let __CastType0$ = dart.generic(function(S, T) { | |
| 1576 let __CastType0 = dart.typedef('__CastType0', () => dart.functionType(core.I
terable$(T), [S])); | |
| 1577 return __CastType0; | |
| 1578 }); | |
| 1579 let __CastType0 = __CastType0$(); | |
| 1580 let __CastType2$ = dart.generic(function(T) { | |
| 1581 let __CastType2 = dart.typedef('__CastType2', () => dart.functionType(core.b
ool, [T])); | |
| 1582 return __CastType2; | |
| 1583 }); | |
| 1584 let __CastType2 = __CastType2$(); | |
| 1585 let FixedLengthListMixin$ = dart.generic(function(E) { | |
| 1586 class FixedLengthListMixin extends core.Object { | |
| 1587 set length(newLength) { | |
| 1588 dart.throw(new core.UnsupportedError("Cannot change the length of a fixe
d-length list")); | |
| 1589 } | |
| 1590 add(value) { | |
| 1591 dart.as(value, E); | |
| 1592 dart.throw(new core.UnsupportedError("Cannot add to a fixed-length list"
)); | |
| 1593 } | |
| 1594 insert(index, value) { | |
| 1595 dart.as(value, E); | |
| 1596 dart.throw(new core.UnsupportedError("Cannot add to a fixed-length list"
)); | |
| 1597 } | |
| 1598 insertAll(at, iterable) { | |
| 1599 dart.as(iterable, core.Iterable$(E)); | |
| 1600 dart.throw(new core.UnsupportedError("Cannot add to a fixed-length list"
)); | |
| 1601 } | |
| 1602 addAll(iterable) { | |
| 1603 dart.as(iterable, core.Iterable$(E)); | |
| 1604 dart.throw(new core.UnsupportedError("Cannot add to a fixed-length list"
)); | |
| 1605 } | |
| 1606 remove(element) { | |
| 1607 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1608 } | |
| 1609 removeWhere(test) { | |
| 1610 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1611 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1612 } | |
| 1613 retainWhere(test) { | |
| 1614 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1615 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1616 } | |
| 1617 clear() { | |
| 1618 dart.throw(new core.UnsupportedError("Cannot clear a fixed-length list")
); | |
| 1619 } | |
| 1620 removeAt(index) { | |
| 1621 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1622 } | |
| 1623 removeLast() { | |
| 1624 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1625 } | |
| 1626 removeRange(start, end) { | |
| 1627 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1628 } | |
| 1629 replaceRange(start, end, iterable) { | |
| 1630 dart.as(iterable, core.Iterable$(E)); | |
| 1631 dart.throw(new core.UnsupportedError("Cannot remove from a fixed-length
list")); | |
| 1632 } | |
| 1633 } | |
| 1634 dart.setSignature(FixedLengthListMixin, { | |
| 1635 methods: () => ({ | |
| 1636 add: [dart.void, [E]], | |
| 1637 insert: [dart.void, [core.int, E]], | |
| 1638 insertAll: [dart.void, [core.int, core.Iterable$(E)]], | |
| 1639 addAll: [dart.void, [core.Iterable$(E)]], | |
| 1640 remove: [core.bool, [core.Object]], | |
| 1641 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], | |
| 1642 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], | |
| 1643 clear: [dart.void, []], | |
| 1644 removeAt: [E, [core.int]], | |
| 1645 removeLast: [E, []], | |
| 1646 removeRange: [dart.void, [core.int, core.int]], | |
| 1647 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]] | |
| 1648 }) | |
| 1649 }); | |
| 1650 return FixedLengthListMixin; | |
| 1651 }); | |
| 1652 let FixedLengthListMixin = FixedLengthListMixin$(); | |
| 1653 let UnmodifiableListMixin$ = dart.generic(function(E) { | |
| 1654 class UnmodifiableListMixin extends core.Object { | |
| 1655 set(index, value) { | |
| 1656 dart.as(value, E); | |
| 1657 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1658 return value; | |
| 1659 } | |
| 1660 set length(newLength) { | |
| 1661 dart.throw(new core.UnsupportedError("Cannot change the length of an unm
odifiable list")); | |
| 1662 } | |
| 1663 setAll(at, iterable) { | |
| 1664 dart.as(iterable, core.Iterable$(E)); | |
| 1665 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1666 } | |
| 1667 add(value) { | |
| 1668 dart.as(value, E); | |
| 1669 dart.throw(new core.UnsupportedError("Cannot add to an unmodifiable list
")); | |
| 1670 } | |
| 1671 insert(index, value) { | |
| 1672 dart.as(value, E); | |
| 1673 dart.throw(new core.UnsupportedError("Cannot add to an unmodifiable list
")); | |
| 1674 } | |
| 1675 insertAll(at, iterable) { | |
| 1676 dart.as(iterable, core.Iterable$(E)); | |
| 1677 dart.throw(new core.UnsupportedError("Cannot add to an unmodifiable list
")); | |
| 1678 } | |
| 1679 addAll(iterable) { | |
| 1680 dart.as(iterable, core.Iterable$(E)); | |
| 1681 dart.throw(new core.UnsupportedError("Cannot add to an unmodifiable list
")); | |
| 1682 } | |
| 1683 remove(element) { | |
| 1684 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1685 } | |
| 1686 removeWhere(test) { | |
| 1687 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1688 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1689 } | |
| 1690 retainWhere(test) { | |
| 1691 dart.as(test, dart.functionType(core.bool, [E])); | |
| 1692 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1693 } | |
| 1694 sort(compare) { | |
| 1695 if (compare === void 0) | |
| 1696 compare = null; | |
| 1697 dart.as(compare, core.Comparator$(E)); | |
| 1698 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1699 } | |
| 1700 shuffle(random) { | |
| 1701 if (random === void 0) | |
| 1702 random = null; | |
| 1703 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1704 } | |
| 1705 clear() { | |
| 1706 dart.throw(new core.UnsupportedError("Cannot clear an unmodifiable list"
)); | |
| 1707 } | |
| 1708 removeAt(index) { | |
| 1709 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1710 } | |
| 1711 removeLast() { | |
| 1712 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1713 } | |
| 1714 setRange(start, end, iterable, skipCount) { | |
| 1715 dart.as(iterable, core.Iterable$(E)); | |
| 1716 if (skipCount === void 0) | |
| 1717 skipCount = 0; | |
| 1718 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1719 } | |
| 1720 removeRange(start, end) { | |
| 1721 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1722 } | |
| 1723 replaceRange(start, end, iterable) { | |
| 1724 dart.as(iterable, core.Iterable$(E)); | |
| 1725 dart.throw(new core.UnsupportedError("Cannot remove from an unmodifiable
list")); | |
| 1726 } | |
| 1727 fillRange(start, end, fillValue) { | |
| 1728 if (fillValue === void 0) | |
| 1729 fillValue = null; | |
| 1730 dart.as(fillValue, E); | |
| 1731 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable list
")); | |
| 1732 } | |
| 1733 } | |
| 1734 UnmodifiableListMixin[dart.implements] = () => [core.List$(E)]; | |
| 1735 dart.setSignature(UnmodifiableListMixin, { | |
| 1736 methods: () => ({ | |
| 1737 set: [dart.void, [core.int, E]], | |
| 1738 setAll: [dart.void, [core.int, core.Iterable$(E)]], | |
| 1739 add: [dart.void, [E]], | |
| 1740 insert: [E, [core.int, E]], | |
| 1741 insertAll: [dart.void, [core.int, core.Iterable$(E)]], | |
| 1742 addAll: [dart.void, [core.Iterable$(E)]], | |
| 1743 remove: [core.bool, [core.Object]], | |
| 1744 removeWhere: [dart.void, [dart.functionType(core.bool, [E])]], | |
| 1745 retainWhere: [dart.void, [dart.functionType(core.bool, [E])]], | |
| 1746 sort: [dart.void, [], [core.Comparator$(E)]], | |
| 1747 shuffle: [dart.void, [], [math.Random]], | |
| 1748 clear: [dart.void, []], | |
| 1749 removeAt: [E, [core.int]], | |
| 1750 removeLast: [E, []], | |
| 1751 setRange: [dart.void, [core.int, core.int, core.Iterable$(E)], [core.int
]], | |
| 1752 removeRange: [dart.void, [core.int, core.int]], | |
| 1753 replaceRange: [dart.void, [core.int, core.int, core.Iterable$(E)]], | |
| 1754 fillRange: [dart.void, [core.int, core.int], [E]] | |
| 1755 }) | |
| 1756 }); | |
| 1757 dart.defineExtensionMembers(UnmodifiableListMixin, [ | |
| 1758 'set', | |
| 1759 'setAll', | |
| 1760 'add', | |
| 1761 'insert', | |
| 1762 'insertAll', | |
| 1763 'addAll', | |
| 1764 'remove', | |
| 1765 'removeWhere', | |
| 1766 'retainWhere', | |
| 1767 'sort', | |
| 1768 'shuffle', | |
| 1769 'clear', | |
| 1770 'removeAt', | |
| 1771 'removeLast', | |
| 1772 'setRange', | |
| 1773 'removeRange', | |
| 1774 'replaceRange', | |
| 1775 'fillRange', | |
| 1776 'length' | |
| 1777 ]); | |
| 1778 return UnmodifiableListMixin; | |
| 1779 }); | |
| 1780 let UnmodifiableListMixin = UnmodifiableListMixin$(); | |
| 1781 let FixedLengthListBase$ = dart.generic(function(E) { | |
| 1782 class FixedLengthListBase extends dart.mixin(collection.ListBase$(E), FixedL
engthListMixin$(E)) { | |
| 1783 FixedLengthListBase() { | |
| 1784 super.ListBase(...arguments); | |
| 1785 } | |
| 1786 } | |
| 1787 return FixedLengthListBase; | |
| 1788 }); | |
| 1789 let FixedLengthListBase = FixedLengthListBase$(); | |
| 1790 let UnmodifiableListBase$ = dart.generic(function(E) { | |
| 1791 class UnmodifiableListBase extends dart.mixin(collection.ListBase$(E), Unmod
ifiableListMixin$(E)) { | |
| 1792 UnmodifiableListBase() { | |
| 1793 super.ListBase(...arguments); | |
| 1794 } | |
| 1795 } | |
| 1796 return UnmodifiableListBase; | |
| 1797 }); | |
| 1798 let UnmodifiableListBase = UnmodifiableListBase$(); | |
| 1799 let _backedList = dart.JsSymbol('_backedList'); | |
| 1800 class _ListIndicesIterable extends ListIterable$(core.int) { | |
| 1801 _ListIndicesIterable(backedList) { | |
| 1802 this[_backedList] = backedList; | |
| 1803 super.ListIterable(); | |
| 1804 } | |
| 1805 get length() { | |
| 1806 return this[_backedList][dartx.length]; | |
| 1807 } | |
| 1808 elementAt(index) { | |
| 1809 core.RangeError.checkValidIndex(index, this); | |
| 1810 return index; | |
| 1811 } | |
| 1812 } | |
| 1813 dart.setSignature(_ListIndicesIterable, { | |
| 1814 constructors: () => ({_ListIndicesIterable: [_ListIndicesIterable, [core.Lis
t]]}), | |
| 1815 methods: () => ({elementAt: [core.int, [core.int]]}) | |
| 1816 }); | |
| 1817 dart.defineExtensionMembers(_ListIndicesIterable, ['elementAt', 'length']); | |
| 1818 let _values = dart.JsSymbol('_values'); | |
| 1819 let ListMapView$ = dart.generic(function(E) { | |
| 1820 class ListMapView extends core.Object { | |
| 1821 ListMapView(values) { | |
| 1822 this[_values] = values; | |
| 1823 } | |
| 1824 get(key) { | |
| 1825 return dart.notNull(this.containsKey(key)) ? this[_values][dartx.get](da
rt.as(key, core.int)) : null; | |
| 1826 } | |
| 1827 get length() { | |
| 1828 return this[_values][dartx.length]; | |
| 1829 } | |
| 1830 get values() { | |
| 1831 return new (SubListIterable$(E))(this[_values], 0, null); | |
| 1832 } | |
| 1833 get keys() { | |
| 1834 return new _ListIndicesIterable(this[_values]); | |
| 1835 } | |
| 1836 get isEmpty() { | |
| 1837 return this[_values][dartx.isEmpty]; | |
| 1838 } | |
| 1839 get isNotEmpty() { | |
| 1840 return this[_values][dartx.isNotEmpty]; | |
| 1841 } | |
| 1842 containsValue(value) { | |
| 1843 return this[_values][dartx.contains](value); | |
| 1844 } | |
| 1845 containsKey(key) { | |
| 1846 return typeof key == 'number' && dart.notNull(key) >= 0 && dart.notNull(
key) < dart.notNull(this.length); | |
| 1847 } | |
| 1848 forEach(f) { | |
| 1849 dart.as(f, dart.functionType(dart.void, [core.int, E])); | |
| 1850 let length = this[_values][dartx.length]; | |
| 1851 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull
(i) + 1) { | |
| 1852 f(i, this[_values][dartx.get](i)); | |
| 1853 if (length != this[_values][dartx.length]) { | |
| 1854 dart.throw(new core.ConcurrentModificationError(this[_values])); | |
| 1855 } | |
| 1856 } | |
| 1857 } | |
| 1858 set(key, value) { | |
| 1859 dart.as(value, E); | |
| 1860 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable map"
)); | |
| 1861 return value; | |
| 1862 } | |
| 1863 putIfAbsent(key, ifAbsent) { | |
| 1864 dart.as(ifAbsent, dart.functionType(E, [])); | |
| 1865 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable map"
)); | |
| 1866 } | |
| 1867 remove(key) { | |
| 1868 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable map"
)); | |
| 1869 } | |
| 1870 clear() { | |
| 1871 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable map"
)); | |
| 1872 } | |
| 1873 addAll(other) { | |
| 1874 dart.as(other, core.Map$(core.int, E)); | |
| 1875 dart.throw(new core.UnsupportedError("Cannot modify an unmodifiable map"
)); | |
| 1876 } | |
| 1877 toString() { | |
| 1878 return collection.Maps.mapToString(this); | |
| 1879 } | |
| 1880 } | |
| 1881 ListMapView[dart.implements] = () => [core.Map$(core.int, E)]; | |
| 1882 dart.setSignature(ListMapView, { | |
| 1883 constructors: () => ({ListMapView: [ListMapView$(E), [core.List$(E)]]}), | |
| 1884 methods: () => ({ | |
| 1885 get: [E, [core.Object]], | |
| 1886 containsValue: [core.bool, [core.Object]], | |
| 1887 containsKey: [core.bool, [core.Object]], | |
| 1888 forEach: [dart.void, [dart.functionType(dart.void, [core.int, E])]], | |
| 1889 set: [dart.void, [core.int, E]], | |
| 1890 putIfAbsent: [E, [core.int, dart.functionType(E, [])]], | |
| 1891 remove: [E, [core.Object]], | |
| 1892 clear: [dart.void, []], | |
| 1893 addAll: [dart.void, [core.Map$(core.int, E)]] | |
| 1894 }) | |
| 1895 }); | |
| 1896 return ListMapView; | |
| 1897 }); | |
| 1898 let ListMapView = ListMapView$(); | |
| 1899 let ReversedListIterable$ = dart.generic(function(E) { | |
| 1900 class ReversedListIterable extends ListIterable$(E) { | |
| 1901 ReversedListIterable(source) { | |
| 1902 this[_source] = source; | |
| 1903 super.ListIterable(); | |
| 1904 } | |
| 1905 get length() { | |
| 1906 return this[_source][dartx.length]; | |
| 1907 } | |
| 1908 elementAt(index) { | |
| 1909 return this[_source][dartx.elementAt](dart.notNull(this[_source][dartx.l
ength]) - 1 - dart.notNull(index)); | |
| 1910 } | |
| 1911 } | |
| 1912 dart.setSignature(ReversedListIterable, { | |
| 1913 constructors: () => ({ReversedListIterable: [ReversedListIterable$(E), [co
re.Iterable$(E)]]}), | |
| 1914 methods: () => ({elementAt: [E, [core.int]]}) | |
| 1915 }); | |
| 1916 dart.defineExtensionMembers(ReversedListIterable, ['elementAt', 'length']); | |
| 1917 return ReversedListIterable; | |
| 1918 }); | |
| 1919 let ReversedListIterable = ReversedListIterable$(); | |
| 1920 class UnmodifiableListError extends core.Object { | |
| 1921 static add() { | |
| 1922 return new core.UnsupportedError("Cannot add to unmodifiable List"); | |
| 1923 } | |
| 1924 static change() { | |
| 1925 return new core.UnsupportedError("Cannot change the content of an unmodifi
able List"); | |
| 1926 } | |
| 1927 static length() { | |
| 1928 return new core.UnsupportedError("Cannot change length of unmodifiable Lis
t"); | |
| 1929 } | |
| 1930 static remove() { | |
| 1931 return new core.UnsupportedError("Cannot remove from unmodifiable List"); | |
| 1932 } | |
| 1933 } | |
| 1934 dart.setSignature(UnmodifiableListError, { | |
| 1935 statics: () => ({ | |
| 1936 add: [core.UnsupportedError, []], | |
| 1937 change: [core.UnsupportedError, []], | |
| 1938 length: [core.UnsupportedError, []], | |
| 1939 remove: [core.UnsupportedError, []] | |
| 1940 }), | |
| 1941 names: ['add', 'change', 'length', 'remove'] | |
| 1942 }); | |
| 1943 class NonGrowableListError extends core.Object { | |
| 1944 static add() { | |
| 1945 return new core.UnsupportedError("Cannot add to non-growable List"); | |
| 1946 } | |
| 1947 static length() { | |
| 1948 return new core.UnsupportedError("Cannot change length of non-growable Lis
t"); | |
| 1949 } | |
| 1950 static remove() { | |
| 1951 return new core.UnsupportedError("Cannot remove from non-growable List"); | |
| 1952 } | |
| 1953 } | |
| 1954 dart.setSignature(NonGrowableListError, { | |
| 1955 statics: () => ({ | |
| 1956 add: [core.UnsupportedError, []], | |
| 1957 length: [core.UnsupportedError, []], | |
| 1958 remove: [core.UnsupportedError, []] | |
| 1959 }), | |
| 1960 names: ['add', 'length', 'remove'] | |
| 1961 }); | |
| 1962 function makeListFixedLength(growableList) { | |
| 1963 _interceptors.JSArray.markFixedList(growableList); | |
| 1964 return growableList; | |
| 1965 } | |
| 1966 dart.fn(makeListFixedLength, core.List, [core.List]); | |
| 1967 class Lists extends core.Object { | |
| 1968 static copy(src, srcStart, dst, dstStart, count) { | |
| 1969 if (dart.notNull(srcStart) < dart.notNull(dstStart)) { | |
| 1970 for (let i = dart.notNull(srcStart) + dart.notNull(count) - 1, j = dart.
notNull(dstStart) + dart.notNull(count) - 1; dart.notNull(i) >= dart.notNull(src
Start); i = dart.notNull(i) - 1, j = dart.notNull(j) - 1) { | |
| 1971 dst[dartx.set](j, src[dartx.get](i)); | |
| 1972 } | |
| 1973 } else { | |
| 1974 for (let i = srcStart, j = dstStart; dart.notNull(i) < dart.notNull(srcS
tart) + dart.notNull(count); i = dart.notNull(i) + 1, j = dart.notNull(j) + 1) { | |
| 1975 dst[dartx.set](j, src[dartx.get](i)); | |
| 1976 } | |
| 1977 } | |
| 1978 } | |
| 1979 static areEqual(a, b) { | |
| 1980 if (dart.notNull(core.identical(a, b))) | |
| 1981 return true; | |
| 1982 if (!dart.is(b, core.List)) | |
| 1983 return false; | |
| 1984 let length = a[dartx.length]; | |
| 1985 if (!dart.equals(length, dart.dload(b, 'length'))) | |
| 1986 return false; | |
| 1987 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i
) + 1) { | |
| 1988 if (!dart.notNull(core.identical(a[dartx.get](i), dart.dindex(b, i)))) | |
| 1989 return false; | |
| 1990 } | |
| 1991 return true; | |
| 1992 } | |
| 1993 static indexOf(a, element, startIndex, endIndex) { | |
| 1994 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { | |
| 1995 return -1; | |
| 1996 } | |
| 1997 if (dart.notNull(startIndex) < 0) { | |
| 1998 startIndex = 0; | |
| 1999 } | |
| 2000 for (let i = startIndex; dart.notNull(i) < dart.notNull(endIndex); i = dar
t.notNull(i) + 1) { | |
| 2001 if (dart.equals(a[dartx.get](i), element)) { | |
| 2002 return i; | |
| 2003 } | |
| 2004 } | |
| 2005 return -1; | |
| 2006 } | |
| 2007 static lastIndexOf(a, element, startIndex) { | |
| 2008 if (dart.notNull(startIndex) < 0) { | |
| 2009 return -1; | |
| 2010 } | |
| 2011 if (dart.notNull(startIndex) >= dart.notNull(a[dartx.length])) { | |
| 2012 startIndex = dart.notNull(a[dartx.length]) - 1; | |
| 2013 } | |
| 2014 for (let i = startIndex; dart.notNull(i) >= 0; i = dart.notNull(i) - 1) { | |
| 2015 if (dart.equals(a[dartx.get](i), element)) { | |
| 2016 return i; | |
| 2017 } | |
| 2018 } | |
| 2019 return -1; | |
| 2020 } | |
| 2021 static indicesCheck(a, start, end) { | |
| 2022 core.RangeError.checkValidRange(start, end, a[dartx.length]); | |
| 2023 } | |
| 2024 static rangeCheck(a, start, length) { | |
| 2025 core.RangeError.checkNotNegative(length); | |
| 2026 core.RangeError.checkNotNegative(start); | |
| 2027 if (dart.notNull(start) + dart.notNull(length) > dart.notNull(a[dartx.leng
th])) { | |
| 2028 let message = `${start} + ${length} must be in the range [0..${a[dartx.l
ength]}]`; | |
| 2029 dart.throw(new core.RangeError.range(length, 0, dart.notNull(a[dartx.len
gth]) - dart.notNull(start), "length", message)); | |
| 2030 } | |
| 2031 } | |
| 2032 } | |
| 2033 dart.setSignature(Lists, { | |
| 2034 statics: () => ({ | |
| 2035 copy: [dart.void, [core.List, core.int, core.List, core.int, core.int]], | |
| 2036 areEqual: [core.bool, [core.List, dart.dynamic]], | |
| 2037 indexOf: [core.int, [core.List, core.Object, core.int, core.int]], | |
| 2038 lastIndexOf: [core.int, [core.List, core.Object, core.int]], | |
| 2039 indicesCheck: [dart.void, [core.List, core.int, core.int]], | |
| 2040 rangeCheck: [dart.void, [core.List, core.int, core.int]] | |
| 2041 }), | |
| 2042 names: ['copy', 'areEqual', 'indexOf', 'lastIndexOf', 'indicesCheck', 'range
Check'] | |
| 2043 }); | |
| 2044 exports.printToZone = null; | |
| 2045 function printToConsole(line) { | |
| 2046 _js_primitives.printString(`${line}`); | |
| 2047 } | |
| 2048 dart.fn(printToConsole, dart.void, [core.String]); | |
| 2049 class Sort extends core.Object { | |
| 2050 static sort(a, compare) { | |
| 2051 Sort._doSort(a, 0, dart.notNull(a[dartx.length]) - 1, compare); | |
| 2052 } | |
| 2053 static sortRange(a, from, to, compare) { | |
| 2054 if (dart.notNull(from) < 0 || dart.notNull(to) > dart.notNull(a[dartx.leng
th]) || dart.notNull(to) < dart.notNull(from)) { | |
| 2055 dart.throw("OutOfRange"); | |
| 2056 } | |
| 2057 Sort._doSort(a, from, dart.notNull(to) - 1, compare); | |
| 2058 } | |
| 2059 static _doSort(a, left, right, compare) { | |
| 2060 if (dart.notNull(right) - dart.notNull(left) <= dart.notNull(Sort._INSERTI
ON_SORT_THRESHOLD)) { | |
| 2061 Sort._insertionSort(a, left, right, compare); | |
| 2062 } else { | |
| 2063 Sort._dualPivotQuicksort(a, left, right, compare); | |
| 2064 } | |
| 2065 } | |
| 2066 static _insertionSort(a, left, right, compare) { | |
| 2067 for (let i = dart.notNull(left) + 1; dart.notNull(i) <= dart.notNull(right
); i = dart.notNull(i) + 1) { | |
| 2068 let el = a[dartx.get](i); | |
| 2069 let j = i; | |
| 2070 while (dart.notNull(j) > dart.notNull(left) && dart.notNull(dart.dcall(c
ompare, a[dartx.get](dart.notNull(j) - 1), el)) > 0) { | |
| 2071 a[dartx.set](j, a[dartx.get](dart.notNull(j) - 1)); | |
| 2072 j = dart.notNull(j) - 1; | |
| 2073 } | |
| 2074 a[dartx.set](j, el); | |
| 2075 } | |
| 2076 } | |
| 2077 static _dualPivotQuicksort(a, left, right, compare) { | |
| 2078 dart.assert(dart.notNull(right) - dart.notNull(left) > dart.notNull(Sort._
INSERTION_SORT_THRESHOLD)); | |
| 2079 let sixth = ((dart.notNull(right) - dart.notNull(left) + 1) / 6)[dartx.tru
ncate](); | |
| 2080 let index1 = dart.notNull(left) + dart.notNull(sixth); | |
| 2081 let index5 = dart.notNull(right) - dart.notNull(sixth); | |
| 2082 let index3 = ((dart.notNull(left) + dart.notNull(right)) / 2)[dartx.trunca
te](); | |
| 2083 let index2 = dart.notNull(index3) - dart.notNull(sixth); | |
| 2084 let index4 = dart.notNull(index3) + dart.notNull(sixth); | |
| 2085 let el1 = a[dartx.get](index1); | |
| 2086 let el2 = a[dartx.get](index2); | |
| 2087 let el3 = a[dartx.get](index3); | |
| 2088 let el4 = a[dartx.get](index4); | |
| 2089 let el5 = a[dartx.get](index5); | |
| 2090 if (dart.notNull(dart.dcall(compare, el1, el2)) > 0) { | |
| 2091 let t = el1; | |
| 2092 el1 = el2; | |
| 2093 el2 = t; | |
| 2094 } | |
| 2095 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) { | |
| 2096 let t = el4; | |
| 2097 el4 = el5; | |
| 2098 el5 = t; | |
| 2099 } | |
| 2100 if (dart.notNull(dart.dcall(compare, el1, el3)) > 0) { | |
| 2101 let t = el1; | |
| 2102 el1 = el3; | |
| 2103 el3 = t; | |
| 2104 } | |
| 2105 if (dart.notNull(dart.dcall(compare, el2, el3)) > 0) { | |
| 2106 let t = el2; | |
| 2107 el2 = el3; | |
| 2108 el3 = t; | |
| 2109 } | |
| 2110 if (dart.notNull(dart.dcall(compare, el1, el4)) > 0) { | |
| 2111 let t = el1; | |
| 2112 el1 = el4; | |
| 2113 el4 = t; | |
| 2114 } | |
| 2115 if (dart.notNull(dart.dcall(compare, el3, el4)) > 0) { | |
| 2116 let t = el3; | |
| 2117 el3 = el4; | |
| 2118 el4 = t; | |
| 2119 } | |
| 2120 if (dart.notNull(dart.dcall(compare, el2, el5)) > 0) { | |
| 2121 let t = el2; | |
| 2122 el2 = el5; | |
| 2123 el5 = t; | |
| 2124 } | |
| 2125 if (dart.notNull(dart.dcall(compare, el2, el3)) > 0) { | |
| 2126 let t = el2; | |
| 2127 el2 = el3; | |
| 2128 el3 = t; | |
| 2129 } | |
| 2130 if (dart.notNull(dart.dcall(compare, el4, el5)) > 0) { | |
| 2131 let t = el4; | |
| 2132 el4 = el5; | |
| 2133 el5 = t; | |
| 2134 } | |
| 2135 let pivot1 = el2; | |
| 2136 let pivot2 = el4; | |
| 2137 a[dartx.set](index1, el1); | |
| 2138 a[dartx.set](index3, el3); | |
| 2139 a[dartx.set](index5, el5); | |
| 2140 a[dartx.set](index2, a[dartx.get](left)); | |
| 2141 a[dartx.set](index4, a[dartx.get](right)); | |
| 2142 let less = dart.notNull(left) + 1; | |
| 2143 let great = dart.notNull(right) - 1; | |
| 2144 let pivots_are_equal = dart.dcall(compare, pivot1, pivot2) == 0; | |
| 2145 if (dart.notNull(pivots_are_equal)) { | |
| 2146 let pivot = pivot1; | |
| 2147 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN
ull(k) + 1) { | |
| 2148 let ak = a[dartx.get](k); | |
| 2149 let comp = dart.dcall(compare, ak, pivot); | |
| 2150 if (comp == 0) | |
| 2151 continue; | |
| 2152 if (dart.notNull(comp) < 0) { | |
| 2153 if (k != less) { | |
| 2154 a[dartx.set](k, a[dartx.get](less)); | |
| 2155 a[dartx.set](less, ak); | |
| 2156 } | |
| 2157 less = dart.notNull(less) + 1; | |
| 2158 } else { | |
| 2159 while (true) { | |
| 2160 comp = dart.dcall(compare, a[dartx.get](great), pivot); | |
| 2161 if (dart.notNull(comp) > 0) { | |
| 2162 great = dart.notNull(great) - 1; | |
| 2163 continue; | |
| 2164 } else if (dart.notNull(comp) < 0) { | |
| 2165 a[dartx.set](k, a[dartx.get](less)); | |
| 2166 a[dartx.set]((() => { | |
| 2167 let x = less; | |
| 2168 less = dart.notNull(x) + 1; | |
| 2169 return x; | |
| 2170 })(), a[dartx.get](great)); | |
| 2171 a[dartx.set]((() => { | |
| 2172 let x = great; | |
| 2173 great = dart.notNull(x) - 1; | |
| 2174 return x; | |
| 2175 })(), ak); | |
| 2176 break; | |
| 2177 } else { | |
| 2178 a[dartx.set](k, a[dartx.get](great)); | |
| 2179 a[dartx.set]((() => { | |
| 2180 let x = great; | |
| 2181 great = dart.notNull(x) - 1; | |
| 2182 return x; | |
| 2183 })(), ak); | |
| 2184 break; | |
| 2185 } | |
| 2186 } | |
| 2187 } | |
| 2188 } | |
| 2189 } else { | |
| 2190 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN
ull(k) + 1) { | |
| 2191 let ak = a[dartx.get](k); | |
| 2192 let comp_pivot1 = dart.dcall(compare, ak, pivot1); | |
| 2193 if (dart.notNull(comp_pivot1) < 0) { | |
| 2194 if (k != less) { | |
| 2195 a[dartx.set](k, a[dartx.get](less)); | |
| 2196 a[dartx.set](less, ak); | |
| 2197 } | |
| 2198 less = dart.notNull(less) + 1; | |
| 2199 } else { | |
| 2200 let comp_pivot2 = dart.dcall(compare, ak, pivot2); | |
| 2201 if (dart.notNull(comp_pivot2) > 0) { | |
| 2202 while (true) { | |
| 2203 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); | |
| 2204 if (dart.notNull(comp) > 0) { | |
| 2205 great = dart.notNull(great) - 1; | |
| 2206 if (dart.notNull(great) < dart.notNull(k)) | |
| 2207 break; | |
| 2208 continue; | |
| 2209 } else { | |
| 2210 comp = dart.dcall(compare, a[dartx.get](great), pivot1); | |
| 2211 if (dart.notNull(comp) < 0) { | |
| 2212 a[dartx.set](k, a[dartx.get](less)); | |
| 2213 a[dartx.set]((() => { | |
| 2214 let x = less; | |
| 2215 less = dart.notNull(x) + 1; | |
| 2216 return x; | |
| 2217 })(), a[dartx.get](great)); | |
| 2218 a[dartx.set]((() => { | |
| 2219 let x = great; | |
| 2220 great = dart.notNull(x) - 1; | |
| 2221 return x; | |
| 2222 })(), ak); | |
| 2223 } else { | |
| 2224 a[dartx.set](k, a[dartx.get](great)); | |
| 2225 a[dartx.set]((() => { | |
| 2226 let x = great; | |
| 2227 great = dart.notNull(x) - 1; | |
| 2228 return x; | |
| 2229 })(), ak); | |
| 2230 } | |
| 2231 break; | |
| 2232 } | |
| 2233 } | |
| 2234 } | |
| 2235 } | |
| 2236 } | |
| 2237 } | |
| 2238 a[dartx.set](left, a[dartx.get](dart.notNull(less) - 1)); | |
| 2239 a[dartx.set](dart.notNull(less) - 1, pivot1); | |
| 2240 a[dartx.set](right, a[dartx.get](dart.notNull(great) + 1)); | |
| 2241 a[dartx.set](dart.notNull(great) + 1, pivot2); | |
| 2242 Sort._doSort(a, left, dart.notNull(less) - 2, compare); | |
| 2243 Sort._doSort(a, dart.notNull(great) + 2, right, compare); | |
| 2244 if (dart.notNull(pivots_are_equal)) { | |
| 2245 return; | |
| 2246 } | |
| 2247 if (dart.notNull(less) < dart.notNull(index1) && dart.notNull(great) > dar
t.notNull(index5)) { | |
| 2248 while (dart.dcall(compare, a[dartx.get](less), pivot1) == 0) { | |
| 2249 less = dart.notNull(less) + 1; | |
| 2250 } | |
| 2251 while (dart.dcall(compare, a[dartx.get](great), pivot2) == 0) { | |
| 2252 great = dart.notNull(great) - 1; | |
| 2253 } | |
| 2254 for (let k = less; dart.notNull(k) <= dart.notNull(great); k = dart.notN
ull(k) + 1) { | |
| 2255 let ak = a[dartx.get](k); | |
| 2256 let comp_pivot1 = dart.dcall(compare, ak, pivot1); | |
| 2257 if (comp_pivot1 == 0) { | |
| 2258 if (k != less) { | |
| 2259 a[dartx.set](k, a[dartx.get](less)); | |
| 2260 a[dartx.set](less, ak); | |
| 2261 } | |
| 2262 less = dart.notNull(less) + 1; | |
| 2263 } else { | |
| 2264 let comp_pivot2 = dart.dcall(compare, ak, pivot2); | |
| 2265 if (comp_pivot2 == 0) { | |
| 2266 while (true) { | |
| 2267 let comp = dart.dcall(compare, a[dartx.get](great), pivot2); | |
| 2268 if (comp == 0) { | |
| 2269 great = dart.notNull(great) - 1; | |
| 2270 if (dart.notNull(great) < dart.notNull(k)) | |
| 2271 break; | |
| 2272 continue; | |
| 2273 } else { | |
| 2274 comp = dart.dcall(compare, a[dartx.get](great), pivot1); | |
| 2275 if (dart.notNull(comp) < 0) { | |
| 2276 a[dartx.set](k, a[dartx.get](less)); | |
| 2277 a[dartx.set]((() => { | |
| 2278 let x = less; | |
| 2279 less = dart.notNull(x) + 1; | |
| 2280 return x; | |
| 2281 })(), a[dartx.get](great)); | |
| 2282 a[dartx.set]((() => { | |
| 2283 let x = great; | |
| 2284 great = dart.notNull(x) - 1; | |
| 2285 return x; | |
| 2286 })(), ak); | |
| 2287 } else { | |
| 2288 a[dartx.set](k, a[dartx.get](great)); | |
| 2289 a[dartx.set]((() => { | |
| 2290 let x = great; | |
| 2291 great = dart.notNull(x) - 1; | |
| 2292 return x; | |
| 2293 })(), ak); | |
| 2294 } | |
| 2295 break; | |
| 2296 } | |
| 2297 } | |
| 2298 } | |
| 2299 } | |
| 2300 } | |
| 2301 Sort._doSort(a, less, great, compare); | |
| 2302 } else { | |
| 2303 Sort._doSort(a, less, great, compare); | |
| 2304 } | |
| 2305 } | |
| 2306 } | |
| 2307 dart.setSignature(Sort, { | |
| 2308 statics: () => ({ | |
| 2309 sort: [dart.void, [core.List, dart.functionType(core.int, [dart.dynamic, d
art.dynamic])]], | |
| 2310 sortRange: [dart.void, [core.List, core.int, core.int, dart.functionType(c
ore.int, [dart.dynamic, dart.dynamic])]], | |
| 2311 _doSort: [dart.void, [core.List, core.int, core.int, dart.functionType(cor
e.int, [dart.dynamic, dart.dynamic])]], | |
| 2312 _insertionSort: [dart.void, [core.List, core.int, core.int, dart.functionT
ype(core.int, [dart.dynamic, dart.dynamic])]], | |
| 2313 _dualPivotQuicksort: [dart.void, [core.List, core.int, core.int, dart.func
tionType(core.int, [dart.dynamic, dart.dynamic])]] | |
| 2314 }), | |
| 2315 names: ['sort', 'sortRange', '_doSort', '_insertionSort', '_dualPivotQuickso
rt'] | |
| 2316 }); | |
| 2317 Sort._INSERTION_SORT_THRESHOLD = 32; | |
| 2318 let _name = dart.JsSymbol('_name'); | |
| 2319 class Symbol extends core.Object { | |
| 2320 Symbol(name) { | |
| 2321 this[_name] = name; | |
| 2322 } | |
| 2323 unvalidated(name) { | |
| 2324 this[_name] = name; | |
| 2325 } | |
| 2326 validated(name) { | |
| 2327 this[_name] = Symbol.validatePublicSymbol(name); | |
| 2328 } | |
| 2329 ['=='](other) { | |
| 2330 return dart.is(other, Symbol) && this[_name] == other[_name]; | |
| 2331 } | |
| 2332 get hashCode() { | |
| 2333 let arbitraryPrime = 664597; | |
| 2334 return 536870911 & dart.notNull(arbitraryPrime) * dart.notNull(dart.hashCo
de(this[_name])); | |
| 2335 } | |
| 2336 toString() { | |
| 2337 return `Symbol("${this[_name]}")`; | |
| 2338 } | |
| 2339 static getName(symbol) { | |
| 2340 return symbol[_name]; | |
| 2341 } | |
| 2342 static validatePublicSymbol(name) { | |
| 2343 if (dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.publicSymbolP
attern.hasMatch(name))) | |
| 2344 return name; | |
| 2345 if (dart.notNull(name[dartx.startsWith]('_'))) { | |
| 2346 dart.throw(new core.ArgumentError(`"${name}" is a private identifier`)); | |
| 2347 } | |
| 2348 dart.throw(new core.ArgumentError(`"${name}" is not a valid (qualified) sy
mbol name`)); | |
| 2349 } | |
| 2350 static isValidSymbol(name) { | |
| 2351 return dart.notNull(name[dartx.isEmpty]) || dart.notNull(Symbol.symbolPatt
ern.hasMatch(name)); | |
| 2352 } | |
| 2353 } | |
| 2354 Symbol[dart.implements] = () => [core.Symbol]; | |
| 2355 dart.defineNamedConstructor(Symbol, 'unvalidated'); | |
| 2356 dart.defineNamedConstructor(Symbol, 'validated'); | |
| 2357 dart.setSignature(Symbol, { | |
| 2358 constructors: () => ({ | |
| 2359 Symbol: [Symbol, [core.String]], | |
| 2360 unvalidated: [Symbol, [core.String]], | |
| 2361 validated: [Symbol, [core.String]] | |
| 2362 }), | |
| 2363 methods: () => ({'==': [core.bool, [core.Object]]}), | |
| 2364 statics: () => ({ | |
| 2365 getName: [core.String, [Symbol]], | |
| 2366 validatePublicSymbol: [core.String, [core.String]], | |
| 2367 isValidSymbol: [core.bool, [core.String]] | |
| 2368 }), | |
| 2369 names: ['getName', 'validatePublicSymbol', 'isValidSymbol'] | |
| 2370 }); | |
| 2371 Symbol.reservedWordRE = '(?:assert|break|c(?:a(?:se|tch)|lass|on(?:st|tinue))|
d(?:efault|o)|' + 'e(?:lse|num|xtends)|f(?:alse|inal(?:ly)?|or)|i[fns]|n(?:ew|ul
l)|' + 'ret(?:hrow|urn)|s(?:uper|witch)|t(?:h(?:is|row)|r(?:ue|y))|' + 'v(?:ar|o
id)|w(?:hile|ith))'; | |
| 2372 Symbol.publicIdentifierRE = '(?!' + `${Symbol.reservedWordRE}` + '\\b(?!\\$))[
a-zA-Z$][\\w$]*'; | |
| 2373 Symbol.identifierRE = '(?!' + `${Symbol.reservedWordRE}` + '\\b(?!\\$))[a-zA-Z
$_][\\w$]*'; | |
| 2374 Symbol.operatorRE = '(?:[\\-+*/%&|^]|\\[\\]=?|==|~/?|<[<=]?|>[>=]?|unary-)'; | |
| 2375 let POWERS_OF_TEN = dart.const([1.0, 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1
000000.0, 10000000.0, 100000000.0, 1000000000.0, 10000000000.0, 100000000000.0,
1000000000000.0, 10000000000000.0, 100000000000000.0, 1000000000000000.0, 100000
00000000000.0, 100000000000000000.0, 1000000000000000000.0, 10000000000000000000
.0, 100000000000000000000.0, 1e+21, 1e+22]); | |
| 2376 dart.defineLazyProperties(Symbol, { | |
| 2377 get publicSymbolPattern() { | |
| 2378 return core.RegExp.new(`^(?:${Symbol.operatorRE}$|${Symbol.publicIdentifie
rRE}(?:=?$|[.](?!$)))+?$`); | |
| 2379 }, | |
| 2380 get symbolPattern() { | |
| 2381 return core.RegExp.new(`^(?:${Symbol.operatorRE}$|${Symbol.identifierRE}(?
:=?$|[.](?!$)))+?$`); | |
| 2382 } | |
| 2383 }); | |
| 2384 // Exports: | |
| 2385 exports.EfficientLength = EfficientLength; | |
| 2386 exports.ListIterable$ = ListIterable$; | |
| 2387 exports.ListIterable = ListIterable; | |
| 2388 exports.SubListIterable$ = SubListIterable$; | |
| 2389 exports.SubListIterable = SubListIterable; | |
| 2390 exports.ListIterator$ = ListIterator$; | |
| 2391 exports.ListIterator = ListIterator; | |
| 2392 exports.MappedIterable$ = MappedIterable$; | |
| 2393 exports.MappedIterable = MappedIterable; | |
| 2394 exports.EfficientLengthMappedIterable$ = EfficientLengthMappedIterable$; | |
| 2395 exports.EfficientLengthMappedIterable = EfficientLengthMappedIterable; | |
| 2396 exports.MappedIterator$ = MappedIterator$; | |
| 2397 exports.MappedIterator = MappedIterator; | |
| 2398 exports.MappedListIterable$ = MappedListIterable$; | |
| 2399 exports.MappedListIterable = MappedListIterable; | |
| 2400 exports.WhereIterable$ = WhereIterable$; | |
| 2401 exports.WhereIterable = WhereIterable; | |
| 2402 exports.WhereIterator$ = WhereIterator$; | |
| 2403 exports.WhereIterator = WhereIterator; | |
| 2404 exports.ExpandIterable$ = ExpandIterable$; | |
| 2405 exports.ExpandIterable = ExpandIterable; | |
| 2406 exports.ExpandIterator$ = ExpandIterator$; | |
| 2407 exports.ExpandIterator = ExpandIterator; | |
| 2408 exports.TakeIterable$ = TakeIterable$; | |
| 2409 exports.TakeIterable = TakeIterable; | |
| 2410 exports.EfficientLengthTakeIterable$ = EfficientLengthTakeIterable$; | |
| 2411 exports.EfficientLengthTakeIterable = EfficientLengthTakeIterable; | |
| 2412 exports.TakeIterator$ = TakeIterator$; | |
| 2413 exports.TakeIterator = TakeIterator; | |
| 2414 exports.TakeWhileIterable$ = TakeWhileIterable$; | |
| 2415 exports.TakeWhileIterable = TakeWhileIterable; | |
| 2416 exports.TakeWhileIterator$ = TakeWhileIterator$; | |
| 2417 exports.TakeWhileIterator = TakeWhileIterator; | |
| 2418 exports.SkipIterable$ = SkipIterable$; | |
| 2419 exports.SkipIterable = SkipIterable; | |
| 2420 exports.EfficientLengthSkipIterable$ = EfficientLengthSkipIterable$; | |
| 2421 exports.EfficientLengthSkipIterable = EfficientLengthSkipIterable; | |
| 2422 exports.SkipIterator$ = SkipIterator$; | |
| 2423 exports.SkipIterator = SkipIterator; | |
| 2424 exports.SkipWhileIterable$ = SkipWhileIterable$; | |
| 2425 exports.SkipWhileIterable = SkipWhileIterable; | |
| 2426 exports.SkipWhileIterator$ = SkipWhileIterator$; | |
| 2427 exports.SkipWhileIterator = SkipWhileIterator; | |
| 2428 exports.EmptyIterable$ = EmptyIterable$; | |
| 2429 exports.EmptyIterable = EmptyIterable; | |
| 2430 exports.EmptyIterator$ = EmptyIterator$; | |
| 2431 exports.EmptyIterator = EmptyIterator; | |
| 2432 exports.BidirectionalIterator$ = BidirectionalIterator$; | |
| 2433 exports.BidirectionalIterator = BidirectionalIterator; | |
| 2434 exports.IterableMixinWorkaround$ = IterableMixinWorkaround$; | |
| 2435 exports.IterableMixinWorkaround = IterableMixinWorkaround; | |
| 2436 exports.IterableElementError = IterableElementError; | |
| 2437 exports.FixedLengthListMixin$ = FixedLengthListMixin$; | |
| 2438 exports.FixedLengthListMixin = FixedLengthListMixin; | |
| 2439 exports.UnmodifiableListMixin$ = UnmodifiableListMixin$; | |
| 2440 exports.UnmodifiableListMixin = UnmodifiableListMixin; | |
| 2441 exports.FixedLengthListBase$ = FixedLengthListBase$; | |
| 2442 exports.FixedLengthListBase = FixedLengthListBase; | |
| 2443 exports.UnmodifiableListBase$ = UnmodifiableListBase$; | |
| 2444 exports.UnmodifiableListBase = UnmodifiableListBase; | |
| 2445 exports.ListMapView$ = ListMapView$; | |
| 2446 exports.ListMapView = ListMapView; | |
| 2447 exports.ReversedListIterable$ = ReversedListIterable$; | |
| 2448 exports.ReversedListIterable = ReversedListIterable; | |
| 2449 exports.UnmodifiableListError = UnmodifiableListError; | |
| 2450 exports.NonGrowableListError = NonGrowableListError; | |
| 2451 exports.makeListFixedLength = makeListFixedLength; | |
| 2452 exports.Lists = Lists; | |
| 2453 exports.printToConsole = printToConsole; | |
| 2454 exports.Sort = Sort; | |
| 2455 exports.Symbol = Symbol; | |
| 2456 exports.POWERS_OF_TEN = POWERS_OF_TEN; | |
| 2457 }); | |
| OLD | NEW |