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

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

Issue 1059583002: Extension method support to move us closer to a valid List implementation. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: 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
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 var name = this.constructor.name; 6 var name = this.constructor.name;
7 var init = this[name]; 7 var init = this[name];
8 var result = void 0; 8 var result = void 0;
9 if (init) 9 if (init)
10 result = init.apply(this, arguments); 10 result = init.apply(this, arguments);
11 return result === void 0 ? this : result; 11 return result === void 0 ? this : result;
12 } 12 }
13 ['=='](other) { 13 ['=='](other) {
14 return identical(this, other); 14 return identical(this, other);
15 } 15 }
16 get hashCode() { 16 get hashCode() {
17 return _js_helper.Primitives.objectHashCode(this); 17 return _js_helper.Primitives.objectHashCode(this);
18 } 18 }
19 toString() { 19 toString() {
20 return _js_helper.Primitives.objectToString(this); 20 return _js_helper.Primitives.objectToString(this);
21 } 21 }
22 noSuchMethod(invocation) { 22 noSuchMethod(invocation) {
23 throw new NoSuchMethodError(this, invocation.memberName, invocation.positi onalArguments, invocation.namedArguments); 23 throw new NoSuchMethodError(this, invocation.memberName, invocation.positi onalArguments, invocation.namedArguments);
24 } 24 }
25 get runtimeType() { 25 get runtimeType() {
26 return _js_helper.getRuntimeType(this); 26 return _js_helper.getRuntimeType(this);
27 } 27 }
28 } 28 }
29 class JsName extends Object {
30 JsName(opts) {
31 let name = opts && 'name' in opts ? opts.name : null;
32 this.name = name;
33 }
34 }
35 class JsPeerInterface extends Object {
36 JsPeerInterface(opts) {
37 let name = opts && 'name' in opts ? opts.name : null;
38 this.name = name;
39 }
40 }
41 class SupportJsExtensionMethod extends Object {
42 SupportJsExtensionMethod() {
43 }
44 }
29 class Deprecated extends Object { 45 class Deprecated extends Object {
30 Deprecated(expires) { 46 Deprecated(expires) {
31 this.expires = expires; 47 this.expires = expires;
32 } 48 }
33 toString() { 49 toString() {
34 return `Deprecated feature. Will be removed ${this.expires}`; 50 return `Deprecated feature. Will be removed ${this.expires}`;
35 } 51 }
36 } 52 }
37 class _Override extends Object { 53 class _Override extends Object {
38 _Override() { 54 _Override() {
(...skipping 711 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 this[_memberName] = memberName; 766 this[_memberName] = memberName;
751 this[_arguments] = positionalArguments; 767 this[_arguments] = positionalArguments;
752 this[_namedArguments] = namedArguments; 768 this[_namedArguments] = namedArguments;
753 this[_existingArgumentNames] = existingArgumentNames; 769 this[_existingArgumentNames] = existingArgumentNames;
754 super.Error(); 770 super.Error();
755 } 771 }
756 toString() { 772 toString() {
757 let sb = new StringBuffer(); 773 let sb = new StringBuffer();
758 let i = 0; 774 let i = 0;
759 if (this[_arguments] != null) { 775 if (this[_arguments] != null) {
760 for (; dart.notNull(i) < dart.notNull(this[_arguments].length); i = dart .notNull(i) + 1) { 776 for (; dart.notNull(i) < dart.notNull(this[_arguments][exports.$length]) ; i = dart.notNull(i) + 1) {
761 if (dart.notNull(i) > 0) { 777 if (dart.notNull(i) > 0) {
762 sb.write(", "); 778 sb.write(", ");
763 } 779 }
764 sb.write(Error.safeToString(this[_arguments].get(i))); 780 sb.write(Error.safeToString(this[_arguments][exports.$get](i)));
765 } 781 }
766 } 782 }
767 if (this[_namedArguments] != null) { 783 if (this[_namedArguments] != null) {
768 this[_namedArguments].forEach(((key, value) => { 784 this[_namedArguments].forEach(((key, value) => {
769 if (dart.notNull(i) > 0) { 785 if (dart.notNull(i) > 0) {
770 sb.write(", "); 786 sb.write(", ");
771 } 787 }
772 sb.write(_symbolToString(key)); 788 sb.write(_symbolToString(key));
773 sb.write(": "); 789 sb.write(": ");
774 sb.write(Error.safeToString(value)); 790 sb.write(Error.safeToString(value));
775 i = dart.notNull(i) + 1; 791 i = dart.notNull(i) + 1;
776 }).bind(this)); 792 }).bind(this));
777 } 793 }
778 if (this[_existingArgumentNames] == null) { 794 if (this[_existingArgumentNames] == null) {
779 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`; 795 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`;
780 } else { 796 } else {
781 let actualParameters = sb.toString(); 797 let actualParameters = sb.toString();
782 sb = new StringBuffer(); 798 sb = new StringBuffer();
783 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es].length); i = dart.notNull(i) + 1) { 799 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es][exports.$length]); i = dart.notNull(i) + 1) {
784 if (dart.notNull(i) > 0) { 800 if (dart.notNull(i) > 0) {
785 sb.write(", "); 801 sb.write(", ");
786 } 802 }
787 sb.write(this[_existingArgumentNames].get(i)); 803 sb.write(this[_existingArgumentNames][exports.$get](i));
788 } 804 }
789 let formalParameters = sb.toString(); 805 let formalParameters = sb.toString();
790 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})`; 806 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})`;
791 } 807 }
792 } 808 }
793 } 809 }
794 class UnsupportedError extends Error { 810 class UnsupportedError extends Error {
795 UnsupportedError(message) { 811 UnsupportedError(message) {
796 this.message = message; 812 this.message = message;
797 super.Error(); 813 super.Error();
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
1059 let onError = opts && 'onError' in opts ? opts.onError : null; 1075 let onError = opts && 'onError' in opts ? opts.onError : null;
1060 return Number(source); 1076 return Number(source);
1061 } 1077 }
1062 } 1078 }
1063 dart.defineNamedConstructor(int, 'fromEnvironment'); 1079 dart.defineNamedConstructor(int, 'fromEnvironment');
1064 class Invocation extends Object { 1080 class Invocation extends Object {
1065 get isAccessor() { 1081 get isAccessor() {
1066 return dart.notNull(this.isGetter) || dart.notNull(this.isSetter); 1082 return dart.notNull(this.isGetter) || dart.notNull(this.isSetter);
1067 } 1083 }
1068 } 1084 }
1085 let $join = dart.JsSymbol('$join');
1069 let Iterable$ = dart.generic(function(E) { 1086 let Iterable$ = dart.generic(function(E) {
1070 class Iterable extends Object { 1087 class Iterable extends Object {
1071 Iterable() { 1088 Iterable() {
1072 } 1089 }
1073 generate(count, generator) { 1090 generate(count, generator) {
1074 if (generator === void 0) 1091 if (generator === void 0)
1075 generator = null; 1092 generator = null;
1076 if (dart.notNull(count) <= 0) 1093 if (dart.notNull(count) <= 0)
1077 return new (_internal.EmptyIterable$(E))(); 1094 return new (_internal.EmptyIterable$(E))();
1078 return new (exports._GeneratorIterable$(E))(count, generator); 1095 return new (exports._GeneratorIterable$(E))(count, generator);
1079 } 1096 }
1080 join(separator) { 1097 [exports.$join](separator) {
1081 if (separator === void 0) 1098 if (separator === void 0)
1082 separator = ""; 1099 separator = "";
1083 let buffer = new StringBuffer(); 1100 let buffer = new StringBuffer();
1084 buffer.writeAll(this, separator); 1101 buffer.writeAll(this, separator);
1085 return buffer.toString(); 1102 return buffer.toString();
1086 } 1103 }
1087 [dart.JsSymbol.iterator]() { 1104 [dart.JsSymbol.iterator]() {
1088 var iterator = this.iterator; 1105 var iterator = this.iterator;
1089 return { 1106 return {
1090 next() { 1107 next() {
1091 var done = iterator.moveNext(); 1108 var done = iterator.moveNext();
1092 return {done: done, current: done ? void 0 : iterator.current}; 1109 return {done: done, current: done ? void 0 : iterator.current};
1093 } 1110 }
1094 }; 1111 };
1095 } 1112 }
1096 } 1113 }
1097 dart.defineNamedConstructor(Iterable, 'generate'); 1114 dart.defineNamedConstructor(Iterable, 'generate');
1098 return Iterable; 1115 return Iterable;
1099 }); 1116 });
1100 let Iterable = Iterable$(dart.dynamic); 1117 let Iterable = Iterable$(dart.dynamic);
1101 let _end = dart.JsSymbol('_end'); 1118 let _end = dart.JsSymbol('_end');
1102 let _start = dart.JsSymbol('_start'); 1119 let _start = dart.JsSymbol('_start');
1103 let _generator = dart.JsSymbol('_generator'); 1120 let _generator = dart.JsSymbol('_generator');
1104 let _id = dart.JsSymbol('_id'); 1121 let _id = dart.JsSymbol('_id');
1122 let $iterator = dart.JsSymbol('$iterator');
1123 let $length = dart.JsSymbol('$length');
1124 let $skip = dart.JsSymbol('$skip');
1125 let $take = dart.JsSymbol('$take');
1105 let _GeneratorIterable$ = dart.generic(function(E) { 1126 let _GeneratorIterable$ = dart.generic(function(E) {
1106 class _GeneratorIterable extends collection.IterableBase$(E) { 1127 class _GeneratorIterable extends collection.IterableBase$(E) {
1107 _GeneratorIterable(end$, generator) { 1128 _GeneratorIterable(end$, generator) {
1108 this[_end] = end$; 1129 this[_end] = end$;
1109 this[_start] = 0; 1130 this[_start] = 0;
1110 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable[_id], _Generator); 1131 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable[_id], _Generator);
1111 super.IterableBase(); 1132 super.IterableBase();
1112 } 1133 }
1113 slice(start$, end$, generator$) { 1134 slice(start$, end$, generator$) {
1114 this[_start] = start$; 1135 this[_start] = start$;
1115 this[_end] = end$; 1136 this[_end] = end$;
1116 this[_generator] = generator$; 1137 this[_generator] = generator$;
1117 super.IterableBase(); 1138 super.IterableBase();
1118 } 1139 }
1119 get iterator() { 1140 get [exports.$iterator]() {
1120 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]); 1141 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]);
1121 } 1142 }
1122 get length() { 1143 get [exports.$length]() {
1123 return dart.notNull(this[_end]) - dart.notNull(this[_start]); 1144 return dart.notNull(this[_end]) - dart.notNull(this[_start]);
1124 } 1145 }
1125 skip(count) { 1146 [exports.$skip](count) {
1126 RangeError.checkNotNegative(count, "count"); 1147 RangeError.checkNotNegative(count, "count");
1127 if (count == 0) 1148 if (count == 0)
1128 return this; 1149 return this;
1129 let newStart = dart.notNull(this[_start]) + dart.notNull(count); 1150 let newStart = dart.notNull(this[_start]) + dart.notNull(count);
1130 if (dart.notNull(newStart) >= dart.notNull(this[_end])) 1151 if (dart.notNull(newStart) >= dart.notNull(this[_end]))
1131 return new (_internal.EmptyIterable$(E))(); 1152 return new (_internal.EmptyIterable$(E))();
1132 return new exports._GeneratorIterable$(E).slice(newStart, this[_end], th is[_generator]); 1153 return new exports._GeneratorIterable$(E).slice(newStart, this[_end], th is[_generator]);
1133 } 1154 }
1134 take(count) { 1155 [exports.$take](count) {
1135 RangeError.checkNotNegative(count, "count"); 1156 RangeError.checkNotNegative(count, "count");
1136 if (count == 0) 1157 if (count == 0)
1137 return new (_internal.EmptyIterable$(E))(); 1158 return new (_internal.EmptyIterable$(E))();
1138 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 1159 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
1139 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) 1160 if (dart.notNull(newEnd) >= dart.notNull(this[_end]))
1140 return this; 1161 return this;
1141 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]); 1162 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]);
1142 } 1163 }
1143 static [_id](n) { 1164 static [_id](n) {
1144 return n; 1165 return n;
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
1196 if (length === void 0) 1217 if (length === void 0)
1197 length = new _ListConstructorSentinel(); 1218 length = new _ListConstructorSentinel();
1198 if (dart.equals(length, new _ListConstructorSentinel())) { 1219 if (dart.equals(length, new _ListConstructorSentinel())) {
1199 return new _interceptors.JSArray$(E).emptyGrowable(); 1220 return new _interceptors.JSArray$(E).emptyGrowable();
1200 } 1221 }
1201 return new _interceptors.JSArray$(E).fixed(length); 1222 return new _interceptors.JSArray$(E).fixed(length);
1202 } 1223 }
1203 filled(length, fill) { 1224 filled(length, fill) {
1204 let result = new _interceptors.JSArray$(E).fixed(length); 1225 let result = new _interceptors.JSArray$(E).fixed(length);
1205 if (length != 0 && dart.notNull(fill != null)) { 1226 if (length != 0 && dart.notNull(fill != null)) {
1206 for (let i = 0; dart.notNull(i) < dart.notNull(result.length); i = dar t.notNull(i) + 1) { 1227 for (let i = 0; dart.notNull(i) < dart.notNull(result[exports.$length] ); i = dart.notNull(i) + 1) {
1207 result.set(i, fill); 1228 result[exports.$set](i, fill);
1208 } 1229 }
1209 } 1230 }
1210 return dart.as(result, List$(E)); 1231 return dart.as(result, List$(E));
1211 } 1232 }
1212 from(elements, opts) { 1233 from(elements, opts) {
1213 let growable = opts && 'growable' in opts ? opts.growable : true; 1234 let growable = opts && 'growable' in opts ? opts.growable : true;
1214 return null; 1235 return null;
1215 } 1236 }
1216 generate(length, generator, opts) { 1237 generate(length, generator, opts) {
1217 let growable = opts && 'growable' in opts ? opts.growable : true; 1238 let growable = opts && 'growable' in opts ? opts.growable : true;
1218 let result = null; 1239 let result = null;
1219 if (growable) { 1240 if (growable) {
1220 result = ((_$) => { 1241 result = ((_$) => {
1221 _$.length = length; 1242 _$[exports.$length] = length;
1222 return _$; 1243 return _$;
1223 }).bind(this)(new List$(E).from([])); 1244 }).bind(this)(new List$(E).from([]));
1224 } else { 1245 } else {
1225 result = new (List$(E))(length); 1246 result = new (List$(E))(length);
1226 } 1247 }
1227 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) { 1248 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1228 result.set(i, generator(i)); 1249 result[exports.$set](i, generator(i));
1229 } 1250 }
1230 return result; 1251 return result;
1231 } 1252 }
1232 } 1253 }
1233 List[dart.implements] = () => [Iterable$(E), _internal.EfficientLength]; 1254 List[dart.implements] = () => [Iterable$(E), _internal.EfficientLength];
1234 dart.defineNamedConstructor(List, 'filled'); 1255 dart.defineNamedConstructor(List, 'filled');
1235 dart.defineNamedConstructor(List, 'from'); 1256 dart.defineNamedConstructor(List, 'from');
1236 dart.defineNamedConstructor(List, 'generate'); 1257 dart.defineNamedConstructor(List, 'generate');
1237 return List; 1258 return List;
1238 }); 1259 });
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1385 class String extends Object { 1406 class String extends Object {
1386 fromCharCodes(charCodes, start, end) { 1407 fromCharCodes(charCodes, start, end) {
1387 if (start === void 0) 1408 if (start === void 0)
1388 start = 0; 1409 start = 0;
1389 if (end === void 0) 1410 if (end === void 0)
1390 end = null; 1411 end = null;
1391 if (!dart.is(charCodes, _interceptors.JSArray)) { 1412 if (!dart.is(charCodes, _interceptors.JSArray)) {
1392 return String[_stringFromIterable](charCodes, start, end); 1413 return String[_stringFromIterable](charCodes, start, end);
1393 } 1414 }
1394 let list = dart.as(charCodes, List); 1415 let list = dart.as(charCodes, List);
1395 let len = list.length; 1416 let len = list[exports.$length];
1396 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { 1417 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) {
1397 throw new RangeError.range(start, 0, len); 1418 throw new RangeError.range(start, 0, len);
1398 } 1419 }
1399 if (end == null) { 1420 if (end == null) {
1400 end = len; 1421 end = len;
1401 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) { 1422 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) {
1402 throw new RangeError.range(end, start, len); 1423 throw new RangeError.range(end, start, len);
1403 } 1424 }
1404 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { 1425 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
1405 list = list.sublist(start, end); 1426 list = list[exports.$sublist](start, end);
1406 } 1427 }
1407 return _js_helper.Primitives.stringFromCharCodes(list); 1428 return _js_helper.Primitives.stringFromCharCodes(list);
1408 } 1429 }
1409 fromCharCode(charCode) { 1430 fromCharCode(charCode) {
1410 return _js_helper.Primitives.stringFromCharCode(charCode); 1431 return _js_helper.Primitives.stringFromCharCode(charCode);
1411 } 1432 }
1412 fromEnvironment(name, opts) { 1433 fromEnvironment(name, opts) {
1413 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll; 1434 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll;
1414 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor'); 1435 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor');
1415 } 1436 }
1416 static [_stringFromIterable](charCodes, start, end) { 1437 static [_stringFromIterable](charCodes, start, end) {
1417 if (dart.notNull(start) < 0) 1438 if (dart.notNull(start) < 0)
1418 throw new RangeError.range(start, 0, charCodes.length); 1439 throw new RangeError.range(start, 0, charCodes[exports.$length]);
1419 if (end != null && dart.notNull(end) < dart.notNull(start)) { 1440 if (end != null && dart.notNull(end) < dart.notNull(start)) {
1420 throw new RangeError.range(end, start, charCodes.length); 1441 throw new RangeError.range(end, start, charCodes[exports.$length]);
1421 } 1442 }
1422 let it = charCodes.iterator; 1443 let it = charCodes[exports.$iterator];
1423 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) { 1444 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
1424 if (!dart.notNull(it.moveNext())) { 1445 if (!dart.notNull(it.moveNext())) {
1425 throw new RangeError.range(start, 0, i); 1446 throw new RangeError.range(start, 0, i);
1426 } 1447 }
1427 } 1448 }
1428 let list = new List.from([]); 1449 let list = new List.from([]);
1429 if (end == null) { 1450 if (end == null) {
1430 while (it.moveNext()) 1451 while (it.moveNext())
1431 list.add(it.current); 1452 list[exports.$add](it.current);
1432 } else { 1453 } else {
1433 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 1454 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1434 if (!dart.notNull(it.moveNext())) { 1455 if (!dart.notNull(it.moveNext())) {
1435 throw new RangeError.range(end, start, i); 1456 throw new RangeError.range(end, start, i);
1436 } 1457 }
1437 list.add(it.current); 1458 list[exports.$add](it.current);
1438 } 1459 }
1439 } 1460 }
1440 return _js_helper.Primitives.stringFromCharCodes(list); 1461 return _js_helper.Primitives.stringFromCharCodes(list);
1441 } 1462 }
1442 } 1463 }
1443 String[dart.implements] = () => [Comparable$(String), Pattern]; 1464 String[dart.implements] = () => [Comparable$(String), Pattern];
1444 dart.defineNamedConstructor(String, 'fromCharCodes'); 1465 dart.defineNamedConstructor(String, 'fromCharCodes');
1445 dart.defineNamedConstructor(String, 'fromCharCode'); 1466 dart.defineNamedConstructor(String, 'fromCharCode');
1446 dart.defineNamedConstructor(String, 'fromEnvironment'); 1467 dart.defineNamedConstructor(String, 'fromEnvironment');
1468 let $last = dart.JsSymbol('$last');
1447 dart.defineLazyClass(exports, { 1469 dart.defineLazyClass(exports, {
1448 get Runes() { 1470 get Runes() {
1449 class Runes extends collection.IterableBase$(int) { 1471 class Runes extends collection.IterableBase$(int) {
1450 Runes(string) { 1472 Runes(string) {
1451 this.string = string; 1473 this.string = string;
1452 super.IterableBase(); 1474 super.IterableBase();
1453 } 1475 }
1454 get iterator() { 1476 get [exports.$iterator]() {
1455 return new RuneIterator(this.string); 1477 return new RuneIterator(this.string);
1456 } 1478 }
1457 get last() { 1479 get [exports.$last]() {
1458 if (this.string.length == 0) { 1480 if (this.string.length == 0) {
1459 throw new StateError('No elements.'); 1481 throw new StateError('No elements.');
1460 } 1482 }
1461 let length = this.string.length; 1483 let length = this.string.length;
1462 let code = this.string.codeUnitAt(dart.notNull(length) - 1); 1484 let code = this.string.codeUnitAt(dart.notNull(length) - 1);
1463 if (dart.notNull(_isTrailSurrogate(code)) && dart.notNull(this.string. length) > 1) { 1485 if (dart.notNull(_isTrailSurrogate(code)) && dart.notNull(this.string. length) > 1) {
1464 let previousCode = this.string.codeUnitAt(dart.notNull(length) - 2); 1486 let previousCode = this.string.codeUnitAt(dart.notNull(length) - 2);
1465 if (_isLeadSurrogate(previousCode)) { 1487 if (_isLeadSurrogate(previousCode)) {
1466 return _combineSurrogatePair(previousCode, code); 1488 return _combineSurrogatePair(previousCode, code);
1467 } 1489 }
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1599 } 1621 }
1600 write(obj) { 1622 write(obj) {
1601 this[_writeString](`${obj}`); 1623 this[_writeString](`${obj}`);
1602 } 1624 }
1603 writeCharCode(charCode) { 1625 writeCharCode(charCode) {
1604 this[_writeString](new String.fromCharCode(charCode)); 1626 this[_writeString](new String.fromCharCode(charCode));
1605 } 1627 }
1606 writeAll(objects, separator) { 1628 writeAll(objects, separator) {
1607 if (separator === void 0) 1629 if (separator === void 0)
1608 separator = ""; 1630 separator = "";
1609 let iterator = objects.iterator; 1631 let iterator = objects[exports.$iterator];
1610 if (!dart.notNull(iterator.moveNext())) 1632 if (!dart.notNull(iterator.moveNext()))
1611 return; 1633 return;
1612 if (separator.isEmpty) { 1634 if (separator.isEmpty) {
1613 do { 1635 do {
1614 this.write(iterator.current); 1636 this.write(iterator.current);
1615 } while (iterator.moveNext()); 1637 } while (iterator.moveNext());
1616 } else { 1638 } else {
1617 this.write(iterator.current); 1639 this.write(iterator.current);
1618 while (iterator.moveNext()) { 1640 while (iterator.moveNext()) {
1619 this.write(separator); 1641 this.write(separator);
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1759 } 1781 }
1760 get query() { 1782 get query() {
1761 return this[_query] == null ? "" : this[_query]; 1783 return this[_query] == null ? "" : this[_query];
1762 } 1784 }
1763 get fragment() { 1785 get fragment() {
1764 return this[_fragment] == null ? "" : this[_fragment]; 1786 return this[_fragment] == null ? "" : this[_fragment];
1765 } 1787 }
1766 static parse(uri) { 1788 static parse(uri) {
1767 // Function isRegName: (int) → bool 1789 // Function isRegName: (int) → bool
1768 function isRegName(ch) { 1790 function isRegName(ch) {
1769 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0)); 1791 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull (ch) & 15)), 0));
1770 } 1792 }
1771 let EOI = -1; 1793 let EOI = -1;
1772 let scheme = ""; 1794 let scheme = "";
1773 let userinfo = ""; 1795 let userinfo = "";
1774 let host = null; 1796 let host = null;
1775 let port = null; 1797 let port = null;
1776 let path = null; 1798 let path = null;
1777 let query = null; 1799 let query = null;
1778 let fragment = null; 1800 let fragment = null;
1779 let index = 0; 1801 let index = 0;
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
2028 static get base() { 2050 static get base() {
2029 let uri = _js_helper.Primitives.currentUri(); 2051 let uri = _js_helper.Primitives.currentUri();
2030 if (uri != null) 2052 if (uri != null)
2031 return Uri.parse(uri); 2053 return Uri.parse(uri);
2032 throw new UnsupportedError("'Uri.base' is not supported"); 2054 throw new UnsupportedError("'Uri.base' is not supported");
2033 } 2055 }
2034 static get [_isWindows]() { 2056 static get [_isWindows]() {
2035 return false; 2057 return false;
2036 } 2058 }
2037 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) { 2059 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) {
2038 segments.forEach(dart.closureWrap((segment) => { 2060 segments[exports.$forEach](dart.closureWrap((segment) => {
2039 if (dart.dinvoke(segment, 'contains', "/")) { 2061 if (dart.dinvoke(segment, 'contains', "/")) {
2040 if (argumentError) { 2062 if (argumentError) {
2041 throw new ArgumentError(`Illegal path character ${segment}`); 2063 throw new ArgumentError(`Illegal path character ${segment}`);
2042 } else { 2064 } else {
2043 throw new UnsupportedError(`Illegal path character ${segment}`); 2065 throw new UnsupportedError(`Illegal path character ${segment}`);
2044 } 2066 }
2045 } 2067 }
2046 }, "(String) → void")); 2068 }, "(String) → void"));
2047 } 2069 }
2048 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) { 2070 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) {
2049 if (firstSegment === void 0) 2071 if (firstSegment === void 0)
2050 firstSegment = 0; 2072 firstSegment = 0;
2051 segments.skip(firstSegment).forEach(dart.closureWrap((segment) => { 2073 segments[exports.$skip](firstSegment)[exports.$forEach](dart.closureWrap(( segment) => {
2052 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { 2074 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) {
2053 if (argumentError) { 2075 if (argumentError) {
2054 throw new ArgumentError("Illegal character in path"); 2076 throw new ArgumentError("Illegal character in path");
2055 } else { 2077 } else {
2056 throw new UnsupportedError("Illegal character in path"); 2078 throw new UnsupportedError("Illegal character in path");
2057 } 2079 }
2058 } 2080 }
2059 }, "(String) → void")); 2081 }, "(String) → void"));
2060 } 2082 }
2061 static [_checkWindowsDriveLetter](charCode, argumentError) { 2083 static [_checkWindowsDriveLetter](charCode, argumentError) {
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2173 if (fragment != null) { 2195 if (fragment != null) {
2174 fragment = Uri[_makeFragment](fragment, 0, fragment.length); 2196 fragment = Uri[_makeFragment](fragment, 0, fragment.length);
2175 } else if (this.hasFragment) { 2197 } else if (this.hasFragment) {
2176 fragment = this.fragment; 2198 fragment = this.fragment;
2177 } 2199 }
2178 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment); 2200 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment);
2179 } 2201 }
2180 get pathSegments() { 2202 get pathSegments() {
2181 if (this[_pathSegments] == null) { 2203 if (this[_pathSegments] == null) {
2182 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri[_SLASH] ? this.path.substring(1) : this.path; 2204 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri[_SLASH] ? this.path.substring(1) : this.path;
2183 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? /* Unimplemented const */new List$(String).from([]) : pathToSplit.split("/ ").map(Uri.decodeComponent).toList({growable: false})); 2205 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? /* Unimplemented const */new List$(String).from([]) : pathToSplit.split("/ ")[exports.$map](Uri.decodeComponent)[exports.$toList]({growable: false}));
2184 } 2206 }
2185 return this[_pathSegments]; 2207 return this[_pathSegments];
2186 } 2208 }
2187 get queryParameters() { 2209 get queryParameters() {
2188 if (this[_queryParameters] == null) { 2210 if (this[_queryParameters] == null) {
2189 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(Uri. splitQueryString(this.query)), Map$(String, String)); 2211 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(Uri. splitQueryString(this.query)), Map$(String, String));
2190 } 2212 }
2191 return this[_queryParameters]; 2213 return this[_queryParameters];
2192 } 2214 }
2193 static [_makePort](port, scheme) { 2215 static [_makePort](port, scheme) {
(...skipping 17 matching lines...) Expand all
2211 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 2233 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
2212 if (host.codeUnitAt(i) == Uri[_COLON]) { 2234 if (host.codeUnitAt(i) == Uri[_COLON]) {
2213 Uri.parseIPv6Address(host, start, end); 2235 Uri.parseIPv6Address(host, start, end);
2214 return `[${host}]`; 2236 return `[${host}]`;
2215 } 2237 }
2216 } 2238 }
2217 } 2239 }
2218 return Uri[_normalizeRegName](host, start, end); 2240 return Uri[_normalizeRegName](host, start, end);
2219 } 2241 }
2220 static [_isRegNameChar](char) { 2242 static [_isRegNameChar](char) {
2221 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable].get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0)); 2243 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable][exports.$get](dart.notNull(char) >> 4), '&', 1 << (dart.notNu ll(char) & 15)), 0));
2222 } 2244 }
2223 static [_normalizeRegName](host, start, end) { 2245 static [_normalizeRegName](host, start, end) {
2224 let buffer = null; 2246 let buffer = null;
2225 let sectionStart = start; 2247 let sectionStart = start;
2226 let index = start; 2248 let index = start;
2227 let isNormalized = true; 2249 let isNormalized = true;
2228 while (dart.notNull(index) < dart.notNull(end)) { 2250 while (dart.notNull(index) < dart.notNull(end)) {
2229 let char = host.codeUnitAt(index); 2251 let char = host.codeUnitAt(index);
2230 if (char == Uri[_PERCENT]) { 2252 if (char == Uri[_PERCENT]) {
2231 let replacement = Uri[_normalizeEscape](host, index, true); 2253 let replacement = Uri[_normalizeEscape](host, index, true);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
2323 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) { 2345 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) {
2324 if (dart.notNull(path == null) && dart.notNull(pathSegments == null)) 2346 if (dart.notNull(path == null) && dart.notNull(pathSegments == null))
2325 return isFile ? "/" : ""; 2347 return isFile ? "/" : "";
2326 if (dart.notNull(path != null) && dart.notNull(pathSegments != null)) { 2348 if (dart.notNull(path != null) && dart.notNull(pathSegments != null)) {
2327 throw new ArgumentError('Both path and pathSegments specified'); 2349 throw new ArgumentError('Both path and pathSegments specified');
2328 } 2350 }
2329 let result = null; 2351 let result = null;
2330 if (path != null) { 2352 if (path != null) {
2331 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int))); 2353 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int)));
2332 } else { 2354 } else {
2333 result = pathSegments.map(dart.closureWrap((s) => Uri[_uriEncode](dart.a s(Uri[_pathCharTable], List$(int)), dart.as(s, String)), "(String) → dynamic")). join("/"); 2355 result = pathSegments[exports.$map](dart.closureWrap((s) => Uri[_uriEnco de](dart.as(Uri[_pathCharTable], List$(int)), dart.as(s, String)), "(String) → d ynamic"))[exports.$join]("/");
2334 } 2356 }
2335 if (dart.dload(result, 'isEmpty')) { 2357 if (dart.dload(result, 'isEmpty')) {
2336 if (isFile) 2358 if (isFile)
2337 return "/"; 2359 return "/";
2338 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri[_SLASH]))) { 2360 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri[_SLASH]))) {
2339 return `/${result}`; 2361 return `/${result}`;
2340 } 2362 }
2341 return dart.as(result, String); 2363 return dart.as(result, String);
2342 } 2364 }
2343 static [_makeQuery](query, start, end, queryParameters) { 2365 static [_makeQuery](query, start, end, queryParameters) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
2400 value = 32; 2422 value = 32;
2401 } 2423 }
2402 return new String.fromCharCode(value); 2424 return new String.fromCharCode(value);
2403 } 2425 }
2404 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) { 2426 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) {
2405 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); 2427 return source.substring(index, dart.notNull(index) + 3).toUpperCase();
2406 } 2428 }
2407 return null; 2429 return null;
2408 } 2430 }
2409 static [_isUnreservedChar](ch) { 2431 static [_isUnreservedChar](ch) {
2410 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_unreservedTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15 )), 0)); 2432 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_unreservedTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNul l(ch) & 15)), 0));
2411 } 2433 }
2412 static [_escapeChar](char) { 2434 static [_escapeChar](char) {
2413 dart.assert(dart.dbinary(char, '<=', 1114111)); 2435 dart.assert(dart.dbinary(char, '<=', 1114111));
2414 let hexDigits = "0123456789ABCDEF"; 2436 let hexDigits = "0123456789ABCDEF";
2415 let codeUnits = null; 2437 let codeUnits = null;
2416 if (dart.dbinary(char, '<', 128)) { 2438 if (dart.dbinary(char, '<', 128)) {
2417 codeUnits = new List(3); 2439 codeUnits = new List(3);
2418 codeUnits.set(0, Uri[_PERCENT]); 2440 codeUnits[exports.$set](0, Uri[_PERCENT]);
2419 codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4 ), int))); 2441 codeUnits[exports.$set](1, hexDigits.codeUnitAt(dart.as(dart.dbinary(cha r, '>>', 4), int)));
2420 codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15 ), int))); 2442 codeUnits[exports.$set](2, hexDigits.codeUnitAt(dart.as(dart.dbinary(cha r, '&', 15), int)));
2421 } else { 2443 } else {
2422 let flag = 192; 2444 let flag = 192;
2423 let encodedBytes = 2; 2445 let encodedBytes = 2;
2424 if (dart.dbinary(char, '>', 2047)) { 2446 if (dart.dbinary(char, '>', 2047)) {
2425 flag = 224; 2447 flag = 224;
2426 encodedBytes = 3; 2448 encodedBytes = 3;
2427 if (dart.dbinary(char, '>', 65535)) { 2449 if (dart.dbinary(char, '>', 65535)) {
2428 encodedBytes = 4; 2450 encodedBytes = 4;
2429 flag = 240; 2451 flag = 240;
2430 } 2452 }
2431 } 2453 }
2432 codeUnits = new List(3 * dart.notNull(encodedBytes)); 2454 codeUnits = new List(3 * dart.notNull(encodedBytes));
2433 let index = 0; 2455 let index = 0;
2434 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { 2456 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
2435 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int); 2457 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int);
2436 codeUnits.set(index, Uri[_PERCENT]); 2458 codeUnits[exports.$set](index, Uri[_PERCENT]);
2437 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu ll(byte) >> 4)); 2459 codeUnits[exports.$set](dart.notNull(index) + 1, hexDigits.codeUnitAt( dart.notNull(byte) >> 4));
2438 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu ll(byte) & 15)); 2460 codeUnits[exports.$set](dart.notNull(index) + 2, hexDigits.codeUnitAt( dart.notNull(byte) & 15));
2439 index = 3; 2461 index = 3;
2440 flag = 128; 2462 flag = 128;
2441 } 2463 }
2442 } 2464 }
2443 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); 2465 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
2444 } 2466 }
2445 static [_normalize](component, start, end, charTable) { 2467 static [_normalize](component, start, end, charTable) {
2446 let buffer = null; 2468 let buffer = null;
2447 let sectionStart = start; 2469 let sectionStart = start;
2448 let index = start; 2470 let index = start;
2449 while (dart.notNull(index) < dart.notNull(end)) { 2471 while (dart.notNull(index) < dart.notNull(end)) {
2450 let char = component.codeUnitAt(index); 2472 let char = component.codeUnitAt(index);
2451 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull (char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) { 2473 if (dart.notNull(char) < 127 && (dart.notNull(charTable[exports.$get](da rt.notNull(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) {
2452 index = dart.notNull(index) + 1; 2474 index = dart.notNull(index) + 1;
2453 } else { 2475 } else {
2454 let replacement = null; 2476 let replacement = null;
2455 let sourceLength = null; 2477 let sourceLength = null;
2456 if (char == Uri[_PERCENT]) { 2478 if (char == Uri[_PERCENT]) {
2457 replacement = Uri[_normalizeEscape](component, index, false); 2479 replacement = Uri[_normalizeEscape](component, index, false);
2458 if (replacement == null) { 2480 if (replacement == null) {
2459 index = 3; 2481 index = 3;
2460 continue; 2482 continue;
2461 } 2483 }
(...skipping 28 matching lines...) Expand all
2490 } 2512 }
2491 if (buffer == null) { 2513 if (buffer == null) {
2492 return component.substring(start, end); 2514 return component.substring(start, end);
2493 } 2515 }
2494 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2516 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2495 buffer.write(component.substring(sectionStart, end)); 2517 buffer.write(component.substring(sectionStart, end));
2496 } 2518 }
2497 return buffer.toString(); 2519 return buffer.toString();
2498 } 2520 }
2499 static [_isSchemeCharacter](ch) { 2521 static [_isSchemeCharacter](ch) {
2500 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_schemeTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0)); 2522 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_schemeTable][exports.$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch ) & 15)), 0));
2501 } 2523 }
2502 static [_isGeneralDelimiter](ch) { 2524 static [_isGeneralDelimiter](ch) {
2503 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dbinary(Uri[_genDelimitersTable].get(dart.notNull(ch) >> 4) , '&', 1 << (dart.notNull(ch) & 15)), 0)); 2525 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dbinary(Uri[_genDelimitersTable][exports.$get](dart.notNull (ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
2504 } 2526 }
2505 get isAbsolute() { 2527 get isAbsolute() {
2506 return dart.notNull(this.scheme != "") && dart.notNull(this.fragment == "" ); 2528 return dart.notNull(this.scheme != "") && dart.notNull(this.fragment == "" );
2507 } 2529 }
2508 [_merge](base, reference) { 2530 [_merge](base, reference) {
2509 if (base.isEmpty) 2531 if (base.isEmpty)
2510 return `/${reference}`; 2532 return `/${reference}`;
2511 let backCount = 0; 2533 let backCount = 0;
2512 let refStart = 0; 2534 let refStart = 0;
2513 while (reference.startsWith("../", refStart)) { 2535 while (reference.startsWith("../", refStart)) {
(...skipping 22 matching lines...) Expand all
2536 return index != -1; 2558 return index != -1;
2537 } 2559 }
2538 [_removeDotSegments](path) { 2560 [_removeDotSegments](path) {
2539 if (!dart.notNull(this[_hasDotSegments](path))) 2561 if (!dart.notNull(this[_hasDotSegments](path)))
2540 return path; 2562 return path;
2541 let output = dart.as(new List.from([]), List$(String)); 2563 let output = dart.as(new List.from([]), List$(String));
2542 let appendSlash = false; 2564 let appendSlash = false;
2543 for (let segment of path.split("/")) { 2565 for (let segment of path.split("/")) {
2544 appendSlash = false; 2566 appendSlash = false;
2545 if (segment == "..") { 2567 if (segment == "..") {
2546 if (!dart.notNull(output.isEmpty) && (output.length != 1 || dart.notNu ll(output.get(0) != ""))) 2568 if (!dart.notNull(output[exports.$isEmpty]) && (output[exports.$length ] != 1 || dart.notNull(output[exports.$get](0) != "")))
2547 output.removeLast(); 2569 output[exports.$removeLast]();
2548 appendSlash = true; 2570 appendSlash = true;
2549 } else if ("." == segment) { 2571 } else if ("." == segment) {
2550 appendSlash = true; 2572 appendSlash = true;
2551 } else { 2573 } else {
2552 output.add(segment); 2574 output[exports.$add](segment);
2553 } 2575 }
2554 } 2576 }
2555 if (appendSlash) 2577 if (appendSlash)
2556 output.add(""); 2578 output[exports.$add]("");
2557 return output.join("/"); 2579 return output[exports.$join]("/");
2558 } 2580 }
2559 resolve(reference) { 2581 resolve(reference) {
2560 return this.resolveUri(Uri.parse(reference)); 2582 return this.resolveUri(Uri.parse(reference));
2561 } 2583 }
2562 resolveUri(reference) { 2584 resolveUri(reference) {
2563 let targetScheme = null; 2585 let targetScheme = null;
2564 let targetUserInfo = ""; 2586 let targetUserInfo = "";
2565 let targetHost = null; 2587 let targetHost = null;
2566 let targetPort = null; 2588 let targetPort = null;
2567 let targetPath = null; 2589 let targetPath = null;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
2656 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false); 2678 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false);
2657 let result = new StringBuffer(); 2679 let result = new StringBuffer();
2658 if (this[_isPathAbsolute]) 2680 if (this[_isPathAbsolute])
2659 result.write("/"); 2681 result.write("/");
2660 result.writeAll(this.pathSegments, "/"); 2682 result.writeAll(this.pathSegments, "/");
2661 return result.toString(); 2683 return result.toString();
2662 } 2684 }
2663 [_toWindowsFilePath]() { 2685 [_toWindowsFilePath]() {
2664 let hasDriveLetter = false; 2686 let hasDriveLetter = false;
2665 let segments = this.pathSegments; 2687 let segments = this.pathSegments;
2666 if (dart.notNull(segments.length) > 0 && segments.get(0).length == 2 && se gments.get(0).codeUnitAt(1) == Uri[_COLON]) { 2688 if (dart.notNull(segments[exports.$length]) > 0 && segments[exports.$get]( 0).length == 2 && segments[exports.$get](0).codeUnitAt(1) == Uri[_COLON]) {
2667 Uri[_checkWindowsDriveLetter](segments.get(0).codeUnitAt(0), false); 2689 Uri[_checkWindowsDriveLetter](segments[exports.$get](0).codeUnitAt(0), f alse);
2668 Uri[_checkWindowsPathReservedCharacters](segments, false, 1); 2690 Uri[_checkWindowsPathReservedCharacters](segments, false, 1);
2669 hasDriveLetter = true; 2691 hasDriveLetter = true;
2670 } else { 2692 } else {
2671 Uri[_checkWindowsPathReservedCharacters](segments, false); 2693 Uri[_checkWindowsPathReservedCharacters](segments, false);
2672 } 2694 }
2673 let result = new StringBuffer(); 2695 let result = new StringBuffer();
2674 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) 2696 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter))
2675 result.write("\\"); 2697 result.write("\\");
2676 if (this.host != "") { 2698 if (this.host != "") {
2677 result.write("\\"); 2699 result.write("\\");
2678 result.write(this.host); 2700 result.write(this.host);
2679 result.write("\\"); 2701 result.write("\\");
2680 } 2702 }
2681 result.writeAll(segments, "\\"); 2703 result.writeAll(segments, "\\");
2682 if (dart.notNull(hasDriveLetter) && segments.length == 1) 2704 if (dart.notNull(hasDriveLetter) && segments[exports.$length] == 1)
2683 result.write("\\"); 2705 result.write("\\");
2684 return result.toString(); 2706 return result.toString();
2685 } 2707 }
2686 get [_isPathAbsolute]() { 2708 get [_isPathAbsolute]() {
2687 if (dart.notNull(this.path == null) || dart.notNull(this.path.isEmpty)) 2709 if (dart.notNull(this.path == null) || dart.notNull(this.path.isEmpty))
2688 return false; 2710 return false;
2689 return this.path.startsWith('/'); 2711 return this.path.startsWith('/');
2690 } 2712 }
2691 [_writeAuthority](ss) { 2713 [_writeAuthority](ss) {
2692 if (this[_userInfo].isNotEmpty) { 2714 if (this[_userInfo].isNotEmpty) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2752 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding}); 2774 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding});
2753 } 2775 }
2754 static encodeFull(uri) { 2776 static encodeFull(uri) {
2755 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri); 2777 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri);
2756 } 2778 }
2757 static decodeFull(uri) { 2779 static decodeFull(uri) {
2758 return Uri[_uriDecode](uri); 2780 return Uri[_uriDecode](uri);
2759 } 2781 }
2760 static splitQueryString(query, opts) { 2782 static splitQueryString(query, opts) {
2761 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2783 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2762 return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, el ement) => { 2784 return dart.as(query.split("&")[exports.$fold](dart.map(), dart.closureWra p((map, element) => {
2763 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int); 2785 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int);
2764 if (index == -1) { 2786 if (index == -1) {
2765 if (!dart.equals(element, "")) { 2787 if (!dart.equals(element, "")) {
2766 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), ""); 2788 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), "");
2767 } 2789 }
2768 } else if (index != 0) { 2790 } else if (index != 0) {
2769 let key = dart.dinvoke(element, 'substring', 0, index); 2791 let key = dart.dinvoke(element, 'substring', 0, index);
2770 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1 ); 2792 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1 );
2771 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding: encoding})); 2793 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding: encoding}));
2772 } 2794 }
2773 return map; 2795 return map;
2774 }, "(dynamic, String) → dynamic")), Map$(String, String)); 2796 }, "(dynamic, String) → dynamic")), Map$(String, String));
2775 } 2797 }
2776 static parseIPv4Address(host) { 2798 static parseIPv4Address(host) {
2777 // Function error: (String) → void 2799 // Function error: (String) → void
2778 function error(msg) { 2800 function error(msg) {
2779 throw new FormatException(`Illegal IPv4 address, ${msg}`); 2801 throw new FormatException(`Illegal IPv4 address, ${msg}`);
2780 } 2802 }
2781 let bytes = host.split('.'); 2803 let bytes = host.split('.');
2782 if (bytes.length != 4) { 2804 if (bytes[exports.$length] != 4) {
2783 error('IPv4 address should contain exactly 4 parts'); 2805 error('IPv4 address should contain exactly 4 parts');
2784 } 2806 }
2785 return dart.as(bytes.map(dart.closureWrap((byteString) => { 2807 return dart.as(bytes[exports.$map](dart.closureWrap((byteString) => {
2786 let byte = int.parse(dart.as(byteString, String)); 2808 let byte = int.parse(dart.as(byteString, String));
2787 if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) { 2809 if (dart.notNull(byte) < 0 || dart.notNull(byte) > 255) {
2788 error('each part must be in the range of `0..255`'); 2810 error('each part must be in the range of `0..255`');
2789 } 2811 }
2790 return byte; 2812 return byte;
2791 }, "(String) → dynamic")).toList(), List$(int)); 2813 }, "(String) → dynamic"))[exports.$toList](), List$(int));
2792 } 2814 }
2793 static parseIPv6Address(host, start, end) { 2815 static parseIPv6Address(host, start, end) {
2794 if (start === void 0) 2816 if (start === void 0)
2795 start = 0; 2817 start = 0;
2796 if (end === void 0) 2818 if (end === void 0)
2797 end = null; 2819 end = null;
2798 if (end == null) 2820 if (end == null)
2799 end = host.length; 2821 end = host.length;
2800 // Function error: (String, [dynamic]) → void 2822 // Function error: (String, [dynamic]) → void
2801 function error(msg, position) { 2823 function error(msg, position) {
(...skipping 24 matching lines...) Expand all
2826 if (host.codeUnitAt(i) != Uri[_COLON]) { 2848 if (host.codeUnitAt(i) != Uri[_COLON]) {
2827 error('invalid start colon.', i); 2849 error('invalid start colon.', i);
2828 } 2850 }
2829 partStart = i; 2851 partStart = i;
2830 } 2852 }
2831 if (i == partStart) { 2853 if (i == partStart) {
2832 if (wildcardSeen) { 2854 if (wildcardSeen) {
2833 error('only one wildcard `::` is allowed', i); 2855 error('only one wildcard `::` is allowed', i);
2834 } 2856 }
2835 wildcardSeen = true; 2857 wildcardSeen = true;
2836 parts.add(-1); 2858 parts[exports.$add](-1);
2837 } else { 2859 } else {
2838 parts.add(parseHex(partStart, i)); 2860 parts[exports.$add](parseHex(partStart, i));
2839 } 2861 }
2840 partStart = dart.notNull(i) + 1; 2862 partStart = dart.notNull(i) + 1;
2841 } 2863 }
2842 } 2864 }
2843 if (parts.length == 0) 2865 if (parts[exports.$length] == 0)
2844 error('too few parts'); 2866 error('too few parts');
2845 let atEnd = partStart == end; 2867 let atEnd = partStart == end;
2846 let isLastWildcard = parts.last == -1; 2868 let isLastWildcard = parts[exports.$last] == -1;
2847 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) { 2869 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) {
2848 error('expected a part after last `:`', end); 2870 error('expected a part after last `:`', end);
2849 } 2871 }
2850 if (!dart.notNull(atEnd)) { 2872 if (!dart.notNull(atEnd)) {
2851 try { 2873 try {
2852 parts.add(parseHex(partStart, end)); 2874 parts[exports.$add](parseHex(partStart, end));
2853 } catch (e) { 2875 } catch (e) {
2854 try { 2876 try {
2855 let last = Uri.parseIPv4Address(host.substring(partStart, end)); 2877 let last = Uri.parseIPv4Address(host.substring(partStart, end));
2856 parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1)) ); 2878 parts[exports.$add](dart.notNull(last[exports.$get](0)) << 8 | dart. notNull(last[exports.$get](1)));
2857 parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3)) ); 2879 parts[exports.$add](dart.notNull(last[exports.$get](2)) << 8 | dart. notNull(last[exports.$get](3)));
2858 } catch (e) { 2880 } catch (e) {
2859 error('invalid end of IPv6 address.', partStart); 2881 error('invalid end of IPv6 address.', partStart);
2860 } 2882 }
2861 2883
2862 } 2884 }
2863 2885
2864 } 2886 }
2865 if (wildcardSeen) { 2887 if (wildcardSeen) {
2866 if (dart.notNull(parts.length) > 7) { 2888 if (dart.notNull(parts[exports.$length]) > 7) {
2867 error('an address with a wildcard must have less than 7 parts'); 2889 error('an address with a wildcard must have less than 7 parts');
2868 } 2890 }
2869 } else if (parts.length != 8) { 2891 } else if (parts[exports.$length] != 8) {
2870 error('an address without a wildcard must contain exactly 8 parts'); 2892 error('an address without a wildcard must contain exactly 8 parts');
2871 } 2893 }
2872 let bytes = new (List$(int))(16); 2894 let bytes = new (List$(int))(16);
2873 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts.length); i = dart.notNull(i) + 1) { 2895 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts[exports.$l ength]); i = dart.notNull(i) + 1) {
2874 let value = parts.get(i); 2896 let value = parts[exports.$get](i);
2875 if (value == -1) { 2897 if (value == -1) {
2876 let wildCardLength = 9 - dart.notNull(parts.length); 2898 let wildCardLength = 9 - dart.notNull(parts[exports.$length]);
2877 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = da rt.notNull(j) + 1) { 2899 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = da rt.notNull(j) + 1) {
2878 bytes.set(index, 0); 2900 bytes[exports.$set](index, 0);
2879 bytes.set(dart.notNull(index) + 1, 0); 2901 bytes[exports.$set](dart.notNull(index) + 1, 0);
2880 index = 2; 2902 index = 2;
2881 } 2903 }
2882 } else { 2904 } else {
2883 bytes.set(index, dart.notNull(value) >> 8); 2905 bytes[exports.$set](index, dart.notNull(value) >> 8);
2884 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255); 2906 bytes[exports.$set](dart.notNull(index) + 1, dart.notNull(value) & 255 );
2885 index = 2; 2907 index = 2;
2886 } 2908 }
2887 } 2909 }
2888 return dart.as(bytes, List$(int)); 2910 return dart.as(bytes, List$(int));
2889 } 2911 }
2890 static [_uriEncode](canonicalTable, text, opts) { 2912 static [_uriEncode](canonicalTable, text, opts) {
2891 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2913 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2892 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ; 2914 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ;
2893 // Function byteToHex: (dynamic, dynamic) → dynamic 2915 // Function byteToHex: (dynamic, dynamic) → dynamic
2894 function byteToHex(byte, buffer) { 2916 function byteToHex(byte, buffer) {
2895 let hex = '0123456789ABCDEF'; 2917 let hex = '0123456789ABCDEF';
2896 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int))); 2918 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int)));
2897 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int))); 2919 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int)));
2898 } 2920 }
2899 let result = new StringBuffer(); 2921 let result = new StringBuffer();
2900 let bytes = encoding.encode(text); 2922 let bytes = encoding.encode(text);
2901 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not Null(i) + 1) { 2923 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[exports.$length]); i = dart.notNull(i) + 1) {
2902 let byte = bytes.get(i); 2924 let byte = bytes[exports.$get](i);
2903 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) { 2925 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[exports.$ge t](dart.notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) {
2904 result.writeCharCode(byte); 2926 result.writeCharCode(byte);
2905 } else if (dart.notNull(spaceToPlus) && byte == Uri[_SPACE]) { 2927 } else if (dart.notNull(spaceToPlus) && byte == Uri[_SPACE]) {
2906 result.writeCharCode(Uri[_PLUS]); 2928 result.writeCharCode(Uri[_PLUS]);
2907 } else { 2929 } else {
2908 result.writeCharCode(Uri[_PERCENT]); 2930 result.writeCharCode(Uri[_PERCENT]);
2909 byteToHex(byte, result); 2931 byteToHex(byte, result);
2910 } 2932 }
2911 } 2933 }
2912 return result.toString(); 2934 return result.toString();
2913 } 2935 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2947 bytes = dart.as(new List(), List$(int)); 2969 bytes = dart.as(new List(), List$(int));
2948 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) { 2970 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) {
2949 let codeUnit = text.codeUnitAt(i); 2971 let codeUnit = text.codeUnitAt(i);
2950 if (dart.notNull(codeUnit) > 127) { 2972 if (dart.notNull(codeUnit) > 127) {
2951 throw new ArgumentError("Illegal percent encoding in URI"); 2973 throw new ArgumentError("Illegal percent encoding in URI");
2952 } 2974 }
2953 if (codeUnit == Uri[_PERCENT]) { 2975 if (codeUnit == Uri[_PERCENT]) {
2954 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { 2976 if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
2955 throw new ArgumentError('Truncated URI'); 2977 throw new ArgumentError('Truncated URI');
2956 } 2978 }
2957 bytes.add(Uri[_hexCharPairToByte](text, dart.notNull(i) + 1)); 2979 bytes[exports.$add](Uri[_hexCharPairToByte](text, dart.notNull(i) + 1));
2958 i = 2; 2980 i = 2;
2959 } else if (dart.notNull(plusToSpace) && codeUnit == Uri[_PLUS]) { 2981 } else if (dart.notNull(plusToSpace) && codeUnit == Uri[_PLUS]) {
2960 bytes.add(Uri[_SPACE]); 2982 bytes[exports.$add](Uri[_SPACE]);
2961 } else { 2983 } else {
2962 bytes.add(codeUnit); 2984 bytes[exports.$add](codeUnit);
2963 } 2985 }
2964 } 2986 }
2965 } 2987 }
2966 return encoding.decode(bytes); 2988 return encoding.decode(bytes);
2967 } 2989 }
2968 static [_isAlphabeticCharacter](codeUnit) { 2990 static [_isAlphabeticCharacter](codeUnit) {
2969 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]); 2991 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]);
2970 } 2992 }
2971 } 2993 }
2972 dart.defineNamedConstructor(Uri, _internal$); 2994 dart.defineNamedConstructor(Uri, _internal$);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
3022 map.forEach((key, value) => { 3044 map.forEach((key, value) => {
3023 result.set(_symbolToString(key), value); 3045 result.set(_symbolToString(key), value);
3024 }); 3046 });
3025 return result; 3047 return result;
3026 } 3048 }
3027 class _ListConstructorSentinel extends Object { 3049 class _ListConstructorSentinel extends Object {
3028 _ListConstructorSentinel() { 3050 _ListConstructorSentinel() {
3029 } 3051 }
3030 } 3052 }
3031 // Exports: 3053 // Exports:
3054 exports.JsName = JsName;
3055 exports.Object = Object;
3056 exports.JsPeerInterface = JsPeerInterface;
3057 exports.SupportJsExtensionMethod = SupportJsExtensionMethod;
3032 exports.Deprecated = Deprecated; 3058 exports.Deprecated = Deprecated;
3033 exports.Object = Object;
3034 exports.deprecated = deprecated; 3059 exports.deprecated = deprecated;
3035 exports.override = override; 3060 exports.override = override;
3036 exports.proxy = proxy; 3061 exports.proxy = proxy;
3037 exports.bool = bool; 3062 exports.bool = bool;
3038 exports.Comparable = Comparable; 3063 exports.Comparable = Comparable;
3039 exports.Comparable$ = Comparable$; 3064 exports.Comparable$ = Comparable$;
3040 exports.DateTime = DateTime; 3065 exports.DateTime = DateTime;
3041 exports.double = double; 3066 exports.double = double;
3042 exports.num = num; 3067 exports.num = num;
3043 exports.Duration = Duration; 3068 exports.Duration = Duration;
(...skipping 18 matching lines...) Expand all
3062 exports.Exception = Exception; 3087 exports.Exception = Exception;
3063 exports.FormatException = FormatException; 3088 exports.FormatException = FormatException;
3064 exports.IntegerDivisionByZeroException = IntegerDivisionByZeroException; 3089 exports.IntegerDivisionByZeroException = IntegerDivisionByZeroException;
3065 exports.Expando = Expando; 3090 exports.Expando = Expando;
3066 exports.Expando$ = Expando$; 3091 exports.Expando$ = Expando$;
3067 exports.Function = Function; 3092 exports.Function = Function;
3068 exports.identical = identical; 3093 exports.identical = identical;
3069 exports.identityHashCode = identityHashCode; 3094 exports.identityHashCode = identityHashCode;
3070 exports.int = int; 3095 exports.int = int;
3071 exports.Invocation = Invocation; 3096 exports.Invocation = Invocation;
3097 exports.$join = $join;
3072 exports.Iterable = Iterable; 3098 exports.Iterable = Iterable;
3073 exports.Iterable$ = Iterable$; 3099 exports.Iterable$ = Iterable$;
3100 exports.$iterator = $iterator;
3101 exports.$length = $length;
3102 exports.$skip = $skip;
3103 exports.$take = $take;
3074 exports.BidirectionalIterator = BidirectionalIterator; 3104 exports.BidirectionalIterator = BidirectionalIterator;
3075 exports.BidirectionalIterator$ = BidirectionalIterator$; 3105 exports.BidirectionalIterator$ = BidirectionalIterator$;
3076 exports.Iterator = Iterator; 3106 exports.Iterator = Iterator;
3077 exports.Iterator$ = Iterator$; 3107 exports.Iterator$ = Iterator$;
3078 exports.List = List; 3108 exports.List = List;
3079 exports.List$ = List$; 3109 exports.List$ = List$;
3080 exports.Map = Map; 3110 exports.Map = Map;
3081 exports.Map$ = Map$; 3111 exports.Map$ = Map$;
3082 exports.Null = Null; 3112 exports.Null = Null;
3083 exports.Pattern = Pattern; 3113 exports.Pattern = Pattern;
3084 exports.print = print; 3114 exports.print = print;
3085 exports.Match = Match; 3115 exports.Match = Match;
3086 exports.RegExp = RegExp; 3116 exports.RegExp = RegExp;
3087 exports.Sink = Sink; 3117 exports.Sink = Sink;
3088 exports.Sink$ = Sink$; 3118 exports.Sink$ = Sink$;
3089 exports.StackTrace = StackTrace; 3119 exports.StackTrace = StackTrace;
3090 exports.Stopwatch = Stopwatch; 3120 exports.Stopwatch = Stopwatch;
3091 exports.String = String; 3121 exports.String = String;
3122 exports.$last = $last;
3092 exports.RuneIterator = RuneIterator; 3123 exports.RuneIterator = RuneIterator;
3093 exports.StringBuffer = StringBuffer; 3124 exports.StringBuffer = StringBuffer;
3094 exports.StringSink = StringSink; 3125 exports.StringSink = StringSink;
3095 exports.Symbol = Symbol; 3126 exports.Symbol = Symbol;
3096 exports.Type = Type; 3127 exports.Type = Type;
3097 exports.Uri = Uri; 3128 exports.Uri = Uri;
3098 })(core || (core = {})); 3129 })(core || (core = {}));
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698