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

Side by Side Diff: test/codegen/expect/dart/core.js

Issue 977153002: Fix increment on nullable (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Remove assignments Created 5 years, 9 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 | « test/codegen/expect/dart/convert.js ('k') | test/codegen/expect/dart/isolate.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 // Function _symbolToString: (Symbol) → String 4 // Function _symbolToString: (Symbol) → String
5 function _symbolToString(symbol) { 5 function _symbolToString(symbol) {
6 return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol)); 6 return _internal.Symbol.getName(dart.as(symbol, _internal.Symbol));
7 } 7 }
8 // Function _symbolMapToStringMap: (Map<Symbol, dynamic>) → dynamic 8 // Function _symbolMapToStringMap: (Map<Symbol, dynamic>) → dynamic
9 function _symbolMapToStringMap(map) { 9 function _symbolMapToStringMap(map) {
10 if (map === null) 10 if (map === null)
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 let minuteDifference = parseIntOrZero(match.get(11)); 134 let minuteDifference = parseIntOrZero(match.get(11));
135 minuteDifference = 60 * dart.notNull(hourDifference); 135 minuteDifference = 60 * dart.notNull(hourDifference);
136 minute = dart.notNull(sign) * dart.notNull(minuteDifference); 136 minute = dart.notNull(sign) * dart.notNull(minuteDifference);
137 } 137 }
138 } 138 }
139 let millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(yea rs, month, day, hour, minute, second, millisecond, isUtc); 139 let millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(yea rs, month, day, hour, minute, second, millisecond, isUtc);
140 if (millisecondsSinceEpoch === null) { 140 if (millisecondsSinceEpoch === null) {
141 throw new FormatException("Time out of range", formattedString); 141 throw new FormatException("Time out of range", formattedString);
142 } 142 }
143 if (addOneMillisecond) 143 if (addOneMillisecond)
144 dart.notNull(millisecondsSinceEpoch)++; 144 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1;
145 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc}); 145 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc});
146 } else { 146 } else {
147 throw new FormatException("Invalid date format", formattedString); 147 throw new FormatException("Invalid date format", formattedString);
148 } 148 }
149 } 149 }
150 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opt$) { 150 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opt$) {
151 let isUtc = opt$.isUtc === void 0 ? false : opt$.isUtc; 151 let isUtc = opt$.isUtc === void 0 ? false : opt$.isUtc;
152 this.millisecondsSinceEpoch = millisecondsSinceEpoch; 152 this.millisecondsSinceEpoch = millisecondsSinceEpoch;
153 this.isUtc = isUtc; 153 this.isUtc = isUtc;
154 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(_MAX_MILLISE CONDS_SINCE_EPOCH)) { 154 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(_MAX_MILLISE CONDS_SINCE_EPOCH)) {
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
706 this[_memberName] = memberName; 706 this[_memberName] = memberName;
707 this[_arguments] = positionalArguments; 707 this[_arguments] = positionalArguments;
708 this[_namedArguments] = namedArguments; 708 this[_namedArguments] = namedArguments;
709 this[_existingArgumentNames] = existingArgumentNames; 709 this[_existingArgumentNames] = existingArgumentNames;
710 super.Error(); 710 super.Error();
711 } 711 }
712 toString() { 712 toString() {
713 let sb = new StringBuffer(); 713 let sb = new StringBuffer();
714 let i = 0; 714 let i = 0;
715 if (this[_arguments] !== null) { 715 if (this[_arguments] !== null) {
716 for (; dart.notNull(i) < dart.notNull(this[_arguments].length); dart.not Null(i)++) { 716 for (; dart.notNull(i) < dart.notNull(this[_arguments].length); i = dart .notNull(i) + 1) {
717 if (dart.notNull(i) > 0) { 717 if (dart.notNull(i) > 0) {
718 sb.write(", "); 718 sb.write(", ");
719 } 719 }
720 sb.write(Error.safeToString(this[_arguments].get(i))); 720 sb.write(Error.safeToString(this[_arguments].get(i)));
721 } 721 }
722 } 722 }
723 if (this[_namedArguments] !== null) { 723 if (this[_namedArguments] !== null) {
724 this[_namedArguments].forEach(((key, value) => { 724 this[_namedArguments].forEach(((key, value) => {
725 if (dart.notNull(i) > 0) { 725 if (dart.notNull(i) > 0) {
726 sb.write(", "); 726 sb.write(", ");
727 } 727 }
728 sb.write(_symbolToString(key)); 728 sb.write(_symbolToString(key));
729 sb.write(": "); 729 sb.write(": ");
730 sb.write(Error.safeToString(value)); 730 sb.write(Error.safeToString(value));
731 dart.notNull(i)++; 731 i = dart.notNull(i) + 1;
732 }).bind(this)); 732 }).bind(this));
733 } 733 }
734 if (this[_existingArgumentNames] === null) { 734 if (this[_existingArgumentNames] === null) {
735 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`; 735 return `NoSuchMethodError : method not found: '${this[_memberName]}'\n` + `Receiver: ${Error.safeToString(this[_receiver])}\n` + `Arguments: [${sb}]`;
736 } else { 736 } else {
737 let actualParameters = sb.toString(); 737 let actualParameters = sb.toString();
738 sb = new StringBuffer(); 738 sb = new StringBuffer();
739 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es].length); dart.notNull(i)++) { 739 for (let i = 0; dart.notNull(i) < dart.notNull(this[_existingArgumentNam es].length); i = dart.notNull(i) + 1) {
740 if (dart.notNull(i) > 0) { 740 if (dart.notNull(i) > 0) {
741 sb.write(", "); 741 sb.write(", ");
742 } 742 }
743 sb.write(this[_existingArgumentNames].get(i)); 743 sb.write(this[_existingArgumentNames].get(i));
744 } 744 }
745 let formalParameters = sb.toString(); 745 let formalParameters = sb.toString();
746 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})`; 746 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})`;
747 } 747 }
748 } 748 }
749 } 749 }
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 if (offset === -1) { 870 if (offset === -1) {
871 let source = dart.as(this.source, String); 871 let source = dart.as(this.source, String);
872 if (dart.notNull(source.length) > 78) { 872 if (dart.notNull(source.length) > 78) {
873 source = String['+'](source.substring(0, 75), "..."); 873 source = String['+'](source.substring(0, 75), "...");
874 } 874 }
875 return `${report}\n${source}`; 875 return `${report}\n${source}`;
876 } 876 }
877 let lineNum = 1; 877 let lineNum = 1;
878 let lineStart = 0; 878 let lineStart = 0;
879 let lastWasCR = null; 879 let lastWasCR = null;
880 for (let i = 0; dart.notNull(i) < dart.notNull(offset); dart.notNull(i)++) { 880 for (let i = 0; dart.notNull(i) < dart.notNull(offset); i = dart.notNull(i ) + 1) {
881 let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int); 881 let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int);
882 if (char === 10) { 882 if (char === 10) {
883 if (lineStart !== i || !dart.notNull(lastWasCR)) { 883 if (lineStart !== i || !dart.notNull(lastWasCR)) {
884 dart.notNull(lineNum)++; 884 lineNum = dart.notNull(lineNum) + 1;
885 } 885 }
886 lineStart = dart.notNull(i) + 1; 886 lineStart = dart.notNull(i) + 1;
887 lastWasCR = false; 887 lastWasCR = false;
888 } else if (char === 13) { 888 } else if (char === 13) {
889 dart.notNull(lineNum)++; 889 lineNum = dart.notNull(lineNum) + 1;
890 lineStart = dart.notNull(i) + 1; 890 lineStart = dart.notNull(i) + 1;
891 lastWasCR = true; 891 lastWasCR = true;
892 } 892 }
893 } 893 }
894 if (dart.notNull(lineNum) > 1) { 894 if (dart.notNull(lineNum) > 1) {
895 report = ` (at line ${lineNum}, character ${dart.notNull(offset) - dart. notNull(lineStart) + 1})\n`; 895 report = ` (at line ${lineNum}, character ${dart.notNull(offset) - dart. notNull(lineStart) + 1})\n`;
896 } else { 896 } else {
897 report = ` (at character ${dart.notNull(offset) + 1})\n`; 897 report = ` (at character ${dart.notNull(offset) + 1})\n`;
898 } 898 }
899 let lineEnd = dart.as(dart.dload(this.source, 'length'), int); 899 let lineEnd = dart.as(dart.dload(this.source, 'length'), int);
900 for (let i = offset; i['<'](dart.dload(this.source, 'length')); dart.notNu ll(i)++) { 900 for (let i = offset; i['<'](dart.dload(this.source, 'length')); i = dart.n otNull(i) + 1) {
901 let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int); 901 let char = dart.as(dart.dinvoke(this.source, 'codeUnitAt', i), int);
902 if (char === 10 || char === 13) { 902 if (char === 10 || char === 13) {
903 lineEnd = i; 903 lineEnd = i;
904 break; 904 break;
905 } 905 }
906 } 906 }
907 let length = dart.notNull(lineEnd) - dart.notNull(lineStart); 907 let length = dart.notNull(lineEnd) - dart.notNull(lineStart);
908 let start = lineStart; 908 let start = lineStart;
909 let end = lineEnd; 909 let end = lineEnd;
910 let prefix = ""; 910 let prefix = "";
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
954 let values = _js_helper.Primitives.getProperty(object, _EXPANDO_PROPERTY _NAME); 954 let values = _js_helper.Primitives.getProperty(object, _EXPANDO_PROPERTY _NAME);
955 if (values === null) { 955 if (values === null) {
956 values = new Object(); 956 values = new Object();
957 _js_helper.Primitives.setProperty(object, _EXPANDO_PROPERTY_NAME, valu es); 957 _js_helper.Primitives.setProperty(object, _EXPANDO_PROPERTY_NAME, valu es);
958 } 958 }
959 _js_helper.Primitives.setProperty(values, this[_getKey](), value); 959 _js_helper.Primitives.setProperty(values, this[_getKey](), value);
960 } 960 }
961 [_getKey]() { 961 [_getKey]() {
962 let key = dart.as(_js_helper.Primitives.getProperty(this, _KEY_PROPERTY_ NAME), String); 962 let key = dart.as(_js_helper.Primitives.getProperty(this, _KEY_PROPERTY_ NAME), String);
963 if (key === null) { 963 if (key === null) {
964 key = `expando$key$${dart.notNull(_keyCount)++}`; 964 key = `expando$key$${(($tmp) => _keyCount = dart.notNull($tmp) + 1, $t mp)(_keyCount)}`;
965 _js_helper.Primitives.setProperty(this, _KEY_PROPERTY_NAME, key); 965 _js_helper.Primitives.setProperty(this, _KEY_PROPERTY_NAME, key);
966 } 966 }
967 return key; 967 return key;
968 } 968 }
969 } 969 }
970 Expando._KEY_PROPERTY_NAME = 'expando$key'; 970 Expando._KEY_PROPERTY_NAME = 'expando$key';
971 Expando._EXPANDO_PROPERTY_NAME = 'expando$values'; 971 Expando._EXPANDO_PROPERTY_NAME = 'expando$values';
972 Expando._keyCount = 0; 972 Expando._keyCount = 0;
973 return Expando; 973 return Expando;
974 }); 974 });
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
1101 class _GeneratorIterator extends dart.Object { 1101 class _GeneratorIterator extends dart.Object {
1102 _GeneratorIterator($_index, $_end, $_generator) { 1102 _GeneratorIterator($_index, $_end, $_generator) {
1103 this[_index] = $_index; 1103 this[_index] = $_index;
1104 this[_end] = $_end; 1104 this[_end] = $_end;
1105 this[_generator] = $_generator; 1105 this[_generator] = $_generator;
1106 this[_current] = null; 1106 this[_current] = null;
1107 } 1107 }
1108 moveNext() { 1108 moveNext() {
1109 if (dart.notNull(this[_index]) < dart.notNull(this[_end])) { 1109 if (dart.notNull(this[_index]) < dart.notNull(this[_end])) {
1110 this[_current] = this[_generator](this[_index]); 1110 this[_current] = this[_generator](this[_index]);
1111 dart.notNull(this[_index])++; 1111 this[_index] = dart.notNull(this[_index]) + 1;
1112 return true; 1112 return true;
1113 } else { 1113 } else {
1114 this[_current] = null; 1114 this[_current] = null;
1115 return false; 1115 return false;
1116 } 1116 }
1117 } 1117 }
1118 get current() { 1118 get current() {
1119 return this[_current]; 1119 return this[_current];
1120 } 1120 }
1121 } 1121 }
(...skipping 18 matching lines...) Expand all
1140 if (length === void 0) 1140 if (length === void 0)
1141 length = new _ListConstructorSentinel(); 1141 length = new _ListConstructorSentinel();
1142 if (length === new _ListConstructorSentinel()) { 1142 if (length === new _ListConstructorSentinel()) {
1143 return new _interceptors.JSArray.emptyGrowable(); 1143 return new _interceptors.JSArray.emptyGrowable();
1144 } 1144 }
1145 return new _interceptors.JSArray.fixed(length); 1145 return new _interceptors.JSArray.fixed(length);
1146 } 1146 }
1147 List$filled(length, fill) { 1147 List$filled(length, fill) {
1148 let result = new _interceptors.JSArray.fixed(length); 1148 let result = new _interceptors.JSArray.fixed(length);
1149 if (length !== 0 && dart.notNull(fill !== null)) { 1149 if (length !== 0 && dart.notNull(fill !== null)) {
1150 for (let i = 0; dart.notNull(i) < dart.notNull(result.length); dart.no tNull(i)++) { 1150 for (let i = 0; dart.notNull(i) < dart.notNull(result.length); i = dar t.notNull(i) + 1) {
1151 result.set(i, fill); 1151 result.set(i, fill);
1152 } 1152 }
1153 } 1153 }
1154 return dart.as(result, List$(E)); 1154 return dart.as(result, List$(E));
1155 } 1155 }
1156 List$from(elements, opt$) { 1156 List$from(elements, opt$) {
1157 let growable = opt$.growable === void 0 ? true : opt$.growable; 1157 let growable = opt$.growable === void 0 ? true : opt$.growable;
1158 let list = new List(); 1158 let list = new List();
1159 for (let e of elements) { 1159 for (let e of elements) {
1160 list.add(e); 1160 list.add(e);
1161 } 1161 }
1162 if (growable) 1162 if (growable)
1163 return list; 1163 return list;
1164 return dart.as(_internal.makeListFixedLength(list), List$(E)); 1164 return dart.as(_internal.makeListFixedLength(list), List$(E));
1165 } 1165 }
1166 List$generate(length, generator, opt$) { 1166 List$generate(length, generator, opt$) {
1167 let growable = opt$.growable === void 0 ? true : opt$.growable; 1167 let growable = opt$.growable === void 0 ? true : opt$.growable;
1168 let result = null; 1168 let result = null;
1169 if (growable) { 1169 if (growable) {
1170 result = ((_) => { 1170 result = ((_) => {
1171 _.length = length; 1171 _.length = length;
1172 return _; 1172 return _;
1173 }).bind(this)(new List.from([])); 1173 }).bind(this)(new List.from([]));
1174 } else { 1174 } else {
1175 result = new List(length); 1175 result = new List(length);
1176 } 1176 }
1177 for (let i = 0; dart.notNull(i) < dart.notNull(length); dart.notNull(i)+ +) { 1177 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull (i) + 1) {
1178 result.set(i, generator(i)); 1178 result.set(i, generator(i));
1179 } 1179 }
1180 return result; 1180 return result;
1181 } 1181 }
1182 } 1182 }
1183 dart.defineNamedConstructor(List, 'filled'); 1183 dart.defineNamedConstructor(List, 'filled');
1184 dart.defineNamedConstructor(List, 'from'); 1184 dart.defineNamedConstructor(List, 'from');
1185 dart.defineNamedConstructor(List, 'generate'); 1185 dart.defineNamedConstructor(List, 'generate');
1186 return List; 1186 return List;
1187 }); 1187 });
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
1407 let defaultValue = opt$.defaultValue === void 0 ? null : opt$.defaultValue ; 1407 let defaultValue = opt$.defaultValue === void 0 ? null : opt$.defaultValue ;
1408 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor'); 1408 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor');
1409 } 1409 }
1410 static [_stringFromIterable](charCodes, start, end) { 1410 static [_stringFromIterable](charCodes, start, end) {
1411 if (dart.notNull(start) < 0) 1411 if (dart.notNull(start) < 0)
1412 throw new RangeError.range(start, 0, charCodes.length); 1412 throw new RangeError.range(start, 0, charCodes.length);
1413 if (end !== null && dart.notNull(end) < dart.notNull(start)) { 1413 if (end !== null && dart.notNull(end) < dart.notNull(start)) {
1414 throw new RangeError.range(end, start, charCodes.length); 1414 throw new RangeError.range(end, start, charCodes.length);
1415 } 1415 }
1416 let it = charCodes.iterator; 1416 let it = charCodes.iterator;
1417 for (let i = 0; dart.notNull(i) < dart.notNull(start); dart.notNull(i)++) { 1417 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
1418 if (!dart.notNull(it.moveNext())) { 1418 if (!dart.notNull(it.moveNext())) {
1419 throw new RangeError.range(start, 0, i); 1419 throw new RangeError.range(start, 0, i);
1420 } 1420 }
1421 } 1421 }
1422 let list = new List.from([]); 1422 let list = new List.from([]);
1423 if (end === null) { 1423 if (end === null) {
1424 while (it.moveNext()) 1424 while (it.moveNext())
1425 list.add(it.current); 1425 list.add(it.current);
1426 } else { 1426 } else {
1427 for (let i = start; dart.notNull(i) < dart.notNull(end); dart.notNull(i) ++) { 1427 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
1428 if (!dart.notNull(it.moveNext())) { 1428 if (!dart.notNull(it.moveNext())) {
1429 throw new RangeError.range(end, start, i); 1429 throw new RangeError.range(end, start, i);
1430 } 1430 }
1431 list.add(it.current); 1431 list.add(it.current);
1432 } 1432 }
1433 } 1433 }
1434 return _js_helper.Primitives.stringFromCharCodes(list); 1434 return _js_helper.Primitives.stringFromCharCodes(list);
1435 } 1435 }
1436 } 1436 }
1437 dart.defineNamedConstructor(String, 'fromCharCodes'); 1437 dart.defineNamedConstructor(String, 'fromCharCodes');
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
1760 lastColon = -1; 1760 lastColon = -1;
1761 let endBracket = uri.indexOf(']', dart.notNull(index) + 1); 1761 let endBracket = uri.indexOf(']', dart.notNull(index) + 1);
1762 if (endBracket === -1) { 1762 if (endBracket === -1) {
1763 index = uri.length; 1763 index = uri.length;
1764 char = EOI; 1764 char = EOI;
1765 break; 1765 break;
1766 } else { 1766 } else {
1767 index = endBracket; 1767 index = endBracket;
1768 } 1768 }
1769 } 1769 }
1770 dart.notNull(index)++; 1770 index = dart.notNull(index) + 1;
1771 char = EOI; 1771 char = EOI;
1772 } 1772 }
1773 let hostStart = authStart; 1773 let hostStart = authStart;
1774 let hostEnd = index; 1774 let hostEnd = index;
1775 if (dart.notNull(lastAt) >= 0) { 1775 if (dart.notNull(lastAt) >= 0) {
1776 userinfo = _makeUserInfo(uri, authStart, lastAt); 1776 userinfo = _makeUserInfo(uri, authStart, lastAt);
1777 hostStart = dart.notNull(lastAt) + 1; 1777 hostStart = dart.notNull(lastAt) + 1;
1778 } 1778 }
1779 if (dart.notNull(lastColon) >= 0) { 1779 if (dart.notNull(lastColon) >= 0) {
1780 let portNumber = null; 1780 let portNumber = null;
1781 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) { 1781 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) {
1782 portNumber = 0; 1782 portNumber = 0;
1783 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); dart.notNull(i)++) { 1783 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); i = dart.notNull(i) + 1) {
1784 let digit = uri.codeUnitAt(i); 1784 let digit = uri.codeUnitAt(i);
1785 if (dart.notNull(_ZERO) > dart.notNull(digit) || dart.notNull(_NIN E) < dart.notNull(digit)) { 1785 if (dart.notNull(_ZERO) > dart.notNull(digit) || dart.notNull(_NIN E) < dart.notNull(digit)) {
1786 _fail(uri, i, "Invalid port number"); 1786 _fail(uri, i, "Invalid port number");
1787 } 1787 }
1788 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(_ZERO)); 1788 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(_ZERO));
1789 } 1789 }
1790 } 1790 }
1791 port = _makePort(portNumber, scheme); 1791 port = _makePort(portNumber, scheme);
1792 hostEnd = lastColon; 1792 hostEnd = lastColon;
1793 } 1793 }
(...skipping 14 matching lines...) Expand all
1808 break; 1808 break;
1809 } 1809 }
1810 if (char === _SLASH) { 1810 if (char === _SLASH) {
1811 state = i === 0 ? ALLOW_AUTH : IN_PATH; 1811 state = i === 0 ? ALLOW_AUTH : IN_PATH;
1812 break; 1812 break;
1813 } 1813 }
1814 if (char === _COLON) { 1814 if (char === _COLON) {
1815 if (i === 0) 1815 if (i === 0)
1816 _fail(uri, 0, "Invalid empty scheme"); 1816 _fail(uri, 0, "Invalid empty scheme");
1817 scheme = _makeScheme(uri, i); 1817 scheme = _makeScheme(uri, i);
1818 dart.notNull(i)++; 1818 i = dart.notNull(i) + 1;
1819 pathStart = i; 1819 pathStart = i;
1820 if (i === uri.length) { 1820 if (i === uri.length) {
1821 char = EOI; 1821 char = EOI;
1822 state = NOT_IN_PATH; 1822 state = NOT_IN_PATH;
1823 } else { 1823 } else {
1824 char = uri.codeUnitAt(i); 1824 char = uri.codeUnitAt(i);
1825 if (char === _QUESTION || char === _NUMBER_SIGN) { 1825 if (char === _QUESTION || char === _NUMBER_SIGN) {
1826 state = NOT_IN_PATH; 1826 state = NOT_IN_PATH;
1827 } else if (char === _SLASH) { 1827 } else if (char === _SLASH) {
1828 state = ALLOW_AUTH; 1828 state = ALLOW_AUTH;
1829 } else { 1829 } else {
1830 state = IN_PATH; 1830 state = IN_PATH;
1831 } 1831 }
1832 } 1832 }
1833 break; 1833 break;
1834 } 1834 }
1835 dart.notNull(i)++; 1835 i = dart.notNull(i) + 1;
1836 char = EOI; 1836 char = EOI;
1837 } 1837 }
1838 index = i; 1838 index = i;
1839 if (state === ALLOW_AUTH) { 1839 if (state === ALLOW_AUTH) {
1840 dart.assert(char === _SLASH); 1840 dart.assert(char === _SLASH);
1841 dart.notNull(index)++; 1841 index = dart.notNull(index) + 1;
1842 if (index === uri.length) { 1842 if (index === uri.length) {
1843 char = EOI; 1843 char = EOI;
1844 state = NOT_IN_PATH; 1844 state = NOT_IN_PATH;
1845 } else { 1845 } else {
1846 char = uri.codeUnitAt(index); 1846 char = uri.codeUnitAt(index);
1847 if (char === _SLASH) { 1847 if (char === _SLASH) {
1848 dart.notNull(index)++; 1848 index = dart.notNull(index) + 1;
1849 parseAuth(); 1849 parseAuth();
1850 pathStart = index; 1850 pathStart = index;
1851 } 1851 }
1852 if (char === _QUESTION || char === _NUMBER_SIGN || char === EOI) { 1852 if (char === _QUESTION || char === _NUMBER_SIGN || char === EOI) {
1853 state = NOT_IN_PATH; 1853 state = NOT_IN_PATH;
1854 } else { 1854 } else {
1855 state = IN_PATH; 1855 state = IN_PATH;
1856 } 1856 }
1857 } 1857 }
1858 } 1858 }
1859 dart.assert(state === IN_PATH || state === NOT_IN_PATH); 1859 dart.assert(state === IN_PATH || state === NOT_IN_PATH);
1860 if (state === IN_PATH) { 1860 if (state === IN_PATH) {
1861 while (++dart.notNull(index) < dart.notNull(uri.length)) { 1861 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) {
1862 char = uri.codeUnitAt(index); 1862 char = uri.codeUnitAt(index);
1863 if (char === _QUESTION || char === _NUMBER_SIGN) { 1863 if (char === _QUESTION || char === _NUMBER_SIGN) {
1864 break; 1864 break;
1865 } 1865 }
1866 char = EOI; 1866 char = EOI;
1867 } 1867 }
1868 state = NOT_IN_PATH; 1868 state = NOT_IN_PATH;
1869 } 1869 }
1870 dart.assert(state === NOT_IN_PATH); 1870 dart.assert(state === NOT_IN_PATH);
1871 let isFile = dart.equals(scheme, "file"); 1871 let isFile = dart.equals(scheme, "file");
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1934 queryParameters = null; 1934 queryParameters = null;
1935 return _makeHttpUri("https", authority, unencodedPath, queryParameters); 1935 return _makeHttpUri("https", authority, unencodedPath, queryParameters);
1936 } 1936 }
1937 static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) { 1937 static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) {
1938 let userInfo = ""; 1938 let userInfo = "";
1939 let host = null; 1939 let host = null;
1940 let port = null; 1940 let port = null;
1941 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty) ) { 1941 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty) ) {
1942 let hostStart = 0; 1942 let hostStart = 0;
1943 let hasUserInfo = false; 1943 let hasUserInfo = false;
1944 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); dart.n otNull(i)++) { 1944 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da rt.notNull(i) + 1) {
1945 if (authority.codeUnitAt(i) === _AT_SIGN) { 1945 if (authority.codeUnitAt(i) === _AT_SIGN) {
1946 hasUserInfo = true; 1946 hasUserInfo = true;
1947 userInfo = authority.substring(0, i); 1947 userInfo = authority.substring(0, i);
1948 hostStart = dart.notNull(i) + 1; 1948 hostStart = dart.notNull(i) + 1;
1949 break; 1949 break;
1950 } 1950 }
1951 } 1951 }
1952 let hostEnd = hostStart; 1952 let hostEnd = hostStart;
1953 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) === _LEFT_BRACKET) { 1953 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) === _LEFT_BRACKET) {
1954 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); dart.no tNull(hostEnd)++) { 1954 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
1955 if (authority.codeUnitAt(hostEnd) === _RIGHT_BRACKET) 1955 if (authority.codeUnitAt(hostEnd) === _RIGHT_BRACKET)
1956 break; 1956 break;
1957 } 1957 }
1958 if (hostEnd === authority.length) { 1958 if (hostEnd === authority.length) {
1959 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart); 1959 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart);
1960 } 1960 }
1961 parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd); 1961 parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd);
1962 dart.notNull(hostEnd)++; 1962 hostEnd = dart.notNull(hostEnd) + 1;
1963 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !== _COLON) { 1963 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !== _COLON) {
1964 throw new FormatException("Invalid end of authority", authority, hos tEnd); 1964 throw new FormatException("Invalid end of authority", authority, hos tEnd);
1965 } 1965 }
1966 } 1966 }
1967 let hasPort = false; 1967 let hasPort = false;
1968 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); dart.notN ull(hostEnd)++) { 1968 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
1969 if (authority.codeUnitAt(hostEnd) === _COLON) { 1969 if (authority.codeUnitAt(hostEnd) === _COLON) {
1970 let portString = authority.substring(dart.notNull(hostEnd) + 1); 1970 let portString = authority.substring(dart.notNull(hostEnd) + 1);
1971 if (portString.isNotEmpty) 1971 if (portString.isNotEmpty)
1972 port = int.parse(portString); 1972 port = int.parse(portString);
1973 break; 1973 break;
1974 } 1974 }
1975 } 1975 }
1976 host = authority.substring(hostStart, hostEnd); 1976 host = authority.substring(hostStart, hostEnd);
1977 } 1977 }
1978 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters}); 1978 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters});
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
2158 if (start === end) 2158 if (start === end)
2159 return ""; 2159 return "";
2160 if (host.codeUnitAt(start) === _LEFT_BRACKET) { 2160 if (host.codeUnitAt(start) === _LEFT_BRACKET) {
2161 if (host.codeUnitAt(dart.notNull(end) - 1) !== _RIGHT_BRACKET) { 2161 if (host.codeUnitAt(dart.notNull(end) - 1) !== _RIGHT_BRACKET) {
2162 _fail(host, start, 'Missing end `]` to match `[` in host'); 2162 _fail(host, start, 'Missing end `]` to match `[` in host');
2163 } 2163 }
2164 parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1); 2164 parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1);
2165 return host.substring(start, end).toLowerCase(); 2165 return host.substring(start, end).toLowerCase();
2166 } 2166 }
2167 if (!dart.notNull(strictIPv6)) { 2167 if (!dart.notNull(strictIPv6)) {
2168 for (let i = start; dart.notNull(i) < dart.notNull(end); dart.notNull(i) ++) { 2168 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
2169 if (host.codeUnitAt(i) === _COLON) { 2169 if (host.codeUnitAt(i) === _COLON) {
2170 parseIPv6Address(host, start, end); 2170 parseIPv6Address(host, start, end);
2171 return `[${host}]`; 2171 return `[${host}]`;
2172 } 2172 }
2173 } 2173 }
2174 } 2174 }
2175 return _normalizeRegName(host, start, end); 2175 return _normalizeRegName(host, start, end);
2176 } 2176 }
2177 static [_isRegNameChar](char) { 2177 static [_isRegNameChar](char) {
2178 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( dart.dindex(_regNameTable, dart.notNull(char) >> 4), '&', 1 << (dart.notNull(cha r) & 15)), 0)); 2178 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( dart.dindex(_regNameTable, dart.notNull(char) >> 4), '&', 1 << (dart.notNull(cha r) & 15)), 0));
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2210 } else if (_isRegNameChar(char)) { 2210 } else if (_isRegNameChar(char)) {
2211 if (dart.notNull(isNormalized) && dart.notNull(_UPPER_CASE_A) <= dart. notNull(char) && dart.notNull(_UPPER_CASE_Z) >= dart.notNull(char)) { 2211 if (dart.notNull(isNormalized) && dart.notNull(_UPPER_CASE_A) <= dart. notNull(char) && dart.notNull(_UPPER_CASE_Z) >= dart.notNull(char)) {
2212 if (buffer === null) 2212 if (buffer === null)
2213 buffer = new StringBuffer(); 2213 buffer = new StringBuffer();
2214 if (dart.notNull(sectionStart) < dart.notNull(index)) { 2214 if (dart.notNull(sectionStart) < dart.notNull(index)) {
2215 buffer.write(host.substring(sectionStart, index)); 2215 buffer.write(host.substring(sectionStart, index));
2216 sectionStart = index; 2216 sectionStart = index;
2217 } 2217 }
2218 isNormalized = false; 2218 isNormalized = false;
2219 } 2219 }
2220 dart.notNull(index)++; 2220 index = dart.notNull(index) + 1;
2221 } else if (_isGeneralDelimiter(char)) { 2221 } else if (_isGeneralDelimiter(char)) {
2222 _fail(host, index, "Invalid character"); 2222 _fail(host, index, "Invalid character");
2223 } else { 2223 } else {
2224 let sourceLength = 1; 2224 let sourceLength = 1;
2225 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) { 2225 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
2226 let tail = host.codeUnitAt(dart.notNull(index) + 1); 2226 let tail = host.codeUnitAt(dart.notNull(index) + 1);
2227 if ((dart.notNull(tail) & 64512) === 56320) { 2227 if ((dart.notNull(tail) & 64512) === 56320) {
2228 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023; 2228 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023;
2229 sourceLength = 2; 2229 sourceLength = 2;
2230 } 2230 }
(...skipping 20 matching lines...) Expand all
2251 return buffer.toString(); 2251 return buffer.toString();
2252 } 2252 }
2253 static [_makeScheme](scheme, end) { 2253 static [_makeScheme](scheme, end) {
2254 if (end === 0) 2254 if (end === 0)
2255 return ""; 2255 return "";
2256 let firstCodeUnit = scheme.codeUnitAt(0); 2256 let firstCodeUnit = scheme.codeUnitAt(0);
2257 if (!dart.notNull(_isAlphabeticCharacter(firstCodeUnit))) { 2257 if (!dart.notNull(_isAlphabeticCharacter(firstCodeUnit))) {
2258 _fail(scheme, 0, "Scheme not starting with alphabetic character"); 2258 _fail(scheme, 0, "Scheme not starting with alphabetic character");
2259 } 2259 }
2260 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(_LOWER_CASE _A); 2260 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(_LOWER_CASE _A);
2261 for (let i = 0; dart.notNull(i) < dart.notNull(end); dart.notNull(i)++) { 2261 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
2262 let codeUnit = scheme.codeUnitAt(i); 2262 let codeUnit = scheme.codeUnitAt(i);
2263 if (!dart.notNull(_isSchemeCharacter(codeUnit))) { 2263 if (!dart.notNull(_isSchemeCharacter(codeUnit))) {
2264 _fail(scheme, i, "Illegal scheme character"); 2264 _fail(scheme, i, "Illegal scheme character");
2265 } 2265 }
2266 if (dart.notNull(codeUnit) < dart.notNull(_LOWER_CASE_A) || dart.notNull (codeUnit) > dart.notNull(_LOWER_CASE_Z)) { 2266 if (dart.notNull(codeUnit) < dart.notNull(_LOWER_CASE_A) || dart.notNull (codeUnit) > dart.notNull(_LOWER_CASE_Z)) {
2267 allLowercase = false; 2267 allLowercase = false;
2268 } 2268 }
2269 } 2269 }
2270 scheme = scheme.substring(0, end); 2270 scheme = scheme.substring(0, end);
2271 if (!dart.notNull(allLowercase)) 2271 if (!dart.notNull(allLowercase))
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
2381 if (dart.dbinary(char, '>', 2047)) { 2381 if (dart.dbinary(char, '>', 2047)) {
2382 flag = 224; 2382 flag = 224;
2383 encodedBytes = 3; 2383 encodedBytes = 3;
2384 if (dart.dbinary(char, '>', 65535)) { 2384 if (dart.dbinary(char, '>', 65535)) {
2385 encodedBytes = 4; 2385 encodedBytes = 4;
2386 flag = 240; 2386 flag = 240;
2387 } 2387 }
2388 } 2388 }
2389 codeUnits = new List(3 * dart.notNull(encodedBytes)); 2389 codeUnits = new List(3 * dart.notNull(encodedBytes));
2390 let index = 0; 2390 let index = 0;
2391 while (--dart.notNull(encodedBytes) >= 0) { 2391 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
2392 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int); 2392 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int);
2393 codeUnits.set(index, _PERCENT); 2393 codeUnits.set(index, _PERCENT);
2394 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu ll(byte) >> 4)); 2394 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu ll(byte) >> 4));
2395 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu ll(byte) & 15)); 2395 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu ll(byte) & 15));
2396 index = 3; 2396 index = 3;
2397 flag = 128; 2397 flag = 128;
2398 } 2398 }
2399 } 2399 }
2400 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); 2400 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
2401 } 2401 }
2402 static [_normalize](component, start, end, charTable) { 2402 static [_normalize](component, start, end, charTable) {
2403 let buffer = null; 2403 let buffer = null;
2404 let sectionStart = start; 2404 let sectionStart = start;
2405 let index = start; 2405 let index = start;
2406 while (dart.notNull(index) < dart.notNull(end)) { 2406 while (dart.notNull(index) < dart.notNull(end)) {
2407 let char = component.codeUnitAt(index); 2407 let char = component.codeUnitAt(index);
2408 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull (char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) { 2408 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull (char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) {
2409 dart.notNull(index)++; 2409 index = dart.notNull(index) + 1;
2410 } else { 2410 } else {
2411 let replacement = null; 2411 let replacement = null;
2412 let sourceLength = null; 2412 let sourceLength = null;
2413 if (char === _PERCENT) { 2413 if (char === _PERCENT) {
2414 replacement = _normalizeEscape(component, index, false); 2414 replacement = _normalizeEscape(component, index, false);
2415 if (replacement === null) { 2415 if (replacement === null) {
2416 index = 3; 2416 index = 3;
2417 continue; 2417 continue;
2418 } 2418 }
2419 if (dart.equals("%", replacement)) { 2419 if (dart.equals("%", replacement)) {
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
2462 get isAbsolute() { 2462 get isAbsolute() {
2463 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq uals(this.fragment, "")); 2463 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq uals(this.fragment, ""));
2464 } 2464 }
2465 [_merge](base, reference) { 2465 [_merge](base, reference) {
2466 if (base.isEmpty) 2466 if (base.isEmpty)
2467 return `/${reference}`; 2467 return `/${reference}`;
2468 let backCount = 0; 2468 let backCount = 0;
2469 let refStart = 0; 2469 let refStart = 0;
2470 while (reference.startsWith("../", refStart)) { 2470 while (reference.startsWith("../", refStart)) {
2471 refStart = 3; 2471 refStart = 3;
2472 dart.notNull(backCount)++; 2472 backCount = dart.notNull(backCount) + 1;
2473 } 2473 }
2474 let baseEnd = base.lastIndexOf('/'); 2474 let baseEnd = base.lastIndexOf('/');
2475 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) { 2475 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) {
2476 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1); 2476 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1);
2477 if (dart.notNull(newEnd) < 0) { 2477 if (dart.notNull(newEnd) < 0) {
2478 break; 2478 break;
2479 } 2479 }
2480 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd); 2480 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd);
2481 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) === _DOT && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) === _DOT)) { 2481 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) === _DOT && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) === _DOT)) {
2482 break; 2482 break;
2483 } 2483 }
2484 baseEnd = newEnd; 2484 baseEnd = newEnd;
2485 dart.notNull(backCount)--; 2485 backCount = dart.notNull(backCount) - 1;
2486 } 2486 }
2487 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference .substring(dart.notNull(refStart) - 3 * dart.notNull(backCount))); 2487 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference .substring(dart.notNull(refStart) - 3 * dart.notNull(backCount)));
2488 } 2488 }
2489 [_hasDotSegments](path) { 2489 [_hasDotSegments](path) {
2490 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === _DOT) 2490 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === _DOT)
2491 return true; 2491 return true;
2492 let index = path.indexOf("/."); 2492 let index = path.indexOf("/.");
2493 return index !== -1; 2493 return index !== -1;
2494 } 2494 }
2495 [_removeDotSegments](path) { 2495 [_removeDotSegments](path) {
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after
2769 if (dart.notNull(value) < 0 || dart.notNull(value) > (1 << 16) - 1) { 2769 if (dart.notNull(value) < 0 || dart.notNull(value) > (1 << 16) - 1) {
2770 error('each part must be in the range of `0x0..0xFFFF`', start); 2770 error('each part must be in the range of `0x0..0xFFFF`', start);
2771 } 2771 }
2772 return value; 2772 return value;
2773 } 2773 }
2774 if (dart.notNull(host.length) < 2) 2774 if (dart.notNull(host.length) < 2)
2775 error('address is too short'); 2775 error('address is too short');
2776 let parts = dart.as(new List.from([]), List$(int)); 2776 let parts = dart.as(new List.from([]), List$(int));
2777 let wildcardSeen = false; 2777 let wildcardSeen = false;
2778 let partStart = start; 2778 let partStart = start;
2779 for (let i = start; dart.notNull(i) < dart.notNull(end); dart.notNull(i)++ ) { 2779 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
2780 if (host.codeUnitAt(i) === _COLON) { 2780 if (host.codeUnitAt(i) === _COLON) {
2781 if (i === start) { 2781 if (i === start) {
2782 dart.notNull(i)++; 2782 i = dart.notNull(i) + 1;
2783 if (host.codeUnitAt(i) !== _COLON) { 2783 if (host.codeUnitAt(i) !== _COLON) {
2784 error('invalid start colon.', i); 2784 error('invalid start colon.', i);
2785 } 2785 }
2786 partStart = i; 2786 partStart = i;
2787 } 2787 }
2788 if (i === partStart) { 2788 if (i === partStart) {
2789 if (wildcardSeen) { 2789 if (wildcardSeen) {
2790 error('only one wildcard `::` is allowed', i); 2790 error('only one wildcard `::` is allowed', i);
2791 } 2791 }
2792 wildcardSeen = true; 2792 wildcardSeen = true;
(...skipping 27 matching lines...) Expand all
2820 2820
2821 } 2821 }
2822 if (wildcardSeen) { 2822 if (wildcardSeen) {
2823 if (dart.notNull(parts.length) > 7) { 2823 if (dart.notNull(parts.length) > 7) {
2824 error('an address with a wildcard must have less than 7 parts'); 2824 error('an address with a wildcard must have less than 7 parts');
2825 } 2825 }
2826 } else if (parts.length !== 8) { 2826 } else if (parts.length !== 8) {
2827 error('an address without a wildcard must contain exactly 8 parts'); 2827 error('an address without a wildcard must contain exactly 8 parts');
2828 } 2828 }
2829 let bytes = new List(16); 2829 let bytes = new List(16);
2830 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts.length); d art.notNull(i)++) { 2830 for (let i = 0, index = 0; dart.notNull(i) < dart.notNull(parts.length); i = dart.notNull(i) + 1) {
2831 let value = parts.get(i); 2831 let value = parts.get(i);
2832 if (value === -1) { 2832 if (value === -1) {
2833 let wildCardLength = 9 - dart.notNull(parts.length); 2833 let wildCardLength = 9 - dart.notNull(parts.length);
2834 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); dart.n otNull(j)++) { 2834 for (let j = 0; dart.notNull(j) < dart.notNull(wildCardLength); j = da rt.notNull(j) + 1) {
2835 bytes.set(index, 0); 2835 bytes.set(index, 0);
2836 bytes.set(dart.notNull(index) + 1, 0); 2836 bytes.set(dart.notNull(index) + 1, 0);
2837 index = 2; 2837 index = 2;
2838 } 2838 }
2839 } else { 2839 } else {
2840 bytes.set(index, dart.notNull(value) >> 8); 2840 bytes.set(index, dart.notNull(value) >> 8);
2841 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255); 2841 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255);
2842 index = 2; 2842 index = 2;
2843 } 2843 }
2844 } 2844 }
2845 return dart.as(bytes, List$(int)); 2845 return dart.as(bytes, List$(int));
2846 } 2846 }
2847 static [_uriEncode](canonicalTable, text, opt$) { 2847 static [_uriEncode](canonicalTable, text, opt$) {
2848 let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding; 2848 let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
2849 let spaceToPlus = opt$.spaceToPlus === void 0 ? false : opt$.spaceToPlus; 2849 let spaceToPlus = opt$.spaceToPlus === void 0 ? false : opt$.spaceToPlus;
2850 // Function byteToHex: (dynamic, dynamic) → dynamic 2850 // Function byteToHex: (dynamic, dynamic) → dynamic
2851 function byteToHex(byte, buffer) { 2851 function byteToHex(byte, buffer) {
2852 let hex = '0123456789ABCDEF'; 2852 let hex = '0123456789ABCDEF';
2853 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int))); 2853 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int)));
2854 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int))); 2854 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int)));
2855 } 2855 }
2856 let result = new StringBuffer(); 2856 let result = new StringBuffer();
2857 let bytes = encoding.encode(text); 2857 let bytes = encoding.encode(text);
2858 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); dart.notNull (i)++) { 2858 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not Null(i) + 1) {
2859 let byte = bytes.get(i); 2859 let byte = bytes.get(i);
2860 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) { 2860 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) {
2861 result.writeCharCode(byte); 2861 result.writeCharCode(byte);
2862 } else if (dart.notNull(spaceToPlus) && byte === _SPACE) { 2862 } else if (dart.notNull(spaceToPlus) && byte === _SPACE) {
2863 result.writeCharCode(_PLUS); 2863 result.writeCharCode(_PLUS);
2864 } else { 2864 } else {
2865 result.writeCharCode(_PERCENT); 2865 result.writeCharCode(_PERCENT);
2866 byteToHex(byte, result); 2866 byteToHex(byte, result);
2867 } 2867 }
2868 } 2868 }
2869 return result.toString(); 2869 return result.toString();
2870 } 2870 }
2871 static [_hexCharPairToByte](s, pos) { 2871 static [_hexCharPairToByte](s, pos) {
2872 let byte = 0; 2872 let byte = 0;
2873 for (let i = 0; dart.notNull(i) < 2; dart.notNull(i)++) { 2873 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) {
2874 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i)); 2874 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i));
2875 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) { 2875 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) {
2876 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48; 2876 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48;
2877 } else { 2877 } else {
2878 charCode = 32; 2878 charCode = 32;
2879 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) { 2879 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) {
2880 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87; 2880 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87;
2881 } else { 2881 } else {
2882 throw new ArgumentError("Invalid URL encoding"); 2882 throw new ArgumentError("Invalid URL encoding");
2883 } 2883 }
2884 } 2884 }
2885 } 2885 }
2886 return byte; 2886 return byte;
2887 } 2887 }
2888 static [_uriDecode](text, opt$) { 2888 static [_uriDecode](text, opt$) {
2889 let plusToSpace = opt$.plusToSpace === void 0 ? false : opt$.plusToSpace; 2889 let plusToSpace = opt$.plusToSpace === void 0 ? false : opt$.plusToSpace;
2890 let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding; 2890 let encoding = opt$.encoding === void 0 ? convert.UTF8 : opt$.encoding;
2891 let simple = true; 2891 let simple = true;
2892 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); dart.notNull(i)++) { 2892 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); i = dart.notNull(i) + 1) {
2893 let codeUnit = text.codeUnitAt(i); 2893 let codeUnit = text.codeUnitAt(i);
2894 simple = codeUnit !== _PERCENT && codeUnit !== _PLUS; 2894 simple = codeUnit !== _PERCENT && codeUnit !== _PLUS;
2895 } 2895 }
2896 let bytes = null; 2896 let bytes = null;
2897 if (simple) { 2897 if (simple) {
2898 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) { 2898 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) {
2899 return text; 2899 return text;
2900 } else { 2900 } else {
2901 bytes = text.codeUnits; 2901 bytes = text.codeUnits;
2902 } 2902 }
2903 } else { 2903 } else {
2904 bytes = dart.as(new List(), List$(int)); 2904 bytes = dart.as(new List(), List$(int));
2905 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); dart.notNul l(i)++) { 2905 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) {
2906 let codeUnit = text.codeUnitAt(i); 2906 let codeUnit = text.codeUnitAt(i);
2907 if (dart.notNull(codeUnit) > 127) { 2907 if (dart.notNull(codeUnit) > 127) {
2908 throw new ArgumentError("Illegal percent encoding in URI"); 2908 throw new ArgumentError("Illegal percent encoding in URI");
2909 } 2909 }
2910 if (codeUnit === _PERCENT) { 2910 if (codeUnit === _PERCENT) {
2911 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { 2911 if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
2912 throw new ArgumentError('Truncated URI'); 2912 throw new ArgumentError('Truncated URI');
2913 } 2913 }
2914 bytes.add(_hexCharPairToByte(text, dart.notNull(i) + 1)); 2914 bytes.add(_hexCharPairToByte(text, dart.notNull(i) + 1));
2915 i = 2; 2915 i = 2;
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
3031 exports.Stopwatch = Stopwatch; 3031 exports.Stopwatch = Stopwatch;
3032 exports.String = String; 3032 exports.String = String;
3033 exports.Runes = Runes; 3033 exports.Runes = Runes;
3034 exports.RuneIterator = RuneIterator; 3034 exports.RuneIterator = RuneIterator;
3035 exports.StringBuffer = StringBuffer; 3035 exports.StringBuffer = StringBuffer;
3036 exports.StringSink = StringSink; 3036 exports.StringSink = StringSink;
3037 exports.Symbol = Symbol; 3037 exports.Symbol = Symbol;
3038 exports.Type = Type; 3038 exports.Type = Type;
3039 exports.Uri = Uri; 3039 exports.Uri = Uri;
3040 })(core || (core = {})); 3040 })(core || (core = {}));
OLDNEW
« no previous file with comments | « test/codegen/expect/dart/convert.js ('k') | test/codegen/expect/dart/isolate.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698