Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: lib/runtime/dart/core.js

Issue 1071393007: fuse List and js Array together and a few other misc fixes. (Closed) Base URL: git@github.com:dart-lang/dart-dev-compiler.git@master
Patch Set: ptal Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart_runtime.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var core; 1 var core;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 class Object { 4 class Object {
5 constructor() { 5 constructor() {
6 let name = this.constructor.name; 6 let name = this.constructor.name;
7 let init = this[name]; 7 let init = this[name];
8 let result = void 0; 8 let result = void 0;
9 if (init) 9 if (init)
10 result = init.apply(this, arguments); 10 result = init.apply(this, arguments);
(...skipping 775 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 this[_memberName] = memberName; 786 this[_memberName] = memberName;
787 this[_arguments] = positionalArguments; 787 this[_arguments] = positionalArguments;
788 this[_namedArguments] = namedArguments; 788 this[_namedArguments] = namedArguments;
789 this[_existingArgumentNames] = existingArgumentNames; 789 this[_existingArgumentNames] = existingArgumentNames;
790 super.Error(); 790 super.Error();
791 } 791 }
792 toString() { 792 toString() {
793 let sb = new StringBuffer(); 793 let sb = new StringBuffer();
794 let i = 0; 794 let i = 0;
795 if (this[_arguments] != null) { 795 if (this[_arguments] != null) {
796 for (; dart.notNull(i) < dart.notNull(this[_arguments][exports.$length]) ; i = dart.notNull(i) + 1) { 796 for (; dart.notNull(i) < dart.notNull(this[_arguments][$length]); i = da rt.notNull(i) + 1) {
797 if (dart.notNull(i) > 0) { 797 if (dart.notNull(i) > 0) {
798 sb.write(", "); 798 sb.write(", ");
799 } 799 }
800 sb.write(Error.safeToString(this[_arguments][exports.$get](i))); 800 sb.write(Error.safeToString(this[_arguments][$get](i)));
801 } 801 }
802 } 802 }
803 if (this[_namedArguments] != null) { 803 if (this[_namedArguments] != null) {
804 this[_namedArguments].forEach((key, value) => { 804 this[_namedArguments].forEach((key, value) => {
805 if (dart.notNull(i) > 0) { 805 if (dart.notNull(i) > 0) {
806 sb.write(", "); 806 sb.write(", ");
807 } 807 }
808 sb.write(_symbolToString(key)); 808 sb.write(_symbolToString(key));
809 sb.write(": "); 809 sb.write(": ");
810 sb.write(Error.safeToString(value)); 810 sb.write(Error.safeToString(value));
811 i = dart.notNull(i) + 1; 811 i = dart.notNull(i) + 1;
812 }); 812 });
813 } 813 }
814 if (this[_existingArgumentNames] == null) { 814 if (this[_existingArgumentNames] == null) {
815 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`; 815 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`;
816 } else { 816 } else {
817 let actualParameters = sb.toString(); 817 let actualParameters = sb.toString();
818 sb = new StringBuffer(); 818 sb = new StringBuffer();
819 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es][exports.$length]); i = dart.notNull(i) + 1) { 819 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es][$length]); i = dart.notNull(i) + 1) {
820 if (dart.notNull(i) > 0) { 820 if (dart.notNull(i) > 0) {
821 sb.write(", "); 821 sb.write(", ");
822 } 822 }
823 sb.write(this[_existingArgumentNames][exports.$get](i)); 823 sb.write(this[_existingArgumentNames][$get](i));
824 } 824 }
825 let formalParameters = sb.toString(); 825 let formalParameters = sb.toString();
826 return "NoSuchMethodError: incorrect number of arguments passed to " + ` method named '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_r eceiver])}\n` + `Tried calling: ${this[_memberName]}(${actualParameters})\n` + ` Found: ${this[_memberName]}(${formalParameters})`; 826 return "NoSuchMethodError: incorrect number of arguments passed to " + ` method named '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_r eceiver])}\n` + `Tried calling: ${this[_memberName]}(${actualParameters})\n` + ` Found: ${this[_memberName]}(${formalParameters})`;
827 } 827 }
828 } 828 }
829 } 829 }
830 class UnsupportedError extends Error { 830 class UnsupportedError extends Error {
831 UnsupportedError(message) { 831 UnsupportedError(message) {
832 this.message = message; 832 this.message = message;
833 super.Error(); 833 super.Error();
(...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 class Iterable extends Object { 1096 class Iterable extends Object {
1097 Iterable() { 1097 Iterable() {
1098 } 1098 }
1099 generate(count, generator) { 1099 generate(count, generator) {
1100 if (generator === void 0) 1100 if (generator === void 0)
1101 generator = null; 1101 generator = null;
1102 if (dart.notNull(count) <= 0) 1102 if (dart.notNull(count) <= 0)
1103 return new (_internal.EmptyIterable$(E))(); 1103 return new (_internal.EmptyIterable$(E))();
1104 return new (exports._GeneratorIterable$(E))(count, generator); 1104 return new (exports._GeneratorIterable$(E))(count, generator);
1105 } 1105 }
1106 [exports.$join](separator) { 1106 [$join](separator) {
1107 if (separator === void 0) 1107 if (separator === void 0)
1108 separator = ""; 1108 separator = "";
1109 let buffer = new StringBuffer(); 1109 let buffer = new StringBuffer();
1110 buffer.writeAll(this, separator); 1110 buffer.writeAll(this, separator);
1111 return buffer.toString(); 1111 return buffer.toString();
1112 } 1112 }
1113 [dart.JsSymbol.iterator]() { 1113 [dart.JsSymbol.iterator]() {
1114 var iterator = this.iterator; 1114 var iterator = this.iterator;
1115 return { 1115 return {
1116 next() { 1116 next() {
(...skipping 26 matching lines...) Expand all
1143 this[_start] = 0; 1143 this[_start] = 0;
1144 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable[_id], _Generator$(E)); 1144 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable[_id], _Generator$(E));
1145 super.IterableBase(); 1145 super.IterableBase();
1146 } 1146 }
1147 slice(start, end, generator) { 1147 slice(start, end, generator) {
1148 this[_start] = start; 1148 this[_start] = start;
1149 this[_end] = end; 1149 this[_end] = end;
1150 this[_generator] = generator; 1150 this[_generator] = generator;
1151 super.IterableBase(); 1151 super.IterableBase();
1152 } 1152 }
1153 get [exports.$iterator]() { 1153 get [$iterator]() {
1154 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]); 1154 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]);
1155 } 1155 }
1156 get [exports.$length]() { 1156 get [$length]() {
1157 return dart.notNull(this[_end]) - dart.notNull(this[_start]); 1157 return dart.notNull(this[_end]) - dart.notNull(this[_start]);
1158 } 1158 }
1159 [exports.$skip](count) { 1159 [$skip](count) {
1160 RangeError.checkNotNegative(count, "count"); 1160 RangeError.checkNotNegative(count, "count");
1161 if (count == 0) 1161 if (count == 0)
1162 return this; 1162 return this;
1163 let newStart = dart.notNull(this[_start]) + dart.notNull(count); 1163 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
1164 if (dart.notNull(newStart) >= dart.notNull(this[_end])) 1164 if (dart.notNull(newStart) >= dart.notNull(this[_end]))
1165 return new (_internal.EmptyIterable$(E))(); 1165 return new (_internal.EmptyIterable$(E))();
1166 return new exports._GeneratorIterable$(E).slice(newStart, this[_end], th is[_generator]); 1166 return new exports._GeneratorIterable$(E).slice(newStart, this[_end], th is[_generator]);
1167 } 1167 }
1168 [exports.$take](count) { 1168 [$take](count) {
1169 RangeError.checkNotNegative(count, "count"); 1169 RangeError.checkNotNegative(count, "count");
1170 if (count == 0) 1170 if (count == 0)
1171 return new (_internal.EmptyIterable$(E))(); 1171 return new (_internal.EmptyIterable$(E))();
1172 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 1172 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
1173 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) 1173 if (dart.notNull(newEnd) >= dart.notNull(this[_end]))
1174 return this; 1174 return this;
1175 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]); 1175 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]);
1176 } 1176 }
1177 static [_id](n) { 1177 static [_id](n) {
1178 return n; 1178 return n;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1217 return BidirectionalIterator; 1217 return BidirectionalIterator;
1218 }); 1218 });
1219 let BidirectionalIterator = BidirectionalIterator$(); 1219 let BidirectionalIterator = BidirectionalIterator$();
1220 let Iterator$ = dart.generic(function(E) { 1220 let Iterator$ = dart.generic(function(E) {
1221 class Iterator extends Object {} 1221 class Iterator extends Object {}
1222 return Iterator; 1222 return Iterator;
1223 }); 1223 });
1224 let Iterator = Iterator$(); 1224 let Iterator = Iterator$();
1225 let $set = dart.JsSymbol('$set'); 1225 let $set = dart.JsSymbol('$set');
1226 let $add = dart.JsSymbol('$add'); 1226 let $add = dart.JsSymbol('$add');
1227 let $checkMutable = dart.JsSymbol('$checkMutable');
1228 let $checkGrowable = dart.JsSymbol('$checkGrowable');
1229 let $where = dart.JsSymbol('$where');
1230 let $expand = dart.JsSymbol('$expand');
1231 let $forEach = dart.JsSymbol('$forEach');
1232 let $map = dart.JsSymbol('$map');
1233 let $takeWhile = dart.JsSymbol('$takeWhile');
1234 let $skipWhile = dart.JsSymbol('$skipWhile');
1235 let $reduce = dart.JsSymbol('$reduce');
1236 let $fold = dart.JsSymbol('$fold');
1237 let $firstWhere = dart.JsSymbol('$firstWhere');
1238 let $lastWhere = dart.JsSymbol('$lastWhere');
1239 let $singleWhere = dart.JsSymbol('$singleWhere');
1240 let $elementAt = dart.JsSymbol('$elementAt');
1241 let $first = dart.JsSymbol('$first');
1242 let $last = dart.JsSymbol('$last');
1243 let $single = dart.JsSymbol('$single');
1244 let $any = dart.JsSymbol('$any');
1245 let $every = dart.JsSymbol('$every');
1246 let $sort = dart.JsSymbol('$sort');
1247 let $contains = dart.JsSymbol('$contains');
1248 let $isEmpty = dart.JsSymbol('$isEmpty');
1249 let $isNotEmpty = dart.JsSymbol('$isNotEmpty');
1250 let $toString = dart.JsSymbol('$toString');
1251 let $toList = dart.JsSymbol('$toList');
1252 let $toSet = dart.JsSymbol('$toSet');
1253 let $hashCode = dart.JsSymbol('$hashCode');
1254 let $addAll = dart.JsSymbol('$addAll');
1255 let $reversed = dart.JsSymbol('$reversed');
1256 let $shuffle = dart.JsSymbol('$shuffle');
1257 let $indexOf = dart.JsSymbol('$indexOf');
1258 let $lastIndexOf = dart.JsSymbol('$lastIndexOf');
1259 let $clear = dart.JsSymbol('$clear');
1260 let $insert = dart.JsSymbol('$insert');
1261 let $insertAll = dart.JsSymbol('$insertAll');
1262 let $setAll = dart.JsSymbol('$setAll');
1263 let $remove = dart.JsSymbol('$remove');
1264 let $removeAt = dart.JsSymbol('$removeAt');
1265 let $removeLast = dart.JsSymbol('$removeLast');
1266 let $removeWhere = dart.JsSymbol('$removeWhere');
1267 let $retainWhere = dart.JsSymbol('$retainWhere');
1268 let $sublist = dart.JsSymbol('$sublist');
1269 let $getRange = dart.JsSymbol('$getRange');
1270 let $setRange = dart.JsSymbol('$setRange');
1271 let $removeRange = dart.JsSymbol('$removeRange');
1272 let $fillRange = dart.JsSymbol('$fillRange');
1273 let $replaceRange = dart.JsSymbol('$replaceRange');
1274 let $asMap = dart.JsSymbol('$asMap');
1227 let List$ = dart.generic(function(E) { 1275 let List$ = dart.generic(function(E) {
1228 class List extends Object { 1276 class List extends Object {
1229 List(length) { 1277 List(length) {
1230 if (length === void 0) 1278 if (length === void 0)
1231 length = new _ListConstructorSentinel(); 1279 length = null;
1232 if (dart.equals(length, new _ListConstructorSentinel())) { 1280 if (length == null) {
1233 return new _interceptors.JSArray$(E).emptyGrowable(); 1281 return dart.as([], List$(E));
1234 } 1282 }
1235 return new _interceptors.JSArray$(E).fixed(length); 1283 if (!(typeof length == 'number') || dart.notNull(length) < 0) {
1284 throw new ArgumentError(`Length must be a non-negative integer: ${leng th}`);
1285 }
1286 let list = new Array(length);
1287 list.fixed$length = Array;
1288 return dart.as(list, List$(E));
1236 } 1289 }
1237 filled(length, fill) { 1290 filled(length, fill) {
1238 let result = new _interceptors.JSArray$(E).fixed(length); 1291 let result = new _interceptors.JSArray$(E).fixed(length);
1239 if (length != 0 && dart.notNull(fill != null)) { 1292 if (length != 0 && dart.notNull(fill != null)) {
1240 for (let i = 0; dart.notNull(i) < dart.notNull(result[exports.$length] ); i = dart.notNull(i) + 1) { 1293 for (let i = 0; dart.notNull(i) < dart.notNull(result[$length]); i = d art.notNull(i) + 1) {
1241 result[exports.$set](i, fill); 1294 result[$set](i, fill);
1242 } 1295 }
1243 } 1296 }
1244 return dart.as(result, List$(E)); 1297 return dart.as(result, List$(E));
1245 } 1298 }
1246 from(elements, opts) { 1299 from(elements, opts) {
1247 let growable = opts && 'growable' in opts ? opts.growable : true; 1300 let growable = opts && 'growable' in opts ? opts.growable : true;
1248 let list = new (List$(E))(); 1301 let list = new (List$(E))();
1249 for (let e of dart.as(elements, Iterable$(E))) { 1302 for (let e of dart.as(elements, Iterable$(E))) {
1250 list[exports.$add](e); 1303 list[$add](e);
1251 } 1304 }
1252 if (growable) 1305 if (growable)
1253 return list; 1306 return list;
1254 return dart.as(_internal.makeListFixedLength(list), List$(E)); 1307 return dart.as(_internal.makeListFixedLength(list), List$(E));
1255 } 1308 }
1256 generate(length, generator, opts) { 1309 generate(length, generator, opts) {
1257 let growable = opts && 'growable' in opts ? opts.growable : true; 1310 let growable = opts && 'growable' in opts ? opts.growable : true;
1258 let result = null; 1311 let result = null;
1259 if (growable) { 1312 if (growable) {
1260 result = dart.setType([], List$(E)); 1313 result = dart.setType([], List$(E));
1261 result[exports.$length] = length; 1314 result[$length] = length;
1262 } else { 1315 } else {
1263 result = new (List$(E))(length); 1316 result = new (List$(E))(length);
1264 } 1317 }
1265 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1318 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1266 result[exports.$set](i, generator(i)); 1319 result[$set](i, generator(i));
1267 } 1320 }
1268 return result; 1321 return result;
1269 } 1322 }
1323 [$checkMutable](reason) {}
1324 [$checkGrowable](reason) {}
1325 [$where](f) {
1326 return new (_internal.IterableMixinWorkaround$(E))().where(this, f);
1327 }
1328 [$expand](f) {
1329 return _internal.IterableMixinWorkaround.expand(this, f);
1330 }
1331 [$forEach](f) {
1332 let length = this[$length];
1333 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1334 f(dart.as(this[i], E));
1335 if (length != this[$length]) {
1336 throw new ConcurrentModificationError(this);
1337 }
1338 }
1339 }
1340 [$map](f) {
1341 return _internal.IterableMixinWorkaround.mapList(this, f);
1342 }
1343 [$join](separator) {
1344 if (separator === void 0)
1345 separator = "";
1346 let list = new List(this[$length]);
1347 for (let i = 0; dart.notNull(i) < dart.notNull(this[$length]); i = dart. notNull(i) + 1) {
1348 list[$set](i, `${this[$get](i)}`);
1349 }
1350 return list.join(separator);
1351 }
1352 [$take](n) {
1353 return new (_internal.IterableMixinWorkaround$(E))().takeList(this, n);
1354 }
1355 [$takeWhile](test) {
1356 return new (_internal.IterableMixinWorkaround$(E))().takeWhile(this, tes t);
1357 }
1358 [$skip](n) {
1359 return new (_internal.IterableMixinWorkaround$(E))().skipList(this, n);
1360 }
1361 [$skipWhile](test) {
1362 return new (_internal.IterableMixinWorkaround$(E))().skipWhile(this, tes t);
1363 }
1364 [$reduce](combine) {
1365 return dart.as(_internal.IterableMixinWorkaround.reduce(this, combine), E);
1366 }
1367 [$fold](initialValue, combine) {
1368 return _internal.IterableMixinWorkaround.fold(this, initialValue, combin e);
1369 }
1370 [$firstWhere](test, opts) {
1371 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
1372 return dart.as(_internal.IterableMixinWorkaround.firstWhere(this, test, orElse), E);
1373 }
1374 [$lastWhere](test, opts) {
1375 let orElse = opts && 'orElse' in opts ? opts.orElse : null;
1376 return dart.as(_internal.IterableMixinWorkaround.lastWhereList(this, tes t, orElse), E);
1377 }
1378 [$singleWhere](test) {
1379 return dart.as(_internal.IterableMixinWorkaround.singleWhere(this, test) , E);
1380 }
1381 [$elementAt](index) {
1382 return this[$get](index);
1383 }
1384 get [$first]() {
1385 if (dart.notNull(this[$length]) > 0)
1386 return this[$get](0);
1387 throw new StateError("No elements");
1388 }
1389 get [$last]() {
1390 if (dart.notNull(this[$length]) > 0)
1391 return this[$get](dart.notNull(this[$length]) - 1);
1392 throw new StateError("No elements");
1393 }
1394 get [$single]() {
1395 if (this[$length] == 1)
1396 return this[$get](0);
1397 if (this[$length] == 0)
1398 throw new StateError("No elements");
1399 throw new StateError("More than one element");
1400 }
1401 [$any](f) {
1402 return _internal.IterableMixinWorkaround.any(this, f);
1403 }
1404 [$every](f) {
1405 return _internal.IterableMixinWorkaround.every(this, f);
1406 }
1407 [$sort](compare) {
1408 if (compare === void 0)
1409 compare = null;
1410 this[$checkMutable]('sort');
1411 _internal.IterableMixinWorkaround.sortList(this, compare);
1412 }
1413 [$contains](other) {
1414 for (let i = 0; dart.notNull(i) < dart.notNull(this[$length]); i = dart. notNull(i) + 1) {
1415 if (dart.equals(this[$get](i), other))
1416 return true;
1417 }
1418 return false;
1419 }
1420 get [$isEmpty]() {
1421 return this[$length] == 0;
1422 }
1423 get [$isNotEmpty]() {
1424 return !dart.notNull(this[$isEmpty]);
1425 }
1426 [$toString]() {
1427 return collection.ListBase.listToString(this);
1428 }
1429 [$toList](opts) {
1430 let growable = opts && 'growable' in opts ? opts.growable : true;
1431 if (growable) {
1432 return new _interceptors.JSArray$(E).markGrowable(this.slice());
1433 } else {
1434 return new _interceptors.JSArray$(E).markFixed(this.slice());
1435 }
1436 }
1437 [$toSet]() {
1438 return new exports.Set$(E).from(this);
1439 }
1440 get [$iterator]() {
1441 return new (_internal.ListIterator$(E))(this);
1442 }
1443 get [$hashCode]() {
1444 return _js_helper.Primitives.objectHashCode(this);
1445 }
1446 [$get](index) {
1447 if (!(typeof index == 'number'))
1448 throw new ArgumentError(index);
1449 if (dart.notNull(index) >= dart.notNull(this[$length]) || dart.notNull(i ndex) < 0)
1450 throw new RangeError.value(index);
1451 return dart.as(this[index], E);
1452 }
1453 [$set](index, value) {
1454 this[$checkMutable]('indexed set');
1455 if (!(typeof index == 'number'))
1456 throw new ArgumentError(index);
1457 if (dart.notNull(index) >= dart.notNull(this[$length]) || dart.notNull(i ndex) < 0)
1458 throw new RangeError.value(index);
1459 this[index] = value;
1460 }
1461 get [$length]() {
1462 return dart.as(this.length, int);
1463 }
1464 set [$length](newLength) {
1465 if (!(typeof newLength == 'number'))
1466 throw new ArgumentError(newLength);
1467 if (dart.notNull(newLength) < 0)
1468 throw new RangeError.value(newLength);
1469 this[$checkGrowable]('set length');
1470 this.length = newLength;
1471 }
1472 [$add](value) {
1473 this[$checkGrowable]('add');
1474 this.push(value);
1475 }
1476 [$addAll](iterable) {
1477 for (let e of iterable) {
1478 this[$add](e);
1479 }
1480 }
1481 get [$reversed]() {
1482 return new (_internal.IterableMixinWorkaround$(E))().reversedList(this);
1483 }
1484 [$sort](compare) {
1485 if (compare === void 0)
1486 compare = null;
1487 _internal.IterableMixinWorkaround.sortList(this, compare);
1488 }
1489 [$shuffle](random) {
1490 if (random === void 0)
1491 random = null;
1492 _internal.IterableMixinWorkaround.shuffleList(this, random);
1493 }
1494 [$indexOf](element, start) {
1495 if (start === void 0)
1496 start = 0;
1497 return _internal.IterableMixinWorkaround.indexOfList(this, element, star t);
1498 }
1499 [$lastIndexOf](element, start) {
1500 if (start === void 0)
1501 start = null;
1502 return _internal.IterableMixinWorkaround.lastIndexOfList(this, element, start);
1503 }
1504 [$clear]() {
1505 this[$length] = 0;
1506 }
1507 [$insert](index, element) {
1508 if (!(typeof index == 'number'))
1509 throw new ArgumentError(index);
1510 if (dart.notNull(index) < 0 || dart.notNull(index) > dart.notNull(this[$ length])) {
1511 throw new RangeError.value(index);
1512 }
1513 this[$checkGrowable]('insert');
1514 this.splice(index, 0, element);
1515 }
1516 [$insertAll](index, iterable) {
1517 this[$checkGrowable]('insertAll');
1518 _internal.IterableMixinWorkaround.insertAllList(this, index, iterable);
1519 }
1520 [$setAll](index, iterable) {
1521 this[$checkMutable]('setAll');
1522 _internal.IterableMixinWorkaround.setAllList(this, index, iterable);
1523 }
1524 [$remove](element) {
1525 this[$checkGrowable]('remove');
1526 for (let i = 0; dart.notNull(i) < dart.notNull(this[$length]); i = dart. notNull(i) + 1) {
1527 if (dart.equals(this[$get](i), /* Unimplemented unknown name */value)) {
1528 this.splice(i, 1);
1529 return true;
1530 }
1531 }
1532 return false;
1533 }
1534 [$removeAt](index) {
1535 if (!(typeof index == 'number'))
1536 throw new ArgumentError(index);
1537 if (dart.notNull(index) < 0 || dart.notNull(index) >= dart.notNull(this[ $length])) {
1538 throw new RangeError.value(index);
1539 }
1540 this[$checkGrowable]('removeAt');
1541 return dart.as(this.splice(index, 1)[0], E);
1542 }
1543 [$removeLast]() {
1544 this[$checkGrowable]('removeLast');
1545 if (this[$length] == 0)
1546 throw new RangeError.value(-1);
1547 return dart.as(this.pop(), E);
1548 }
1549 [$removeWhere](test) {
1550 _internal.IterableMixinWorkaround.removeWhereList(this, test);
1551 }
1552 [$retainWhere](test) {
1553 _internal.IterableMixinWorkaround.removeWhereList(this, element => !dart .notNull(test(element)));
1554 }
1555 [$sublist](start, end) {
1556 if (end === void 0)
1557 end = null;
1558 dart.dcall(/* Unimplemented unknown name */checkNull, start);
1559 if (!(typeof start == 'number'))
1560 throw new ArgumentError(start);
1561 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(this[$ length])) {
1562 throw new RangeError.range(start, 0, this[$length]);
1563 }
1564 if (end == null) {
1565 end = this[$length];
1566 } else {
1567 if (!(typeof end == 'number'))
1568 throw new ArgumentError(end);
1569 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dar t.notNull(this[$length])) {
1570 throw new RangeError.range(end, start, this[$length]);
1571 }
1572 }
1573 if (start == end)
1574 return dart.setType([], List$(E));
1575 return new _interceptors.JSArray$(E).markGrowable(this.slice(start, end) );
1576 }
1577 [$getRange](start, end) {
1578 return new (_internal.IterableMixinWorkaround$(E))().getRangeList(this, start, end);
1579 }
1580 [$setRange](start, end, iterable, skipCount) {
1581 if (skipCount === void 0)
1582 skipCount = 0;
1583 this[$checkMutable]('set range');
1584 _internal.IterableMixinWorkaround.setRangeList(this, start, end, iterabl e, skipCount);
1585 }
1586 [$removeRange](start, end) {
1587 this[$checkGrowable]('removeRange');
1588 let receiverLength = this[$length];
1589 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(receiv erLength)) {
1590 throw new RangeError.range(start, 0, receiverLength);
1591 }
1592 if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart. notNull(receiverLength)) {
1593 throw new RangeError.range(end, start, receiverLength);
1594 }
1595 _internal.Lists.copy(this, end, this, start, dart.notNull(receiverLength ) - dart.notNull(end));
1596 this[$length] = dart.notNull(receiverLength) - (dart.notNull(end) - dart .notNull(start));
1597 }
1598 [$fillRange](start, end, fillValue) {
1599 if (fillValue === void 0)
1600 fillValue = null;
1601 this[$checkMutable]('fill range');
1602 _internal.IterableMixinWorkaround.fillRangeList(this, start, end, fillVa lue);
1603 }
1604 [$replaceRange](start, end, replacement) {
1605 this[$checkGrowable]('removeRange');
1606 _internal.IterableMixinWorkaround.replaceRangeList(this, start, end, rep lacement);
1607 }
1608 [$asMap]() {
1609 return new (_internal.IterableMixinWorkaround$(E))().asMapList(this);
1610 }
1270 } 1611 }
1271 List[dart.implements] = () => [Iterable$(E), _internal.EfficientLength]; 1612 List[dart.implements] = () => [Iterable$(E), _internal.EfficientLength];
1272 dart.defineNamedConstructor(List, 'filled'); 1613 dart.defineNamedConstructor(List, 'filled');
1273 dart.defineNamedConstructor(List, 'from'); 1614 dart.defineNamedConstructor(List, 'from');
1274 dart.defineNamedConstructor(List, 'generate'); 1615 dart.defineNamedConstructor(List, 'generate');
1275 return List; 1616 return List;
1276 }); 1617 });
1277 let List = List$(); 1618 let List = List$();
1619 dart.copyProperties(dart.global.Array.prototype, List.prototype);
1278 let Map$ = dart.generic(function(K, V) { 1620 let Map$ = dart.generic(function(K, V) {
1279 class Map extends Object { 1621 class Map extends Object {
1280 Map() { 1622 Map() {
1281 return new (collection.LinkedHashMap$(K, V))(); 1623 return new (collection.LinkedHashMap$(K, V))();
1282 } 1624 }
1283 from(other) { 1625 from(other) {
1284 return new collection.LinkedHashMap$(K, V).from(other); 1626 return new collection.LinkedHashMap$(K, V).from(other);
1285 } 1627 }
1286 identity() { 1628 identity() {
1287 return new collection.LinkedHashMap$(K, V).identity(); 1629 return new collection.LinkedHashMap$(K, V).identity();
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
1409 static [_initTicker]() { 1751 static [_initTicker]() {
1410 _js_helper.Primitives.initTicker(); 1752 _js_helper.Primitives.initTicker();
1411 Stopwatch[_frequency] = _js_helper.Primitives.timerFrequency; 1753 Stopwatch[_frequency] = _js_helper.Primitives.timerFrequency;
1412 } 1754 }
1413 static [_now]() { 1755 static [_now]() {
1414 return dart.as(dart.dcall(_js_helper.Primitives.timerTicks), int); 1756 return dart.as(dart.dcall(_js_helper.Primitives.timerTicks), int);
1415 } 1757 }
1416 } 1758 }
1417 Stopwatch._frequency = null; 1759 Stopwatch._frequency = null;
1418 let _stringFromIterable = dart.JsSymbol('_stringFromIterable'); 1760 let _stringFromIterable = dart.JsSymbol('_stringFromIterable');
1419 let $sublist = dart.JsSymbol('$sublist');
1420 class String extends Object { 1761 class String extends Object {
1421 fromCharCodes(charCodes, start, end) { 1762 fromCharCodes(charCodes, start, end) {
1422 if (start === void 0) 1763 if (start === void 0)
1423 start = 0; 1764 start = 0;
1424 if (end === void 0) 1765 if (end === void 0)
1425 end = null; 1766 end = null;
1426 if (!dart.is(charCodes, _interceptors.JSArray)) { 1767 if (!dart.is(charCodes, _interceptors.JSArray)) {
1427 return String[_stringFromIterable](charCodes, start, end); 1768 return String[_stringFromIterable](charCodes, start, end);
1428 } 1769 }
1429 let list = dart.as(charCodes, List); 1770 let list = dart.as(charCodes, List);
1430 let len = list[exports.$length]; 1771 let len = list[$length];
1431 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { 1772 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) {
1432 throw new RangeError.range(start, 0, len); 1773 throw new RangeError.range(start, 0, len);
1433 } 1774 }
1434 if (end == null) { 1775 if (end == null) {
1435 end = len; 1776 end = len;
1436 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) { 1777 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) {
1437 throw new RangeError.range(end, start, len); 1778 throw new RangeError.range(end, start, len);
1438 } 1779 }
1439 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { 1780 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
1440 list = list[exports.$sublist](start, end); 1781 list = list[$sublist](start, end);
1441 } 1782 }
1442 return _js_helper.Primitives.stringFromCharCodes(list); 1783 return _js_helper.Primitives.stringFromCharCodes(list);
1443 } 1784 }
1444 fromCharCode(charCode) { 1785 fromCharCode(charCode) {
1445 return _js_helper.Primitives.stringFromCharCode(charCode); 1786 return _js_helper.Primitives.stringFromCharCode(charCode);
1446 } 1787 }
1447 fromEnvironment(name, opts) { 1788 fromEnvironment(name, opts) {
1448 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll; 1789 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll;
1449 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor'); 1790 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor');
1450 } 1791 }
1451 static [_stringFromIterable](charCodes, start, end) { 1792 static [_stringFromIterable](charCodes, start, end) {
1452 if (dart.notNull(start) < 0) 1793 if (dart.notNull(start) < 0)
1453 throw new RangeError.range(start, 0, charCodes[exports.$length]); 1794 throw new RangeError.range(start, 0, charCodes[$length]);
1454 if (end != null && dart.notNull(end) < dart.notNull(start)) { 1795 if (end != null && dart.notNull(end) < dart.notNull(start)) {
1455 throw new RangeError.range(end, start, charCodes[exports.$length]); 1796 throw new RangeError.range(end, start, charCodes[$length]);
1456 } 1797 }
1457 let it = charCodes[exports.$iterator]; 1798 let it = charCodes[$iterator];
1458 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) { 1799 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
1459 if (!dart.notNull(it.moveNext())) { 1800 if (!dart.notNull(it.moveNext())) {
1460 throw new RangeError.range(start, 0, i); 1801 throw new RangeError.range(start, 0, i);
1461 } 1802 }
1462 } 1803 }
1463 let list = []; 1804 let list = [];
1464 if (end == null) { 1805 if (end == null) {
1465 while (it.moveNext()) 1806 while (it.moveNext())
1466 list[exports.$add](it.current); 1807 list[$add](it.current);
1467 } else { 1808 } else {
1468 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 1809 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1469 if (!dart.notNull(it.moveNext())) { 1810 if (!dart.notNull(it.moveNext())) {
1470 throw new RangeError.range(end, start, i); 1811 throw new RangeError.range(end, start, i);
1471 } 1812 }
1472 list[exports.$add](it.current); 1813 list[$add](it.current);
1473 } 1814 }
1474 } 1815 }
1475 return _js_helper.Primitives.stringFromCharCodes(list); 1816 return _js_helper.Primitives.stringFromCharCodes(list);
1476 } 1817 }
1477 } 1818 }
1478 String[dart.implements] = () => [Comparable$(String), Pattern]; 1819 String[dart.implements] = () => [Comparable$(String), Pattern];
1479 dart.defineNamedConstructor(String, 'fromCharCodes'); 1820 dart.defineNamedConstructor(String, 'fromCharCodes');
1480 dart.defineNamedConstructor(String, 'fromCharCode'); 1821 dart.defineNamedConstructor(String, 'fromCharCode');
1481 dart.defineNamedConstructor(String, 'fromEnvironment'); 1822 dart.defineNamedConstructor(String, 'fromEnvironment');
1482 let $last = dart.JsSymbol('$last');
1483 dart.defineLazyClass(exports, { 1823 dart.defineLazyClass(exports, {
1484 get Runes() { 1824 get Runes() {
1485 class Runes extends collection.IterableBase$(int) { 1825 class Runes extends collection.IterableBase$(int) {
1486 Runes(string) { 1826 Runes(string) {
1487 this.string = string; 1827 this.string = string;
1488 super.IterableBase(); 1828 super.IterableBase();
1489 } 1829 }
1490 get [exports.$iterator]() { 1830 get [$iterator]() {
1491 return new RuneIterator(this.string); 1831 return new RuneIterator(this.string);
1492 } 1832 }
1493 get [exports.$last]() { 1833 get [$last]() {
1494 if (this.string.length == 0) { 1834 if (this.string.length == 0) {
1495 throw new StateError('No elements.'); 1835 throw new StateError('No elements.');
1496 } 1836 }
1497 let length = this.string.length; 1837 let length = this.string.length;
1498 let code = this.string.codeUnitAt(dart.notNull(length) - 1); 1838 let code = this.string.codeUnitAt(dart.notNull(length) - 1);
1499 if (dart.notNull(_isTrailSurrogate(code)) && dart.notNull(this.string. length) > 1) { 1839 if (dart.notNull(_isTrailSurrogate(code)) && dart.notNull(this.string. length) > 1) {
1500 let previousCode = this.string.codeUnitAt(dart.notNull(length) - 2); 1840 let previousCode = this.string.codeUnitAt(dart.notNull(length) - 2);
1501 if (_isLeadSurrogate(previousCode)) { 1841 if (_isLeadSurrogate(previousCode)) {
1502 return _combineSurrogatePair(previousCode, code); 1842 return _combineSurrogatePair(previousCode, code);
1503 } 1843 }
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1635 } 1975 }
1636 write(obj) { 1976 write(obj) {
1637 this[_writeString](`${obj}`); 1977 this[_writeString](`${obj}`);
1638 } 1978 }
1639 writeCharCode(charCode) { 1979 writeCharCode(charCode) {
1640 this[_writeString](new String.fromCharCode(charCode)); 1980 this[_writeString](new String.fromCharCode(charCode));
1641 } 1981 }
1642 writeAll(objects, separator) { 1982 writeAll(objects, separator) {
1643 if (separator === void 0) 1983 if (separator === void 0)
1644 separator = ""; 1984 separator = "";
1645 let iterator = objects[exports.$iterator]; 1985 let iterator = objects[$iterator];
1646 if (!dart.notNull(iterator.moveNext())) 1986 if (!dart.notNull(iterator.moveNext()))
1647 return; 1987 return;
1648 if (separator.isEmpty) { 1988 if (separator.isEmpty) {
1649 do { 1989 do {
1650 this.write(iterator.current); 1990 this.write(iterator.current);
1651 } while (iterator.moveNext()); 1991 } while (iterator.moveNext());
1652 } else { 1992 } else {
1653 this.write(iterator.current); 1993 this.write(iterator.current);
1654 while (iterator.moveNext()) { 1994 while (iterator.moveNext()) {
1655 this.write(separator); 1995 this.write(separator);
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1708 let _makeFragment = dart.JsSymbol('_makeFragment'); 2048 let _makeFragment = dart.JsSymbol('_makeFragment');
1709 let _pathSegments = dart.JsSymbol('_pathSegments'); 2049 let _pathSegments = dart.JsSymbol('_pathSegments');
1710 let _queryParameters = dart.JsSymbol('_queryParameters'); 2050 let _queryParameters = dart.JsSymbol('_queryParameters');
1711 let _stringOrNullLength = dart.JsSymbol('_stringOrNullLength'); 2051 let _stringOrNullLength = dart.JsSymbol('_stringOrNullLength');
1712 let _makeHttpUri = dart.JsSymbol('_makeHttpUri'); 2052 let _makeHttpUri = dart.JsSymbol('_makeHttpUri');
1713 let _RIGHT_BRACKET = dart.JsSymbol('_RIGHT_BRACKET'); 2053 let _RIGHT_BRACKET = dart.JsSymbol('_RIGHT_BRACKET');
1714 let _isWindows = dart.JsSymbol('_isWindows'); 2054 let _isWindows = dart.JsSymbol('_isWindows');
1715 let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl'); 2055 let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl');
1716 let _makeFileUri = dart.JsSymbol('_makeFileUri'); 2056 let _makeFileUri = dart.JsSymbol('_makeFileUri');
1717 let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPa thReservedCharacters'); 2057 let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPa thReservedCharacters');
1718 let $forEach = dart.JsSymbol('$forEach');
1719 let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathRese rvedCharacters'); 2058 let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathRese rvedCharacters');
1720 let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter'); 2059 let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter');
1721 let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A'); 2060 let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A');
1722 let _UPPER_CASE_Z = dart.JsSymbol('_UPPER_CASE_Z'); 2061 let _UPPER_CASE_Z = dart.JsSymbol('_UPPER_CASE_Z');
1723 let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A'); 2062 let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A');
1724 let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z'); 2063 let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z');
1725 let _BACKSLASH = dart.JsSymbol('_BACKSLASH'); 2064 let _BACKSLASH = dart.JsSymbol('_BACKSLASH');
1726 let $map = dart.JsSymbol('$map');
1727 let $toList = dart.JsSymbol('$toList');
1728 let _normalizeRegName = dart.JsSymbol('_normalizeRegName'); 2065 let _normalizeRegName = dart.JsSymbol('_normalizeRegName');
1729 let _isRegNameChar = dart.JsSymbol('_isRegNameChar'); 2066 let _isRegNameChar = dart.JsSymbol('_isRegNameChar');
1730 let _PERCENT = dart.JsSymbol('_PERCENT'); 2067 let _PERCENT = dart.JsSymbol('_PERCENT');
1731 let _normalizeEscape = dart.JsSymbol('_normalizeEscape'); 2068 let _normalizeEscape = dart.JsSymbol('_normalizeEscape');
1732 let _isGeneralDelimiter = dart.JsSymbol('_isGeneralDelimiter'); 2069 let _isGeneralDelimiter = dart.JsSymbol('_isGeneralDelimiter');
1733 let _escapeChar = dart.JsSymbol('_escapeChar'); 2070 let _escapeChar = dart.JsSymbol('_escapeChar');
1734 let _isAlphabeticCharacter = dart.JsSymbol('_isAlphabeticCharacter'); 2071 let _isAlphabeticCharacter = dart.JsSymbol('_isAlphabeticCharacter');
1735 let _isSchemeCharacter = dart.JsSymbol('_isSchemeCharacter'); 2072 let _isSchemeCharacter = dart.JsSymbol('_isSchemeCharacter');
1736 let _normalize = dart.JsSymbol('_normalize'); 2073 let _normalize = dart.JsSymbol('_normalize');
1737 let _userinfoTable = dart.JsSymbol('_userinfoTable'); 2074 let _userinfoTable = dart.JsSymbol('_userinfoTable');
1738 let _pathCharOrSlashTable = dart.JsSymbol('_pathCharOrSlashTable'); 2075 let _pathCharOrSlashTable = dart.JsSymbol('_pathCharOrSlashTable');
1739 let _uriEncode = dart.JsSymbol('_uriEncode'); 2076 let _uriEncode = dart.JsSymbol('_uriEncode');
1740 let _pathCharTable = dart.JsSymbol('_pathCharTable'); 2077 let _pathCharTable = dart.JsSymbol('_pathCharTable');
1741 let _queryCharTable = dart.JsSymbol('_queryCharTable'); 2078 let _queryCharTable = dart.JsSymbol('_queryCharTable');
1742 let _isHexDigit = dart.JsSymbol('_isHexDigit'); 2079 let _isHexDigit = dart.JsSymbol('_isHexDigit');
1743 let _LOWER_CASE_F = dart.JsSymbol('_LOWER_CASE_F'); 2080 let _LOWER_CASE_F = dart.JsSymbol('_LOWER_CASE_F');
1744 let _hexValue = dart.JsSymbol('_hexValue'); 2081 let _hexValue = dart.JsSymbol('_hexValue');
1745 let _isUnreservedChar = dart.JsSymbol('_isUnreservedChar'); 2082 let _isUnreservedChar = dart.JsSymbol('_isUnreservedChar');
1746 let _unreservedTable = dart.JsSymbol('_unreservedTable'); 2083 let _unreservedTable = dart.JsSymbol('_unreservedTable');
1747 let _schemeTable = dart.JsSymbol('_schemeTable'); 2084 let _schemeTable = dart.JsSymbol('_schemeTable');
1748 let _genDelimitersTable = dart.JsSymbol('_genDelimitersTable'); 2085 let _genDelimitersTable = dart.JsSymbol('_genDelimitersTable');
1749 let _merge = dart.JsSymbol('_merge'); 2086 let _merge = dart.JsSymbol('_merge');
1750 let _DOT = dart.JsSymbol('_DOT'); 2087 let _DOT = dart.JsSymbol('_DOT');
1751 let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); 2088 let _hasDotSegments = dart.JsSymbol('_hasDotSegments');
1752 let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); 2089 let _removeDotSegments = dart.JsSymbol('_removeDotSegments');
1753 let $isEmpty = dart.JsSymbol('$isEmpty');
1754 let $removeLast = dart.JsSymbol('$removeLast');
1755 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); 2090 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath');
1756 let _toFilePath = dart.JsSymbol('_toFilePath'); 2091 let _toFilePath = dart.JsSymbol('_toFilePath');
1757 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); 2092 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute');
1758 let _addIfNonEmpty = dart.JsSymbol('_addIfNonEmpty'); 2093 let _addIfNonEmpty = dart.JsSymbol('_addIfNonEmpty');
1759 let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table'); 2094 let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table');
1760 let _uriDecode = dart.JsSymbol('_uriDecode'); 2095 let _uriDecode = dart.JsSymbol('_uriDecode');
1761 let _encodeFullTable = dart.JsSymbol('_encodeFullTable'); 2096 let _encodeFullTable = dart.JsSymbol('_encodeFullTable');
1762 let $fold = dart.JsSymbol('$fold');
1763 let _SPACE = dart.JsSymbol('_SPACE'); 2097 let _SPACE = dart.JsSymbol('_SPACE');
1764 let _PLUS = dart.JsSymbol('_PLUS'); 2098 let _PLUS = dart.JsSymbol('_PLUS');
1765 let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte'); 2099 let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte');
1766 class Uri extends Object { 2100 class Uri extends Object {
1767 get authority() { 2101 get authority() {
1768 if (!dart.notNull(this.hasAuthority)) 2102 if (!dart.notNull(this.hasAuthority))
1769 return ""; 2103 return "";
1770 let sb = new StringBuffer(); 2104 let sb = new StringBuffer();
1771 this[_writeAuthority](sb); 2105 this[_writeAuthority](sb);
1772 return sb.toString(); 2106 return sb.toString();
(...skipping 26 matching lines...) Expand all
1799 } 2133 }
1800 get query() { 2134 get query() {
1801 return this[_query] == null ? "" : this[_query]; 2135 return this[_query] == null ? "" : this[_query];
1802 } 2136 }
1803 get fragment() { 2137 get fragment() {
1804 return this[_fragment] == null ? "" : this[_fragment]; 2138 return this[_fragment] == null ? "" : this[_fragment];
1805 } 2139 }
1806 static parse(uri) { 2140 static parse(uri) {
1807 // Function isRegName: (int) → bool 2141 // Function isRegName: (int) → bool
1808 function isRegName(ch) { 2142 function isRegName(ch) {
1809 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(c h) & 15)), 0)); 2143 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0));
1810 } 2144 }
1811 let EOI = -1; 2145 let EOI = -1;
1812 let scheme = ""; 2146 let scheme = "";
1813 let userinfo = ""; 2147 let userinfo = "";
1814 let host = null; 2148 let host = null;
1815 let port = null; 2149 let port = null;
1816 let path = null; 2150 let path = null;
1817 let query = null; 2151 let query = null;
1818 let fragment = null; 2152 let fragment = null;
1819 let index = 0; 2153 let index = 0;
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
2068 static get base() { 2402 static get base() {
2069 let uri = _js_helper.Primitives.currentUri(); 2403 let uri = _js_helper.Primitives.currentUri();
2070 if (uri != null) 2404 if (uri != null)
2071 return Uri.parse(uri); 2405 return Uri.parse(uri);
2072 throw new UnsupportedError("'Uri.base' is not supported"); 2406 throw new UnsupportedError("'Uri.base' is not supported");
2073 } 2407 }
2074 static get [_isWindows]() { 2408 static get [_isWindows]() {
2075 return false; 2409 return false;
2076 } 2410 }
2077 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) { 2411 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) {
2078 segments[exports.$forEach](segment => { 2412 segments[$forEach](segment => {
2079 if (dart.dsend(segment, 'contains', "/")) { 2413 if (dart.dsend(segment, 'contains', "/")) {
2080 if (argumentError) { 2414 if (argumentError) {
2081 throw new ArgumentError(`Illegal path character ${segment}`); 2415 throw new ArgumentError(`Illegal path character ${segment}`);
2082 } else { 2416 } else {
2083 throw new UnsupportedError(`Illegal path character ${segment}`); 2417 throw new UnsupportedError(`Illegal path character ${segment}`);
2084 } 2418 }
2085 } 2419 }
2086 }); 2420 });
2087 } 2421 }
2088 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) { 2422 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) {
2089 if (firstSegment === void 0) 2423 if (firstSegment === void 0)
2090 firstSegment = 0; 2424 firstSegment = 0;
2091 segments[exports.$skip](firstSegment)[exports.$forEach](segment => { 2425 segments[$skip](firstSegment)[$forEach](segment => {
2092 if (dart.dsend(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { 2426 if (dart.dsend(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) {
2093 if (argumentError) { 2427 if (argumentError) {
2094 throw new ArgumentError("Illegal character in path"); 2428 throw new ArgumentError("Illegal character in path");
2095 } else { 2429 } else {
2096 throw new UnsupportedError("Illegal character in path"); 2430 throw new UnsupportedError("Illegal character in path");
2097 } 2431 }
2098 } 2432 }
2099 }); 2433 });
2100 } 2434 }
2101 static [_checkWindowsDriveLetter](charCode, argumentError) { 2435 static [_checkWindowsDriveLetter](charCode, argumentError) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2213 if (fragment != null) { 2547 if (fragment != null) {
2214 fragment = Uri[_makeFragment](fragment, 0, fragment.length); 2548 fragment = Uri[_makeFragment](fragment, 0, fragment.length);
2215 } else if (this.hasFragment) { 2549 } else if (this.hasFragment) {
2216 fragment = this.fragment; 2550 fragment = this.fragment;
2217 } 2551 }
2218 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment); 2552 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment);
2219 } 2553 }
2220 get pathSegments() { 2554 get pathSegments() {
2221 if (this[_pathSegments] == null) { 2555 if (this[_pathSegments] == null) {
2222 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri[_SLASH] ? this.path.substring(1) : this.path; 2556 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri[_SLASH] ? this.path.substring(1) : this.path;
2223 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? /* Unimplemented const */dart.setType([], List$(String)) : pathToSplit.spl it("/")[exports.$map](dart.bind(Uri, 'decodeComponent'))[exports.$toList]({growa ble: false})); 2557 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? /* Unimplemented const */dart.setType([], List$(String)) : pathToSplit.spl it("/")[$map](dart.bind(Uri, 'decodeComponent'))[$toList]({growable: false}));
2224 } 2558 }
2225 return this[_pathSegments]; 2559 return this[_pathSegments];
2226 } 2560 }
2227 get queryParameters() { 2561 get queryParameters() {
2228 if (this[_queryParameters] == null) { 2562 if (this[_queryParameters] == null) {
2229 this[_queryParameters] = new (collection.UnmodifiableMapView$(String, St ring))(Uri.splitQueryString(this.query)); 2563 this[_queryParameters] = new (collection.UnmodifiableMapView$(String, St ring))(Uri.splitQueryString(this.query));
2230 } 2564 }
2231 return this[_queryParameters]; 2565 return this[_queryParameters];
2232 } 2566 }
2233 static [_makePort](port, scheme) { 2567 static [_makePort](port, scheme) {
(...skipping 17 matching lines...) Expand all
2251 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 2585 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
2252 if (host.codeUnitAt(i) == Uri[_COLON]) { 2586 if (host.codeUnitAt(i) == Uri[_COLON]) {
2253 Uri.parseIPv6Address(host, start, end); 2587 Uri.parseIPv6Address(host, start, end);
2254 return `[${host}]`; 2588 return `[${host}]`;
2255 } 2589 }
2256 } 2590 }
2257 } 2591 }
2258 return Uri[_normalizeRegName](host, start, end); 2592 return Uri[_normalizeRegName](host, start, end);
2259 } 2593 }
2260 static [_isRegNameChar](char) { 2594 static [_isRegNameChar](char) {
2261 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][exports.$get](dart.notNull(char) >> 4), '&', 1 << (dart.notNull (char) & 15)), 0)); 2595 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][$get](dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0));
2262 } 2596 }
2263 static [_normalizeRegName](host, start, end) { 2597 static [_normalizeRegName](host, start, end) {
2264 let buffer = null; 2598 let buffer = null;
2265 let sectionStart = start; 2599 let sectionStart = start;
2266 let index = start; 2600 let index = start;
2267 let isNormalized = true; 2601 let isNormalized = true;
2268 while (dart.notNull(index) < dart.notNull(end)) { 2602 while (dart.notNull(index) < dart.notNull(end)) {
2269 let char = host.codeUnitAt(index); 2603 let char = host.codeUnitAt(index);
2270 if (char == Uri[_PERCENT]) { 2604 if (char == Uri[_PERCENT]) {
2271 let replacement = Uri[_normalizeEscape](host, index, true); 2605 let replacement = Uri[_normalizeEscape](host, index, true);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2363 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) { 2697 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) {
2364 if (path == null && dart.notNull(pathSegments == null)) 2698 if (path == null && dart.notNull(pathSegments == null))
2365 return isFile ? "/" : ""; 2699 return isFile ? "/" : "";
2366 if (path != null && dart.notNull(pathSegments != null)) { 2700 if (path != null && dart.notNull(pathSegments != null)) {
2367 throw new ArgumentError('Both path and pathSegments specified'); 2701 throw new ArgumentError('Both path and pathSegments specified');
2368 } 2702 }
2369 let result = null; 2703 let result = null;
2370 if (path != null) { 2704 if (path != null) {
2371 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int))); 2705 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int)));
2372 } else { 2706 } else {
2373 result = pathSegments[exports.$map](s => Uri[_uriEncode](dart.as(Uri[_pa thCharTable], List$(int)), dart.as(s, String)))[exports.$join]("/"); 2707 result = pathSegments[$map](s => Uri[_uriEncode](dart.as(Uri[_pathCharTa ble], List$(int)), dart.as(s, String)))[$join]("/");
2374 } 2708 }
2375 if (dart.dload(result, 'isEmpty')) { 2709 if (dart.dload(result, 'isEmpty')) {
2376 if (isFile) 2710 if (isFile)
2377 return "/"; 2711 return "/";
2378 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dsend(result, 'codeUnitAt', 0), Uri[_SLASH]))) { 2712 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dsend(result, 'codeUnitAt', 0), Uri[_SLASH]))) {
2379 return `/${result}`; 2713 return `/${result}`;
2380 } 2714 }
2381 return dart.as(result, String); 2715 return dart.as(result, String);
2382 } 2716 }
2383 static [_makeQuery](query, start, end, queryParameters) { 2717 static [_makeQuery](query, start, end, queryParameters) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2440 value = dart.notNull(value) | 32; 2774 value = dart.notNull(value) | 32;
2441 } 2775 }
2442 return new String.fromCharCode(value); 2776 return new String.fromCharCode(value);
2443 } 2777 }
2444 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) { 2778 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) {
2445 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); 2779 return source.substring(index, dart.notNull(index) + 3).toUpperCase();
2446 } 2780 }
2447 return null; 2781 return null;
2448 } 2782 }
2449 static [_isUnreservedChar](ch) { 2783 static [_isUnreservedChar](ch) {
2450 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dsend(Uri[ _unreservedTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull( ch) & 15)), 0)); 2784 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dsend(Uri[ _unreservedTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15 )), 0));
2451 } 2785 }
2452 static [_escapeChar](char) { 2786 static [_escapeChar](char) {
2453 dart.assert(dart.dsend(char, '<=', 1114111)); 2787 dart.assert(dart.dsend(char, '<=', 1114111));
2454 let hexDigits = "0123456789ABCDEF"; 2788 let hexDigits = "0123456789ABCDEF";
2455 let codeUnits = null; 2789 let codeUnits = null;
2456 if (dart.dsend(char, '<', 128)) { 2790 if (dart.dsend(char, '<', 128)) {
2457 codeUnits = new List(3); 2791 codeUnits = new List(3);
2458 codeUnits[exports.$set](0, Uri[_PERCENT]); 2792 codeUnits[$set](0, Uri[_PERCENT]);
2459 codeUnits[exports.$set](1, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '>>', 4), int))); 2793 codeUnits[$set](1, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '>>', 4 ), int)));
2460 codeUnits[exports.$set](2, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '&', 15), int))); 2794 codeUnits[$set](2, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '&', 15 ), int)));
2461 } else { 2795 } else {
2462 let flag = 192; 2796 let flag = 192;
2463 let encodedBytes = 2; 2797 let encodedBytes = 2;
2464 if (dart.dsend(char, '>', 2047)) { 2798 if (dart.dsend(char, '>', 2047)) {
2465 flag = 224; 2799 flag = 224;
2466 encodedBytes = 3; 2800 encodedBytes = 3;
2467 if (dart.dsend(char, '>', 65535)) { 2801 if (dart.dsend(char, '>', 65535)) {
2468 encodedBytes = 4; 2802 encodedBytes = 4;
2469 flag = 240; 2803 flag = 240;
2470 } 2804 }
2471 } 2805 }
2472 codeUnits = new List(3 * dart.notNull(encodedBytes)); 2806 codeUnits = new List(3 * dart.notNull(encodedBytes));
2473 let index = 0; 2807 let index = 0;
2474 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { 2808 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
2475 let byte = dart.as(dart.dsend(dart.dsend(dart.dsend(char, '>>', 6 * da rt.notNull(encodedBytes)), '&', 63), '|', flag), int); 2809 let byte = dart.as(dart.dsend(dart.dsend(dart.dsend(char, '>>', 6 * da rt.notNull(encodedBytes)), '&', 63), '|', flag), int);
2476 codeUnits[exports.$set](index, Uri[_PERCENT]); 2810 codeUnits[$set](index, Uri[_PERCENT]);
2477 codeUnits[exports.$set](dart.notNull(index) + 1, hexDigits.codeUnitAt( dart.notNull(byte) >> 4)); 2811 codeUnits[$set](dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.not Null(byte) >> 4));
2478 codeUnits[exports.$set](dart.notNull(index) + 2, hexDigits.codeUnitAt( dart.notNull(byte) & 15)); 2812 codeUnits[$set](dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.not Null(byte) & 15));
2479 index = dart.notNull(index) + 3; 2813 index = dart.notNull(index) + 3;
2480 flag = 128; 2814 flag = 128;
2481 } 2815 }
2482 } 2816 }
2483 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); 2817 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
2484 } 2818 }
2485 static [_normalize](component, start, end, charTable) { 2819 static [_normalize](component, start, end, charTable) {
2486 let buffer = null; 2820 let buffer = null;
2487 let sectionStart = start; 2821 let sectionStart = start;
2488 let index = start; 2822 let index = start;
2489 while (dart.notNull(index) < dart.notNull(end)) { 2823 while (dart.notNull(index) < dart.notNull(end)) {
2490 let char = component.codeUnitAt(index); 2824 let char = component.codeUnitAt(index);
2491 if (dart.notNull(char) < 127 && (dart.notNull(charTable[exports.$get](da rt.notNull(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) { 2825 if (dart.notNull(char) < 127 && (dart.notNull(charTable[$get](dart.notNu ll(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) {
2492 index = dart.notNull(index) + 1; 2826 index = dart.notNull(index) + 1;
2493 } else { 2827 } else {
2494 let replacement = null; 2828 let replacement = null;
2495 let sourceLength = null; 2829 let sourceLength = null;
2496 if (char == Uri[_PERCENT]) { 2830 if (char == Uri[_PERCENT]) {
2497 replacement = Uri[_normalizeEscape](component, index, false); 2831 replacement = Uri[_normalizeEscape](component, index, false);
2498 if (replacement == null) { 2832 if (replacement == null) {
2499 index = dart.notNull(index) + 3; 2833 index = dart.notNull(index) + 3;
2500 continue; 2834 continue;
2501 } 2835 }
(...skipping 28 matching lines...) Expand all
2530 } 2864 }
2531 if (buffer == null) { 2865 if (buffer == null) {
2532 return component.substring(start, end); 2866 return component.substring(start, end);
2533 } 2867 }
2534 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2868 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2535 buffer.write(component.substring(sectionStart, end)); 2869 buffer.write(component.substring(sectionStart, end));
2536 } 2870 }
2537 return buffer.toString(); 2871 return buffer.toString();
2538 } 2872 }
2539 static [_isSchemeCharacter](ch) { 2873 static [_isSchemeCharacter](ch) {
2540 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Uri[ _schemeTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0)); 2874 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Uri[ _schemeTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
2541 } 2875 }
2542 static [_isGeneralDelimiter](ch) { 2876 static [_isGeneralDelimiter](ch) {
2543 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dsend(Uri[_genDelimitersTable][exports.$get](dart.notNull(c h) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0)); 2877 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dsend(Uri[_genDelimitersTable][$get](dart.notNull(ch) >> 4) , '&', 1 << (dart.notNull(ch) & 15)), 0));
2544 } 2878 }
2545 get isAbsolute() { 2879 get isAbsolute() {
2546 return this.scheme != "" && this.fragment == ""; 2880 return this.scheme != "" && this.fragment == "";
2547 } 2881 }
2548 [_merge](base, reference) { 2882 [_merge](base, reference) {
2549 if (base.isEmpty) 2883 if (base.isEmpty)
2550 return `/${reference}`; 2884 return `/${reference}`;
2551 let backCount = 0; 2885 let backCount = 0;
2552 let refStart = 0; 2886 let refStart = 0;
2553 while (reference.startsWith("../", refStart)) { 2887 while (reference.startsWith("../", refStart)) {
(...skipping 22 matching lines...) Expand all
2576 return index != -1; 2910 return index != -1;
2577 } 2911 }
2578 [_removeDotSegments](path) { 2912 [_removeDotSegments](path) {
2579 if (!dart.notNull(this[_hasDotSegments](path))) 2913 if (!dart.notNull(this[_hasDotSegments](path)))
2580 return path; 2914 return path;
2581 let output = dart.setType([], List$(String)); 2915 let output = dart.setType([], List$(String));
2582 let appendSlash = false; 2916 let appendSlash = false;
2583 for (let segment of path.split("/")) { 2917 for (let segment of path.split("/")) {
2584 appendSlash = false; 2918 appendSlash = false;
2585 if (segment == "..") { 2919 if (segment == "..") {
2586 if (!dart.notNull(output[exports.$isEmpty]) && (output[exports.$length ] != 1 || output[exports.$get](0) != "")) 2920 if (!dart.notNull(output[$isEmpty]) && (output[$length] != 1 || output [$get](0) != ""))
2587 output[exports.$removeLast](); 2921 output[$removeLast]();
2588 appendSlash = true; 2922 appendSlash = true;
2589 } else if ("." == segment) { 2923 } else if ("." == segment) {
2590 appendSlash = true; 2924 appendSlash = true;
2591 } else { 2925 } else {
2592 output[exports.$add](segment); 2926 output[$add](segment);
2593 } 2927 }
2594 } 2928 }
2595 if (appendSlash) 2929 if (appendSlash)
2596 output[exports.$add](""); 2930 output[$add]("");
2597 return output[exports.$join]("/"); 2931 return output[$join]("/");
2598 } 2932 }
2599 resolve(reference) { 2933 resolve(reference) {
2600 return this.resolveUri(Uri.parse(reference)); 2934 return this.resolveUri(Uri.parse(reference));
2601 } 2935 }
2602 resolveUri(reference) { 2936 resolveUri(reference) {
2603 let targetScheme = null; 2937 let targetScheme = null;
2604 let targetUserInfo = ""; 2938 let targetUserInfo = "";
2605 let targetHost = null; 2939 let targetHost = null;
2606 let targetPort = null; 2940 let targetPort = null;
2607 let targetPath = null; 2941 let targetPath = null;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false); 3030 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false);
2697 let result = new StringBuffer(); 3031 let result = new StringBuffer();
2698 if (this[_isPathAbsolute]) 3032 if (this[_isPathAbsolute])
2699 result.write("/"); 3033 result.write("/");
2700 result.writeAll(this.pathSegments, "/"); 3034 result.writeAll(this.pathSegments, "/");
2701 return result.toString(); 3035 return result.toString();
2702 } 3036 }
2703 [_toWindowsFilePath]() { 3037 [_toWindowsFilePath]() {
2704 let hasDriveLetter = false; 3038 let hasDriveLetter = false;
2705 let segments = this.pathSegments; 3039 let segments = this.pathSegments;
2706 if (dart.notNull(segments[exports.$length]) > 0 && segments[exports.$get]( 0).length == 2 && segments[exports.$get](0).codeUnitAt(1) == Uri[_COLON]) { 3040 if (dart.notNull(segments[$length]) > 0 && segments[$get](0).length == 2 & & segments[$get](0).codeUnitAt(1) == Uri[_COLON]) {
2707 Uri[_checkWindowsDriveLetter](segments[exports.$get](0).codeUnitAt(0), f alse); 3041 Uri[_checkWindowsDriveLetter](segments[$get](0).codeUnitAt(0), false);
2708 Uri[_checkWindowsPathReservedCharacters](segments, false, 1); 3042 Uri[_checkWindowsPathReservedCharacters](segments, false, 1);
2709 hasDriveLetter = true; 3043 hasDriveLetter = true;
2710 } else { 3044 } else {
2711 Uri[_checkWindowsPathReservedCharacters](segments, false); 3045 Uri[_checkWindowsPathReservedCharacters](segments, false);
2712 } 3046 }
2713 let result = new StringBuffer(); 3047 let result = new StringBuffer();
2714 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) 3048 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter))
2715 result.write("\\"); 3049 result.write("\\");
2716 if (this.host != "") { 3050 if (this.host != "") {
2717 result.write("\\"); 3051 result.write("\\");
2718 result.write(this.host); 3052 result.write(this.host);
2719 result.write("\\"); 3053 result.write("\\");
2720 } 3054 }
2721 result.writeAll(segments, "\\"); 3055 result.writeAll(segments, "\\");
2722 if (dart.notNull(hasDriveLetter) && segments[exports.$length] == 1) 3056 if (dart.notNull(hasDriveLetter) && segments[$length] == 1)
2723 result.write("\\"); 3057 result.write("\\");
2724 return result.toString(); 3058 return result.toString();
2725 } 3059 }
2726 get [_isPathAbsolute]() { 3060 get [_isPathAbsolute]() {
2727 if (this.path == null || dart.notNull(this.path.isEmpty)) 3061 if (this.path == null || dart.notNull(this.path.isEmpty))
2728 return false; 3062 return false;
2729 return this.path.startsWith('/'); 3063 return this.path.startsWith('/');
2730 } 3064 }
2731 [_writeAuthority](ss) { 3065 [_writeAuthority](ss) {
2732 if (this[_userInfo].isNotEmpty) { 3066 if (this[_userInfo].isNotEmpty) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2792 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding}); 3126 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding});
2793 } 3127 }
2794 static encodeFull(uri) { 3128 static encodeFull(uri) {
2795 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri); 3129 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri);
2796 } 3130 }
2797 static decodeFull(uri) { 3131 static decodeFull(uri) {
2798 return Uri[_uriDecode](uri); 3132 return Uri[_uriDecode](uri);
2799 } 3133 }
2800 static splitQueryString(query, opts) { 3134 static splitQueryString(query, opts) {
2801 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3135 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2802 return dart.as(query.split("&")[exports.$fold](dart.map(), (map, element) => { 3136 return dart.as(query.split("&")[$fold](dart.map(), (map, element) => {
2803 let index = dart.as(dart.dsend(element, 'indexOf', "="), int); 3137 let index = dart.as(dart.dsend(element, 'indexOf', "="), int);
2804 if (index == -1) { 3138 if (index == -1) {
2805 if (!dart.equals(element, "")) { 3139 if (!dart.equals(element, "")) {
2806 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), ""); 3140 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), "");
2807 } 3141 }
2808 } else if (index != 0) { 3142 } else if (index != 0) {
2809 let key = dart.dsend(element, 'substring', 0, index); 3143 let key = dart.dsend(element, 'substring', 0, index);
2810 let value = dart.dsend(element, 'substring', dart.notNull(index) + 1); 3144 let value = dart.dsend(element, 'substring', dart.notNull(index) + 1);
2811 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding: encoding})); 3145 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding: encoding}));
2812 } 3146 }
2813 return map; 3147 return map;
2814 }), Map$(String, String)); 3148 }), Map$(String, String));
2815 } 3149 }
2816 static parseIPv4Address(host) { 3150 static parseIPv4Address(host) {
2817 // Function error: (String) → void 3151 // Function error: (String) → void
2818 function error(msg) { 3152 function error(msg) {
2819 throw new FormatException(`Illegal IPv4 address, ${msg}`); 3153 throw new FormatException(`Illegal IPv4 address, ${msg}`);
2820 } 3154 }
2821 let bytes = host.split('.'); 3155 let bytes = host.split('.');
2822 if (bytes[exports.$length] != 4) { 3156 if (bytes[$length] != 4) {
2823 error('IPv4 address should contain exactly 4 parts'); 3157 error('IPv4 address should contain exactly 4 parts');
2824 } 3158 }
2825 return dart.as(bytes[exports.$map](byteString => { 3159 return dart.as(bytes[$map](byteString => {
2826 let byte = int.parse(dart.as(byteString, String)); 3160 let byte = int.parse(dart.as(byteString, String));
2827 if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) { 3161 if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) {
2828 error('each part must be in the range of `0..255`'); 3162 error('each part must be in the range of `0..255`');
2829 } 3163 }
2830 return byte; 3164 return byte;
2831 })[exports.$toList](), List$(int)); 3165 })[$toList](), List$(int));
2832 } 3166 }
2833 static parseIPv6Address(host, start, end) { 3167 static parseIPv6Address(host, start, end) {
2834 if (start === void 0) 3168 if (start === void 0)
2835 start = 0; 3169 start = 0;
2836 if (end === void 0) 3170 if (end === void 0)
2837 end = null; 3171 end = null;
2838 if (end == null) 3172 if (end == null)
2839 end = host.length; 3173 end = host.length;
2840 // Function error: (String, [dynamic]) → void 3174 // Function error: (String, [dynamic]) → void
2841 function error(msg, position) { 3175 function error(msg, position) {
(...skipping 24 matching lines...) Expand all
2866 if (host.codeUnitAt(i) != Uri[_COLON]) { 3200 if (host.codeUnitAt(i) != Uri[_COLON]) {
2867 error('invalid start colon.', i); 3201 error('invalid start colon.', i);
2868 } 3202 }
2869 partStart = i; 3203 partStart = i;
2870 } 3204 }
2871 if (i == partStart) { 3205 if (i == partStart) {
2872 if (wildcardSeen) { 3206 if (wildcardSeen) {
2873 error('only one wildcard `::` is allowed', i); 3207 error('only one wildcard `::` is allowed', i);
2874 } 3208 }
2875 wildcardSeen = true; 3209 wildcardSeen = true;
2876 parts[exports.$add](-1); 3210 parts[$add](-1);
2877 } else { 3211 } else {
2878 parts[exports.$add](parseHex(partStart, i)); 3212 parts[$add](parseHex(partStart, i));
2879 } 3213 }
2880 partStart = dart.notNull(i) + 1; 3214 partStart = dart.notNull(i) + 1;
2881 } 3215 }
2882 } 3216 }
2883 if (parts[exports.$length] == 0) 3217 if (parts[$length] == 0)
2884 error('too few parts'); 3218 error('too few parts');
2885 let atEnd = partStart == end; 3219 let atEnd = partStart == end;
2886 let isLastWildcard = parts[exports.$last] == -1; 3220 let isLastWildcard = parts[$last] == -1;
2887 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) { 3221 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) {
2888 error('expected a part after last `:`', end); 3222 error('expected a part after last `:`', end);
2889 } 3223 }
2890 if (!dart.notNull(atEnd)) { 3224 if (!dart.notNull(atEnd)) {
2891 try { 3225 try {
2892 parts[exports.$add](parseHex(partStart, end)); 3226 parts[$add](parseHex(partStart, end));
2893 } catch (e) { 3227 } catch (e) {
2894 try { 3228 try {
2895 let last = Uri.parseIPv4Address(host.substring(partStart, end)); 3229 let last = Uri.parseIPv4Address(host.substring(partStart, end));
2896 parts[exports.$add](dart.notNull(last[exports.$get](0)) << 8 | dart. notNull(last[exports.$get](1))); 3230 parts[$add](dart.notNull(last[$get](0)) << 8 | dart.notNull(last[$ge t](1)));
2897 parts[exports.$add](dart.notNull(last[exports.$get](2)) << 8 | dart. notNull(last[exports.$get](3))); 3231 parts[$add](dart.notNull(last[$get](2)) << 8 | dart.notNull(last[$ge t](3)));
2898 } catch (e) { 3232 } catch (e) {
2899 error('invalid end of IPv6 address.', partStart); 3233 error('invalid end of IPv6 address.', partStart);
2900 } 3234 }
2901 3235
2902 } 3236 }
2903 3237
2904 } 3238 }
2905 if (wildcardSeen) { 3239 if (wildcardSeen) {
2906 if (dart.notNull(parts[exports.$length]) > 7) { 3240 if (dart.notNull(parts[$length]) > 7) {
2907 error('an address with a wildcard must have less than 7 parts'); 3241 error('an address with a wildcard must have less than 7 parts');
2908 } 3242 }
2909 } else if (parts[exports.$length] != 8) { 3243 } else if (parts[$length] != 8) {
2910 error('an address without a wildcard must contain exactly 8 parts'); 3244 error('an address without a wildcard must contain exactly 8 parts');
2911 } 3245 }
2912 let bytes = new (List$(int))(16); 3246 let bytes = new (List$(int))(16);
2913 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts[exports.$l ength]); i = dart.notNull(i) + 1) { 3247 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts[$length]); i = dart.notNull(i) + 1) {
2914 let value = parts[exports.$get](i); 3248 let value = parts[$get](i);
2915 if (value == -1) { 3249 if (value == -1) {
2916 let wildCardLength = 9 - dart.notNull(parts[exports.$length]); 3250 let wildCardLength = 9 - dart.notNull(parts[$length]);
2917 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = da rt.notNull(j) + 1) { 3251 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = da rt.notNull(j) + 1) {
2918 bytes[exports.$set](index, 0); 3252 bytes[$set](index, 0);
2919 bytes[exports.$set](dart.notNull(index) + 1, 0); 3253 bytes[$set](dart.notNull(index) + 1, 0);
2920 index = dart.notNull(index) + 2; 3254 index = dart.notNull(index) + 2;
2921 } 3255 }
2922 } else { 3256 } else {
2923 bytes[exports.$set](index, dart.notNull(value) >> 8); 3257 bytes[$set](index, dart.notNull(value) >> 8);
2924 bytes[exports.$set](dart.notNull(index) + 1, dart.notNull(value) & 255 ); 3258 bytes[$set](dart.notNull(index) + 1, dart.notNull(value) & 255);
2925 index = dart.notNull(index) + 2; 3259 index = dart.notNull(index) + 2;
2926 } 3260 }
2927 } 3261 }
2928 return dart.as(bytes, List$(int)); 3262 return dart.as(bytes, List$(int));
2929 } 3263 }
2930 static [_uriEncode](canonicalTable, text, opts) { 3264 static [_uriEncode](canonicalTable, text, opts) {
2931 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3265 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2932 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ; 3266 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ;
2933 // Function byteToHex: (dynamic, dynamic) → dynamic 3267 // Function byteToHex: (dynamic, dynamic) → dynamic
2934 function byteToHex(byte, buffer) { 3268 function byteToHex(byte, buffer) {
2935 let hex = '0123456789ABCDEF'; 3269 let hex = '0123456789ABCDEF';
2936 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '>>', 4), int))); 3270 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '>>', 4), int)));
2937 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '&', 15), int))); 3271 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '&', 15), int)));
2938 } 3272 }
2939 let result = new StringBuffer(); 3273 let result = new StringBuffer();
2940 let bytes = encoding.encode(text); 3274 let bytes = encoding.encode(text);
2941 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[exports.$length]); i = dart.notNull(i) + 1) { 3275 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[$length]); i = dart.n otNull(i) + 1) {
2942 let byte = bytes[exports.$get](i); 3276 let byte = bytes[$get](i);
2943 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[exports.$ge t](dart.notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) { 3277 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[$get](dart. notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) {
2944 result.writeCharCode(byte); 3278 result.writeCharCode(byte);
2945 } else if (dart.notNull(spaceToPlus) && byte == Uri[_SPACE]) { 3279 } else if (dart.notNull(spaceToPlus) && byte == Uri[_SPACE]) {
2946 result.writeCharCode(Uri[_PLUS]); 3280 result.writeCharCode(Uri[_PLUS]);
2947 } else { 3281 } else {
2948 result.writeCharCode(Uri[_PERCENT]); 3282 result.writeCharCode(Uri[_PERCENT]);
2949 byteToHex(byte, result); 3283 byteToHex(byte, result);
2950 } 3284 }
2951 } 3285 }
2952 return result.toString(); 3286 return result.toString();
2953 } 3287 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2987 bytes = new (List$(int))(); 3321 bytes = new (List$(int))();
2988 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) { 3322 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) {
2989 let codeUnit = text.codeUnitAt(i); 3323 let codeUnit = text.codeUnitAt(i);
2990 if (dart.notNull(codeUnit) > 127) { 3324 if (dart.notNull(codeUnit) > 127) {
2991 throw new ArgumentError("Illegal percent encoding in URI"); 3325 throw new ArgumentError("Illegal percent encoding in URI");
2992 } 3326 }
2993 if (codeUnit == Uri[_PERCENT]) { 3327 if (codeUnit == Uri[_PERCENT]) {
2994 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { 3328 if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
2995 throw new ArgumentError('Truncated URI'); 3329 throw new ArgumentError('Truncated URI');
2996 } 3330 }
2997 bytes[exports.$add](Uri[_hexCharPairToByte](text, dart.notNull(i) + 1)); 3331 bytes[$add](Uri[_hexCharPairToByte](text, dart.notNull(i) + 1));
2998 i = dart.notNull(i) + 2; 3332 i = dart.notNull(i) + 2;
2999 } else if (dart.notNull(plusToSpace) && codeUnit == Uri[_PLUS]) { 3333 } else if (dart.notNull(plusToSpace) && codeUnit == Uri[_PLUS]) {
3000 bytes[exports.$add](Uri[_SPACE]); 3334 bytes[$add](Uri[_SPACE]);
3001 } else { 3335 } else {
3002 bytes[exports.$add](codeUnit); 3336 bytes[$add](codeUnit);
3003 } 3337 }
3004 } 3338 }
3005 } 3339 }
3006 return encoding.decode(bytes); 3340 return encoding.decode(bytes);
3007 } 3341 }
3008 static [_isAlphabeticCharacter](codeUnit) { 3342 static [_isAlphabeticCharacter](codeUnit) {
3009 return dart.notNull(codeUnit) >= dart.notNull(Uri[_LOWER_CASE_A]) && dart. notNull(codeUnit) <= dart.notNull(Uri[_LOWER_CASE_Z]) || dart.notNull(codeUnit) >= dart.notNull(Uri[_UPPER_CASE_A]) && dart.notNull(codeUnit) <= dart.notNull(Ur i[_UPPER_CASE_Z]); 3343 return dart.notNull(codeUnit) >= dart.notNull(Uri[_LOWER_CASE_A]) && dart. notNull(codeUnit) <= dart.notNull(Uri[_LOWER_CASE_Z]) || dart.notNull(codeUnit) >= dart.notNull(Uri[_UPPER_CASE_A]) && dart.notNull(codeUnit) <= dart.notNull(Ur i[_UPPER_CASE_Z]);
3010 } 3344 }
3011 } 3345 }
3012 dart.defineNamedConstructor(Uri, _internal$); 3346 dart.defineNamedConstructor(Uri, _internal$);
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
3121 exports.Iterable = Iterable; 3455 exports.Iterable = Iterable;
3122 exports.$iterator = $iterator; 3456 exports.$iterator = $iterator;
3123 exports.$skip = $skip; 3457 exports.$skip = $skip;
3124 exports.$take = $take; 3458 exports.$take = $take;
3125 exports.BidirectionalIterator$ = BidirectionalIterator$; 3459 exports.BidirectionalIterator$ = BidirectionalIterator$;
3126 exports.BidirectionalIterator = BidirectionalIterator; 3460 exports.BidirectionalIterator = BidirectionalIterator;
3127 exports.Iterator$ = Iterator$; 3461 exports.Iterator$ = Iterator$;
3128 exports.Iterator = Iterator; 3462 exports.Iterator = Iterator;
3129 exports.$set = $set; 3463 exports.$set = $set;
3130 exports.$add = $add; 3464 exports.$add = $add;
3465 exports.$checkMutable = $checkMutable;
3466 exports.$checkGrowable = $checkGrowable;
3467 exports.$where = $where;
3468 exports.$expand = $expand;
3469 exports.$forEach = $forEach;
3470 exports.$map = $map;
3471 exports.$takeWhile = $takeWhile;
3472 exports.$skipWhile = $skipWhile;
3473 exports.$reduce = $reduce;
3474 exports.$fold = $fold;
3475 exports.$firstWhere = $firstWhere;
3476 exports.$lastWhere = $lastWhere;
3477 exports.$singleWhere = $singleWhere;
3478 exports.$elementAt = $elementAt;
3479 exports.$first = $first;
3480 exports.$last = $last;
3481 exports.$single = $single;
3482 exports.$any = $any;
3483 exports.$every = $every;
3484 exports.$sort = $sort;
3485 exports.$contains = $contains;
3486 exports.$isEmpty = $isEmpty;
3487 exports.$isNotEmpty = $isNotEmpty;
3488 exports.$toString = $toString;
3489 exports.$toList = $toList;
3490 exports.$toSet = $toSet;
3491 exports.$hashCode = $hashCode;
3492 exports.$addAll = $addAll;
3493 exports.$reversed = $reversed;
3494 exports.$shuffle = $shuffle;
3495 exports.$indexOf = $indexOf;
3496 exports.$lastIndexOf = $lastIndexOf;
3497 exports.$clear = $clear;
3498 exports.$insert = $insert;
3499 exports.$insertAll = $insertAll;
3500 exports.$setAll = $setAll;
3501 exports.$remove = $remove;
3502 exports.$removeAt = $removeAt;
3503 exports.$removeLast = $removeLast;
3504 exports.$removeWhere = $removeWhere;
3505 exports.$retainWhere = $retainWhere;
3506 exports.$sublist = $sublist;
3507 exports.$getRange = $getRange;
3508 exports.$setRange = $setRange;
3509 exports.$removeRange = $removeRange;
3510 exports.$fillRange = $fillRange;
3511 exports.$replaceRange = $replaceRange;
3512 exports.$asMap = $asMap;
3131 exports.List$ = List$; 3513 exports.List$ = List$;
3132 exports.List = List; 3514 exports.List = List;
3133 exports.Map$ = Map$; 3515 exports.Map$ = Map$;
3134 exports.Map = Map; 3516 exports.Map = Map;
3135 exports.Null = Null; 3517 exports.Null = Null;
3136 exports.Pattern = Pattern; 3518 exports.Pattern = Pattern;
3137 exports.print = print; 3519 exports.print = print;
3138 exports.Match = Match; 3520 exports.Match = Match;
3139 exports.RegExp = RegExp; 3521 exports.RegExp = RegExp;
3140 exports.Set$ = Set$; 3522 exports.Set$ = Set$;
3141 exports.Sink$ = Sink$; 3523 exports.Sink$ = Sink$;
3142 exports.Sink = Sink; 3524 exports.Sink = Sink;
3143 exports.StackTrace = StackTrace; 3525 exports.StackTrace = StackTrace;
3144 exports.Stopwatch = Stopwatch; 3526 exports.Stopwatch = Stopwatch;
3145 exports.$sublist = $sublist;
3146 exports.String = String; 3527 exports.String = String;
3147 exports.$last = $last;
3148 exports.RuneIterator = RuneIterator; 3528 exports.RuneIterator = RuneIterator;
3149 exports.StringBuffer = StringBuffer; 3529 exports.StringBuffer = StringBuffer;
3150 exports.StringSink = StringSink; 3530 exports.StringSink = StringSink;
3151 exports.Symbol = Symbol; 3531 exports.Symbol = Symbol;
3152 exports.Type = Type; 3532 exports.Type = Type;
3153 exports.$forEach = $forEach;
3154 exports.$map = $map;
3155 exports.$toList = $toList;
3156 exports.$isEmpty = $isEmpty;
3157 exports.$removeLast = $removeLast;
3158 exports.$fold = $fold;
3159 exports.Uri = Uri; 3533 exports.Uri = Uri;
3160 })(core || (core = {})); 3534 })(core || (core = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart_runtime.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698