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

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

Issue 1111863002: fix static members in _emitMemberName (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: catch more cases Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/convert.js ('k') | lib/runtime/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 class Object { 4 class Object {
5 constructor() { 5 constructor() {
6 let name = this.constructor.name; 6 let name = this.constructor.name;
7 let init = this[name]; 7 let init = this[name];
8 let result = void 0; 8 let result = void 0;
9 if (init) 9 if (init)
10 result = init.apply(this, arguments); 10 result = init.apply(this, arguments);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 class bool extends Object { 64 class bool extends Object {
65 fromEnvironment(name, opts) { 65 fromEnvironment(name, opts) {
66 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : fa lse; 66 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : fa lse;
67 throw new UnsupportedError('bool.fromEnvironment can only be used as a con st constructor'); 67 throw new UnsupportedError('bool.fromEnvironment can only be used as a con st constructor');
68 } 68 }
69 toString() { 69 toString() {
70 return this ? "true" : "false"; 70 return this ? "true" : "false";
71 } 71 }
72 } 72 }
73 dart.defineNamedConstructor(bool, 'fromEnvironment'); 73 dart.defineNamedConstructor(bool, 'fromEnvironment');
74 let _toMangledNames = dart.JsSymbol('_toMangledNames');
75 class Function extends Object { 74 class Function extends Object {
76 static apply(f, positionalArguments, namedArguments) { 75 static apply(f, positionalArguments, namedArguments) {
77 if (namedArguments === void 0) 76 if (namedArguments === void 0)
78 namedArguments = null; 77 namedArguments = null;
79 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr guments == null ? null : Function[_toMangledNames](namedArguments)); 78 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr guments == null ? null : Function._toMangledNames(namedArguments));
80 } 79 }
81 static [_toMangledNames](namedArguments) { 80 static _toMangledNames(namedArguments) {
82 let result = dart.map(); 81 let result = dart.map();
83 namedArguments.forEach((symbol, value) => { 82 namedArguments.forEach((symbol, value) => {
84 result.set(_symbolToString(dart.as(symbol, Symbol)), value); 83 result.set(_symbolToString(dart.as(symbol, Symbol)), value);
85 }); 84 });
86 return result; 85 return result;
87 } 86 }
88 } 87 }
89 let Comparator$ = dart.generic(function(T) { 88 let Comparator$ = dart.generic(function(T) {
90 let Comparator = dart.typedef('Comparator', () => dart.functionType(int, [T, T])); 89 let Comparator = dart.typedef('Comparator', () => dart.functionType(int, [T, T]));
91 return Comparator; 90 return Comparator;
92 }); 91 });
93 let Comparator = Comparator$(); 92 let Comparator = Comparator$();
94 let Comparable$ = dart.generic(function(T) { 93 let Comparable$ = dart.generic(function(T) {
95 class Comparable extends Object { 94 class Comparable extends Object {
96 static compare(a, b) { 95 static compare(a, b) {
97 return a.compareTo(b); 96 return a.compareTo(b);
98 } 97 }
99 } 98 }
100 return Comparable; 99 return Comparable;
101 }); 100 });
102 let Comparable = Comparable$(); 101 let Comparable = Comparable$();
103 let _internal$ = dart.JsSymbol('_internal');
104 let _now = dart.JsSymbol('_now');
105 let _brokenDownDateToMillisecondsSinceEpoch = dart.JsSymbol('_brokenDownDateTo MillisecondsSinceEpoch');
106 let _MAX_MILLISECONDS_SINCE_EPOCH = dart.JsSymbol('_MAX_MILLISECONDS_SINCE_EPO CH');
107 let _fourDigits = dart.JsSymbol('_fourDigits');
108 let _sixDigits = dart.JsSymbol('_sixDigits');
109 let _threeDigits = dart.JsSymbol('_threeDigits');
110 let _twoDigits = dart.JsSymbol('_twoDigits');
111 class DateTime extends Object { 102 class DateTime extends Object {
112 DateTime(year, month, day, hour, minute, second, millisecond) { 103 DateTime(year, month, day, hour, minute, second, millisecond) {
113 if (month === void 0) 104 if (month === void 0)
114 month = 1; 105 month = 1;
115 if (day === void 0) 106 if (day === void 0)
116 day = 1; 107 day = 1;
117 if (hour === void 0) 108 if (hour === void 0)
118 hour = 0; 109 hour = 0;
119 if (minute === void 0) 110 if (minute === void 0)
120 minute = 0; 111 minute = 0;
121 if (second === void 0) 112 if (second === void 0)
122 second = 0; 113 second = 0;
123 if (millisecond === void 0) 114 if (millisecond === void 0)
124 millisecond = 0; 115 millisecond = 0;
125 this[_internal$](year, month, day, hour, minute, second, millisecond, fals e); 116 this._internal(year, month, day, hour, minute, second, millisecond, false) ;
126 } 117 }
127 utc(year, month, day, hour, minute, second, millisecond) { 118 utc(year, month, day, hour, minute, second, millisecond) {
128 if (month === void 0) 119 if (month === void 0)
129 month = 1; 120 month = 1;
130 if (day === void 0) 121 if (day === void 0)
131 day = 1; 122 day = 1;
132 if (hour === void 0) 123 if (hour === void 0)
133 hour = 0; 124 hour = 0;
134 if (minute === void 0) 125 if (minute === void 0)
135 minute = 0; 126 minute = 0;
136 if (second === void 0) 127 if (second === void 0)
137 second = 0; 128 second = 0;
138 if (millisecond === void 0) 129 if (millisecond === void 0)
139 millisecond = 0; 130 millisecond = 0;
140 this[_internal$](year, month, day, hour, minute, second, millisecond, true ); 131 this._internal(year, month, day, hour, minute, second, millisecond, true);
141 } 132 }
142 now() { 133 now() {
143 this[_now](); 134 this._now();
144 } 135 }
145 static parse(formattedString) { 136 static parse(formattedString) {
146 let re = new RegExp('^([+-]?\\d{4,6})-?(\\d\\d)-?(\\d\\d)' + '(?:[ T](\\d\ \d)(?::?(\\d\\d)(?::?(\\d\\d)(.\\d{1,6})?)?)?' + '( ?[zZ]| ?([-+])(\\d\\d)(?::?( \\d\\d))?)?)?$'); 137 let re = new RegExp('^([+-]?\\d{4,6})-?(\\d\\d)-?(\\d\\d)' + '(?:[ T](\\d\ \d)(?::?(\\d\\d)(?::?(\\d\\d)(.\\d{1,6})?)?)?' + '( ?[zZ]| ?([-+])(\\d\\d)(?::?( \\d\\d))?)?)?$');
147 let match = re.firstMatch(formattedString); 138 let match = re.firstMatch(formattedString);
148 if (match != null) { 139 if (match != null) {
149 // Function parseIntOrZero: (String) → int 140 // Function parseIntOrZero: (String) → int
150 function parseIntOrZero(matched) { 141 function parseIntOrZero(matched) {
151 if (matched == null) 142 if (matched == null)
152 return 0; 143 return 0;
153 return int.parse(matched); 144 return int.parse(matched);
(...skipping 20 matching lines...) Expand all
174 if (match.get(8) != null) { 165 if (match.get(8) != null) {
175 isUtc = true; 166 isUtc = true;
176 if (match.get(9) != null) { 167 if (match.get(9) != null) {
177 let sign = match.get(9) == '-' ? -1 : 1; 168 let sign = match.get(9) == '-' ? -1 : 1;
178 let hourDifference = int.parse(match.get(10)); 169 let hourDifference = int.parse(match.get(10));
179 let minuteDifference = parseIntOrZero(match.get(11)); 170 let minuteDifference = parseIntOrZero(match.get(11));
180 minuteDifference = dart.notNull(minuteDifference) + 60 * dart.notNul l(hourDifference); 171 minuteDifference = dart.notNull(minuteDifference) + 60 * dart.notNul l(hourDifference);
181 minute = dart.notNull(minute) - dart.notNull(sign) * dart.notNull(mi nuteDifference); 172 minute = dart.notNull(minute) - dart.notNull(sign) * dart.notNull(mi nuteDifference);
182 } 173 }
183 } 174 }
184 let millisecondsSinceEpoch = DateTime[_brokenDownDateToMillisecondsSince Epoch](years, month, day, hour, minute, second, millisecond, isUtc); 175 let millisecondsSinceEpoch = DateTime._brokenDownDateToMillisecondsSince Epoch(years, month, day, hour, minute, second, millisecond, isUtc);
185 if (millisecondsSinceEpoch == null) { 176 if (millisecondsSinceEpoch == null) {
186 throw new FormatException("Time out of range", formattedString); 177 throw new FormatException("Time out of range", formattedString);
187 } 178 }
188 if (addOneMillisecond) { 179 if (addOneMillisecond) {
189 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1; 180 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1;
190 } 181 }
191 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc}); 182 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc});
192 } else { 183 } else {
193 throw new FormatException("Invalid date format", formattedString); 184 throw new FormatException("Invalid date format", formattedString);
194 } 185 }
195 } 186 }
196 fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) { 187 fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) {
197 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false; 188 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false;
198 this.millisecondsSinceEpoch = millisecondsSinceEpoch; 189 this.millisecondsSinceEpoch = millisecondsSinceEpoch;
199 this.isUtc = isUtc; 190 this.isUtc = isUtc;
200 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime[_MA X_MILLISECONDS_SINCE_EPOCH])) { 191 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime._MA X_MILLISECONDS_SINCE_EPOCH)) {
201 throw new ArgumentError(millisecondsSinceEpoch); 192 throw new ArgumentError(millisecondsSinceEpoch);
202 } 193 }
203 if (isUtc == null) 194 if (isUtc == null)
204 throw new ArgumentError(isUtc); 195 throw new ArgumentError(isUtc);
205 } 196 }
206 ['=='](other) { 197 ['=='](other) {
207 if (!dart.is(other, DateTime)) 198 if (!dart.is(other, DateTime))
208 return false; 199 return false;
209 return dart.equals(this.millisecondsSinceEpoch, dart.dload(other, 'millise condsSinceEpoch')) && dart.equals(this.isUtc, dart.dload(other, 'isUtc')); 200 return dart.equals(this.millisecondsSinceEpoch, dart.dload(other, 'millise condsSinceEpoch')) && dart.equals(this.isUtc, dart.dload(other, 'isUtc'));
210 } 201 }
(...skipping 16 matching lines...) Expand all
227 if (this.isUtc) { 218 if (this.isUtc) {
228 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo ch, {isUtc: false}); 219 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo ch, {isUtc: false});
229 } 220 }
230 return this; 221 return this;
231 } 222 }
232 toUtc() { 223 toUtc() {
233 if (this.isUtc) 224 if (this.isUtc)
234 return this; 225 return this;
235 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch , {isUtc: true}); 226 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch , {isUtc: true});
236 } 227 }
237 static [_fourDigits](n) { 228 static _fourDigits(n) {
238 let absN = n.abs(); 229 let absN = n.abs();
239 let sign = dart.notNull(n) < 0 ? "-" : ""; 230 let sign = dart.notNull(n) < 0 ? "-" : "";
240 if (dart.notNull(absN) >= 1000) 231 if (dart.notNull(absN) >= 1000)
241 return `${n}`; 232 return `${n}`;
242 if (dart.notNull(absN) >= 100) 233 if (dart.notNull(absN) >= 100)
243 return `${sign}0${absN}`; 234 return `${sign}0${absN}`;
244 if (dart.notNull(absN) >= 10) 235 if (dart.notNull(absN) >= 10)
245 return `${sign}00${absN}`; 236 return `${sign}00${absN}`;
246 return `${sign}000${absN}`; 237 return `${sign}000${absN}`;
247 } 238 }
248 static [_sixDigits](n) { 239 static _sixDigits(n) {
249 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999); 240 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999);
250 let absN = n.abs(); 241 let absN = n.abs();
251 let sign = dart.notNull(n) < 0 ? "-" : "+"; 242 let sign = dart.notNull(n) < 0 ? "-" : "+";
252 if (dart.notNull(absN) >= 100000) 243 if (dart.notNull(absN) >= 100000)
253 return `${sign}${absN}`; 244 return `${sign}${absN}`;
254 return `${sign}0${absN}`; 245 return `${sign}0${absN}`;
255 } 246 }
256 static [_threeDigits](n) { 247 static _threeDigits(n) {
257 if (dart.notNull(n) >= 100) 248 if (dart.notNull(n) >= 100)
258 return `${n}`; 249 return `${n}`;
259 if (dart.notNull(n) >= 10) 250 if (dart.notNull(n) >= 10)
260 return `0${n}`; 251 return `0${n}`;
261 return `00${n}`; 252 return `00${n}`;
262 } 253 }
263 static [_twoDigits](n) { 254 static _twoDigits(n) {
264 if (dart.notNull(n) >= 10) 255 if (dart.notNull(n) >= 10)
265 return `${n}`; 256 return `${n}`;
266 return `0${n}`; 257 return `0${n}`;
267 } 258 }
268 toString() { 259 toString() {
269 let y = DateTime[_fourDigits](this.year); 260 let y = DateTime._fourDigits(this.year);
270 let m = DateTime[_twoDigits](this.month); 261 let m = DateTime._twoDigits(this.month);
271 let d = DateTime[_twoDigits](this.day); 262 let d = DateTime._twoDigits(this.day);
272 let h = DateTime[_twoDigits](this.hour); 263 let h = DateTime._twoDigits(this.hour);
273 let min = DateTime[_twoDigits](this.minute); 264 let min = DateTime._twoDigits(this.minute);
274 let sec = DateTime[_twoDigits](this.second); 265 let sec = DateTime._twoDigits(this.second);
275 let ms = DateTime[_threeDigits](this.millisecond); 266 let ms = DateTime._threeDigits(this.millisecond);
276 if (this.isUtc) { 267 if (this.isUtc) {
277 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`; 268 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`;
278 } else { 269 } else {
279 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`; 270 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`;
280 } 271 }
281 } 272 }
282 toIso8601String() { 273 toIso8601String() {
283 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999 9 ? DateTime[_fourDigits](this.year) : DateTime[_sixDigits](this.year); 274 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999 9 ? DateTime._fourDigits(this.year) : DateTime._sixDigits(this.year);
284 let m = DateTime[_twoDigits](this.month); 275 let m = DateTime._twoDigits(this.month);
285 let d = DateTime[_twoDigits](this.day); 276 let d = DateTime._twoDigits(this.day);
286 let h = DateTime[_twoDigits](this.hour); 277 let h = DateTime._twoDigits(this.hour);
287 let min = DateTime[_twoDigits](this.minute); 278 let min = DateTime._twoDigits(this.minute);
288 let sec = DateTime[_twoDigits](this.second); 279 let sec = DateTime._twoDigits(this.second);
289 let ms = DateTime[_threeDigits](this.millisecond); 280 let ms = DateTime._threeDigits(this.millisecond);
290 if (this.isUtc) { 281 if (this.isUtc) {
291 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`; 282 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`;
292 } else { 283 } else {
293 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`; 284 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`;
294 } 285 }
295 } 286 }
296 add(duration) { 287 add(duration) {
297 let ms = this.millisecondsSinceEpoch; 288 let ms = this.millisecondsSinceEpoch;
298 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc}); 289 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc});
299 } 290 }
300 subtract(duration) { 291 subtract(duration) {
301 let ms = this.millisecondsSinceEpoch; 292 let ms = this.millisecondsSinceEpoch;
302 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc}); 293 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc});
303 } 294 }
304 difference(other) { 295 difference(other) {
305 let ms = this.millisecondsSinceEpoch; 296 let ms = this.millisecondsSinceEpoch;
306 let otherMs = other.millisecondsSinceEpoch; 297 let otherMs = other.millisecondsSinceEpoch;
307 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs )}); 298 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs )});
308 } 299 }
309 [_internal$](year, month, day, hour, minute, second, millisecond, isUtc) { 300 _internal(year, month, day, hour, minute, second, millisecond, isUtc) {
310 this.isUtc = typeof isUtc == 'boolean' ? isUtc : dart.throw_(new ArgumentE rror(isUtc)); 301 this.isUtc = typeof isUtc == 'boolean' ? isUtc : dart.throw_(new ArgumentE rror(isUtc));
311 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon d, isUtc)), int); 302 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon d, isUtc)), int);
312 } 303 }
313 [_now]() { 304 _now() {
314 this.isUtc = false; 305 this.isUtc = false;
315 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow(); 306 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow();
316 } 307 }
317 static [_brokenDownDateToMillisecondsSinceEpoch](year, month, day, hour, min ute, second, millisecond, isUtc) { 308 static _brokenDownDateToMillisecondsSinceEpoch(year, month, day, hour, minut e, second, millisecond, isUtc) {
318 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int); 309 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int);
319 } 310 }
320 get timeZoneName() { 311 get timeZoneName() {
321 if (this.isUtc) 312 if (this.isUtc)
322 return "UTC"; 313 return "UTC";
323 return _js_helper.Primitives.getTimeZoneName(this); 314 return _js_helper.Primitives.getTimeZoneName(this);
324 } 315 }
325 get timeZoneOffset() { 316 get timeZoneOffset() {
326 if (this.isUtc) 317 if (this.isUtc)
327 return new Duration(); 318 return new Duration();
(...skipping 21 matching lines...) Expand all
349 return dart.as(_js_helper.Primitives.getMilliseconds(this), int); 340 return dart.as(_js_helper.Primitives.getMilliseconds(this), int);
350 } 341 }
351 get weekday() { 342 get weekday() {
352 return dart.as(_js_helper.Primitives.getWeekday(this), int); 343 return dart.as(_js_helper.Primitives.getWeekday(this), int);
353 } 344 }
354 } 345 }
355 DateTime[dart.implements] = () => [Comparable]; 346 DateTime[dart.implements] = () => [Comparable];
356 dart.defineNamedConstructor(DateTime, 'utc'); 347 dart.defineNamedConstructor(DateTime, 'utc');
357 dart.defineNamedConstructor(DateTime, 'now'); 348 dart.defineNamedConstructor(DateTime, 'now');
358 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch'); 349 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch');
359 dart.defineNamedConstructor(DateTime, _internal$); 350 dart.defineNamedConstructor(DateTime, '_internal');
360 dart.defineNamedConstructor(DateTime, _now); 351 dart.defineNamedConstructor(DateTime, '_now');
361 DateTime.MONDAY = 1; 352 DateTime.MONDAY = 1;
362 DateTime.TUESDAY = 2; 353 DateTime.TUESDAY = 2;
363 DateTime.WEDNESDAY = 3; 354 DateTime.WEDNESDAY = 3;
364 DateTime.THURSDAY = 4; 355 DateTime.THURSDAY = 4;
365 DateTime.FRIDAY = 5; 356 DateTime.FRIDAY = 5;
366 DateTime.SATURDAY = 6; 357 DateTime.SATURDAY = 6;
367 DateTime.SUNDAY = 7; 358 DateTime.SUNDAY = 7;
368 DateTime.DAYS_PER_WEEK = 7; 359 DateTime.DAYS_PER_WEEK = 7;
369 DateTime.JANUARY = 1; 360 DateTime.JANUARY = 1;
370 DateTime.FEBRUARY = 2; 361 DateTime.FEBRUARY = 2;
371 DateTime.MARCH = 3; 362 DateTime.MARCH = 3;
372 DateTime.APRIL = 4; 363 DateTime.APRIL = 4;
373 DateTime.MAY = 5; 364 DateTime.MAY = 5;
374 DateTime.JUNE = 6; 365 DateTime.JUNE = 6;
375 DateTime.JULY = 7; 366 DateTime.JULY = 7;
376 DateTime.AUGUST = 8; 367 DateTime.AUGUST = 8;
377 DateTime.SEPTEMBER = 9; 368 DateTime.SEPTEMBER = 9;
378 DateTime.OCTOBER = 10; 369 DateTime.OCTOBER = 10;
379 DateTime.NOVEMBER = 11; 370 DateTime.NOVEMBER = 11;
380 DateTime.DECEMBER = 12; 371 DateTime.DECEMBER = 12;
381 DateTime.MONTHS_PER_YEAR = 12; 372 DateTime.MONTHS_PER_YEAR = 12;
382 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; 373 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000;
383 let _parseError = dart.JsSymbol('_parseError');
384 let _onParseErrorInt = dart.JsSymbol('_onParseErrorInt');
385 let _onParseErrorDouble = dart.JsSymbol('_onParseErrorDouble');
386 class num extends Object { 374 class num extends Object {
387 static parse(input, onError) { 375 static parse(input, onError) {
388 if (onError === void 0) 376 if (onError === void 0)
389 onError = null; 377 onError = null;
390 let source = input.trim(); 378 let source = input.trim();
391 num[_parseError] = false; 379 num._parseError = false;
392 let result = int.parse(source, {onError: num[_onParseErrorInt]}); 380 let result = int.parse(source, {onError: num._onParseErrorInt});
393 if (!dart.notNull(num[_parseError])) 381 if (!dart.notNull(num._parseError))
394 return result; 382 return result;
395 num[_parseError] = false; 383 num._parseError = false;
396 result = double.parse(source, num[_onParseErrorDouble]); 384 result = double.parse(source, num._onParseErrorDouble);
397 if (!dart.notNull(num[_parseError])) 385 if (!dart.notNull(num._parseError))
398 return result; 386 return result;
399 if (onError == null) 387 if (onError == null)
400 throw new FormatException(input); 388 throw new FormatException(input);
401 return onError(input); 389 return onError(input);
402 } 390 }
403 static [_onParseErrorInt](_) { 391 static _onParseErrorInt(_) {
404 num[_parseError] = true; 392 num._parseError = true;
405 return 0; 393 return 0;
406 } 394 }
407 static [_onParseErrorDouble](_) { 395 static _onParseErrorDouble(_) {
408 num[_parseError] = true; 396 num._parseError = true;
409 return 0.0; 397 return 0.0;
410 } 398 }
411 } 399 }
412 num[dart.implements] = () => [Comparable$(num)]; 400 num[dart.implements] = () => [Comparable$(num)];
413 num._parseError = false; 401 num._parseError = false;
414 class double extends num { 402 class double extends num {
415 static parse(source, onError) { 403 static parse(source, onError) {
416 if (onError === void 0) 404 if (onError === void 0)
417 onError = null; 405 onError = null;
418 return _js_helper.Primitives.parseDouble(source, onError); 406 return _js_helper.Primitives.parseDouble(source, onError);
419 } 407 }
420 } 408 }
421 double.NAN = 0.0 / 0.0; 409 double.NAN = 0.0 / 0.0;
422 double.INFINITY = 1.0 / 0.0; 410 double.INFINITY = 1.0 / 0.0;
423 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY); 411 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY);
424 double.MIN_POSITIVE = 5e-324; 412 double.MIN_POSITIVE = 5e-324;
425 double.MAX_FINITE = 1.7976931348623157e+308; 413 double.MAX_FINITE = 1.7976931348623157e+308;
414 let _duration = dart.JsSymbol('_duration');
426 let _microseconds = dart.JsSymbol('_microseconds'); 415 let _microseconds = dart.JsSymbol('_microseconds');
427 let _duration = dart.JsSymbol('_duration');
428 class Duration extends Object { 416 class Duration extends Object {
429 Duration(opts) { 417 Duration(opts) {
430 let days = opts && 'days' in opts ? opts.days : 0; 418 let days = opts && 'days' in opts ? opts.days : 0;
431 let hours = opts && 'hours' in opts ? opts.hours : 0; 419 let hours = opts && 'hours' in opts ? opts.hours : 0;
432 let minutes = opts && 'minutes' in opts ? opts.minutes : 0; 420 let minutes = opts && 'minutes' in opts ? opts.minutes : 0;
433 let seconds = opts && 'seconds' in opts ? opts.seconds : 0; 421 let seconds = opts && 'seconds' in opts ? opts.seconds : 0;
434 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0; 422 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0;
435 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0; 423 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0;
436 this[_microseconds](dart.notNull(days) * dart.notNull(Duration.MICROSECOND S_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PER_HOUR) + dart.notNull(minutes) * dart.notNull(Duration.MICROSECONDS_PER_MINUTE) + dart. notNull(seconds) * dart.notNull(Duration.MICROSECONDS_PER_SECOND) + dart.notNull (milliseconds) * dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) + dart.notN ull(microseconds)); 424 this._microseconds(dart.notNull(days) * dart.notNull(Duration.MICROSECONDS _PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PER_HOUR) + dart.notNull(minutes) * dart.notNull(Duration.MICROSECONDS_PER_MINUTE) + dart.n otNull(seconds) * dart.notNull(Duration.MICROSECONDS_PER_SECOND) + dart.notNull( milliseconds) * dart.notNull(Duration.MICROSECONDS_PER_MILLISECOND) + dart.notNu ll(microseconds));
437 } 425 }
438 [_microseconds](duration) { 426 _microseconds(duration) {
439 this[_duration] = duration; 427 this[_duration] = duration;
440 } 428 }
441 ['+'](other) { 429 ['+'](other) {
442 return new Duration[_microseconds](dart.notNull(this[_duration]) + dart.no tNull(other[_duration])); 430 return new Duration[_microseconds](dart.notNull(this[_duration]) + dart.no tNull(other[_duration]));
443 } 431 }
444 ['-'](other) { 432 ['-'](other) {
445 return new Duration[_microseconds](dart.notNull(this[_duration]) - dart.no tNull(other[_duration])); 433 return new Duration[_microseconds](dart.notNull(this[_duration]) - dart.no tNull(other[_duration]));
446 } 434 }
447 ['*'](factor) { 435 ['*'](factor) {
448 return new Duration[_microseconds]((dart.notNull(this[_duration]) * dart.n otNull(factor)).round()); 436 return new Duration[_microseconds]((dart.notNull(this[_duration]) * dart.n otNull(factor)).round());
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
526 return dart.notNull(this[_duration]) < 0; 514 return dart.notNull(this[_duration]) < 0;
527 } 515 }
528 abs() { 516 abs() {
529 return new Duration[_microseconds](this[_duration].abs()); 517 return new Duration[_microseconds](this[_duration].abs());
530 } 518 }
531 ['unary-']() { 519 ['unary-']() {
532 return new Duration[_microseconds](-dart.notNull(this[_duration])); 520 return new Duration[_microseconds](-dart.notNull(this[_duration]));
533 } 521 }
534 } 522 }
535 Duration[dart.implements] = () => [Comparable$(Duration)]; 523 Duration[dart.implements] = () => [Comparable$(Duration)];
536 dart.defineNamedConstructor(Duration, _microseconds); 524 dart.defineNamedConstructor(Duration, '_microseconds');
537 Duration.MICROSECONDS_PER_MILLISECOND = 1000; 525 Duration.MICROSECONDS_PER_MILLISECOND = 1000;
538 Duration.MILLISECONDS_PER_SECOND = 1000; 526 Duration.MILLISECONDS_PER_SECOND = 1000;
539 Duration.SECONDS_PER_MINUTE = 60; 527 Duration.SECONDS_PER_MINUTE = 60;
540 Duration.MINUTES_PER_HOUR = 60; 528 Duration.MINUTES_PER_HOUR = 60;
541 Duration.HOURS_PER_DAY = 24; 529 Duration.HOURS_PER_DAY = 24;
542 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND); 530 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND);
543 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); 531 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
544 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR); 532 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR);
545 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY); 533 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
546 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); 534 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
547 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR); 535 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR);
548 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY); 536 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
549 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n otNull(Duration.MINUTES_PER_HOUR); 537 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n otNull(Duration.MINUTES_PER_HOUR);
550 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY); 538 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY);
551 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY); 539 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY);
552 Duration.ZERO = dart.const(new Duration({seconds: 0})); 540 Duration.ZERO = dart.const(new Duration({seconds: 0}));
553 let _stringToSafeString = dart.JsSymbol('_stringToSafeString');
554 let _objectToString = dart.JsSymbol('_objectToString');
555 class Error extends Object { 541 class Error extends Object {
556 Error() { 542 Error() {
557 } 543 }
558 static safeToString(object) { 544 static safeToString(object) {
559 if (dart.is(object, num) || typeof object == 'boolean' || dart.notNull(nul l == object)) { 545 if (dart.is(object, num) || typeof object == 'boolean' || dart.notNull(nul l == object)) {
560 return dart.toString(object); 546 return dart.toString(object);
561 } 547 }
562 if (typeof object == 'string') { 548 if (typeof object == 'string') {
563 return Error[_stringToSafeString](object); 549 return Error._stringToSafeString(object);
564 } 550 }
565 return Error[_objectToString](object); 551 return Error._objectToString(object);
566 } 552 }
567 static [_stringToSafeString](string) { 553 static _stringToSafeString(string) {
568 return _js_helper.jsonEncodeNative(string); 554 return _js_helper.jsonEncodeNative(string);
569 } 555 }
570 static [_objectToString](object) { 556 static _objectToString(object) {
571 return _js_helper.Primitives.objectToString(object); 557 return _js_helper.Primitives.objectToString(object);
572 } 558 }
573 get stackTrace() { 559 get stackTrace() {
574 return _js_helper.Primitives.extractStackTrace(this); 560 return _js_helper.Primitives.extractStackTrace(this);
575 } 561 }
576 } 562 }
577 class AssertionError extends Error {} 563 class AssertionError extends Error {}
578 class TypeError extends AssertionError {} 564 class TypeError extends AssertionError {}
579 class CastError extends Error {} 565 class CastError extends Error {}
580 class NullThrownError extends Error { 566 class NullThrownError extends Error {
(...skipping 433 matching lines...) Expand 10 before | Expand all | Expand 10 after
1014 } 1000 }
1015 FormatException[dart.implements] = () => [Exception]; 1001 FormatException[dart.implements] = () => [Exception];
1016 class IntegerDivisionByZeroException extends Object { 1002 class IntegerDivisionByZeroException extends Object {
1017 IntegerDivisionByZeroException() { 1003 IntegerDivisionByZeroException() {
1018 } 1004 }
1019 toString() { 1005 toString() {
1020 return "IntegerDivisionByZeroException"; 1006 return "IntegerDivisionByZeroException";
1021 } 1007 }
1022 } 1008 }
1023 IntegerDivisionByZeroException[dart.implements] = () => [Exception]; 1009 IntegerDivisionByZeroException[dart.implements] = () => [Exception];
1024 let _EXPANDO_PROPERTY_NAME = dart.JsSymbol('_EXPANDO_PROPERTY_NAME');
1025 let _getKey = dart.JsSymbol('_getKey'); 1010 let _getKey = dart.JsSymbol('_getKey');
1026 let _KEY_PROPERTY_NAME = dart.JsSymbol('_KEY_PROPERTY_NAME');
1027 let _keyCount = dart.JsSymbol('_keyCount');
1028 let Expando$ = dart.generic(function(T) { 1011 let Expando$ = dart.generic(function(T) {
1029 class Expando extends Object { 1012 class Expando extends Object {
1030 Expando(name) { 1013 Expando(name) {
1031 if (name === void 0) 1014 if (name === void 0)
1032 name = null; 1015 name = null;
1033 this.name = name; 1016 this.name = name;
1034 } 1017 }
1035 toString() { 1018 toString() {
1036 return `Expando:${this.name}`; 1019 return `Expando:${this.name}`;
1037 } 1020 }
1038 get(object) { 1021 get(object) {
1039 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_ PROPERTY_NAME]); 1022 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_ PROPERTY_NAME);
1040 return dart.as(values == null ? null : _js_helper.Primitives.getProperty (values, this[_getKey]()), T); 1023 return dart.as(values == null ? null : _js_helper.Primitives.getProperty (values, this[_getKey]()), T);
1041 } 1024 }
1042 set(object, value) { 1025 set(object, value) {
1043 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_ PROPERTY_NAME]); 1026 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_ PROPERTY_NAME);
1044 if (values == null) { 1027 if (values == null) {
1045 values = new Object(); 1028 values = new Object();
1046 _js_helper.Primitives.setProperty(object, Expando[_EXPANDO_PROPERTY_NA ME], values); 1029 _js_helper.Primitives.setProperty(object, Expando._EXPANDO_PROPERTY_NA ME, values);
1047 } 1030 }
1048 _js_helper.Primitives.setProperty(values, this[_getKey](), value); 1031 _js_helper.Primitives.setProperty(values, this[_getKey](), value);
1049 } 1032 }
1050 [_getKey]() { 1033 [_getKey]() {
1051 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando[_KEY_P ROPERTY_NAME]), String); 1034 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando._KEY_P ROPERTY_NAME), String);
1052 if (key == null) { 1035 if (key == null) {
1053 key = `expando$key$${(() => { 1036 key = `expando$key$${(() => {
1054 let x = Expando[_keyCount]; 1037 let x = Expando._keyCount;
1055 Expando[_keyCount] = dart.notNull(x) + 1; 1038 Expando._keyCount = dart.notNull(x) + 1;
1056 return x; 1039 return x;
1057 })()}`; 1040 })()}`;
1058 _js_helper.Primitives.setProperty(this, Expando[_KEY_PROPERTY_NAME], k ey); 1041 _js_helper.Primitives.setProperty(this, Expando._KEY_PROPERTY_NAME, ke y);
1059 } 1042 }
1060 return key; 1043 return key;
1061 } 1044 }
1062 } 1045 }
1063 Expando._KEY_PROPERTY_NAME = 'expando$key'; 1046 Expando._KEY_PROPERTY_NAME = 'expando$key';
1064 Expando._EXPANDO_PROPERTY_NAME = 'expando$values'; 1047 Expando._EXPANDO_PROPERTY_NAME = 'expando$values';
1065 Expando._keyCount = 0; 1048 Expando._keyCount = 0;
1066 return Expando; 1049 return Expando;
1067 }); 1050 });
1068 let Expando = Expando$(); 1051 let Expando = Expando$();
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
1122 } 1105 }
1123 dart.defineNamedConstructor(Iterable, 'generate'); 1106 dart.defineNamedConstructor(Iterable, 'generate');
1124 return Iterable; 1107 return Iterable;
1125 }); 1108 });
1126 let Iterable = Iterable$(); 1109 let Iterable = Iterable$();
1127 let _Generator$ = dart.generic(function(E) { 1110 let _Generator$ = dart.generic(function(E) {
1128 let _Generator = dart.typedef('_Generator', () => dart.functionType(E, [int] )); 1111 let _Generator = dart.typedef('_Generator', () => dart.functionType(E, [int] ));
1129 return _Generator; 1112 return _Generator;
1130 }); 1113 });
1131 let _Generator = _Generator$(); 1114 let _Generator = _Generator$();
1132 let _id = dart.JsSymbol('_id');
1133 let _end = dart.JsSymbol('_end'); 1115 let _end = dart.JsSymbol('_end');
1134 let _start = dart.JsSymbol('_start'); 1116 let _start = dart.JsSymbol('_start');
1135 let _generator = dart.JsSymbol('_generator'); 1117 let _generator = dart.JsSymbol('_generator');
1136 let $iterator = dart.JsSymbol('$iterator'); 1118 let $iterator = dart.JsSymbol('$iterator');
1137 let $skip = dart.JsSymbol('$skip'); 1119 let $skip = dart.JsSymbol('$skip');
1138 let $take = dart.JsSymbol('$take'); 1120 let $take = dart.JsSymbol('$take');
1139 let _GeneratorIterable$ = dart.generic(function(E) { 1121 let _GeneratorIterable$ = dart.generic(function(E) {
1140 class _GeneratorIterable extends collection.IterableBase$(E) { 1122 class _GeneratorIterable extends collection.IterableBase$(E) {
1141 _GeneratorIterable(end, generator) { 1123 _GeneratorIterable(end, generator) {
1142 this[_end] = end; 1124 this[_end] = end;
1143 this[_start] = 0; 1125 this[_start] = 0;
1144 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable[_id], _Generator$(E)); 1126 this[_generator] = dart.as(generator != null ? generator : _GeneratorIte rable._id, _Generator$(E));
1145 super.IterableBase(); 1127 super.IterableBase();
1146 } 1128 }
1147 slice(start, end, generator) { 1129 slice(start, end, generator) {
1148 this[_start] = start; 1130 this[_start] = start;
1149 this[_end] = end; 1131 this[_end] = end;
1150 this[_generator] = generator; 1132 this[_generator] = generator;
1151 super.IterableBase(); 1133 super.IterableBase();
1152 } 1134 }
1153 get [$iterator]() { 1135 get [$iterator]() {
1154 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]); 1136 return new (_GeneratorIterator$(E))(this[_start], this[_end], this[_gene rator]);
(...skipping 12 matching lines...) Expand all
1167 } 1149 }
1168 [$take](count) { 1150 [$take](count) {
1169 RangeError.checkNotNegative(count, "count"); 1151 RangeError.checkNotNegative(count, "count");
1170 if (count == 0) 1152 if (count == 0)
1171 return new (_internal.EmptyIterable$(E))(); 1153 return new (_internal.EmptyIterable$(E))();
1172 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 1154 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
1173 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) 1155 if (dart.notNull(newEnd) >= dart.notNull(this[_end]))
1174 return this; 1156 return this;
1175 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]); 1157 return new exports._GeneratorIterable$(E).slice(this[_start], newEnd, th is[_generator]);
1176 } 1158 }
1177 static [_id](n) { 1159 static _id(n) {
1178 return n; 1160 return n;
1179 } 1161 }
1180 } 1162 }
1181 _GeneratorIterable[dart.implements] = () => [_internal.EfficientLength]; 1163 _GeneratorIterable[dart.implements] = () => [_internal.EfficientLength];
1182 dart.defineNamedConstructor(_GeneratorIterable, 'slice'); 1164 dart.defineNamedConstructor(_GeneratorIterable, 'slice');
1183 return _GeneratorIterable; 1165 return _GeneratorIterable;
1184 }); 1166 });
1185 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte rable$}); 1167 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte rable$});
1186 let _index = dart.JsSymbol('_index'); 1168 let _index = dart.JsSymbol('_index');
1187 let _current = dart.JsSymbol('_current'); 1169 let _current = dart.JsSymbol('_current');
(...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after
1635 return new collection.LinkedHashMap$(K, V).fromIterables(keys, values); 1617 return new collection.LinkedHashMap$(K, V).fromIterables(keys, values);
1636 } 1618 }
1637 } 1619 }
1638 dart.defineNamedConstructor(Map, 'from'); 1620 dart.defineNamedConstructor(Map, 'from');
1639 dart.defineNamedConstructor(Map, 'identity'); 1621 dart.defineNamedConstructor(Map, 'identity');
1640 dart.defineNamedConstructor(Map, 'fromIterable'); 1622 dart.defineNamedConstructor(Map, 'fromIterable');
1641 dart.defineNamedConstructor(Map, 'fromIterables'); 1623 dart.defineNamedConstructor(Map, 'fromIterables');
1642 return Map; 1624 return Map;
1643 }); 1625 });
1644 let Map = Map$(); 1626 let Map = Map$();
1645 let _uninstantiable = dart.JsSymbol('_uninstantiable');
1646 class Null extends Object { 1627 class Null extends Object {
1647 [_uninstantiable]() { 1628 _uninstantiable() {
1648 throw new UnsupportedError('class Null cannot be instantiated'); 1629 throw new UnsupportedError('class Null cannot be instantiated');
1649 } 1630 }
1650 toString() { 1631 toString() {
1651 return "null"; 1632 return "null";
1652 } 1633 }
1653 } 1634 }
1654 dart.defineNamedConstructor(Null, _uninstantiable); 1635 dart.defineNamedConstructor(Null, '_uninstantiable');
1655 class Pattern extends Object {} 1636 class Pattern extends Object {}
1656 // Function print: (Object) → void 1637 // Function print: (Object) → void
1657 function print(object) { 1638 function print(object) {
1658 let line = `${object}`; 1639 let line = `${object}`;
1659 if (_internal.printToZone == null) { 1640 if (_internal.printToZone == null) {
1660 _internal.printToConsole(line); 1641 _internal.printToConsole(line);
1661 } else { 1642 } else {
1662 dart.dcall(_internal.printToZone, line); 1643 dart.dcall(_internal.printToZone, line);
1663 } 1644 }
1664 } 1645 }
(...skipping 23 matching lines...) Expand all
1688 dart.defineNamedConstructor(Set, 'from'); 1669 dart.defineNamedConstructor(Set, 'from');
1689 return Set; 1670 return Set;
1690 }); 1671 });
1691 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$}); 1672 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$});
1692 let Sink$ = dart.generic(function(T) { 1673 let Sink$ = dart.generic(function(T) {
1693 class Sink extends Object {} 1674 class Sink extends Object {}
1694 return Sink; 1675 return Sink;
1695 }); 1676 });
1696 let Sink = Sink$(); 1677 let Sink = Sink$();
1697 class StackTrace extends Object {} 1678 class StackTrace extends Object {}
1698 let _frequency = dart.JsSymbol('_frequency');
1699 let _stop = dart.JsSymbol('_stop'); 1679 let _stop = dart.JsSymbol('_stop');
1700 let _initTicker = dart.JsSymbol('_initTicker');
1701 class Stopwatch extends Object { 1680 class Stopwatch extends Object {
1702 get frequency() { 1681 get frequency() {
1703 return Stopwatch[_frequency]; 1682 return Stopwatch._frequency;
1704 } 1683 }
1705 Stopwatch() { 1684 Stopwatch() {
1706 this[_start] = null; 1685 this[_start] = null;
1707 this[_stop] = null; 1686 this[_stop] = null;
1708 Stopwatch[_initTicker](); 1687 Stopwatch._initTicker();
1709 } 1688 }
1710 start() { 1689 start() {
1711 if (this.isRunning) 1690 if (this.isRunning)
1712 return; 1691 return;
1713 if (this[_start] == null) { 1692 if (this[_start] == null) {
1714 this[_start] = Stopwatch[_now](); 1693 this[_start] = Stopwatch._now();
1715 } else { 1694 } else {
1716 this[_start] = dart.notNull(Stopwatch[_now]()) - (dart.notNull(this[_sto p]) - dart.notNull(this[_start])); 1695 this[_start] = dart.notNull(Stopwatch._now()) - (dart.notNull(this[_stop ]) - dart.notNull(this[_start]));
1717 this[_stop] = null; 1696 this[_stop] = null;
1718 } 1697 }
1719 } 1698 }
1720 stop() { 1699 stop() {
1721 if (!dart.notNull(this.isRunning)) 1700 if (!dart.notNull(this.isRunning))
1722 return; 1701 return;
1723 this[_stop] = Stopwatch[_now](); 1702 this[_stop] = Stopwatch._now();
1724 } 1703 }
1725 reset() { 1704 reset() {
1726 if (this[_start] == null) 1705 if (this[_start] == null)
1727 return; 1706 return;
1728 this[_start] = Stopwatch[_now](); 1707 this[_start] = Stopwatch._now();
1729 if (this[_stop] != null) { 1708 if (this[_stop] != null) {
1730 this[_stop] = this[_start]; 1709 this[_stop] = this[_start];
1731 } 1710 }
1732 } 1711 }
1733 get elapsedTicks() { 1712 get elapsedTicks() {
1734 if (this[_start] == null) { 1713 if (this[_start] == null) {
1735 return 0; 1714 return 0;
1736 } 1715 }
1737 return this[_stop] == null ? dart.notNull(Stopwatch[_now]()) - dart.notNul l(this[_start]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]); 1716 return this[_stop] == null ? dart.notNull(Stopwatch._now()) - dart.notNull (this[_start]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]);
1738 } 1717 }
1739 get elapsed() { 1718 get elapsed() {
1740 return new Duration({microseconds: this.elapsedMicroseconds}); 1719 return new Duration({microseconds: this.elapsedMicroseconds});
1741 } 1720 }
1742 get elapsedMicroseconds() { 1721 get elapsedMicroseconds() {
1743 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq uency)).truncate(); 1722 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq uency)).truncate();
1744 } 1723 }
1745 get elapsedMilliseconds() { 1724 get elapsedMilliseconds() {
1746 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen cy)).truncate(); 1725 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen cy)).truncate();
1747 } 1726 }
1748 get isRunning() { 1727 get isRunning() {
1749 return this[_start] != null && this[_stop] == null; 1728 return this[_start] != null && this[_stop] == null;
1750 } 1729 }
1751 static [_initTicker]() { 1730 static _initTicker() {
1752 _js_helper.Primitives.initTicker(); 1731 _js_helper.Primitives.initTicker();
1753 Stopwatch[_frequency] = _js_helper.Primitives.timerFrequency; 1732 Stopwatch._frequency = _js_helper.Primitives.timerFrequency;
1754 } 1733 }
1755 static [_now]() { 1734 static _now() {
1756 return dart.as(dart.dcall(_js_helper.Primitives.timerTicks), int); 1735 return dart.as(dart.dcall(_js_helper.Primitives.timerTicks), int);
1757 } 1736 }
1758 } 1737 }
1759 Stopwatch._frequency = null; 1738 Stopwatch._frequency = null;
1760 let _stringFromIterable = dart.JsSymbol('_stringFromIterable');
1761 class String extends Object { 1739 class String extends Object {
1762 fromCharCodes(charCodes, start, end) { 1740 fromCharCodes(charCodes, start, end) {
1763 if (start === void 0) 1741 if (start === void 0)
1764 start = 0; 1742 start = 0;
1765 if (end === void 0) 1743 if (end === void 0)
1766 end = null; 1744 end = null;
1767 if (!dart.is(charCodes, _interceptors.JSArray)) { 1745 if (!dart.is(charCodes, _interceptors.JSArray)) {
1768 return String[_stringFromIterable](charCodes, start, end); 1746 return String._stringFromIterable(charCodes, start, end);
1769 } 1747 }
1770 let list = dart.as(charCodes, List); 1748 let list = dart.as(charCodes, List);
1771 let len = list[$length]; 1749 let len = list[$length];
1772 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { 1750 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) {
1773 throw new RangeError.range(start, 0, len); 1751 throw new RangeError.range(start, 0, len);
1774 } 1752 }
1775 if (end == null) { 1753 if (end == null) {
1776 end = len; 1754 end = len;
1777 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) { 1755 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) {
1778 throw new RangeError.range(end, start, len); 1756 throw new RangeError.range(end, start, len);
1779 } 1757 }
1780 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { 1758 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
1781 list = list[$sublist](start, end); 1759 list = list[$sublist](start, end);
1782 } 1760 }
1783 return _js_helper.Primitives.stringFromCharCodes(list); 1761 return _js_helper.Primitives.stringFromCharCodes(list);
1784 } 1762 }
1785 fromCharCode(charCode) { 1763 fromCharCode(charCode) {
1786 return _js_helper.Primitives.stringFromCharCode(charCode); 1764 return _js_helper.Primitives.stringFromCharCode(charCode);
1787 } 1765 }
1788 fromEnvironment(name, opts) { 1766 fromEnvironment(name, opts) {
1789 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll; 1767 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll;
1790 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor'); 1768 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor');
1791 } 1769 }
1792 static [_stringFromIterable](charCodes, start, end) { 1770 static _stringFromIterable(charCodes, start, end) {
1793 if (dart.notNull(start) < 0) 1771 if (dart.notNull(start) < 0)
1794 throw new RangeError.range(start, 0, charCodes[$length]); 1772 throw new RangeError.range(start, 0, charCodes[$length]);
1795 if (end != null && dart.notNull(end) < dart.notNull(start)) { 1773 if (end != null && dart.notNull(end) < dart.notNull(start)) {
1796 throw new RangeError.range(end, start, charCodes[$length]); 1774 throw new RangeError.range(end, start, charCodes[$length]);
1797 } 1775 }
1798 let it = charCodes[$iterator]; 1776 let it = charCodes[$iterator];
1799 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) { 1777 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
1800 if (!dart.notNull(it.moveNext())) { 1778 if (!dart.notNull(it.moveNext())) {
1801 throw new RangeError.range(start, 0, i); 1779 throw new RangeError.range(start, 0, i);
1802 } 1780 }
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
2018 class Symbol extends Object { 1996 class Symbol extends Object {
2019 Symbol(name) { 1997 Symbol(name) {
2020 return new _internal.Symbol(name); 1998 return new _internal.Symbol(name);
2021 } 1999 }
2022 } 2000 }
2023 class Type extends Object {} 2001 class Type extends Object {}
2024 let _writeAuthority = dart.JsSymbol('_writeAuthority'); 2002 let _writeAuthority = dart.JsSymbol('_writeAuthority');
2025 let _userInfo = dart.JsSymbol('_userInfo'); 2003 let _userInfo = dart.JsSymbol('_userInfo');
2026 let _host = dart.JsSymbol('_host'); 2004 let _host = dart.JsSymbol('_host');
2027 let _port = dart.JsSymbol('_port'); 2005 let _port = dart.JsSymbol('_port');
2028 let _defaultPort = dart.JsSymbol('_defaultPort');
2029 let _path = dart.JsSymbol('_path'); 2006 let _path = dart.JsSymbol('_path');
2030 let _query = dart.JsSymbol('_query'); 2007 let _query = dart.JsSymbol('_query');
2031 let _fragment = dart.JsSymbol('_fragment'); 2008 let _fragment = dart.JsSymbol('_fragment');
2032 let _regNameTable = dart.JsSymbol('_regNameTable'); 2009 let _internal$ = dart.JsSymbol('_internal');
2033 let _SLASH = dart.JsSymbol('_SLASH');
2034 let _QUESTION = dart.JsSymbol('_QUESTION');
2035 let _NUMBER_SIGN = dart.JsSymbol('_NUMBER_SIGN');
2036 let _AT_SIGN = dart.JsSymbol('_AT_SIGN');
2037 let _COLON = dart.JsSymbol('_COLON');
2038 let _LEFT_BRACKET = dart.JsSymbol('_LEFT_BRACKET');
2039 let _makeUserInfo = dart.JsSymbol('_makeUserInfo');
2040 let _ZERO = dart.JsSymbol('_ZERO');
2041 let _NINE = dart.JsSymbol('_NINE');
2042 let _fail = dart.JsSymbol('_fail');
2043 let _makePort = dart.JsSymbol('_makePort');
2044 let _makeHost = dart.JsSymbol('_makeHost');
2045 let _makeScheme = dart.JsSymbol('_makeScheme');
2046 let _makePath = dart.JsSymbol('_makePath');
2047 let _makeQuery = dart.JsSymbol('_makeQuery');
2048 let _makeFragment = dart.JsSymbol('_makeFragment');
2049 let _pathSegments = dart.JsSymbol('_pathSegments'); 2010 let _pathSegments = dart.JsSymbol('_pathSegments');
2050 let _queryParameters = dart.JsSymbol('_queryParameters'); 2011 let _queryParameters = dart.JsSymbol('_queryParameters');
2051 let _stringOrNullLength = dart.JsSymbol('_stringOrNullLength');
2052 let _makeHttpUri = dart.JsSymbol('_makeHttpUri');
2053 let _RIGHT_BRACKET = dart.JsSymbol('_RIGHT_BRACKET');
2054 let _isWindows = dart.JsSymbol('_isWindows');
2055 let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl');
2056 let _makeFileUri = dart.JsSymbol('_makeFileUri');
2057 let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPa thReservedCharacters');
2058 let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathRese rvedCharacters');
2059 let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter');
2060 let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A');
2061 let _UPPER_CASE_Z = dart.JsSymbol('_UPPER_CASE_Z');
2062 let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A');
2063 let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z');
2064 let _BACKSLASH = dart.JsSymbol('_BACKSLASH');
2065 let _normalizeRegName = dart.JsSymbol('_normalizeRegName');
2066 let _isRegNameChar = dart.JsSymbol('_isRegNameChar');
2067 let _PERCENT = dart.JsSymbol('_PERCENT');
2068 let _normalizeEscape = dart.JsSymbol('_normalizeEscape');
2069 let _isGeneralDelimiter = dart.JsSymbol('_isGeneralDelimiter');
2070 let _escapeChar = dart.JsSymbol('_escapeChar');
2071 let _isAlphabeticCharacter = dart.JsSymbol('_isAlphabeticCharacter');
2072 let _isSchemeCharacter = dart.JsSymbol('_isSchemeCharacter');
2073 let _normalize = dart.JsSymbol('_normalize');
2074 let _userinfoTable = dart.JsSymbol('_userinfoTable');
2075 let _pathCharOrSlashTable = dart.JsSymbol('_pathCharOrSlashTable');
2076 let _uriEncode = dart.JsSymbol('_uriEncode');
2077 let _pathCharTable = dart.JsSymbol('_pathCharTable');
2078 let _queryCharTable = dart.JsSymbol('_queryCharTable');
2079 let _isHexDigit = dart.JsSymbol('_isHexDigit');
2080 let _LOWER_CASE_F = dart.JsSymbol('_LOWER_CASE_F');
2081 let _hexValue = dart.JsSymbol('_hexValue');
2082 let _isUnreservedChar = dart.JsSymbol('_isUnreservedChar');
2083 let _unreservedTable = dart.JsSymbol('_unreservedTable');
2084 let _schemeTable = dart.JsSymbol('_schemeTable');
2085 let _genDelimitersTable = dart.JsSymbol('_genDelimitersTable');
2086 let _merge = dart.JsSymbol('_merge'); 2012 let _merge = dart.JsSymbol('_merge');
2087 let _DOT = dart.JsSymbol('_DOT');
2088 let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); 2013 let _hasDotSegments = dart.JsSymbol('_hasDotSegments');
2089 let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); 2014 let _removeDotSegments = dart.JsSymbol('_removeDotSegments');
2090 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); 2015 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath');
2091 let _toFilePath = dart.JsSymbol('_toFilePath'); 2016 let _toFilePath = dart.JsSymbol('_toFilePath');
2092 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); 2017 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute');
2093 let _addIfNonEmpty = dart.JsSymbol('_addIfNonEmpty');
2094 let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table');
2095 let _uriDecode = dart.JsSymbol('_uriDecode');
2096 let _encodeFullTable = dart.JsSymbol('_encodeFullTable');
2097 let _SPACE = dart.JsSymbol('_SPACE');
2098 let _PLUS = dart.JsSymbol('_PLUS');
2099 let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte');
2100 class Uri extends Object { 2018 class Uri extends Object {
2101 get authority() { 2019 get authority() {
2102 if (!dart.notNull(this.hasAuthority)) 2020 if (!dart.notNull(this.hasAuthority))
2103 return ""; 2021 return "";
2104 let sb = new StringBuffer(); 2022 let sb = new StringBuffer();
2105 this[_writeAuthority](sb); 2023 this[_writeAuthority](sb);
2106 return dart.toString(sb); 2024 return dart.toString(sb);
2107 } 2025 }
2108 get userInfo() { 2026 get userInfo() {
2109 return this[_userInfo]; 2027 return this[_userInfo];
2110 } 2028 }
2111 get host() { 2029 get host() {
2112 if (this[_host] == null) 2030 if (this[_host] == null)
2113 return ""; 2031 return "";
2114 if (this[_host].startsWith('[')) { 2032 if (this[_host].startsWith('[')) {
2115 return this[_host].substring(1, dart.notNull(this[_host].length) - 1); 2033 return this[_host].substring(1, dart.notNull(this[_host].length) - 1);
2116 } 2034 }
2117 return this[_host]; 2035 return this[_host];
2118 } 2036 }
2119 get port() { 2037 get port() {
2120 if (this[_port] == null) 2038 if (this[_port] == null)
2121 return Uri[_defaultPort](this.scheme); 2039 return Uri._defaultPort(this.scheme);
2122 return this[_port]; 2040 return this[_port];
2123 } 2041 }
2124 static [_defaultPort](scheme) { 2042 static _defaultPort(scheme) {
2125 if (scheme == "http") 2043 if (scheme == "http")
2126 return 80; 2044 return 80;
2127 if (scheme == "https") 2045 if (scheme == "https")
2128 return 443; 2046 return 443;
2129 return 0; 2047 return 0;
2130 } 2048 }
2131 get path() { 2049 get path() {
2132 return this[_path]; 2050 return this[_path];
2133 } 2051 }
2134 get query() { 2052 get query() {
2135 return this[_query] == null ? "" : this[_query]; 2053 return this[_query] == null ? "" : this[_query];
2136 } 2054 }
2137 get fragment() { 2055 get fragment() {
2138 return this[_fragment] == null ? "" : this[_fragment]; 2056 return this[_fragment] == null ? "" : this[_fragment];
2139 } 2057 }
2140 static parse(uri) { 2058 static parse(uri) {
2141 // Function isRegName: (int) → bool 2059 // Function isRegName: (int) → bool
2142 function isRegName(ch) { 2060 function isRegName(ch) {
2143 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0)); 2061 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Ur i._regNameTable[$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)) , 0));
2144 } 2062 }
2145 let EOI = -1; 2063 let EOI = -1;
2146 let scheme = ""; 2064 let scheme = "";
2147 let userinfo = ""; 2065 let userinfo = "";
2148 let host = null; 2066 let host = null;
2149 let port = null; 2067 let port = null;
2150 let path = null; 2068 let path = null;
2151 let query = null; 2069 let query = null;
2152 let fragment = null; 2070 let fragment = null;
2153 let index = 0; 2071 let index = 0;
2154 let pathStart = 0; 2072 let pathStart = 0;
2155 let char = EOI; 2073 let char = EOI;
2156 // Function parseAuth: () → void 2074 // Function parseAuth: () → void
2157 function parseAuth() { 2075 function parseAuth() {
2158 if (index == uri.length) { 2076 if (index == uri.length) {
2159 char = EOI; 2077 char = EOI;
2160 return; 2078 return;
2161 } 2079 }
2162 let authStart = index; 2080 let authStart = index;
2163 let lastColon = -1; 2081 let lastColon = -1;
2164 let lastAt = -1; 2082 let lastAt = -1;
2165 char = uri.codeUnitAt(index); 2083 char = uri.codeUnitAt(index);
2166 while (dart.notNull(index) < dart.notNull(uri.length)) { 2084 while (dart.notNull(index) < dart.notNull(uri.length)) {
2167 char = uri.codeUnitAt(index); 2085 char = uri.codeUnitAt(index);
2168 if (char == Uri[_SLASH] || char == Uri[_QUESTION] || char == Uri[_NUMB ER_SIGN]) { 2086 if (char == Uri._SLASH || char == Uri._QUESTION || char == Uri._NUMBER _SIGN) {
2169 break; 2087 break;
2170 } 2088 }
2171 if (char == Uri[_AT_SIGN]) { 2089 if (char == Uri._AT_SIGN) {
2172 lastAt = index; 2090 lastAt = index;
2173 lastColon = -1; 2091 lastColon = -1;
2174 } else if (char == Uri[_COLON]) { 2092 } else if (char == Uri._COLON) {
2175 lastColon = index; 2093 lastColon = index;
2176 } else if (char == Uri[_LEFT_BRACKET]) { 2094 } else if (char == Uri._LEFT_BRACKET) {
2177 lastColon = -1; 2095 lastColon = -1;
2178 let endBracket = uri.indexOf(']', dart.notNull(index) + 1); 2096 let endBracket = uri.indexOf(']', dart.notNull(index) + 1);
2179 if (endBracket == -1) { 2097 if (endBracket == -1) {
2180 index = uri.length; 2098 index = uri.length;
2181 char = EOI; 2099 char = EOI;
2182 break; 2100 break;
2183 } else { 2101 } else {
2184 index = endBracket; 2102 index = endBracket;
2185 } 2103 }
2186 } 2104 }
2187 index = dart.notNull(index) + 1; 2105 index = dart.notNull(index) + 1;
2188 char = EOI; 2106 char = EOI;
2189 } 2107 }
2190 let hostStart = authStart; 2108 let hostStart = authStart;
2191 let hostEnd = index; 2109 let hostEnd = index;
2192 if (dart.notNull(lastAt) >= 0) { 2110 if (dart.notNull(lastAt) >= 0) {
2193 userinfo = Uri[_makeUserInfo](uri, authStart, lastAt); 2111 userinfo = Uri._makeUserInfo(uri, authStart, lastAt);
2194 hostStart = dart.notNull(lastAt) + 1; 2112 hostStart = dart.notNull(lastAt) + 1;
2195 } 2113 }
2196 if (dart.notNull(lastColon) >= 0) { 2114 if (dart.notNull(lastColon) >= 0) {
2197 let portNumber = null; 2115 let portNumber = null;
2198 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) { 2116 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) {
2199 portNumber = 0; 2117 portNumber = 0;
2200 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); i = dart.notNull(i) + 1) { 2118 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); i = dart.notNull(i) + 1) {
2201 let digit = uri.codeUnitAt(i); 2119 let digit = uri.codeUnitAt(i);
2202 if (dart.notNull(Uri[_ZERO]) > dart.notNull(digit) || dart.notNull (Uri[_NINE]) < dart.notNull(digit)) { 2120 if (dart.notNull(Uri._ZERO) > dart.notNull(digit) || dart.notNull( Uri._NINE) < dart.notNull(digit)) {
2203 Uri[_fail](uri, i, "Invalid port number"); 2121 Uri._fail(uri, i, "Invalid port number");
2204 } 2122 }
2205 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(Uri[_ZERO])); 2123 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(Uri._ZERO));
2206 } 2124 }
2207 } 2125 }
2208 port = Uri[_makePort](portNumber, scheme); 2126 port = Uri._makePort(portNumber, scheme);
2209 hostEnd = lastColon; 2127 hostEnd = lastColon;
2210 } 2128 }
2211 host = Uri[_makeHost](uri, hostStart, hostEnd, true); 2129 host = Uri._makeHost(uri, hostStart, hostEnd, true);
2212 if (dart.notNull(index) < dart.notNull(uri.length)) { 2130 if (dart.notNull(index) < dart.notNull(uri.length)) {
2213 char = uri.codeUnitAt(index); 2131 char = uri.codeUnitAt(index);
2214 } 2132 }
2215 } 2133 }
2216 let NOT_IN_PATH = 0; 2134 let NOT_IN_PATH = 0;
2217 let IN_PATH = 1; 2135 let IN_PATH = 1;
2218 let ALLOW_AUTH = 2; 2136 let ALLOW_AUTH = 2;
2219 let state = NOT_IN_PATH; 2137 let state = NOT_IN_PATH;
2220 let i = index; 2138 let i = index;
2221 while (dart.notNull(i) < dart.notNull(uri.length)) { 2139 while (dart.notNull(i) < dart.notNull(uri.length)) {
2222 char = uri.codeUnitAt(i); 2140 char = uri.codeUnitAt(i);
2223 if (char == Uri[_QUESTION] || char == Uri[_NUMBER_SIGN]) { 2141 if (char == Uri._QUESTION || char == Uri._NUMBER_SIGN) {
2224 state = NOT_IN_PATH; 2142 state = NOT_IN_PATH;
2225 break; 2143 break;
2226 } 2144 }
2227 if (char == Uri[_SLASH]) { 2145 if (char == Uri._SLASH) {
2228 state = i == 0 ? ALLOW_AUTH : IN_PATH; 2146 state = i == 0 ? ALLOW_AUTH : IN_PATH;
2229 break; 2147 break;
2230 } 2148 }
2231 if (char == Uri[_COLON]) { 2149 if (char == Uri._COLON) {
2232 if (i == 0) 2150 if (i == 0)
2233 Uri[_fail](uri, 0, "Invalid empty scheme"); 2151 Uri._fail(uri, 0, "Invalid empty scheme");
2234 scheme = Uri[_makeScheme](uri, i); 2152 scheme = Uri._makeScheme(uri, i);
2235 i = dart.notNull(i) + 1; 2153 i = dart.notNull(i) + 1;
2236 pathStart = i; 2154 pathStart = i;
2237 if (i == uri.length) { 2155 if (i == uri.length) {
2238 char = EOI; 2156 char = EOI;
2239 state = NOT_IN_PATH; 2157 state = NOT_IN_PATH;
2240 } else { 2158 } else {
2241 char = uri.codeUnitAt(i); 2159 char = uri.codeUnitAt(i);
2242 if (char == Uri[_QUESTION] || char == Uri[_NUMBER_SIGN]) { 2160 if (char == Uri._QUESTION || char == Uri._NUMBER_SIGN) {
2243 state = NOT_IN_PATH; 2161 state = NOT_IN_PATH;
2244 } else if (char == Uri[_SLASH]) { 2162 } else if (char == Uri._SLASH) {
2245 state = ALLOW_AUTH; 2163 state = ALLOW_AUTH;
2246 } else { 2164 } else {
2247 state = IN_PATH; 2165 state = IN_PATH;
2248 } 2166 }
2249 } 2167 }
2250 break; 2168 break;
2251 } 2169 }
2252 i = dart.notNull(i) + 1; 2170 i = dart.notNull(i) + 1;
2253 char = EOI; 2171 char = EOI;
2254 } 2172 }
2255 index = i; 2173 index = i;
2256 if (state == ALLOW_AUTH) { 2174 if (state == ALLOW_AUTH) {
2257 dart.assert(char == Uri[_SLASH]); 2175 dart.assert(char == Uri._SLASH);
2258 index = dart.notNull(index) + 1; 2176 index = dart.notNull(index) + 1;
2259 if (index == uri.length) { 2177 if (index == uri.length) {
2260 char = EOI; 2178 char = EOI;
2261 state = NOT_IN_PATH; 2179 state = NOT_IN_PATH;
2262 } else { 2180 } else {
2263 char = uri.codeUnitAt(index); 2181 char = uri.codeUnitAt(index);
2264 if (char == Uri[_SLASH]) { 2182 if (char == Uri._SLASH) {
2265 index = dart.notNull(index) + 1; 2183 index = dart.notNull(index) + 1;
2266 parseAuth(); 2184 parseAuth();
2267 pathStart = index; 2185 pathStart = index;
2268 } 2186 }
2269 if (char == Uri[_QUESTION] || char == Uri[_NUMBER_SIGN] || char == EOI ) { 2187 if (char == Uri._QUESTION || char == Uri._NUMBER_SIGN || char == EOI) {
2270 state = NOT_IN_PATH; 2188 state = NOT_IN_PATH;
2271 } else { 2189 } else {
2272 state = IN_PATH; 2190 state = IN_PATH;
2273 } 2191 }
2274 } 2192 }
2275 } 2193 }
2276 dart.assert(state == IN_PATH || state == NOT_IN_PATH); 2194 dart.assert(state == IN_PATH || state == NOT_IN_PATH);
2277 if (state == IN_PATH) { 2195 if (state == IN_PATH) {
2278 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) { 2196 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) {
2279 char = uri.codeUnitAt(index); 2197 char = uri.codeUnitAt(index);
2280 if (char == Uri[_QUESTION] || char == Uri[_NUMBER_SIGN]) { 2198 if (char == Uri._QUESTION || char == Uri._NUMBER_SIGN) {
2281 break; 2199 break;
2282 } 2200 }
2283 char = EOI; 2201 char = EOI;
2284 } 2202 }
2285 state = NOT_IN_PATH; 2203 state = NOT_IN_PATH;
2286 } 2204 }
2287 dart.assert(state == NOT_IN_PATH); 2205 dart.assert(state == NOT_IN_PATH);
2288 let isFile = scheme == "file"; 2206 let isFile = scheme == "file";
2289 let ensureLeadingSlash = host != null; 2207 let ensureLeadingSlash = host != null;
2290 path = Uri[_makePath](uri, pathStart, index, null, ensureLeadingSlash, isF ile); 2208 path = Uri._makePath(uri, pathStart, index, null, ensureLeadingSlash, isFi le);
2291 if (char == Uri[_QUESTION]) { 2209 if (char == Uri._QUESTION) {
2292 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1); 2210 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1);
2293 if (dart.notNull(numberSignIndex) < 0) { 2211 if (dart.notNull(numberSignIndex) < 0) {
2294 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, uri.length, null ); 2212 query = Uri._makeQuery(uri, dart.notNull(index) + 1, uri.length, null) ;
2295 } else { 2213 } else {
2296 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, numberSignIndex, null); 2214 query = Uri._makeQuery(uri, dart.notNull(index) + 1, numberSignIndex, null);
2297 fragment = Uri[_makeFragment](uri, dart.notNull(numberSignIndex) + 1, uri.length); 2215 fragment = Uri._makeFragment(uri, dart.notNull(numberSignIndex) + 1, u ri.length);
2298 } 2216 }
2299 } else if (char == Uri[_NUMBER_SIGN]) { 2217 } else if (char == Uri._NUMBER_SIGN) {
2300 fragment = Uri[_makeFragment](uri, dart.notNull(index) + 1, uri.length); 2218 fragment = Uri._makeFragment(uri, dart.notNull(index) + 1, uri.length);
2301 } 2219 }
2302 return new Uri[_internal$](scheme, userinfo, host, port, path, query, frag ment); 2220 return new Uri[_internal$](scheme, userinfo, host, port, path, query, frag ment);
2303 } 2221 }
2304 static [_fail](uri, index, message) { 2222 static _fail(uri, index, message) {
2305 throw new FormatException(message, uri, index); 2223 throw new FormatException(message, uri, index);
2306 } 2224 }
2307 [_internal$](scheme, userInfo, host, port, path, query, fragment) { 2225 _internal(scheme, userInfo, host, port, path, query, fragment) {
2308 this.scheme = scheme; 2226 this.scheme = scheme;
2309 this[_userInfo] = userInfo; 2227 this[_userInfo] = userInfo;
2310 this[_host] = host; 2228 this[_host] = host;
2311 this[_port] = port; 2229 this[_port] = port;
2312 this[_path] = path; 2230 this[_path] = path;
2313 this[_query] = query; 2231 this[_query] = query;
2314 this[_fragment] = fragment; 2232 this[_fragment] = fragment;
2315 this[_pathSegments] = null; 2233 this[_pathSegments] = null;
2316 this[_queryParameters] = null; 2234 this[_queryParameters] = null;
2317 } 2235 }
2318 Uri(opts) { 2236 Uri(opts) {
2319 let scheme = opts && 'scheme' in opts ? opts.scheme : ""; 2237 let scheme = opts && 'scheme' in opts ? opts.scheme : "";
2320 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : ""; 2238 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : "";
2321 let host = opts && 'host' in opts ? opts.host : null; 2239 let host = opts && 'host' in opts ? opts.host : null;
2322 let port = opts && 'port' in opts ? opts.port : null; 2240 let port = opts && 'port' in opts ? opts.port : null;
2323 let path = opts && 'path' in opts ? opts.path : null; 2241 let path = opts && 'path' in opts ? opts.path : null;
2324 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll; 2242 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll;
2325 let query = opts && 'query' in opts ? opts.query : null; 2243 let query = opts && 'query' in opts ? opts.query : null;
2326 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null; 2244 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null;
2327 let fragment = opts && 'fragment' in opts ? opts.fragment : null; 2245 let fragment = opts && 'fragment' in opts ? opts.fragment : null;
2328 scheme = Uri[_makeScheme](scheme, Uri[_stringOrNullLength](scheme)); 2246 scheme = Uri._makeScheme(scheme, Uri._stringOrNullLength(scheme));
2329 userInfo = Uri[_makeUserInfo](userInfo, 0, Uri[_stringOrNullLength](userIn fo)); 2247 userInfo = Uri._makeUserInfo(userInfo, 0, Uri._stringOrNullLength(userInfo ));
2330 host = Uri[_makeHost](host, 0, Uri[_stringOrNullLength](host), false); 2248 host = Uri._makeHost(host, 0, Uri._stringOrNullLength(host), false);
2331 if (query == "") 2249 if (query == "")
2332 query = null; 2250 query = null;
2333 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), queryPa rameters); 2251 query = Uri._makeQuery(query, 0, Uri._stringOrNullLength(query), queryPara meters);
2334 fragment = Uri[_makeFragment](fragment, 0, Uri[_stringOrNullLength](fragme nt)); 2252 fragment = Uri._makeFragment(fragment, 0, Uri._stringOrNullLength(fragment ));
2335 port = Uri[_makePort](port, scheme); 2253 port = Uri._makePort(port, scheme);
2336 let isFile = scheme == "file"; 2254 let isFile = scheme == "file";
2337 if (host == null && (dart.notNull(userInfo.isNotEmpty) || port != null || dart.notNull(isFile))) { 2255 if (host == null && (dart.notNull(userInfo.isNotEmpty) || port != null || dart.notNull(isFile))) {
2338 host = ""; 2256 host = "";
2339 } 2257 }
2340 let ensureLeadingSlash = host != null; 2258 let ensureLeadingSlash = host != null;
2341 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegment s, ensureLeadingSlash, isFile); 2259 path = Uri._makePath(path, 0, Uri._stringOrNullLength(path), pathSegments, ensureLeadingSlash, isFile);
2342 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment); 2260 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment);
2343 } 2261 }
2344 http(authority, unencodedPath, queryParameters) { 2262 http(authority, unencodedPath, queryParameters) {
2345 if (queryParameters === void 0) 2263 if (queryParameters === void 0)
2346 queryParameters = null; 2264 queryParameters = null;
2347 return Uri[_makeHttpUri]("http", authority, unencodedPath, queryParameters ); 2265 return Uri._makeHttpUri("http", authority, unencodedPath, queryParameters) ;
2348 } 2266 }
2349 https(authority, unencodedPath, queryParameters) { 2267 https(authority, unencodedPath, queryParameters) {
2350 if (queryParameters === void 0) 2268 if (queryParameters === void 0)
2351 queryParameters = null; 2269 queryParameters = null;
2352 return Uri[_makeHttpUri]("https", authority, unencodedPath, queryParameter s); 2270 return Uri._makeHttpUri("https", authority, unencodedPath, queryParameters );
2353 } 2271 }
2354 static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) { 2272 static _makeHttpUri(scheme, authority, unencodedPath, queryParameters) {
2355 let userInfo = ""; 2273 let userInfo = "";
2356 let host = null; 2274 let host = null;
2357 let port = null; 2275 let port = null;
2358 if (authority != null && dart.notNull(authority.isNotEmpty)) { 2276 if (authority != null && dart.notNull(authority.isNotEmpty)) {
2359 let hostStart = 0; 2277 let hostStart = 0;
2360 let hasUserInfo = false; 2278 let hasUserInfo = false;
2361 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da rt.notNull(i) + 1) { 2279 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da rt.notNull(i) + 1) {
2362 if (authority.codeUnitAt(i) == Uri[_AT_SIGN]) { 2280 if (authority.codeUnitAt(i) == Uri._AT_SIGN) {
2363 hasUserInfo = true; 2281 hasUserInfo = true;
2364 userInfo = authority.substring(0, i); 2282 userInfo = authority.substring(0, i);
2365 hostStart = dart.notNull(i) + 1; 2283 hostStart = dart.notNull(i) + 1;
2366 break; 2284 break;
2367 } 2285 }
2368 } 2286 }
2369 let hostEnd = hostStart; 2287 let hostEnd = hostStart;
2370 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) == Uri[_LEFT_BRACKET]) { 2288 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) == Uri._LEFT_BRACKET) {
2371 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) { 2289 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
2372 if (authority.codeUnitAt(hostEnd) == Uri[_RIGHT_BRACKET]) 2290 if (authority.codeUnitAt(hostEnd) == Uri._RIGHT_BRACKET)
2373 break; 2291 break;
2374 } 2292 }
2375 if (hostEnd == authority.length) { 2293 if (hostEnd == authority.length) {
2376 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart); 2294 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart);
2377 } 2295 }
2378 Uri.parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd); 2296 Uri.parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd);
2379 hostEnd = dart.notNull(hostEnd) + 1; 2297 hostEnd = dart.notNull(hostEnd) + 1;
2380 if (hostEnd != authority.length && authority.codeUnitAt(hostEnd) != Ur i[_COLON]) { 2298 if (hostEnd != authority.length && authority.codeUnitAt(hostEnd) != Ur i._COLON) {
2381 throw new FormatException("Invalid end of authority", authority, hos tEnd); 2299 throw new FormatException("Invalid end of authority", authority, hos tEnd);
2382 } 2300 }
2383 } 2301 }
2384 let hasPort = false; 2302 let hasPort = false;
2385 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) { 2303 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
2386 if (authority.codeUnitAt(hostEnd) == Uri[_COLON]) { 2304 if (authority.codeUnitAt(hostEnd) == Uri._COLON) {
2387 let portString = authority.substring(dart.notNull(hostEnd) + 1); 2305 let portString = authority.substring(dart.notNull(hostEnd) + 1);
2388 if (portString.isNotEmpty) 2306 if (portString.isNotEmpty)
2389 port = int.parse(portString); 2307 port = int.parse(portString);
2390 break; 2308 break;
2391 } 2309 }
2392 } 2310 }
2393 host = authority.substring(hostStart, hostEnd); 2311 host = authority.substring(hostStart, hostEnd);
2394 } 2312 }
2395 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters}); 2313 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters});
2396 } 2314 }
2397 file(path, opts) { 2315 file(path, opts) {
2398 let windows = opts && 'windows' in opts ? opts.windows : null; 2316 let windows = opts && 'windows' in opts ? opts.windows : null;
2399 windows = windows == null ? Uri[_isWindows] : windows; 2317 windows = windows == null ? Uri._isWindows : windows;
2400 return dart.as(windows ? Uri[_makeWindowsFileUrl](path) : Uri[_makeFileUri ](path), Uri); 2318 return dart.as(windows ? Uri._makeWindowsFileUrl(path) : Uri._makeFileUri( path), Uri);
2401 } 2319 }
2402 static get base() { 2320 static get base() {
2403 let uri = _js_helper.Primitives.currentUri(); 2321 let uri = _js_helper.Primitives.currentUri();
2404 if (uri != null) 2322 if (uri != null)
2405 return Uri.parse(uri); 2323 return Uri.parse(uri);
2406 throw new UnsupportedError("'Uri.base' is not supported"); 2324 throw new UnsupportedError("'Uri.base' is not supported");
2407 } 2325 }
2408 static get [_isWindows]() { 2326 static get _isWindows() {
2409 return false; 2327 return false;
2410 } 2328 }
2411 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) { 2329 static _checkNonWindowsPathReservedCharacters(segments, argumentError) {
2412 segments[$forEach](segment => { 2330 segments[$forEach](segment => {
2413 if (dart.dsend(segment, 'contains', "/")) { 2331 if (dart.dsend(segment, 'contains', "/")) {
2414 if (argumentError) { 2332 if (argumentError) {
2415 throw new ArgumentError(`Illegal path character ${segment}`); 2333 throw new ArgumentError(`Illegal path character ${segment}`);
2416 } else { 2334 } else {
2417 throw new UnsupportedError(`Illegal path character ${segment}`); 2335 throw new UnsupportedError(`Illegal path character ${segment}`);
2418 } 2336 }
2419 } 2337 }
2420 }); 2338 });
2421 } 2339 }
2422 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) { 2340 static _checkWindowsPathReservedCharacters(segments, argumentError, firstSeg ment) {
2423 if (firstSegment === void 0) 2341 if (firstSegment === void 0)
2424 firstSegment = 0; 2342 firstSegment = 0;
2425 segments[$skip](firstSegment)[$forEach](segment => { 2343 segments[$skip](firstSegment)[$forEach](segment => {
2426 if (dart.dsend(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { 2344 if (dart.dsend(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) {
2427 if (argumentError) { 2345 if (argumentError) {
2428 throw new ArgumentError("Illegal character in path"); 2346 throw new ArgumentError("Illegal character in path");
2429 } else { 2347 } else {
2430 throw new UnsupportedError("Illegal character in path"); 2348 throw new UnsupportedError("Illegal character in path");
2431 } 2349 }
2432 } 2350 }
2433 }); 2351 });
2434 } 2352 }
2435 static [_checkWindowsDriveLetter](charCode, argumentError) { 2353 static _checkWindowsDriveLetter(charCode, argumentError) {
2436 if (dart.notNull(Uri[_UPPER_CASE_A]) <= dart.notNull(charCode) && dart.not Null(charCode) <= dart.notNull(Uri[_UPPER_CASE_Z]) || dart.notNull(Uri[_LOWER_CA SE_A]) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri[_ LOWER_CASE_Z])) { 2354 if (dart.notNull(Uri._UPPER_CASE_A) <= dart.notNull(charCode) && dart.notN ull(charCode) <= dart.notNull(Uri._UPPER_CASE_Z) || dart.notNull(Uri._LOWER_CASE _A) <= dart.notNull(charCode) && dart.notNull(charCode) <= dart.notNull(Uri._LOW ER_CASE_Z)) {
2437 return; 2355 return;
2438 } 2356 }
2439 if (argumentError) { 2357 if (argumentError) {
2440 throw new ArgumentError("Illegal drive letter " + dart.notNull(new Strin g.fromCharCode(charCode))); 2358 throw new ArgumentError("Illegal drive letter " + dart.notNull(new Strin g.fromCharCode(charCode)));
2441 } else { 2359 } else {
2442 throw new UnsupportedError("Illegal drive letter " + dart.notNull(new St ring.fromCharCode(charCode))); 2360 throw new UnsupportedError("Illegal drive letter " + dart.notNull(new St ring.fromCharCode(charCode)));
2443 } 2361 }
2444 } 2362 }
2445 static [_makeFileUri](path) { 2363 static _makeFileUri(path) {
2446 let sep = "/"; 2364 let sep = "/";
2447 if (path.startsWith(sep)) { 2365 if (path.startsWith(sep)) {
2448 return new Uri({scheme: "file", pathSegments: path.split(sep)}); 2366 return new Uri({scheme: "file", pathSegments: path.split(sep)});
2449 } else { 2367 } else {
2450 return new Uri({pathSegments: path.split(sep)}); 2368 return new Uri({pathSegments: path.split(sep)});
2451 } 2369 }
2452 } 2370 }
2453 static [_makeWindowsFileUrl](path) { 2371 static _makeWindowsFileUrl(path) {
2454 if (path.startsWith("\\\\?\\")) { 2372 if (path.startsWith("\\\\?\\")) {
2455 if (path.startsWith("\\\\?\\UNC\\")) { 2373 if (path.startsWith("\\\\?\\UNC\\")) {
2456 path = `\\${path.substring(7)}`; 2374 path = `\\${path.substring(7)}`;
2457 } else { 2375 } else {
2458 path = path.substring(4); 2376 path = path.substring(4);
2459 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) != Uri[_COLON] || path.codeUnitAt(2) != Uri[_BACKSLASH]) { 2377 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) != Uri._COLON || path.codeUnitAt(2) != Uri._BACKSLASH) {
2460 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a bsolute"); 2378 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a bsolute");
2461 } 2379 }
2462 } 2380 }
2463 } else { 2381 } else {
2464 path = path.replaceAll("/", "\\"); 2382 path = path.replaceAll("/", "\\");
2465 } 2383 }
2466 let sep = "\\"; 2384 let sep = "\\";
2467 if (dart.notNull(path.length) > 1 && String.get(path, 1) == ":") { 2385 if (dart.notNull(path.length) > 1 && String.get(path, 1) == ":") {
2468 Uri[_checkWindowsDriveLetter](path.codeUnitAt(0), true); 2386 Uri._checkWindowsDriveLetter(path.codeUnitAt(0), true);
2469 if (path.length == 2 || path.codeUnitAt(2) != Uri[_BACKSLASH]) { 2387 if (path.length == 2 || path.codeUnitAt(2) != Uri._BACKSLASH) {
2470 throw new ArgumentError("Windows paths with drive letter must be absol ute"); 2388 throw new ArgumentError("Windows paths with drive letter must be absol ute");
2471 } 2389 }
2472 let pathSegments = path.split(sep); 2390 let pathSegments = path.split(sep);
2473 Uri[_checkWindowsPathReservedCharacters](pathSegments, true, 1); 2391 Uri._checkWindowsPathReservedCharacters(pathSegments, true, 1);
2474 return new Uri({scheme: "file", pathSegments: pathSegments}); 2392 return new Uri({scheme: "file", pathSegments: pathSegments});
2475 } 2393 }
2476 if (dart.notNull(path.length) > 0 && String.get(path, 0) == sep) { 2394 if (dart.notNull(path.length) > 0 && String.get(path, 0) == sep) {
2477 if (dart.notNull(path.length) > 1 && String.get(path, 1) == sep) { 2395 if (dart.notNull(path.length) > 1 && String.get(path, 1) == sep) {
2478 let pathStart = path.indexOf("\\", 2); 2396 let pathStart = path.indexOf("\\", 2);
2479 let hostPart = pathStart == -1 ? path.substring(2) : path.substring(2, pathStart); 2397 let hostPart = pathStart == -1 ? path.substring(2) : path.substring(2, pathStart);
2480 let pathPart = pathStart == -1 ? "" : path.substring(dart.notNull(path Start) + 1); 2398 let pathPart = pathStart == -1 ? "" : path.substring(dart.notNull(path Start) + 1);
2481 let pathSegments = pathPart.split(sep); 2399 let pathSegments = pathPart.split(sep);
2482 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); 2400 Uri._checkWindowsPathReservedCharacters(pathSegments, true);
2483 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm ents}); 2401 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm ents});
2484 } else { 2402 } else {
2485 let pathSegments = path.split(sep); 2403 let pathSegments = path.split(sep);
2486 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); 2404 Uri._checkWindowsPathReservedCharacters(pathSegments, true);
2487 return new Uri({scheme: "file", pathSegments: pathSegments}); 2405 return new Uri({scheme: "file", pathSegments: pathSegments});
2488 } 2406 }
2489 } else { 2407 } else {
2490 let pathSegments = path.split(sep); 2408 let pathSegments = path.split(sep);
2491 Uri[_checkWindowsPathReservedCharacters](pathSegments, true); 2409 Uri._checkWindowsPathReservedCharacters(pathSegments, true);
2492 return new Uri({pathSegments: pathSegments}); 2410 return new Uri({pathSegments: pathSegments});
2493 } 2411 }
2494 } 2412 }
2495 replace(opts) { 2413 replace(opts) {
2496 let scheme = opts && 'scheme' in opts ? opts.scheme : null; 2414 let scheme = opts && 'scheme' in opts ? opts.scheme : null;
2497 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null; 2415 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null;
2498 let host = opts && 'host' in opts ? opts.host : null; 2416 let host = opts && 'host' in opts ? opts.host : null;
2499 let port = opts && 'port' in opts ? opts.port : null; 2417 let port = opts && 'port' in opts ? opts.port : null;
2500 let path = opts && 'path' in opts ? opts.path : null; 2418 let path = opts && 'path' in opts ? opts.path : null;
2501 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll; 2419 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll;
2502 let query = opts && 'query' in opts ? opts.query : null; 2420 let query = opts && 'query' in opts ? opts.query : null;
2503 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null; 2421 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null;
2504 let fragment = opts && 'fragment' in opts ? opts.fragment : null; 2422 let fragment = opts && 'fragment' in opts ? opts.fragment : null;
2505 let schemeChanged = false; 2423 let schemeChanged = false;
2506 if (scheme != null) { 2424 if (scheme != null) {
2507 scheme = Uri[_makeScheme](scheme, scheme.length); 2425 scheme = Uri._makeScheme(scheme, scheme.length);
2508 schemeChanged = true; 2426 schemeChanged = true;
2509 } else { 2427 } else {
2510 scheme = this.scheme; 2428 scheme = this.scheme;
2511 } 2429 }
2512 let isFile = scheme == "file"; 2430 let isFile = scheme == "file";
2513 if (userInfo != null) { 2431 if (userInfo != null) {
2514 userInfo = Uri[_makeUserInfo](userInfo, 0, userInfo.length); 2432 userInfo = Uri._makeUserInfo(userInfo, 0, userInfo.length);
2515 } else { 2433 } else {
2516 userInfo = this.userInfo; 2434 userInfo = this.userInfo;
2517 } 2435 }
2518 if (port != null) { 2436 if (port != null) {
2519 port = Uri[_makePort](port, scheme); 2437 port = Uri._makePort(port, scheme);
2520 } else { 2438 } else {
2521 port = this[_port]; 2439 port = this[_port];
2522 if (schemeChanged) { 2440 if (schemeChanged) {
2523 port = Uri[_makePort](port, scheme); 2441 port = Uri._makePort(port, scheme);
2524 } 2442 }
2525 } 2443 }
2526 if (host != null) { 2444 if (host != null) {
2527 host = Uri[_makeHost](host, 0, host.length, false); 2445 host = Uri._makeHost(host, 0, host.length, false);
2528 } else if (this.hasAuthority) { 2446 } else if (this.hasAuthority) {
2529 host = this.host; 2447 host = this.host;
2530 } else if (dart.notNull(userInfo.isNotEmpty) || port != null || dart.notNu ll(isFile)) { 2448 } else if (dart.notNull(userInfo.isNotEmpty) || port != null || dart.notNu ll(isFile)) {
2531 host = ""; 2449 host = "";
2532 } 2450 }
2533 let ensureLeadingSlash = host != null; 2451 let ensureLeadingSlash = host != null;
2534 if (path != null || dart.notNull(pathSegments != null)) { 2452 if (path != null || dart.notNull(pathSegments != null)) {
2535 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegme nts, ensureLeadingSlash, isFile); 2453 path = Uri._makePath(path, 0, Uri._stringOrNullLength(path), pathSegment s, ensureLeadingSlash, isFile);
2536 } else { 2454 } else {
2537 path = this.path; 2455 path = this.path;
2538 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) { 2456 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) {
2539 path = `/${path}`; 2457 path = `/${path}`;
2540 } 2458 }
2541 } 2459 }
2542 if (query != null || dart.notNull(queryParameters != null)) { 2460 if (query != null || dart.notNull(queryParameters != null)) {
2543 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), query Parameters); 2461 query = Uri._makeQuery(query, 0, Uri._stringOrNullLength(query), queryPa rameters);
2544 } else if (this.hasQuery) { 2462 } else if (this.hasQuery) {
2545 query = this.query; 2463 query = this.query;
2546 } 2464 }
2547 if (fragment != null) { 2465 if (fragment != null) {
2548 fragment = Uri[_makeFragment](fragment, 0, fragment.length); 2466 fragment = Uri._makeFragment(fragment, 0, fragment.length);
2549 } else if (this.hasFragment) { 2467 } else if (this.hasFragment) {
2550 fragment = this.fragment; 2468 fragment = this.fragment;
2551 } 2469 }
2552 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment); 2470 return new Uri[_internal$](scheme, userInfo, host, port, path, query, frag ment);
2553 } 2471 }
2554 get pathSegments() { 2472 get pathSegments() {
2555 if (this[_pathSegments] == null) { 2473 if (this[_pathSegments] == null) {
2556 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri[_SLASH] ? this.path.substring(1) : this.path; 2474 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) == Uri._SLASH ? this.path.substring(1) : this.path;
2557 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? dart.const(dart.setType([], List$(String))) : pathToSplit.split("/")[$map] (dart.bind(Uri, 'decodeComponent'))[$toList]({growable: false})); 2475 this[_pathSegments] = new collection.UnmodifiableListView(pathToSplit == "" ? dart.const(dart.setType([], List$(String))) : pathToSplit.split("/")[$map] (dart.bind(Uri, 'decodeComponent'))[$toList]({growable: false}));
2558 } 2476 }
2559 return this[_pathSegments]; 2477 return this[_pathSegments];
2560 } 2478 }
2561 get queryParameters() { 2479 get queryParameters() {
2562 if (this[_queryParameters] == null) { 2480 if (this[_queryParameters] == null) {
2563 this[_queryParameters] = new (collection.UnmodifiableMapView$(String, St ring))(Uri.splitQueryString(this.query)); 2481 this[_queryParameters] = new (collection.UnmodifiableMapView$(String, St ring))(Uri.splitQueryString(this.query));
2564 } 2482 }
2565 return this[_queryParameters]; 2483 return this[_queryParameters];
2566 } 2484 }
2567 static [_makePort](port, scheme) { 2485 static _makePort(port, scheme) {
2568 if (port != null && port == Uri[_defaultPort](scheme)) 2486 if (port != null && port == Uri._defaultPort(scheme))
2569 return null; 2487 return null;
2570 return port; 2488 return port;
2571 } 2489 }
2572 static [_makeHost](host, start, end, strictIPv6) { 2490 static _makeHost(host, start, end, strictIPv6) {
2573 if (host == null) 2491 if (host == null)
2574 return null; 2492 return null;
2575 if (start == end) 2493 if (start == end)
2576 return ""; 2494 return "";
2577 if (host.codeUnitAt(start) == Uri[_LEFT_BRACKET]) { 2495 if (host.codeUnitAt(start) == Uri._LEFT_BRACKET) {
2578 if (host.codeUnitAt(dart.notNull(end) - 1) != Uri[_RIGHT_BRACKET]) { 2496 if (host.codeUnitAt(dart.notNull(end) - 1) != Uri._RIGHT_BRACKET) {
2579 Uri[_fail](host, start, 'Missing end `]` to match `[` in host'); 2497 Uri._fail(host, start, 'Missing end `]` to match `[` in host');
2580 } 2498 }
2581 Uri.parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1); 2499 Uri.parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1);
2582 return host.substring(start, end).toLowerCase(); 2500 return host.substring(start, end).toLowerCase();
2583 } 2501 }
2584 if (!dart.notNull(strictIPv6)) { 2502 if (!dart.notNull(strictIPv6)) {
2585 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 2503 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
2586 if (host.codeUnitAt(i) == Uri[_COLON]) { 2504 if (host.codeUnitAt(i) == Uri._COLON) {
2587 Uri.parseIPv6Address(host, start, end); 2505 Uri.parseIPv6Address(host, start, end);
2588 return `[${host}]`; 2506 return `[${host}]`;
2589 } 2507 }
2590 } 2508 }
2591 } 2509 }
2592 return Uri[_normalizeRegName](host, start, end); 2510 return Uri._normalizeRegName(host, start, end);
2593 } 2511 }
2594 static [_isRegNameChar](char) { 2512 static _isRegNameChar(char) {
2595 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dsend(Ur i[_regNameTable][$get](dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0)); 2513 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dsend(Ur i._regNameTable[$get](dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0));
2596 } 2514 }
2597 static [_normalizeRegName](host, start, end) { 2515 static _normalizeRegName(host, start, end) {
2598 let buffer = null; 2516 let buffer = null;
2599 let sectionStart = start; 2517 let sectionStart = start;
2600 let index = start; 2518 let index = start;
2601 let isNormalized = true; 2519 let isNormalized = true;
2602 while (dart.notNull(index) < dart.notNull(end)) { 2520 while (dart.notNull(index) < dart.notNull(end)) {
2603 let char = host.codeUnitAt(index); 2521 let char = host.codeUnitAt(index);
2604 if (char == Uri[_PERCENT]) { 2522 if (char == Uri._PERCENT) {
2605 let replacement = Uri[_normalizeEscape](host, index, true); 2523 let replacement = Uri._normalizeEscape(host, index, true);
2606 if (replacement == null && dart.notNull(isNormalized)) { 2524 if (replacement == null && dart.notNull(isNormalized)) {
2607 index = dart.notNull(index) + 3; 2525 index = dart.notNull(index) + 3;
2608 continue; 2526 continue;
2609 } 2527 }
2610 if (buffer == null) 2528 if (buffer == null)
2611 buffer = new StringBuffer(); 2529 buffer = new StringBuffer();
2612 let slice = host.substring(sectionStart, index); 2530 let slice = host.substring(sectionStart, index);
2613 if (!dart.notNull(isNormalized)) 2531 if (!dart.notNull(isNormalized))
2614 slice = slice.toLowerCase(); 2532 slice = slice.toLowerCase();
2615 buffer.write(slice); 2533 buffer.write(slice);
2616 let sourceLength = 3; 2534 let sourceLength = 3;
2617 if (replacement == null) { 2535 if (replacement == null) {
2618 replacement = host.substring(index, dart.notNull(index) + 3); 2536 replacement = host.substring(index, dart.notNull(index) + 3);
2619 } else if (replacement == "%") { 2537 } else if (replacement == "%") {
2620 replacement = "%25"; 2538 replacement = "%25";
2621 sourceLength = 1; 2539 sourceLength = 1;
2622 } 2540 }
2623 buffer.write(replacement); 2541 buffer.write(replacement);
2624 index = dart.notNull(index) + dart.notNull(sourceLength); 2542 index = dart.notNull(index) + dart.notNull(sourceLength);
2625 sectionStart = index; 2543 sectionStart = index;
2626 isNormalized = true; 2544 isNormalized = true;
2627 } else if (Uri[_isRegNameChar](char)) { 2545 } else if (Uri._isRegNameChar(char)) {
2628 if (dart.notNull(isNormalized) && dart.notNull(Uri[_UPPER_CASE_A]) <= dart.notNull(char) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(char)) { 2546 if (dart.notNull(isNormalized) && dart.notNull(Uri._UPPER_CASE_A) <= d art.notNull(char) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(char)) {
2629 if (buffer == null) 2547 if (buffer == null)
2630 buffer = new StringBuffer(); 2548 buffer = new StringBuffer();
2631 if (dart.notNull(sectionStart) < dart.notNull(index)) { 2549 if (dart.notNull(sectionStart) < dart.notNull(index)) {
2632 buffer.write(host.substring(sectionStart, index)); 2550 buffer.write(host.substring(sectionStart, index));
2633 sectionStart = index; 2551 sectionStart = index;
2634 } 2552 }
2635 isNormalized = false; 2553 isNormalized = false;
2636 } 2554 }
2637 index = dart.notNull(index) + 1; 2555 index = dart.notNull(index) + 1;
2638 } else if (Uri[_isGeneralDelimiter](char)) { 2556 } else if (Uri._isGeneralDelimiter(char)) {
2639 Uri[_fail](host, index, "Invalid character"); 2557 Uri._fail(host, index, "Invalid character");
2640 } else { 2558 } else {
2641 let sourceLength = 1; 2559 let sourceLength = 1;
2642 if ((dart.notNull(char) & 64512) == 55296 && dart.notNull(index) + 1 < dart.notNull(end)) { 2560 if ((dart.notNull(char) & 64512) == 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
2643 let tail = host.codeUnitAt(dart.notNull(index) + 1); 2561 let tail = host.codeUnitAt(dart.notNull(index) + 1);
2644 if ((dart.notNull(tail) & 64512) == 56320) { 2562 if ((dart.notNull(tail) & 64512) == 56320) {
2645 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023; 2563 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023;
2646 sourceLength = 2; 2564 sourceLength = 2;
2647 } 2565 }
2648 } 2566 }
2649 if (buffer == null) 2567 if (buffer == null)
2650 buffer = new StringBuffer(); 2568 buffer = new StringBuffer();
2651 let slice = host.substring(sectionStart, index); 2569 let slice = host.substring(sectionStart, index);
2652 if (!dart.notNull(isNormalized)) 2570 if (!dart.notNull(isNormalized))
2653 slice = slice.toLowerCase(); 2571 slice = slice.toLowerCase();
2654 buffer.write(slice); 2572 buffer.write(slice);
2655 buffer.write(Uri[_escapeChar](char)); 2573 buffer.write(Uri._escapeChar(char));
2656 index = dart.notNull(index) + dart.notNull(sourceLength); 2574 index = dart.notNull(index) + dart.notNull(sourceLength);
2657 sectionStart = index; 2575 sectionStart = index;
2658 } 2576 }
2659 } 2577 }
2660 if (buffer == null) 2578 if (buffer == null)
2661 return host.substring(start, end); 2579 return host.substring(start, end);
2662 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2580 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2663 let slice = host.substring(sectionStart, end); 2581 let slice = host.substring(sectionStart, end);
2664 if (!dart.notNull(isNormalized)) 2582 if (!dart.notNull(isNormalized))
2665 slice = slice.toLowerCase(); 2583 slice = slice.toLowerCase();
2666 buffer.write(slice); 2584 buffer.write(slice);
2667 } 2585 }
2668 return dart.toString(buffer); 2586 return dart.toString(buffer);
2669 } 2587 }
2670 static [_makeScheme](scheme, end) { 2588 static _makeScheme(scheme, end) {
2671 if (end == 0) 2589 if (end == 0)
2672 return ""; 2590 return "";
2673 let firstCodeUnit = scheme.codeUnitAt(0); 2591 let firstCodeUnit = scheme.codeUnitAt(0);
2674 if (!dart.notNull(Uri[_isAlphabeticCharacter](firstCodeUnit))) { 2592 if (!dart.notNull(Uri._isAlphabeticCharacter(firstCodeUnit))) {
2675 Uri[_fail](scheme, 0, "Scheme not starting with alphabetic character"); 2593 Uri._fail(scheme, 0, "Scheme not starting with alphabetic character");
2676 } 2594 }
2677 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri[_LOWER_ CASE_A]); 2595 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri._LOWER_ CASE_A);
2678 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) { 2596 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
2679 let codeUnit = scheme.codeUnitAt(i); 2597 let codeUnit = scheme.codeUnitAt(i);
2680 if (!dart.notNull(Uri[_isSchemeCharacter](codeUnit))) { 2598 if (!dart.notNull(Uri._isSchemeCharacter(codeUnit))) {
2681 Uri[_fail](scheme, i, "Illegal scheme character"); 2599 Uri._fail(scheme, i, "Illegal scheme character");
2682 } 2600 }
2683 if (dart.notNull(codeUnit) < dart.notNull(Uri[_LOWER_CASE_A]) || dart.no tNull(codeUnit) > dart.notNull(Uri[_LOWER_CASE_Z])) { 2601 if (dart.notNull(codeUnit) < dart.notNull(Uri._LOWER_CASE_A) || dart.not Null(codeUnit) > dart.notNull(Uri._LOWER_CASE_Z)) {
2684 allLowercase = false; 2602 allLowercase = false;
2685 } 2603 }
2686 } 2604 }
2687 scheme = scheme.substring(0, end); 2605 scheme = scheme.substring(0, end);
2688 if (!dart.notNull(allLowercase)) 2606 if (!dart.notNull(allLowercase))
2689 scheme = scheme.toLowerCase(); 2607 scheme = scheme.toLowerCase();
2690 return scheme; 2608 return scheme;
2691 } 2609 }
2692 static [_makeUserInfo](userInfo, start, end) { 2610 static _makeUserInfo(userInfo, start, end) {
2693 if (userInfo == null) 2611 if (userInfo == null)
2694 return ""; 2612 return "";
2695 return Uri[_normalize](userInfo, start, end, dart.as(Uri[_userinfoTable], List$(int))); 2613 return Uri._normalize(userInfo, start, end, dart.as(Uri._userinfoTable, Li st$(int)));
2696 } 2614 }
2697 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) { 2615 static _makePath(path, start, end, pathSegments, ensureLeadingSlash, isFile) {
2698 if (path == null && dart.notNull(pathSegments == null)) 2616 if (path == null && dart.notNull(pathSegments == null))
2699 return isFile ? "/" : ""; 2617 return isFile ? "/" : "";
2700 if (path != null && dart.notNull(pathSegments != null)) { 2618 if (path != null && dart.notNull(pathSegments != null)) {
2701 throw new ArgumentError('Both path and pathSegments specified'); 2619 throw new ArgumentError('Both path and pathSegments specified');
2702 } 2620 }
2703 let result = null; 2621 let result = null;
2704 if (path != null) { 2622 if (path != null) {
2705 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int))); 2623 result = Uri._normalize(path, start, end, dart.as(Uri._pathCharOrSlashTa ble, List$(int)));
2706 } else { 2624 } else {
2707 result = pathSegments[$map](s => Uri[_uriEncode](dart.as(Uri[_pathCharTa ble], List$(int)), dart.as(s, String)))[$join]("/"); 2625 result = pathSegments[$map](s => Uri._uriEncode(dart.as(Uri._pathCharTab le, List$(int)), dart.as(s, String)))[$join]("/");
2708 } 2626 }
2709 if (dart.dload(result, 'isEmpty')) { 2627 if (dart.dload(result, 'isEmpty')) {
2710 if (isFile) 2628 if (isFile)
2711 return "/"; 2629 return "/";
2712 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dsend(result, 'codeUnitAt', 0), Uri[_SLASH]))) { 2630 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dsend(result, 'codeUnitAt', 0), Uri._SLASH))) {
2713 return `/${result}`; 2631 return `/${result}`;
2714 } 2632 }
2715 return dart.as(result, String); 2633 return dart.as(result, String);
2716 } 2634 }
2717 static [_makeQuery](query, start, end, queryParameters) { 2635 static _makeQuery(query, start, end, queryParameters) {
2718 if (query == null && dart.notNull(queryParameters == null)) 2636 if (query == null && dart.notNull(queryParameters == null))
2719 return null; 2637 return null;
2720 if (query != null && dart.notNull(queryParameters != null)) { 2638 if (query != null && dart.notNull(queryParameters != null)) {
2721 throw new ArgumentError('Both query and queryParameters specified'); 2639 throw new ArgumentError('Both query and queryParameters specified');
2722 } 2640 }
2723 if (query != null) 2641 if (query != null)
2724 return Uri[_normalize](query, start, end, dart.as(Uri[_queryCharTable], List$(int))); 2642 return Uri._normalize(query, start, end, dart.as(Uri._queryCharTable, Li st$(int)));
2725 let result = new StringBuffer(); 2643 let result = new StringBuffer();
2726 let first = true; 2644 let first = true;
2727 queryParameters.forEach((key, value) => { 2645 queryParameters.forEach((key, value) => {
2728 if (!dart.notNull(first)) { 2646 if (!dart.notNull(first)) {
2729 result.write("&"); 2647 result.write("&");
2730 } 2648 }
2731 first = false; 2649 first = false;
2732 result.write(Uri.encodeQueryComponent(dart.as(key, String))); 2650 result.write(Uri.encodeQueryComponent(dart.as(key, String)));
2733 if (dart.notNull(value != null) && dart.notNull(dart.dsend(dart.dload(va lue, 'isEmpty'), '!'))) { 2651 if (dart.notNull(value != null) && dart.notNull(dart.dsend(dart.dload(va lue, 'isEmpty'), '!'))) {
2734 result.write("="); 2652 result.write("=");
2735 result.write(Uri.encodeQueryComponent(dart.as(value, String))); 2653 result.write(Uri.encodeQueryComponent(dart.as(value, String)));
2736 } 2654 }
2737 }); 2655 });
2738 return dart.toString(result); 2656 return dart.toString(result);
2739 } 2657 }
2740 static [_makeFragment](fragment, start, end) { 2658 static _makeFragment(fragment, start, end) {
2741 if (fragment == null) 2659 if (fragment == null)
2742 return null; 2660 return null;
2743 return Uri[_normalize](fragment, start, end, dart.as(Uri[_queryCharTable], List$(int))); 2661 return Uri._normalize(fragment, start, end, dart.as(Uri._queryCharTable, L ist$(int)));
2744 } 2662 }
2745 static [_stringOrNullLength](s) { 2663 static _stringOrNullLength(s) {
2746 return s == null ? 0 : s.length; 2664 return s == null ? 0 : s.length;
2747 } 2665 }
2748 static [_isHexDigit](char) { 2666 static _isHexDigit(char) {
2749 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char)) 2667 if (dart.notNull(Uri._NINE) >= dart.notNull(char))
2750 return dart.notNull(Uri[_ZERO]) <= dart.notNull(char); 2668 return dart.notNull(Uri._ZERO) <= dart.notNull(char);
2751 char = dart.notNull(char) | 32; 2669 char = dart.notNull(char) | 32;
2752 return dart.notNull(Uri[_LOWER_CASE_A]) <= dart.notNull(char) && dart.notN ull(Uri[_LOWER_CASE_F]) >= dart.notNull(char); 2670 return dart.notNull(Uri._LOWER_CASE_A) <= dart.notNull(char) && dart.notNu ll(Uri._LOWER_CASE_F) >= dart.notNull(char);
2753 } 2671 }
2754 static [_hexValue](char) { 2672 static _hexValue(char) {
2755 dart.assert(Uri[_isHexDigit](char)); 2673 dart.assert(Uri._isHexDigit(char));
2756 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char)) 2674 if (dart.notNull(Uri._NINE) >= dart.notNull(char))
2757 return dart.notNull(char) - dart.notNull(Uri[_ZERO]); 2675 return dart.notNull(char) - dart.notNull(Uri._ZERO);
2758 char = dart.notNull(char) | 32; 2676 char = dart.notNull(char) | 32;
2759 return dart.notNull(char) - (dart.notNull(Uri[_LOWER_CASE_A]) - 10); 2677 return dart.notNull(char) - (dart.notNull(Uri._LOWER_CASE_A) - 10);
2760 } 2678 }
2761 static [_normalizeEscape](source, index, lowerCase) { 2679 static _normalizeEscape(source, index, lowerCase) {
2762 dart.assert(source.codeUnitAt(index) == Uri[_PERCENT]); 2680 dart.assert(source.codeUnitAt(index) == Uri._PERCENT);
2763 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) { 2681 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) {
2764 return "%"; 2682 return "%";
2765 } 2683 }
2766 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1); 2684 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1);
2767 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2); 2685 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2);
2768 if (!dart.notNull(Uri[_isHexDigit](firstDigit)) || !dart.notNull(Uri[_isHe xDigit](secondDigit))) { 2686 if (!dart.notNull(Uri._isHexDigit(firstDigit)) || !dart.notNull(Uri._isHex Digit(secondDigit))) {
2769 return "%"; 2687 return "%";
2770 } 2688 }
2771 let value = dart.notNull(Uri[_hexValue](firstDigit)) * 16 + dart.notNull(U ri[_hexValue](secondDigit)); 2689 let value = dart.notNull(Uri._hexValue(firstDigit)) * 16 + dart.notNull(Ur i._hexValue(secondDigit));
2772 if (Uri[_isUnreservedChar](value)) { 2690 if (Uri._isUnreservedChar(value)) {
2773 if (dart.notNull(lowerCase) && dart.notNull(Uri[_UPPER_CASE_A]) <= dart. notNull(value) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(value)) { 2691 if (dart.notNull(lowerCase) && dart.notNull(Uri._UPPER_CASE_A) <= dart.n otNull(value) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(value)) {
2774 value = dart.notNull(value) | 32; 2692 value = dart.notNull(value) | 32;
2775 } 2693 }
2776 return new String.fromCharCode(value); 2694 return new String.fromCharCode(value);
2777 } 2695 }
2778 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) { 2696 if (dart.notNull(firstDigit) >= dart.notNull(Uri._LOWER_CASE_A) || dart.no tNull(secondDigit) >= dart.notNull(Uri._LOWER_CASE_A)) {
2779 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); 2697 return source.substring(index, dart.notNull(index) + 3).toUpperCase();
2780 } 2698 }
2781 return null; 2699 return null;
2782 } 2700 }
2783 static [_isUnreservedChar](ch) { 2701 static _isUnreservedChar(ch) {
2784 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dsend(Uri[ _unreservedTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15 )), 0)); 2702 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dsend(Uri. _unreservedTable[$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0));
2785 } 2703 }
2786 static [_escapeChar](char) { 2704 static _escapeChar(char) {
2787 dart.assert(dart.dsend(char, '<=', 1114111)); 2705 dart.assert(dart.dsend(char, '<=', 1114111));
2788 let hexDigits = "0123456789ABCDEF"; 2706 let hexDigits = "0123456789ABCDEF";
2789 let codeUnits = null; 2707 let codeUnits = null;
2790 if (dart.dsend(char, '<', 128)) { 2708 if (dart.dsend(char, '<', 128)) {
2791 codeUnits = new List(3); 2709 codeUnits = new List(3);
2792 codeUnits[$set](0, Uri[_PERCENT]); 2710 codeUnits[$set](0, Uri._PERCENT);
2793 codeUnits[$set](1, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '>>', 4 ), int))); 2711 codeUnits[$set](1, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '>>', 4 ), int)));
2794 codeUnits[$set](2, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '&', 15 ), int))); 2712 codeUnits[$set](2, hexDigits.codeUnitAt(dart.as(dart.dsend(char, '&', 15 ), int)));
2795 } else { 2713 } else {
2796 let flag = 192; 2714 let flag = 192;
2797 let encodedBytes = 2; 2715 let encodedBytes = 2;
2798 if (dart.dsend(char, '>', 2047)) { 2716 if (dart.dsend(char, '>', 2047)) {
2799 flag = 224; 2717 flag = 224;
2800 encodedBytes = 3; 2718 encodedBytes = 3;
2801 if (dart.dsend(char, '>', 65535)) { 2719 if (dart.dsend(char, '>', 65535)) {
2802 encodedBytes = 4; 2720 encodedBytes = 4;
2803 flag = 240; 2721 flag = 240;
2804 } 2722 }
2805 } 2723 }
2806 codeUnits = new List(3 * dart.notNull(encodedBytes)); 2724 codeUnits = new List(3 * dart.notNull(encodedBytes));
2807 let index = 0; 2725 let index = 0;
2808 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { 2726 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
2809 let byte = dart.as(dart.dsend(dart.dsend(dart.dsend(char, '>>', 6 * da rt.notNull(encodedBytes)), '&', 63), '|', flag), int); 2727 let byte = dart.as(dart.dsend(dart.dsend(dart.dsend(char, '>>', 6 * da rt.notNull(encodedBytes)), '&', 63), '|', flag), int);
2810 codeUnits[$set](index, Uri[_PERCENT]); 2728 codeUnits[$set](index, Uri._PERCENT);
2811 codeUnits[$set](dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.not Null(byte) >> 4)); 2729 codeUnits[$set](dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.not Null(byte) >> 4));
2812 codeUnits[$set](dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.not Null(byte) & 15)); 2730 codeUnits[$set](dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.not Null(byte) & 15));
2813 index = dart.notNull(index) + 3; 2731 index = dart.notNull(index) + 3;
2814 flag = 128; 2732 flag = 128;
2815 } 2733 }
2816 } 2734 }
2817 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); 2735 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
2818 } 2736 }
2819 static [_normalize](component, start, end, charTable) { 2737 static _normalize(component, start, end, charTable) {
2820 let buffer = null; 2738 let buffer = null;
2821 let sectionStart = start; 2739 let sectionStart = start;
2822 let index = start; 2740 let index = start;
2823 while (dart.notNull(index) < dart.notNull(end)) { 2741 while (dart.notNull(index) < dart.notNull(end)) {
2824 let char = component.codeUnitAt(index); 2742 let char = component.codeUnitAt(index);
2825 if (dart.notNull(char) < 127 && (dart.notNull(charTable[$get](dart.notNu ll(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) { 2743 if (dart.notNull(char) < 127 && (dart.notNull(charTable[$get](dart.notNu ll(char) >> 4)) & 1 << (dart.notNull(char) & 15)) != 0) {
2826 index = dart.notNull(index) + 1; 2744 index = dart.notNull(index) + 1;
2827 } else { 2745 } else {
2828 let replacement = null; 2746 let replacement = null;
2829 let sourceLength = null; 2747 let sourceLength = null;
2830 if (char == Uri[_PERCENT]) { 2748 if (char == Uri._PERCENT) {
2831 replacement = Uri[_normalizeEscape](component, index, false); 2749 replacement = Uri._normalizeEscape(component, index, false);
2832 if (replacement == null) { 2750 if (replacement == null) {
2833 index = dart.notNull(index) + 3; 2751 index = dart.notNull(index) + 3;
2834 continue; 2752 continue;
2835 } 2753 }
2836 if ("%" == replacement) { 2754 if ("%" == replacement) {
2837 replacement = "%25"; 2755 replacement = "%25";
2838 sourceLength = 1; 2756 sourceLength = 1;
2839 } else { 2757 } else {
2840 sourceLength = 3; 2758 sourceLength = 3;
2841 } 2759 }
2842 } else if (Uri[_isGeneralDelimiter](char)) { 2760 } else if (Uri._isGeneralDelimiter(char)) {
2843 Uri[_fail](component, index, "Invalid character"); 2761 Uri._fail(component, index, "Invalid character");
2844 } else { 2762 } else {
2845 sourceLength = 1; 2763 sourceLength = 1;
2846 if ((dart.notNull(char) & 64512) == 55296) { 2764 if ((dart.notNull(char) & 64512) == 55296) {
2847 if (dart.notNull(index) + 1 < dart.notNull(end)) { 2765 if (dart.notNull(index) + 1 < dart.notNull(end)) {
2848 let tail = component.codeUnitAt(dart.notNull(index) + 1); 2766 let tail = component.codeUnitAt(dart.notNull(index) + 1);
2849 if ((dart.notNull(tail) & 64512) == 56320) { 2767 if ((dart.notNull(tail) & 64512) == 56320) {
2850 sourceLength = 2; 2768 sourceLength = 2;
2851 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul l(tail) & 1023; 2769 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul l(tail) & 1023;
2852 } 2770 }
2853 } 2771 }
2854 } 2772 }
2855 replacement = Uri[_escapeChar](char); 2773 replacement = Uri._escapeChar(char);
2856 } 2774 }
2857 if (buffer == null) 2775 if (buffer == null)
2858 buffer = new StringBuffer(); 2776 buffer = new StringBuffer();
2859 buffer.write(component.substring(sectionStart, index)); 2777 buffer.write(component.substring(sectionStart, index));
2860 buffer.write(replacement); 2778 buffer.write(replacement);
2861 index = dart.notNull(index) + dart.notNull(sourceLength); 2779 index = dart.notNull(index) + dart.notNull(sourceLength);
2862 sectionStart = index; 2780 sectionStart = index;
2863 } 2781 }
2864 } 2782 }
2865 if (buffer == null) { 2783 if (buffer == null) {
2866 return component.substring(start, end); 2784 return component.substring(start, end);
2867 } 2785 }
2868 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2786 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2869 buffer.write(component.substring(sectionStart, end)); 2787 buffer.write(component.substring(sectionStart, end));
2870 } 2788 }
2871 return dart.toString(buffer); 2789 return dart.toString(buffer);
2872 } 2790 }
2873 static [_isSchemeCharacter](ch) { 2791 static _isSchemeCharacter(ch) {
2874 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Uri[ _schemeTable][$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0)); 2792 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dsend(Uri. _schemeTable[$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0 ));
2875 } 2793 }
2876 static [_isGeneralDelimiter](ch) { 2794 static _isGeneralDelimiter(ch) {
2877 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dsend(Uri[_genDelimitersTable][$get](dart.notNull(ch) >> 4) , '&', 1 << (dart.notNull(ch) & 15)), 0)); 2795 return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && dart.notNul l(!dart.equals(dart.dsend(Uri._genDelimitersTable[$get](dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
2878 } 2796 }
2879 get isAbsolute() { 2797 get isAbsolute() {
2880 return this.scheme != "" && this.fragment == ""; 2798 return this.scheme != "" && this.fragment == "";
2881 } 2799 }
2882 [_merge](base, reference) { 2800 [_merge](base, reference) {
2883 if (base.isEmpty) 2801 if (base.isEmpty)
2884 return `/${reference}`; 2802 return `/${reference}`;
2885 let backCount = 0; 2803 let backCount = 0;
2886 let refStart = 0; 2804 let refStart = 0;
2887 while (reference.startsWith("../", refStart)) { 2805 while (reference.startsWith("../", refStart)) {
2888 refStart = dart.notNull(refStart) + 3; 2806 refStart = dart.notNull(refStart) + 3;
2889 backCount = dart.notNull(backCount) + 1; 2807 backCount = dart.notNull(backCount) + 1;
2890 } 2808 }
2891 let baseEnd = base.lastIndexOf('/'); 2809 let baseEnd = base.lastIndexOf('/');
2892 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) { 2810 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) {
2893 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1); 2811 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1);
2894 if (dart.notNull(newEnd) < 0) { 2812 if (dart.notNull(newEnd) < 0) {
2895 break; 2813 break;
2896 } 2814 }
2897 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd); 2815 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd);
2898 if ((delta == 2 || delta == 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) == Uri[_DOT] && (delta == 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) == Uri[_DOT])) { 2816 if ((delta == 2 || delta == 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) == Uri._DOT && (delta == 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) == U ri._DOT)) {
2899 break; 2817 break;
2900 } 2818 }
2901 baseEnd = newEnd; 2819 baseEnd = newEnd;
2902 backCount = dart.notNull(backCount) - 1; 2820 backCount = dart.notNull(backCount) - 1;
2903 } 2821 }
2904 return dart.notNull(base.substring(0, dart.notNull(baseEnd) + 1)) + dart.n otNull(reference.substring(dart.notNull(refStart) - 3 * dart.notNull(backCount)) ); 2822 return dart.notNull(base.substring(0, dart.notNull(baseEnd) + 1)) + dart.n otNull(reference.substring(dart.notNull(refStart) - 3 * dart.notNull(backCount)) );
2905 } 2823 }
2906 [_hasDotSegments](path) { 2824 [_hasDotSegments](path) {
2907 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) == Uri[_DOT]) 2825 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) == Uri._DOT)
2908 return true; 2826 return true;
2909 let index = path.indexOf("/."); 2827 let index = path.indexOf("/.");
2910 return index != -1; 2828 return index != -1;
2911 } 2829 }
2912 [_removeDotSegments](path) { 2830 [_removeDotSegments](path) {
2913 if (!dart.notNull(this[_hasDotSegments](path))) 2831 if (!dart.notNull(this[_hasDotSegments](path)))
2914 return path; 2832 return path;
2915 let output = dart.setType([], List$(String)); 2833 let output = dart.setType([], List$(String));
2916 let appendSlash = false; 2834 let appendSlash = false;
2917 for (let segment of path.split("/")) { 2835 for (let segment of path.split("/")) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2949 } 2867 }
2950 targetPath = this[_removeDotSegments](reference.path); 2868 targetPath = this[_removeDotSegments](reference.path);
2951 if (reference.hasQuery) { 2869 if (reference.hasQuery) {
2952 targetQuery = reference.query; 2870 targetQuery = reference.query;
2953 } 2871 }
2954 } else { 2872 } else {
2955 targetScheme = this.scheme; 2873 targetScheme = this.scheme;
2956 if (reference.hasAuthority) { 2874 if (reference.hasAuthority) {
2957 targetUserInfo = reference.userInfo; 2875 targetUserInfo = reference.userInfo;
2958 targetHost = reference.host; 2876 targetHost = reference.host;
2959 targetPort = Uri[_makePort](reference.hasPort ? reference.port : null, targetScheme); 2877 targetPort = Uri._makePort(reference.hasPort ? reference.port : null, targetScheme);
2960 targetPath = this[_removeDotSegments](reference.path); 2878 targetPath = this[_removeDotSegments](reference.path);
2961 if (reference.hasQuery) 2879 if (reference.hasQuery)
2962 targetQuery = reference.query; 2880 targetQuery = reference.query;
2963 } else { 2881 } else {
2964 if (reference.path == "") { 2882 if (reference.path == "") {
2965 targetPath = this[_path]; 2883 targetPath = this[_path];
2966 if (reference.hasQuery) { 2884 if (reference.hasQuery) {
2967 targetQuery = reference.query; 2885 targetQuery = reference.query;
2968 } else { 2886 } else {
2969 targetQuery = this[_query]; 2887 targetQuery = this[_query];
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
3013 if (this.scheme != "" && this.scheme != "file") { 2931 if (this.scheme != "" && this.scheme != "file") {
3014 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch eme} URI`); 2932 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch eme} URI`);
3015 } 2933 }
3016 if (this.query != "") { 2934 if (this.query != "") {
3017 throw new UnsupportedError("Cannot extract a file path from a URI with a query component"); 2935 throw new UnsupportedError("Cannot extract a file path from a URI with a query component");
3018 } 2936 }
3019 if (this.fragment != "") { 2937 if (this.fragment != "") {
3020 throw new UnsupportedError("Cannot extract a file path from a URI with a fragment component"); 2938 throw new UnsupportedError("Cannot extract a file path from a URI with a fragment component");
3021 } 2939 }
3022 if (windows == null) 2940 if (windows == null)
3023 windows = Uri[_isWindows]; 2941 windows = Uri._isWindows;
3024 return windows ? this[_toWindowsFilePath]() : this[_toFilePath](); 2942 return windows ? this[_toWindowsFilePath]() : this[_toFilePath]();
3025 } 2943 }
3026 [_toFilePath]() { 2944 [_toFilePath]() {
3027 if (this.host != "") { 2945 if (this.host != "") {
3028 throw new UnsupportedError("Cannot extract a non-Windows file path from a file URI " + "with an authority"); 2946 throw new UnsupportedError("Cannot extract a non-Windows file path from a file URI " + "with an authority");
3029 } 2947 }
3030 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false); 2948 Uri._checkNonWindowsPathReservedCharacters(this.pathSegments, false);
3031 let result = new StringBuffer(); 2949 let result = new StringBuffer();
3032 if (this[_isPathAbsolute]) 2950 if (this[_isPathAbsolute])
3033 result.write("/"); 2951 result.write("/");
3034 result.writeAll(this.pathSegments, "/"); 2952 result.writeAll(this.pathSegments, "/");
3035 return dart.toString(result); 2953 return dart.toString(result);
3036 } 2954 }
3037 [_toWindowsFilePath]() { 2955 [_toWindowsFilePath]() {
3038 let hasDriveLetter = false; 2956 let hasDriveLetter = false;
3039 let segments = this.pathSegments; 2957 let segments = this.pathSegments;
3040 if (dart.notNull(segments[$length]) > 0 && segments[$get](0).length == 2 & & segments[$get](0).codeUnitAt(1) == Uri[_COLON]) { 2958 if (dart.notNull(segments[$length]) > 0 && segments[$get](0).length == 2 & & segments[$get](0).codeUnitAt(1) == Uri._COLON) {
3041 Uri[_checkWindowsDriveLetter](segments[$get](0).codeUnitAt(0), false); 2959 Uri._checkWindowsDriveLetter(segments[$get](0).codeUnitAt(0), false);
3042 Uri[_checkWindowsPathReservedCharacters](segments, false, 1); 2960 Uri._checkWindowsPathReservedCharacters(segments, false, 1);
3043 hasDriveLetter = true; 2961 hasDriveLetter = true;
3044 } else { 2962 } else {
3045 Uri[_checkWindowsPathReservedCharacters](segments, false); 2963 Uri._checkWindowsPathReservedCharacters(segments, false);
3046 } 2964 }
3047 let result = new StringBuffer(); 2965 let result = new StringBuffer();
3048 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) 2966 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter))
3049 result.write("\\"); 2967 result.write("\\");
3050 if (this.host != "") { 2968 if (this.host != "") {
3051 result.write("\\"); 2969 result.write("\\");
3052 result.write(this.host); 2970 result.write(this.host);
3053 result.write("\\"); 2971 result.write("\\");
3054 } 2972 }
3055 result.writeAll(segments, "\\"); 2973 result.writeAll(segments, "\\");
(...skipping 13 matching lines...) Expand all
3069 } 2987 }
3070 if (this[_host] != null) 2988 if (this[_host] != null)
3071 ss.write(this[_host]); 2989 ss.write(this[_host]);
3072 if (this[_port] != null) { 2990 if (this[_port] != null) {
3073 ss.write(":"); 2991 ss.write(":");
3074 ss.write(this[_port]); 2992 ss.write(this[_port]);
3075 } 2993 }
3076 } 2994 }
3077 toString() { 2995 toString() {
3078 let sb = new StringBuffer(); 2996 let sb = new StringBuffer();
3079 Uri[_addIfNonEmpty](sb, this.scheme, this.scheme, ':'); 2997 Uri._addIfNonEmpty(sb, this.scheme, this.scheme, ':');
3080 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith(" //")) || this.scheme == "file") { 2998 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith(" //")) || this.scheme == "file") {
3081 sb.write("//"); 2999 sb.write("//");
3082 this[_writeAuthority](sb); 3000 this[_writeAuthority](sb);
3083 } 3001 }
3084 sb.write(this.path); 3002 sb.write(this.path);
3085 if (this[_query] != null) { 3003 if (this[_query] != null) {
3086 sb.write("?"); 3004 sb.write("?");
3087 sb.write(this[_query]); 3005 sb.write(this[_query]);
3088 } 3006 }
3089 if (this[_fragment] != null) { 3007 if (this[_fragment] != null) {
3090 sb.write("#"); 3008 sb.write("#");
3091 sb.write(this[_fragment]); 3009 sb.write(this[_fragment]);
3092 } 3010 }
3093 return dart.toString(sb); 3011 return dart.toString(sb);
3094 } 3012 }
3095 ['=='](other) { 3013 ['=='](other) {
3096 if (!dart.is(other, Uri)) 3014 if (!dart.is(other, Uri))
3097 return false; 3015 return false;
3098 let uri = dart.as(other, Uri); 3016 let uri = dart.as(other, Uri);
3099 return this.scheme == uri.scheme && this.hasAuthority == uri.hasAuthority && this.userInfo == uri.userInfo && this.host == uri.host && this.port == uri.po rt && this.path == uri.path && this.hasQuery == uri.hasQuery && this.query == ur i.query && this.hasFragment == uri.hasFragment && this.fragment == uri.fragment; 3017 return this.scheme == uri.scheme && this.hasAuthority == uri.hasAuthority && this.userInfo == uri.userInfo && this.host == uri.host && this.port == uri.po rt && this.path == uri.path && this.hasQuery == uri.hasQuery && this.query == ur i.query && this.hasFragment == uri.hasFragment && this.fragment == uri.fragment;
3100 } 3018 }
3101 get hashCode() { 3019 get hashCode() {
3102 // Function combine: (dynamic, dynamic) → int 3020 // Function combine: (dynamic, dynamic) → int
3103 function combine(part, current) { 3021 function combine(part, current) {
3104 return dart.as(dart.dsend(dart.dsend(dart.dsend(current, '*', 31), '+', dart.hashCode(part)), '&', 1073741823), int); 3022 return dart.as(dart.dsend(dart.dsend(dart.dsend(current, '*', 31), '+', dart.hashCode(part)), '&', 1073741823), int);
3105 } 3023 }
3106 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1)) ))))); 3024 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1)) )))));
3107 } 3025 }
3108 static [_addIfNonEmpty](sb, test, first, second) { 3026 static _addIfNonEmpty(sb, test, first, second) {
3109 if ("" != test) { 3027 if ("" != test) {
3110 sb.write(first); 3028 sb.write(first);
3111 sb.write(second); 3029 sb.write(second);
3112 } 3030 }
3113 } 3031 }
3114 static encodeComponent(component) { 3032 static encodeComponent(component) {
3115 return Uri[_uriEncode](dart.as(Uri[_unreserved2396Table], List$(int)), com ponent); 3033 return Uri._uriEncode(dart.as(Uri._unreserved2396Table, List$(int)), compo nent);
3116 } 3034 }
3117 static encodeQueryComponent(component, opts) { 3035 static encodeQueryComponent(component, opts) {
3118 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3036 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
3119 return Uri[_uriEncode](dart.as(Uri[_unreservedTable], List$(int)), compone nt, {encoding: encoding, spaceToPlus: true}); 3037 return Uri._uriEncode(dart.as(Uri._unreservedTable, List$(int)), component , {encoding: encoding, spaceToPlus: true});
3120 } 3038 }
3121 static decodeComponent(encodedComponent) { 3039 static decodeComponent(encodedComponent) {
3122 return Uri[_uriDecode](encodedComponent); 3040 return Uri._uriDecode(encodedComponent);
3123 } 3041 }
3124 static decodeQueryComponent(encodedComponent, opts) { 3042 static decodeQueryComponent(encodedComponent, opts) {
3125 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3043 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
3126 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding}); 3044 return Uri._uriDecode(encodedComponent, {plusToSpace: true, encoding: enco ding});
3127 } 3045 }
3128 static encodeFull(uri) { 3046 static encodeFull(uri) {
3129 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri); 3047 return Uri._uriEncode(dart.as(Uri._encodeFullTable, List$(int)), uri);
3130 } 3048 }
3131 static decodeFull(uri) { 3049 static decodeFull(uri) {
3132 return Uri[_uriDecode](uri); 3050 return Uri._uriDecode(uri);
3133 } 3051 }
3134 static splitQueryString(query, opts) { 3052 static splitQueryString(query, opts) {
3135 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3053 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
3136 return dart.as(query.split("&")[$fold](dart.map(), (map, element) => { 3054 return dart.as(query.split("&")[$fold](dart.map(), (map, element) => {
3137 let index = dart.as(dart.dsend(element, 'indexOf', "="), int); 3055 let index = dart.as(dart.dsend(element, 'indexOf', "="), int);
3138 if (index == -1) { 3056 if (index == -1) {
3139 if (!dart.equals(element, "")) { 3057 if (!dart.equals(element, "")) {
3140 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), ""); 3058 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), "");
3141 } 3059 }
3142 } else if (index != 0) { 3060 } else if (index != 0) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
3187 error('each part must be in the range of `0x0..0xFFFF`', start); 3105 error('each part must be in the range of `0x0..0xFFFF`', start);
3188 } 3106 }
3189 return value; 3107 return value;
3190 } 3108 }
3191 if (dart.notNull(host.length) < 2) 3109 if (dart.notNull(host.length) < 2)
3192 error('address is too short'); 3110 error('address is too short');
3193 let parts = dart.setType([], List$(int)); 3111 let parts = dart.setType([], List$(int));
3194 let wildcardSeen = false; 3112 let wildcardSeen = false;
3195 let partStart = start; 3113 let partStart = start;
3196 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 3114 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
3197 if (host.codeUnitAt(i) == Uri[_COLON]) { 3115 if (host.codeUnitAt(i) == Uri._COLON) {
3198 if (i == start) { 3116 if (i == start) {
3199 i = dart.notNull(i) + 1; 3117 i = dart.notNull(i) + 1;
3200 if (host.codeUnitAt(i) != Uri[_COLON]) { 3118 if (host.codeUnitAt(i) != Uri._COLON) {
3201 error('invalid start colon.', i); 3119 error('invalid start colon.', i);
3202 } 3120 }
3203 partStart = i; 3121 partStart = i;
3204 } 3122 }
3205 if (i == partStart) { 3123 if (i == partStart) {
3206 if (wildcardSeen) { 3124 if (wildcardSeen) {
3207 error('only one wildcard `::` is allowed', i); 3125 error('only one wildcard `::` is allowed', i);
3208 } 3126 }
3209 wildcardSeen = true; 3127 wildcardSeen = true;
3210 parts[$add](-1); 3128 parts[$add](-1);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
3254 index = dart.notNull(index) + 2; 3172 index = dart.notNull(index) + 2;
3255 } 3173 }
3256 } else { 3174 } else {
3257 bytes[$set](index, dart.notNull(value) >> 8); 3175 bytes[$set](index, dart.notNull(value) >> 8);
3258 bytes[$set](dart.notNull(index) + 1, dart.notNull(value) & 255); 3176 bytes[$set](dart.notNull(index) + 1, dart.notNull(value) & 255);
3259 index = dart.notNull(index) + 2; 3177 index = dart.notNull(index) + 2;
3260 } 3178 }
3261 } 3179 }
3262 return dart.as(bytes, List$(int)); 3180 return dart.as(bytes, List$(int));
3263 } 3181 }
3264 static [_uriEncode](canonicalTable, text, opts) { 3182 static _uriEncode(canonicalTable, text, opts) {
3265 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3183 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
3266 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ; 3184 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ;
3267 // Function byteToHex: (dynamic, dynamic) → dynamic 3185 // Function byteToHex: (dynamic, dynamic) → dynamic
3268 function byteToHex(byte, buffer) { 3186 function byteToHex(byte, buffer) {
3269 let hex = '0123456789ABCDEF'; 3187 let hex = '0123456789ABCDEF';
3270 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '>>', 4), int))); 3188 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '>>', 4), int)));
3271 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '&', 15), int))); 3189 dart.dsend(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dsend(by te, '&', 15), int)));
3272 } 3190 }
3273 let result = new StringBuffer(); 3191 let result = new StringBuffer();
3274 let bytes = encoding.encode(text); 3192 let bytes = encoding.encode(text);
3275 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[$length]); i = dart.n otNull(i) + 1) { 3193 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[$length]); i = dart.n otNull(i) + 1) {
3276 let byte = bytes[$get](i); 3194 let byte = bytes[$get](i);
3277 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[$get](dart. notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) { 3195 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable[$get](dart. notNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) != 0) {
3278 result.writeCharCode(byte); 3196 result.writeCharCode(byte);
3279 } else if (dart.notNull(spaceToPlus) && byte == Uri[_SPACE]) { 3197 } else if (dart.notNull(spaceToPlus) && byte == Uri._SPACE) {
3280 result.writeCharCode(Uri[_PLUS]); 3198 result.writeCharCode(Uri._PLUS);
3281 } else { 3199 } else {
3282 result.writeCharCode(Uri[_PERCENT]); 3200 result.writeCharCode(Uri._PERCENT);
3283 byteToHex(byte, result); 3201 byteToHex(byte, result);
3284 } 3202 }
3285 } 3203 }
3286 return dart.toString(result); 3204 return dart.toString(result);
3287 } 3205 }
3288 static [_hexCharPairToByte](s, pos) { 3206 static _hexCharPairToByte(s, pos) {
3289 let byte = 0; 3207 let byte = 0;
3290 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) { 3208 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) {
3291 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i)); 3209 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i));
3292 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) { 3210 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) {
3293 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48; 3211 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48;
3294 } else { 3212 } else {
3295 charCode = dart.notNull(charCode) | 32; 3213 charCode = dart.notNull(charCode) | 32;
3296 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) { 3214 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) {
3297 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87; 3215 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87;
3298 } else { 3216 } else {
3299 throw new ArgumentError("Invalid URL encoding"); 3217 throw new ArgumentError("Invalid URL encoding");
3300 } 3218 }
3301 } 3219 }
3302 } 3220 }
3303 return byte; 3221 return byte;
3304 } 3222 }
3305 static [_uriDecode](text, opts) { 3223 static _uriDecode(text, opts) {
3306 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false ; 3224 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false ;
3307 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 3225 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
3308 let simple = true; 3226 let simple = true;
3309 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); i = dart.notNull(i) + 1) { 3227 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); i = dart.notNull(i) + 1) {
3310 let codeUnit = text.codeUnitAt(i); 3228 let codeUnit = text.codeUnitAt(i);
3311 simple = codeUnit != Uri[_PERCENT] && codeUnit != Uri[_PLUS]; 3229 simple = codeUnit != Uri._PERCENT && codeUnit != Uri._PLUS;
3312 } 3230 }
3313 let bytes = null; 3231 let bytes = null;
3314 if (simple) { 3232 if (simple) {
3315 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) { 3233 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) {
3316 return text; 3234 return text;
3317 } else { 3235 } else {
3318 bytes = text.codeUnits; 3236 bytes = text.codeUnits;
3319 } 3237 }
3320 } else { 3238 } else {
3321 bytes = new (List$(int))(); 3239 bytes = new (List$(int))();
3322 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) { 3240 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) {
3323 let codeUnit = text.codeUnitAt(i); 3241 let codeUnit = text.codeUnitAt(i);
3324 if (dart.notNull(codeUnit) > 127) { 3242 if (dart.notNull(codeUnit) > 127) {
3325 throw new ArgumentError("Illegal percent encoding in URI"); 3243 throw new ArgumentError("Illegal percent encoding in URI");
3326 } 3244 }
3327 if (codeUnit == Uri[_PERCENT]) { 3245 if (codeUnit == Uri._PERCENT) {
3328 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { 3246 if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
3329 throw new ArgumentError('Truncated URI'); 3247 throw new ArgumentError('Truncated URI');
3330 } 3248 }
3331 bytes[$add](Uri[_hexCharPairToByte](text, dart.notNull(i) + 1)); 3249 bytes[$add](Uri._hexCharPairToByte(text, dart.notNull(i) + 1));
3332 i = dart.notNull(i) + 2; 3250 i = dart.notNull(i) + 2;
3333 } else if (dart.notNull(plusToSpace) && codeUnit == Uri[_PLUS]) { 3251 } else if (dart.notNull(plusToSpace) && codeUnit == Uri._PLUS) {
3334 bytes[$add](Uri[_SPACE]); 3252 bytes[$add](Uri._SPACE);
3335 } else { 3253 } else {
3336 bytes[$add](codeUnit); 3254 bytes[$add](codeUnit);
3337 } 3255 }
3338 } 3256 }
3339 } 3257 }
3340 return encoding.decode(bytes); 3258 return encoding.decode(bytes);
3341 } 3259 }
3342 static [_isAlphabeticCharacter](codeUnit) { 3260 static _isAlphabeticCharacter(codeUnit) {
3343 return dart.notNull(codeUnit) >= dart.notNull(Uri[_LOWER_CASE_A]) && dart. notNull(codeUnit) <= dart.notNull(Uri[_LOWER_CASE_Z]) || dart.notNull(codeUnit) >= dart.notNull(Uri[_UPPER_CASE_A]) && dart.notNull(codeUnit) <= dart.notNull(Ur i[_UPPER_CASE_Z]); 3261 return dart.notNull(codeUnit) >= dart.notNull(Uri._LOWER_CASE_A) && dart.n otNull(codeUnit) <= dart.notNull(Uri._LOWER_CASE_Z) || dart.notNull(codeUnit) >= dart.notNull(Uri._UPPER_CASE_A) && dart.notNull(codeUnit) <= dart.notNull(Uri._ UPPER_CASE_Z);
3344 } 3262 }
3345 } 3263 }
3346 dart.defineNamedConstructor(Uri, _internal$); 3264 dart.defineNamedConstructor(Uri, '_internal');
3347 dart.defineNamedConstructor(Uri, 'http'); 3265 dart.defineNamedConstructor(Uri, 'http');
3348 dart.defineNamedConstructor(Uri, 'https'); 3266 dart.defineNamedConstructor(Uri, 'https');
3349 dart.defineNamedConstructor(Uri, 'file'); 3267 dart.defineNamedConstructor(Uri, 'file');
3350 Uri._SPACE = 32; 3268 Uri._SPACE = 32;
3351 Uri._DOUBLE_QUOTE = 34; 3269 Uri._DOUBLE_QUOTE = 34;
3352 Uri._NUMBER_SIGN = 35; 3270 Uri._NUMBER_SIGN = 35;
3353 Uri._PERCENT = 37; 3271 Uri._PERCENT = 37;
3354 Uri._ASTERISK = 42; 3272 Uri._ASTERISK = 42;
3355 Uri._PLUS = 43; 3273 Uri._PLUS = 43;
3356 Uri._DOT = 46; 3274 Uri._DOT = 46;
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
3525 exports.StackTrace = StackTrace; 3443 exports.StackTrace = StackTrace;
3526 exports.Stopwatch = Stopwatch; 3444 exports.Stopwatch = Stopwatch;
3527 exports.String = String; 3445 exports.String = String;
3528 exports.RuneIterator = RuneIterator; 3446 exports.RuneIterator = RuneIterator;
3529 exports.StringBuffer = StringBuffer; 3447 exports.StringBuffer = StringBuffer;
3530 exports.StringSink = StringSink; 3448 exports.StringSink = StringSink;
3531 exports.Symbol = Symbol; 3449 exports.Symbol = Symbol;
3532 exports.Type = Type; 3450 exports.Type = Type;
3533 exports.Uri = Uri; 3451 exports.Uri = Uri;
3534 })(core || (core = {})); 3452 })(core || (core = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/convert.js ('k') | lib/runtime/dart/isolate.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698