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

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

Issue 1034273003: fix for static methods and names banned in strict mode (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« 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 var name = this.constructor.name; 6 var name = this.constructor.name;
7 var init = this[name]; 7 var init = this[name];
8 var result = void 0; 8 var result = void 0;
9 if (init) 9 if (init)
10 result = init.apply(this, arguments); 10 result = init.apply(this, arguments$);
11 return result === void 0 ? this : result; 11 return result === void 0 ? this : result;
12 } 12 }
13 ['=='](other) { 13 ['=='](other) {
14 return identical(this, other); 14 return identical(this, other);
15 } 15 }
16 get hashCode() { 16 get hashCode() {
17 return _js_helper.Primitives.objectHashCode(this); 17 return _js_helper.Primitives.objectHashCode(this);
18 } 18 }
19 toString() { 19 toString() {
20 return _js_helper.Primitives.objectToString(this); 20 return _js_helper.Primitives.objectToString(this);
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
57 dart.defineNamedConstructor(bool, 'fromEnvironment'); 57 dart.defineNamedConstructor(bool, 'fromEnvironment');
58 let Comparable$ = dart.generic(function(T) { 58 let Comparable$ = dart.generic(function(T) {
59 class Comparable extends Object { 59 class Comparable extends Object {
60 static compare(a, b) { 60 static compare(a, b) {
61 return a.compareTo(b); 61 return a.compareTo(b);
62 } 62 }
63 } 63 }
64 return Comparable; 64 return Comparable;
65 }); 65 });
66 let Comparable = Comparable$(dart.dynamic); 66 let Comparable = Comparable$(dart.dynamic);
67 let _fourDigits$ = dart.JsSymbol('_fourDigits'); 67 let _brokenDownDateToMillisecondsSinceEpoch = dart.JsSymbol('_brokenDownDateTo MillisecondsSinceEpoch');
68 let _sixDigits$ = dart.JsSymbol('_sixDigits'); 68 let _MAX_MILLISECONDS_SINCE_EPOCH = dart.JsSymbol('_MAX_MILLISECONDS_SINCE_EPO CH');
69 let _threeDigits$ = dart.JsSymbol('_threeDigits'); 69 let _fourDigits = dart.JsSymbol('_fourDigits');
70 let _twoDigits$ = dart.JsSymbol('_twoDigits'); 70 let _sixDigits = dart.JsSymbol('_sixDigits');
71 let _brokenDownDateToMillisecondsSinceEpoch$ = dart.JsSymbol('_brokenDownDateT oMillisecondsSinceEpoch'); 71 let _threeDigits = dart.JsSymbol('_threeDigits');
72 let _twoDigits = dart.JsSymbol('_twoDigits');
73 let _internal$ = dart.JsSymbol('_internal');
74 let _now = dart.JsSymbol('_now');
72 class DateTime extends Object { 75 class DateTime extends Object {
73 DateTime(year, month, day, hour, minute, second, millisecond) { 76 DateTime(year, month, day, hour, minute, second, millisecond) {
74 if (month === void 0) 77 if (month === void 0)
75 month = 1; 78 month = 1;
76 if (day === void 0) 79 if (day === void 0)
77 day = 1; 80 day = 1;
78 if (hour === void 0) 81 if (hour === void 0)
79 hour = 0; 82 hour = 0;
80 if (minute === void 0) 83 if (minute === void 0)
81 minute = 0; 84 minute = 0;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 if (match.get(8) !== null) { 138 if (match.get(8) !== null) {
136 isUtc = true; 139 isUtc = true;
137 if (match.get(9) !== null) { 140 if (match.get(9) !== null) {
138 let sign = dart.equals(match.get(9), '-') ? -1 : 1; 141 let sign = dart.equals(match.get(9), '-') ? -1 : 1;
139 let hourDifference = int.parse(match.get(10)); 142 let hourDifference = int.parse(match.get(10));
140 let minuteDifference = parseIntOrZero(match.get(11)); 143 let minuteDifference = parseIntOrZero(match.get(11));
141 minuteDifference = 60 * dart.notNull(hourDifference); 144 minuteDifference = 60 * dart.notNull(hourDifference);
142 minute = dart.notNull(sign) * dart.notNull(minuteDifference); 145 minute = dart.notNull(sign) * dart.notNull(minuteDifference);
143 } 146 }
144 } 147 }
145 let millisecondsSinceEpoch = _brokenDownDateToMillisecondsSinceEpoch(yea rs, month, day, hour, minute, second, millisecond, isUtc); 148 let millisecondsSinceEpoch = DateTime[_brokenDownDateToMillisecondsSince Epoch](years, month, day, hour, minute, second, millisecond, isUtc);
146 if (millisecondsSinceEpoch === null) { 149 if (millisecondsSinceEpoch === null) {
147 throw new FormatException("Time out of range", formattedString); 150 throw new FormatException("Time out of range", formattedString);
148 } 151 }
149 if (addOneMillisecond) 152 if (addOneMillisecond)
150 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1; 153 millisecondsSinceEpoch = dart.notNull(millisecondsSinceEpoch) + 1;
151 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc}); 154 return new DateTime.fromMillisecondsSinceEpoch(millisecondsSinceEpoch, { isUtc: isUtc});
152 } else { 155 } else {
153 throw new FormatException("Invalid date format", formattedString); 156 throw new FormatException("Invalid date format", formattedString);
154 } 157 }
155 } 158 }
156 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) { 159 DateTime$fromMillisecondsSinceEpoch(millisecondsSinceEpoch, opts) {
157 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false; 160 let isUtc = opts && 'isUtc' in opts ? opts.isUtc : false;
158 this.millisecondsSinceEpoch = millisecondsSinceEpoch; 161 this.millisecondsSinceEpoch = millisecondsSinceEpoch;
159 this.isUtc = isUtc; 162 this.isUtc = isUtc;
160 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime._MA X_MILLISECONDS_SINCE_EPOCH)) { 163 if (dart.notNull(millisecondsSinceEpoch.abs()) > dart.notNull(DateTime[_MA X_MILLISECONDS_SINCE_EPOCH])) {
161 throw new ArgumentError(millisecondsSinceEpoch); 164 throw new ArgumentError(millisecondsSinceEpoch);
162 } 165 }
163 if (isUtc === null) 166 if (isUtc === null)
164 throw new ArgumentError(isUtc); 167 throw new ArgumentError(isUtc);
165 } 168 }
166 ['=='](other) { 169 ['=='](other) {
167 if (!dart.notNull(dart.is(other, DateTime))) 170 if (!dart.notNull(dart.is(other, DateTime)))
168 return false; 171 return false;
169 return this.millisecondsSinceEpoch === dart.dload(other, 'millisecondsSinc eEpoch') && this.isUtc === dart.dload(other, 'isUtc'); 172 return this.millisecondsSinceEpoch === dart.dload(other, 'millisecondsSinc eEpoch') && this.isUtc === dart.dload(other, 'isUtc');
170 } 173 }
(...skipping 16 matching lines...) Expand all
187 if (this.isUtc) { 190 if (this.isUtc) {
188 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo ch, {isUtc: false}); 191 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpo ch, {isUtc: false});
189 } 192 }
190 return this; 193 return this;
191 } 194 }
192 toUtc() { 195 toUtc() {
193 if (this.isUtc) 196 if (this.isUtc)
194 return this; 197 return this;
195 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch , {isUtc: true}); 198 return new DateTime.fromMillisecondsSinceEpoch(this.millisecondsSinceEpoch , {isUtc: true});
196 } 199 }
197 static [_fourDigits$](n) { 200 static [_fourDigits](n) {
198 let absN = n.abs(); 201 let absN = n.abs();
199 let sign = dart.notNull(n) < 0 ? "-" : ""; 202 let sign = dart.notNull(n) < 0 ? "-" : "";
200 if (dart.notNull(absN) >= 1000) 203 if (dart.notNull(absN) >= 1000)
201 return `${n}`; 204 return `${n}`;
202 if (dart.notNull(absN) >= 100) 205 if (dart.notNull(absN) >= 100)
203 return `${sign}0${absN}`; 206 return `${sign}0${absN}`;
204 if (dart.notNull(absN) >= 10) 207 if (dart.notNull(absN) >= 10)
205 return `${sign}00${absN}`; 208 return `${sign}00${absN}`;
206 return `${sign}000${absN}`; 209 return `${sign}000${absN}`;
207 } 210 }
208 static [_sixDigits$](n) { 211 static [_sixDigits](n) {
209 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999); 212 dart.assert(dart.notNull(n) < -9999 || dart.notNull(n) > 9999);
210 let absN = n.abs(); 213 let absN = n.abs();
211 let sign = dart.notNull(n) < 0 ? "-" : "+"; 214 let sign = dart.notNull(n) < 0 ? "-" : "+";
212 if (dart.notNull(absN) >= 100000) 215 if (dart.notNull(absN) >= 100000)
213 return `${sign}${absN}`; 216 return `${sign}${absN}`;
214 return `${sign}0${absN}`; 217 return `${sign}0${absN}`;
215 } 218 }
216 static [_threeDigits$](n) { 219 static [_threeDigits](n) {
217 if (dart.notNull(n) >= 100) 220 if (dart.notNull(n) >= 100)
218 return `${n}`; 221 return `${n}`;
219 if (dart.notNull(n) >= 10) 222 if (dart.notNull(n) >= 10)
220 return `0${n}`; 223 return `0${n}`;
221 return `00${n}`; 224 return `00${n}`;
222 } 225 }
223 static [_twoDigits$](n) { 226 static [_twoDigits](n) {
224 if (dart.notNull(n) >= 10) 227 if (dart.notNull(n) >= 10)
225 return `${n}`; 228 return `${n}`;
226 return `0${n}`; 229 return `0${n}`;
227 } 230 }
228 toString() { 231 toString() {
229 let y = _fourDigits(this.year); 232 let y = DateTime[_fourDigits](this.year);
230 let m = _twoDigits(this.month); 233 let m = DateTime[_twoDigits](this.month);
231 let d = _twoDigits(this.day); 234 let d = DateTime[_twoDigits](this.day);
232 let h = _twoDigits(this.hour); 235 let h = DateTime[_twoDigits](this.hour);
233 let min = _twoDigits(this.minute); 236 let min = DateTime[_twoDigits](this.minute);
234 let sec = _twoDigits(this.second); 237 let sec = DateTime[_twoDigits](this.second);
235 let ms = _threeDigits(this.millisecond); 238 let ms = DateTime[_threeDigits](this.millisecond);
236 if (this.isUtc) { 239 if (this.isUtc) {
237 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`; 240 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}Z`;
238 } else { 241 } else {
239 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`; 242 return `${y}-${m}-${d} ${h}:${min}:${sec}.${ms}`;
240 } 243 }
241 } 244 }
242 toIso8601String() { 245 toIso8601String() {
243 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999 9 ? _fourDigits(this.year) : _sixDigits(this.year); 246 let y = dart.notNull(this.year) >= -9999 && dart.notNull(this.year) <= 999 9 ? DateTime[_fourDigits](this.year) : DateTime[_sixDigits](this.year);
244 let m = _twoDigits(this.month); 247 let m = DateTime[_twoDigits](this.month);
245 let d = _twoDigits(this.day); 248 let d = DateTime[_twoDigits](this.day);
246 let h = _twoDigits(this.hour); 249 let h = DateTime[_twoDigits](this.hour);
247 let min = _twoDigits(this.minute); 250 let min = DateTime[_twoDigits](this.minute);
248 let sec = _twoDigits(this.second); 251 let sec = DateTime[_twoDigits](this.second);
249 let ms = _threeDigits(this.millisecond); 252 let ms = DateTime[_threeDigits](this.millisecond);
250 if (this.isUtc) { 253 if (this.isUtc) {
251 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`; 254 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}Z`;
252 } else { 255 } else {
253 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`; 256 return `${y}-${m}-${d}T${h}:${min}:${sec}.${ms}`;
254 } 257 }
255 } 258 }
256 add(duration) { 259 add(duration) {
257 let ms = this.millisecondsSinceEpoch; 260 let ms = this.millisecondsSinceEpoch;
258 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc}); 261 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) + dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc});
259 } 262 }
260 subtract(duration) { 263 subtract(duration) {
261 let ms = this.millisecondsSinceEpoch; 264 let ms = this.millisecondsSinceEpoch;
262 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc}); 265 return new DateTime.fromMillisecondsSinceEpoch(dart.notNull(ms) - dart.not Null(duration.inMilliseconds), {isUtc: this.isUtc});
263 } 266 }
264 difference(other) { 267 difference(other) {
265 let ms = this.millisecondsSinceEpoch; 268 let ms = this.millisecondsSinceEpoch;
266 let otherMs = other.millisecondsSinceEpoch; 269 let otherMs = other.millisecondsSinceEpoch;
267 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs )}); 270 return new Duration({milliseconds: dart.notNull(ms) - dart.notNull(otherMs )});
268 } 271 }
269 DateTime$_internal(year, month, day, hour, minute, second, millisecond, isUt c) { 272 DateTime$_internal(year, month, day, hour, minute, second, millisecond, isUt c) {
270 this.isUtc = typeof isUtc == boolean ? isUtc : dart.throw_(new ArgumentErr or(isUtc)); 273 this.isUtc = typeof isUtc == boolean ? isUtc : dart.throw_(new ArgumentErr or(isUtc));
271 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon d, isUtc)), int); 274 this.millisecondsSinceEpoch = dart.as(_js_helper.checkInt(_js_helper.Primi tives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecon d, isUtc)), int);
272 } 275 }
273 DateTime$_now() { 276 DateTime$_now() {
274 this.isUtc = false; 277 this.isUtc = false;
275 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow(); 278 this.millisecondsSinceEpoch = _js_helper.Primitives.dateNow();
276 } 279 }
277 static [_brokenDownDateToMillisecondsSinceEpoch$](year, month, day, hour, mi nute, second, millisecond, isUtc) { 280 static [_brokenDownDateToMillisecondsSinceEpoch](year, month, day, hour, min ute, second, millisecond, isUtc) {
278 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int); 281 return dart.as(_js_helper.Primitives.valueFromDecomposedDate(year, month, day, hour, minute, second, millisecond, isUtc), int);
279 } 282 }
280 get timeZoneName() { 283 get timeZoneName() {
281 if (this.isUtc) 284 if (this.isUtc)
282 return "UTC"; 285 return "UTC";
283 return _js_helper.Primitives.getTimeZoneName(this); 286 return _js_helper.Primitives.getTimeZoneName(this);
284 } 287 }
285 get timeZoneOffset() { 288 get timeZoneOffset() {
286 if (this.isUtc) 289 if (this.isUtc)
287 return new Duration(); 290 return new Duration();
(...skipping 20 matching lines...) Expand all
308 get millisecond() { 311 get millisecond() {
309 return dart.as(_js_helper.Primitives.getMilliseconds(this), int); 312 return dart.as(_js_helper.Primitives.getMilliseconds(this), int);
310 } 313 }
311 get weekday() { 314 get weekday() {
312 return dart.as(_js_helper.Primitives.getWeekday(this), int); 315 return dart.as(_js_helper.Primitives.getWeekday(this), int);
313 } 316 }
314 } 317 }
315 dart.defineNamedConstructor(DateTime, 'utc'); 318 dart.defineNamedConstructor(DateTime, 'utc');
316 dart.defineNamedConstructor(DateTime, 'now'); 319 dart.defineNamedConstructor(DateTime, 'now');
317 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch'); 320 dart.defineNamedConstructor(DateTime, 'fromMillisecondsSinceEpoch');
318 dart.defineNamedConstructor(DateTime, '_internal'); 321 dart.defineNamedConstructor(DateTime, _internal$);
319 dart.defineNamedConstructor(DateTime, '_now'); 322 dart.defineNamedConstructor(DateTime, _now);
320 DateTime.MONDAY = 1; 323 DateTime.MONDAY = 1;
321 DateTime.TUESDAY = 2; 324 DateTime.TUESDAY = 2;
322 DateTime.WEDNESDAY = 3; 325 DateTime.WEDNESDAY = 3;
323 DateTime.THURSDAY = 4; 326 DateTime.THURSDAY = 4;
324 DateTime.FRIDAY = 5; 327 DateTime.FRIDAY = 5;
325 DateTime.SATURDAY = 6; 328 DateTime.SATURDAY = 6;
326 DateTime.SUNDAY = 7; 329 DateTime.SUNDAY = 7;
327 DateTime.DAYS_PER_WEEK = 7; 330 DateTime.DAYS_PER_WEEK = 7;
328 DateTime.JANUARY = 1; 331 DateTime.JANUARY = 1;
329 DateTime.FEBRUARY = 2; 332 DateTime.FEBRUARY = 2;
330 DateTime.MARCH = 3; 333 DateTime.MARCH = 3;
331 DateTime.APRIL = 4; 334 DateTime.APRIL = 4;
332 DateTime.MAY = 5; 335 DateTime.MAY = 5;
333 DateTime.JUNE = 6; 336 DateTime.JUNE = 6;
334 DateTime.JULY = 7; 337 DateTime.JULY = 7;
335 DateTime.AUGUST = 8; 338 DateTime.AUGUST = 8;
336 DateTime.SEPTEMBER = 9; 339 DateTime.SEPTEMBER = 9;
337 DateTime.OCTOBER = 10; 340 DateTime.OCTOBER = 10;
338 DateTime.NOVEMBER = 11; 341 DateTime.NOVEMBER = 11;
339 DateTime.DECEMBER = 12; 342 DateTime.DECEMBER = 12;
340 DateTime.MONTHS_PER_YEAR = 12; 343 DateTime.MONTHS_PER_YEAR = 12;
341 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000; 344 DateTime._MAX_MILLISECONDS_SINCE_EPOCH = 8640000000000000;
342 let _onParseErrorInt$ = dart.JsSymbol('_onParseErrorInt'); 345 let _parseError = dart.JsSymbol('_parseError');
343 let _onParseErrorDouble$ = dart.JsSymbol('_onParseErrorDouble'); 346 let _onParseErrorInt = dart.JsSymbol('_onParseErrorInt');
347 let _onParseErrorDouble = dart.JsSymbol('_onParseErrorDouble');
344 class num extends Object { 348 class num extends Object {
345 static parse(input, onError) { 349 static parse(input, onError) {
346 if (onError === void 0) 350 if (onError === void 0)
347 onError = null; 351 onError = null;
348 let source = input.trim(); 352 let source = input.trim();
349 _parseError = false; 353 num[_parseError] = false;
350 let result = int.parse(source, {onError: _onParseErrorInt}); 354 let result = int.parse(source, {onError: num[_onParseErrorInt]});
351 if (!dart.notNull(_parseError)) 355 if (!dart.notNull(num[_parseError]))
352 return result; 356 return result;
353 _parseError = false; 357 num[_parseError] = false;
354 result = double.parse(source, _onParseErrorDouble); 358 result = double.parse(source, num[_onParseErrorDouble]);
355 if (!dart.notNull(_parseError)) 359 if (!dart.notNull(num[_parseError]))
356 return result; 360 return result;
357 if (onError === null) 361 if (onError === null)
358 throw new FormatException(input); 362 throw new FormatException(input);
359 return onError(input); 363 return onError(input);
360 } 364 }
361 static [_onParseErrorInt$](_) { 365 static [_onParseErrorInt](_) {
362 _parseError = true; 366 num[_parseError] = true;
363 return 0; 367 return 0;
364 } 368 }
365 static [_onParseErrorDouble$](_) { 369 static [_onParseErrorDouble](_) {
366 _parseError = true; 370 num[_parseError] = true;
367 return 0.0; 371 return 0.0;
368 } 372 }
369 } 373 }
370 num._parseError = false; 374 num._parseError = false;
371 class double extends num { 375 class double extends num {
372 static parse(source, onError) { 376 static parse(source, onError) {
373 if (onError === void 0) 377 if (onError === void 0)
374 onError = null; 378 onError = null;
375 return _js_helper.Primitives.parseDouble(source, onError); 379 return _js_helper.Primitives.parseDouble(source, onError);
376 } 380 }
377 } 381 }
378 double.NAN = 0.0 / 0.0; 382 double.NAN = 0.0 / 0.0;
379 double.INFINITY = 1.0 / 0.0; 383 double.INFINITY = 1.0 / 0.0;
380 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY); 384 double.NEGATIVE_INFINITY = -dart.notNull(double.INFINITY);
381 double.MIN_POSITIVE = 5e-324; 385 double.MIN_POSITIVE = 5e-324;
382 double.MAX_FINITE = 1.7976931348623157e+308; 386 double.MAX_FINITE = 1.7976931348623157e+308;
383 let _duration = dart.JsSymbol('_duration'); 387 let _duration = dart.JsSymbol('_duration');
388 let _microseconds = dart.JsSymbol('_microseconds');
384 class Duration extends Object { 389 class Duration extends Object {
385 Duration(opts) { 390 Duration(opts) {
386 let days = opts && 'days' in opts ? opts.days : 0; 391 let days = opts && 'days' in opts ? opts.days : 0;
387 let hours = opts && 'hours' in opts ? opts.hours : 0; 392 let hours = opts && 'hours' in opts ? opts.hours : 0;
388 let minutes = opts && 'minutes' in opts ? opts.minutes : 0; 393 let minutes = opts && 'minutes' in opts ? opts.minutes : 0;
389 let seconds = opts && 'seconds' in opts ? opts.seconds : 0; 394 let seconds = opts && 'seconds' in opts ? opts.seconds : 0;
390 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0; 395 let milliseconds = opts && 'milliseconds' in opts ? opts.milliseconds : 0;
391 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0; 396 let microseconds = opts && 'microseconds' in opts ? opts.microseconds : 0;
392 this.Duration$_microseconds(dart.notNull(days) * dart.notNull(Duration.MIC ROSECONDS_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PE R_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) + d art.notNull(microseconds)); 397 this.Duration$_microseconds(dart.notNull(days) * dart.notNull(Duration.MIC ROSECONDS_PER_DAY) + dart.notNull(hours) * dart.notNull(Duration.MICROSECONDS_PE R_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) + d art.notNull(microseconds));
393 } 398 }
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 get isNegative() { 486 get isNegative() {
482 return dart.notNull(this[_duration]) < 0; 487 return dart.notNull(this[_duration]) < 0;
483 } 488 }
484 abs() { 489 abs() {
485 return new Duration._microseconds(this[_duration].abs()); 490 return new Duration._microseconds(this[_duration].abs());
486 } 491 }
487 ['-']() { 492 ['-']() {
488 return new Duration._microseconds(-dart.notNull(this[_duration])); 493 return new Duration._microseconds(-dart.notNull(this[_duration]));
489 } 494 }
490 } 495 }
491 dart.defineNamedConstructor(Duration, '_microseconds'); 496 dart.defineNamedConstructor(Duration, _microseconds);
492 Duration.MICROSECONDS_PER_MILLISECOND = 1000; 497 Duration.MICROSECONDS_PER_MILLISECOND = 1000;
493 Duration.MILLISECONDS_PER_SECOND = 1000; 498 Duration.MILLISECONDS_PER_SECOND = 1000;
494 Duration.SECONDS_PER_MINUTE = 60; 499 Duration.SECONDS_PER_MINUTE = 60;
495 Duration.MINUTES_PER_HOUR = 60; 500 Duration.MINUTES_PER_HOUR = 60;
496 Duration.HOURS_PER_DAY = 24; 501 Duration.HOURS_PER_DAY = 24;
497 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND); 502 Duration.MICROSECONDS_PER_SECOND = dart.notNull(Duration.MICROSECONDS_PER_MILL ISECOND) * dart.notNull(Duration.MILLISECONDS_PER_SECOND);
498 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); 503 Duration.MICROSECONDS_PER_MINUTE = dart.notNull(Duration.MICROSECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
499 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR); 504 Duration.MICROSECONDS_PER_HOUR = dart.notNull(Duration.MICROSECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR);
500 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY); 505 Duration.MICROSECONDS_PER_DAY = dart.notNull(Duration.MICROSECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
501 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE); 506 Duration.MILLISECONDS_PER_MINUTE = dart.notNull(Duration.MILLISECONDS_PER_SECO ND) * dart.notNull(Duration.SECONDS_PER_MINUTE);
502 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR); 507 Duration.MILLISECONDS_PER_HOUR = dart.notNull(Duration.MILLISECONDS_PER_MINUTE ) * dart.notNull(Duration.MINUTES_PER_HOUR);
503 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY); 508 Duration.MILLISECONDS_PER_DAY = dart.notNull(Duration.MILLISECONDS_PER_HOUR) * dart.notNull(Duration.HOURS_PER_DAY);
504 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n otNull(Duration.MINUTES_PER_HOUR); 509 Duration.SECONDS_PER_HOUR = dart.notNull(Duration.SECONDS_PER_MINUTE) * dart.n otNull(Duration.MINUTES_PER_HOUR);
505 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY); 510 Duration.SECONDS_PER_DAY = dart.notNull(Duration.SECONDS_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY);
506 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY); 511 Duration.MINUTES_PER_DAY = dart.notNull(Duration.MINUTES_PER_HOUR) * dart.notN ull(Duration.HOURS_PER_DAY);
507 Duration.ZERO = new Duration({seconds: 0}); 512 Duration.ZERO = new Duration({seconds: 0});
508 let _stringToSafeString$ = dart.JsSymbol('_stringToSafeString'); 513 let _stringToSafeString = dart.JsSymbol('_stringToSafeString');
509 let _objectToString$ = dart.JsSymbol('_objectToString'); 514 let _objectToString = dart.JsSymbol('_objectToString');
510 class Error extends Object { 515 class Error extends Object {
511 Error() { 516 Error() {
512 } 517 }
513 static safeToString(object) { 518 static safeToString(object) {
514 if (dart.notNull(dart.is(object, num)) || dart.notNull(typeof object == bo olean) || dart.notNull(null === object)) { 519 if (dart.notNull(dart.is(object, num)) || dart.notNull(typeof object == bo olean) || dart.notNull(null === object)) {
515 return object.toString(); 520 return object.toString();
516 } 521 }
517 if (typeof object == string) { 522 if (typeof object == string) {
518 return _stringToSafeString(object); 523 return Error[_stringToSafeString](object);
519 } 524 }
520 return _objectToString(object); 525 return Error[_objectToString](object);
521 } 526 }
522 static [_stringToSafeString$](string) { 527 static [_stringToSafeString](string) {
523 return _js_helper.jsonEncodeNative(string); 528 return _js_helper.jsonEncodeNative(string);
524 } 529 }
525 static [_objectToString$](object) { 530 static [_objectToString](object) {
526 return _js_helper.Primitives.objectToString(object); 531 return _js_helper.Primitives.objectToString(object);
527 } 532 }
528 get stackTrace() { 533 get stackTrace() {
529 return _js_helper.Primitives.extractStackTrace(this); 534 return _js_helper.Primitives.extractStackTrace(this);
530 } 535 }
531 } 536 }
532 class AssertionError extends Error { 537 class AssertionError extends Error {
533 } 538 }
534 class TypeError extends AssertionError { 539 class TypeError extends AssertionError {
535 } 540 }
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
963 return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffse t)}^\n`; 968 return `${report}${prefix}${slice}${postfix}\n${String['*'](" ", markOffse t)}^\n`;
964 } 969 }
965 } 970 }
966 class IntegerDivisionByZeroException extends Object { 971 class IntegerDivisionByZeroException extends Object {
967 IntegerDivisionByZeroException() { 972 IntegerDivisionByZeroException() {
968 } 973 }
969 toString() { 974 toString() {
970 return "IntegerDivisionByZeroException"; 975 return "IntegerDivisionByZeroException";
971 } 976 }
972 } 977 }
978 let _EXPANDO_PROPERTY_NAME = dart.JsSymbol('_EXPANDO_PROPERTY_NAME');
973 let _getKey = dart.JsSymbol('_getKey'); 979 let _getKey = dart.JsSymbol('_getKey');
980 let _KEY_PROPERTY_NAME = dart.JsSymbol('_KEY_PROPERTY_NAME');
981 let _keyCount = dart.JsSymbol('_keyCount');
974 let Expando$ = dart.generic(function(T) { 982 let Expando$ = dart.generic(function(T) {
975 class Expando extends Object { 983 class Expando extends Object {
976 Expando(name) { 984 Expando(name) {
977 if (name === void 0) 985 if (name === void 0)
978 name = null; 986 name = null;
979 this.name = name; 987 this.name = name;
980 } 988 }
981 toString() { 989 toString() {
982 return `Expando:${this.name}`; 990 return `Expando:${this.name}`;
983 } 991 }
984 get(object) { 992 get(object) {
985 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_ PROPERTY_NAME); 993 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_ PROPERTY_NAME]);
986 return dart.as(values === null ? null : _js_helper.Primitives.getPropert y(values, this[_getKey]()), T); 994 return dart.as(values === null ? null : _js_helper.Primitives.getPropert y(values, this[_getKey]()), T);
987 } 995 }
988 set(object, value) { 996 set(object, value) {
989 let values = _js_helper.Primitives.getProperty(object, Expando._EXPANDO_ PROPERTY_NAME); 997 let values = _js_helper.Primitives.getProperty(object, Expando[_EXPANDO_ PROPERTY_NAME]);
990 if (values === null) { 998 if (values === null) {
991 values = new Object(); 999 values = new Object();
992 _js_helper.Primitives.setProperty(object, Expando._EXPANDO_PROPERTY_NA ME, values); 1000 _js_helper.Primitives.setProperty(object, Expando[_EXPANDO_PROPERTY_NA ME], values);
993 } 1001 }
994 _js_helper.Primitives.setProperty(values, this[_getKey](), value); 1002 _js_helper.Primitives.setProperty(values, this[_getKey](), value);
995 } 1003 }
996 [_getKey]() { 1004 [_getKey]() {
997 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando._KEY_P ROPERTY_NAME), String); 1005 let key = dart.as(_js_helper.Primitives.getProperty(this, Expando[_KEY_P ROPERTY_NAME]), String);
998 if (key === null) { 1006 if (key === null) {
999 key = `expando$key$${((x) => _keyCount = dart.notNull(x) + 1, x)(_keyC ount)}`; 1007 key = `expando$key$${((x) => Expando[_keyCount] = dart.notNull(x) + 1, x)(Expando[_keyCount])}`;
1000 _js_helper.Primitives.setProperty(this, Expando._KEY_PROPERTY_NAME, ke y); 1008 _js_helper.Primitives.setProperty(this, Expando[_KEY_PROPERTY_NAME], k ey);
1001 } 1009 }
1002 return key; 1010 return key;
1003 } 1011 }
1004 } 1012 }
1005 Expando._KEY_PROPERTY_NAME = 'expando$key'; 1013 Expando._KEY_PROPERTY_NAME = 'expando$key';
1006 Expando._EXPANDO_PROPERTY_NAME = 'expando$values'; 1014 Expando._EXPANDO_PROPERTY_NAME = 'expando$values';
1007 Expando._keyCount = 0; 1015 Expando._keyCount = 0;
1008 return Expando; 1016 return Expando;
1009 }); 1017 });
1010 let Expando = Expando$(dart.dynamic); 1018 let Expando = Expando$(dart.dynamic);
1011 let _toMangledNames$ = dart.JsSymbol('_toMangledNames'); 1019 let _toMangledNames = dart.JsSymbol('_toMangledNames');
1012 class Function extends Object { 1020 class Function extends Object {
1013 static apply(f, positionalArguments, namedArguments) { 1021 static apply(f, positionalArguments, namedArguments) {
1014 if (namedArguments === void 0) 1022 if (namedArguments === void 0)
1015 namedArguments = null; 1023 namedArguments = null;
1016 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr guments === null ? null : _toMangledNames(namedArguments)); 1024 return _js_helper.Primitives.applyFunction(f, positionalArguments, namedAr guments === null ? null : Function[_toMangledNames](namedArguments));
1017 } 1025 }
1018 static [_toMangledNames$](namedArguments) { 1026 static [_toMangledNames](namedArguments) {
1019 let result = dart.as(dart.map(), Map$(String, dynamic)); 1027 let result = dart.as(dart.map(), Map$(String, dynamic));
1020 namedArguments.forEach(dart.closureWrap((symbol, value) => { 1028 namedArguments.forEach(dart.closureWrap((symbol, value) => {
1021 result.set(_symbolToString(dart.as(symbol, Symbol)), value); 1029 result.set(_symbolToString(dart.as(symbol, Symbol)), value);
1022 }, "(Symbol, dynamic) → void")); 1030 }, "(Symbol, dynamic) → void"));
1023 return result; 1031 return result;
1024 } 1032 }
1025 } 1033 }
1026 // Function identical: (Object, Object) → bool 1034 // Function identical: (Object, Object) → bool
1027 function identical(a, b) { 1035 function identical(a, b) {
1028 return _js_helper.Primitives.identicalImplementation(a, b); 1036 return _js_helper.Primitives.identicalImplementation(a, b);
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1076 }; 1084 };
1077 } 1085 }
1078 } 1086 }
1079 dart.defineNamedConstructor(Iterable, 'generate'); 1087 dart.defineNamedConstructor(Iterable, 'generate');
1080 return Iterable; 1088 return Iterable;
1081 }); 1089 });
1082 let Iterable = Iterable$(dart.dynamic); 1090 let Iterable = Iterable$(dart.dynamic);
1083 let _end = dart.JsSymbol('_end'); 1091 let _end = dart.JsSymbol('_end');
1084 let _start = dart.JsSymbol('_start'); 1092 let _start = dart.JsSymbol('_start');
1085 let _generator = dart.JsSymbol('_generator'); 1093 let _generator = dart.JsSymbol('_generator');
1086 let _id$ = dart.JsSymbol('_id'); 1094 let _id = dart.JsSymbol('_id');
1087 let _GeneratorIterable$ = dart.generic(function(E) { 1095 let _GeneratorIterable$ = dart.generic(function(E) {
1088 class _GeneratorIterable extends collection.IterableBase$(E) { 1096 class _GeneratorIterable extends collection.IterableBase$(E) {
1089 _GeneratorIterable(end$, generator) { 1097 _GeneratorIterable(end$, generator) {
1090 this[_end] = end$; 1098 this[_end] = end$;
1091 this[_start] = 0; 1099 this[_start] = 0;
1092 this[_generator] = dart.as(generator !== null ? generator : _id, _Genera tor); 1100 this[_generator] = dart.as(generator !== null ? generator : _GeneratorIt erable[_id], _Generator);
1093 super.IterableBase(); 1101 super.IterableBase();
1094 } 1102 }
1095 _GeneratorIterable$slice(start$, end$, generator$) { 1103 _GeneratorIterable$slice(start$, end$, generator$) {
1096 this[_start] = start$; 1104 this[_start] = start$;
1097 this[_end] = end$; 1105 this[_end] = end$;
1098 this[_generator] = generator$; 1106 this[_generator] = generator$;
1099 super.IterableBase(); 1107 super.IterableBase();
1100 } 1108 }
1101 get iterator() { 1109 get iterator() {
1102 return new _GeneratorIterator(this[_start], this[_end], this[_generator] ); 1110 return new _GeneratorIterator(this[_start], this[_end], this[_generator] );
(...skipping 12 matching lines...) Expand all
1115 } 1123 }
1116 take(count) { 1124 take(count) {
1117 RangeError.checkNotNegative(count, "count"); 1125 RangeError.checkNotNegative(count, "count");
1118 if (count === 0) 1126 if (count === 0)
1119 return new _internal.EmptyIterable(); 1127 return new _internal.EmptyIterable();
1120 let newEnd = dart.notNull(this[_start]) + dart.notNull(count); 1128 let newEnd = dart.notNull(this[_start]) + dart.notNull(count);
1121 if (dart.notNull(newEnd) >= dart.notNull(this[_end])) 1129 if (dart.notNull(newEnd) >= dart.notNull(this[_end]))
1122 return this; 1130 return this;
1123 return new _GeneratorIterable.slice(this[_start], newEnd, this[_generato r]); 1131 return new _GeneratorIterable.slice(this[_start], newEnd, this[_generato r]);
1124 } 1132 }
1125 static [_id$](n) { 1133 static [_id](n) {
1126 return n; 1134 return n;
1127 } 1135 }
1128 } 1136 }
1129 dart.defineNamedConstructor(_GeneratorIterable, 'slice'); 1137 dart.defineNamedConstructor(_GeneratorIterable, 'slice');
1130 return _GeneratorIterable; 1138 return _GeneratorIterable;
1131 }); 1139 });
1132 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte rable$}); 1140 dart.defineLazyClassGeneric(exports, '_GeneratorIterable', {get: _GeneratorIte rable$});
1133 let _index = dart.JsSymbol('_index'); 1141 let _index = dart.JsSymbol('_index');
1134 let _current = dart.JsSymbol('_current'); 1142 let _current = dart.JsSymbol('_current');
1135 let _GeneratorIterator$ = dart.generic(function(E) { 1143 let _GeneratorIterator$ = dart.generic(function(E) {
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 return new collection.LinkedHashMap.fromIterables(keys, values); 1241 return new collection.LinkedHashMap.fromIterables(keys, values);
1234 } 1242 }
1235 } 1243 }
1236 dart.defineNamedConstructor(Map, 'from'); 1244 dart.defineNamedConstructor(Map, 'from');
1237 dart.defineNamedConstructor(Map, 'identity'); 1245 dart.defineNamedConstructor(Map, 'identity');
1238 dart.defineNamedConstructor(Map, 'fromIterable'); 1246 dart.defineNamedConstructor(Map, 'fromIterable');
1239 dart.defineNamedConstructor(Map, 'fromIterables'); 1247 dart.defineNamedConstructor(Map, 'fromIterables');
1240 return Map; 1248 return Map;
1241 }); 1249 });
1242 let Map = Map$(dart.dynamic, dart.dynamic); 1250 let Map = Map$(dart.dynamic, dart.dynamic);
1251 let _uninstantiable = dart.JsSymbol('_uninstantiable');
1243 class Null extends Object { 1252 class Null extends Object {
1244 Null$_uninstantiable() { 1253 Null$_uninstantiable() {
1245 throw new UnsupportedError('class Null cannot be instantiated'); 1254 throw new UnsupportedError('class Null cannot be instantiated');
1246 } 1255 }
1247 toString() { 1256 toString() {
1248 return "null"; 1257 return "null";
1249 } 1258 }
1250 } 1259 }
1251 dart.defineNamedConstructor(Null, '_uninstantiable'); 1260 dart.defineNamedConstructor(Null, _uninstantiable);
1252 class Pattern extends Object { 1261 class Pattern extends Object {
1253 } 1262 }
1254 // Function print: (Object) → void 1263 // Function print: (Object) → void
1255 function print(object) { 1264 function print(object) {
1256 let line = `${object}`; 1265 let line = `${object}`;
1257 if (_internal.printToZone === null) { 1266 if (_internal.printToZone === null) {
1258 _internal.printToConsole(line); 1267 _internal.printToConsole(line);
1259 } else { 1268 } else {
1260 dart.dinvokef(_internal.printToZone, line); 1269 dart.dinvokef(_internal.printToZone, line);
1261 } 1270 }
(...skipping 25 matching lines...) Expand all
1287 }); 1296 });
1288 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$}); 1297 dart.defineLazyClassGeneric(exports, 'Set', {get: Set$});
1289 let Sink$ = dart.generic(function(T) { 1298 let Sink$ = dart.generic(function(T) {
1290 class Sink extends Object { 1299 class Sink extends Object {
1291 } 1300 }
1292 return Sink; 1301 return Sink;
1293 }); 1302 });
1294 let Sink = Sink$(dart.dynamic); 1303 let Sink = Sink$(dart.dynamic);
1295 class StackTrace extends Object { 1304 class StackTrace extends Object {
1296 } 1305 }
1306 let _frequency = dart.JsSymbol('_frequency');
1297 let _stop = dart.JsSymbol('_stop'); 1307 let _stop = dart.JsSymbol('_stop');
1298 let _initTicker$ = dart.JsSymbol('_initTicker'); 1308 let _initTicker = dart.JsSymbol('_initTicker');
1299 let _now$ = dart.JsSymbol('_now');
1300 class Stopwatch extends Object { 1309 class Stopwatch extends Object {
1301 get frequency() { 1310 get frequency() {
1302 return _frequency; 1311 return Stopwatch[_frequency];
1303 } 1312 }
1304 Stopwatch() { 1313 Stopwatch() {
1305 this[_start] = null; 1314 this[_start] = null;
1306 this[_stop] = null; 1315 this[_stop] = null;
1307 _initTicker(); 1316 Stopwatch[_initTicker]();
1308 } 1317 }
1309 start() { 1318 start() {
1310 if (this.isRunning) 1319 if (this.isRunning)
1311 return; 1320 return;
1312 if (this[_start] === null) { 1321 if (this[_start] === null) {
1313 this[_start] = _now(); 1322 this[_start] = Stopwatch[_now]();
1314 } else { 1323 } else {
1315 this[_start] = dart.notNull(_now()) - (dart.notNull(this[_stop]) - dart. notNull(this[_start])); 1324 this[_start] = dart.notNull(Stopwatch[_now]()) - (dart.notNull(this[_sto p]) - dart.notNull(this[_start]));
1316 this[_stop] = null; 1325 this[_stop] = null;
1317 } 1326 }
1318 } 1327 }
1319 stop() { 1328 stop() {
1320 if (!dart.notNull(this.isRunning)) 1329 if (!dart.notNull(this.isRunning))
1321 return; 1330 return;
1322 this[_stop] = _now(); 1331 this[_stop] = Stopwatch[_now]();
1323 } 1332 }
1324 reset() { 1333 reset() {
1325 if (this[_start] === null) 1334 if (this[_start] === null)
1326 return; 1335 return;
1327 this[_start] = _now(); 1336 this[_start] = Stopwatch[_now]();
1328 if (this[_stop] !== null) { 1337 if (this[_stop] !== null) {
1329 this[_stop] = this[_start]; 1338 this[_stop] = this[_start];
1330 } 1339 }
1331 } 1340 }
1332 get elapsedTicks() { 1341 get elapsedTicks() {
1333 if (this[_start] === null) { 1342 if (this[_start] === null) {
1334 return 0; 1343 return 0;
1335 } 1344 }
1336 return this[_stop] === null ? dart.notNull(_now()) - dart.notNull(this[_st art]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]); 1345 return this[_stop] === null ? dart.notNull(Stopwatch[_now]()) - dart.notNu ll(this[_start]) : dart.notNull(this[_stop]) - dart.notNull(this[_start]);
1337 } 1346 }
1338 get elapsed() { 1347 get elapsed() {
1339 return new Duration({microseconds: this.elapsedMicroseconds}); 1348 return new Duration({microseconds: this.elapsedMicroseconds});
1340 } 1349 }
1341 get elapsedMicroseconds() { 1350 get elapsedMicroseconds() {
1342 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq uency)).truncate(); 1351 return (dart.notNull(this.elapsedTicks) * 1000000 / dart.notNull(this.freq uency)).truncate();
1343 } 1352 }
1344 get elapsedMilliseconds() { 1353 get elapsedMilliseconds() {
1345 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen cy)).truncate(); 1354 return (dart.notNull(this.elapsedTicks) * 1000 / dart.notNull(this.frequen cy)).truncate();
1346 } 1355 }
1347 get isRunning() { 1356 get isRunning() {
1348 return this[_start] !== null && this[_stop] === null; 1357 return this[_start] !== null && this[_stop] === null;
1349 } 1358 }
1350 static [_initTicker$]() { 1359 static [_initTicker]() {
1351 _js_helper.Primitives.initTicker(); 1360 _js_helper.Primitives.initTicker();
1352 _frequency = _js_helper.Primitives.timerFrequency; 1361 Stopwatch[_frequency] = _js_helper.Primitives.timerFrequency;
1353 } 1362 }
1354 static [_now$]() { 1363 static [_now]() {
1355 return dart.as(dart.dinvoke(_js_helper.Primitives, 'timerTicks'), int); 1364 return dart.as(dart.dinvoke(_js_helper.Primitives, 'timerTicks'), int);
1356 } 1365 }
1357 } 1366 }
1358 Stopwatch._frequency = null; 1367 Stopwatch._frequency = null;
1359 let _stringFromIterable$ = dart.JsSymbol('_stringFromIterable'); 1368 let _stringFromIterable = dart.JsSymbol('_stringFromIterable');
1360 class String extends Object { 1369 class String extends Object {
1361 String$fromCharCodes(charCodes, start, end) { 1370 String$fromCharCodes(charCodes, start, end) {
1362 if (start === void 0) 1371 if (start === void 0)
1363 start = 0; 1372 start = 0;
1364 if (end === void 0) 1373 if (end === void 0)
1365 end = null; 1374 end = null;
1366 if (!dart.is(charCodes, _interceptors.JSArray)) { 1375 if (!dart.is(charCodes, _interceptors.JSArray)) {
1367 return _stringFromIterable(charCodes, start, end); 1376 return String[_stringFromIterable](charCodes, start, end);
1368 } 1377 }
1369 let list = dart.as(charCodes, List); 1378 let list = dart.as(charCodes, List);
1370 let len = list.length; 1379 let len = list.length;
1371 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) { 1380 if (dart.notNull(start) < 0 || dart.notNull(start) > dart.notNull(len)) {
1372 throw new RangeError.range(start, 0, len); 1381 throw new RangeError.range(start, 0, len);
1373 } 1382 }
1374 if (end === null) { 1383 if (end === null) {
1375 end = len; 1384 end = len;
1376 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) { 1385 } else if (dart.notNull(end) < dart.notNull(start) || dart.notNull(end) > dart.notNull(len)) {
1377 throw new RangeError.range(end, start, len); 1386 throw new RangeError.range(end, start, len);
1378 } 1387 }
1379 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) { 1388 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(len)) {
1380 list = list.sublist(start, end); 1389 list = list.sublist(start, end);
1381 } 1390 }
1382 return _js_helper.Primitives.stringFromCharCodes(list); 1391 return _js_helper.Primitives.stringFromCharCodes(list);
1383 } 1392 }
1384 String$fromCharCode(charCode) { 1393 String$fromCharCode(charCode) {
1385 return _js_helper.Primitives.stringFromCharCode(charCode); 1394 return _js_helper.Primitives.stringFromCharCode(charCode);
1386 } 1395 }
1387 String$fromEnvironment(name, opts) { 1396 String$fromEnvironment(name, opts) {
1388 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll; 1397 let defaultValue = opts && 'defaultValue' in opts ? opts.defaultValue : nu ll;
1389 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor'); 1398 throw new UnsupportedError('String.fromEnvironment can only be used as a c onst constructor');
1390 } 1399 }
1391 static [_stringFromIterable$](charCodes, start, end) { 1400 static [_stringFromIterable](charCodes, start, end) {
1392 if (dart.notNull(start) < 0) 1401 if (dart.notNull(start) < 0)
1393 throw new RangeError.range(start, 0, charCodes.length); 1402 throw new RangeError.range(start, 0, charCodes.length);
1394 if (end !== null && dart.notNull(end) < dart.notNull(start)) { 1403 if (end !== null && dart.notNull(end) < dart.notNull(start)) {
1395 throw new RangeError.range(end, start, charCodes.length); 1404 throw new RangeError.range(end, start, charCodes.length);
1396 } 1405 }
1397 let it = charCodes.iterator; 1406 let it = charCodes.iterator;
1398 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) { 1407 for (let i = 0; dart.notNull(i) < dart.notNull(start); i = dart.notNull(i) + 1) {
1399 if (!dart.notNull(it.moveNext())) { 1408 if (!dart.notNull(it.moveNext())) {
1400 throw new RangeError.range(start, 0, i); 1409 throw new RangeError.range(start, 0, i);
1401 } 1410 }
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1616 Symbol(name) { 1625 Symbol(name) {
1617 return new _internal.Symbol(name); 1626 return new _internal.Symbol(name);
1618 } 1627 }
1619 } 1628 }
1620 class Type extends Object { 1629 class Type extends Object {
1621 } 1630 }
1622 let _writeAuthority = dart.JsSymbol('_writeAuthority'); 1631 let _writeAuthority = dart.JsSymbol('_writeAuthority');
1623 let _userInfo = dart.JsSymbol('_userInfo'); 1632 let _userInfo = dart.JsSymbol('_userInfo');
1624 let _host = dart.JsSymbol('_host'); 1633 let _host = dart.JsSymbol('_host');
1625 let _port = dart.JsSymbol('_port'); 1634 let _port = dart.JsSymbol('_port');
1626 let _defaultPort$ = dart.JsSymbol('_defaultPort'); 1635 let _defaultPort = dart.JsSymbol('_defaultPort');
1627 let _path = dart.JsSymbol('_path'); 1636 let _path = dart.JsSymbol('_path');
1628 let _query = dart.JsSymbol('_query'); 1637 let _query = dart.JsSymbol('_query');
1629 let _fragment = dart.JsSymbol('_fragment'); 1638 let _fragment = dart.JsSymbol('_fragment');
1630 let _fail$ = dart.JsSymbol('_fail'); 1639 let _regNameTable = dart.JsSymbol('_regNameTable');
1640 let _SLASH = dart.JsSymbol('_SLASH');
1641 let _QUESTION = dart.JsSymbol('_QUESTION');
1642 let _NUMBER_SIGN = dart.JsSymbol('_NUMBER_SIGN');
1643 let _AT_SIGN = dart.JsSymbol('_AT_SIGN');
1644 let _COLON = dart.JsSymbol('_COLON');
1645 let _LEFT_BRACKET = dart.JsSymbol('_LEFT_BRACKET');
1646 let _makeUserInfo = dart.JsSymbol('_makeUserInfo');
1647 let _ZERO = dart.JsSymbol('_ZERO');
1648 let _NINE = dart.JsSymbol('_NINE');
1649 let _fail = dart.JsSymbol('_fail');
1650 let _makePort = dart.JsSymbol('_makePort');
1651 let _makeHost = dart.JsSymbol('_makeHost');
1652 let _makeScheme = dart.JsSymbol('_makeScheme');
1653 let _makePath = dart.JsSymbol('_makePath');
1654 let _makeQuery = dart.JsSymbol('_makeQuery');
1655 let _makeFragment = dart.JsSymbol('_makeFragment');
1631 let _pathSegments = dart.JsSymbol('_pathSegments'); 1656 let _pathSegments = dart.JsSymbol('_pathSegments');
1632 let _queryParameters = dart.JsSymbol('_queryParameters'); 1657 let _queryParameters = dart.JsSymbol('_queryParameters');
1633 let _makeHttpUri$ = dart.JsSymbol('_makeHttpUri'); 1658 let _stringOrNullLength = dart.JsSymbol('_stringOrNullLength');
1634 let _isWindows$ = dart.JsSymbol('_isWindows'); 1659 let _makeHttpUri = dart.JsSymbol('_makeHttpUri');
1635 let _checkNonWindowsPathReservedCharacters$ = dart.JsSymbol('_checkNonWindowsP athReservedCharacters'); 1660 let _RIGHT_BRACKET = dart.JsSymbol('_RIGHT_BRACKET');
1636 let _checkWindowsPathReservedCharacters$ = dart.JsSymbol('_checkWindowsPathRes ervedCharacters'); 1661 let _isWindows = dart.JsSymbol('_isWindows');
1637 let _checkWindowsDriveLetter$ = dart.JsSymbol('_checkWindowsDriveLetter'); 1662 let _makeWindowsFileUrl = dart.JsSymbol('_makeWindowsFileUrl');
1638 let _makeFileUri$ = dart.JsSymbol('_makeFileUri'); 1663 let _makeFileUri = dart.JsSymbol('_makeFileUri');
1639 let _makeWindowsFileUrl$ = dart.JsSymbol('_makeWindowsFileUrl'); 1664 let _checkNonWindowsPathReservedCharacters = dart.JsSymbol('_checkNonWindowsPa thReservedCharacters');
1640 let _makePort$ = dart.JsSymbol('_makePort'); 1665 let _checkWindowsPathReservedCharacters = dart.JsSymbol('_checkWindowsPathRese rvedCharacters');
1641 let _makeHost$ = dart.JsSymbol('_makeHost'); 1666 let _checkWindowsDriveLetter = dart.JsSymbol('_checkWindowsDriveLetter');
1642 let _isRegNameChar$ = dart.JsSymbol('_isRegNameChar'); 1667 let _UPPER_CASE_A = dart.JsSymbol('_UPPER_CASE_A');
1643 let _normalizeRegName$ = dart.JsSymbol('_normalizeRegName'); 1668 let _UPPER_CASE_Z = dart.JsSymbol('_UPPER_CASE_Z');
1644 let _makeScheme$ = dart.JsSymbol('_makeScheme'); 1669 let _LOWER_CASE_A = dart.JsSymbol('_LOWER_CASE_A');
1645 let _makeUserInfo$ = dart.JsSymbol('_makeUserInfo'); 1670 let _LOWER_CASE_Z = dart.JsSymbol('_LOWER_CASE_Z');
1646 let _makePath$ = dart.JsSymbol('_makePath'); 1671 let _BACKSLASH = dart.JsSymbol('_BACKSLASH');
1647 let _makeQuery$ = dart.JsSymbol('_makeQuery'); 1672 let _normalizeRegName = dart.JsSymbol('_normalizeRegName');
1648 let _makeFragment$ = dart.JsSymbol('_makeFragment'); 1673 let _isRegNameChar = dart.JsSymbol('_isRegNameChar');
1649 let _stringOrNullLength$ = dart.JsSymbol('_stringOrNullLength'); 1674 let _PERCENT = dart.JsSymbol('_PERCENT');
1650 let _isHexDigit$ = dart.JsSymbol('_isHexDigit'); 1675 let _normalizeEscape = dart.JsSymbol('_normalizeEscape');
1651 let _hexValue$ = dart.JsSymbol('_hexValue'); 1676 let _isGeneralDelimiter = dart.JsSymbol('_isGeneralDelimiter');
1652 let _normalizeEscape$ = dart.JsSymbol('_normalizeEscape'); 1677 let _escapeChar = dart.JsSymbol('_escapeChar');
1653 let _isUnreservedChar$ = dart.JsSymbol('_isUnreservedChar'); 1678 let _isAlphabeticCharacter = dart.JsSymbol('_isAlphabeticCharacter');
1654 let _escapeChar$ = dart.JsSymbol('_escapeChar'); 1679 let _isSchemeCharacter = dart.JsSymbol('_isSchemeCharacter');
1655 let _normalize$ = dart.JsSymbol('_normalize'); 1680 let _normalize = dart.JsSymbol('_normalize');
1656 let _isSchemeCharacter$ = dart.JsSymbol('_isSchemeCharacter'); 1681 let _userinfoTable = dart.JsSymbol('_userinfoTable');
1657 let _isGeneralDelimiter$ = dart.JsSymbol('_isGeneralDelimiter'); 1682 let _pathCharOrSlashTable = dart.JsSymbol('_pathCharOrSlashTable');
1683 let _uriEncode = dart.JsSymbol('_uriEncode');
1684 let _pathCharTable = dart.JsSymbol('_pathCharTable');
1685 let _queryCharTable = dart.JsSymbol('_queryCharTable');
1686 let _isHexDigit = dart.JsSymbol('_isHexDigit');
1687 let _LOWER_CASE_F = dart.JsSymbol('_LOWER_CASE_F');
1688 let _hexValue = dart.JsSymbol('_hexValue');
1689 let _isUnreservedChar = dart.JsSymbol('_isUnreservedChar');
1690 let _unreservedTable = dart.JsSymbol('_unreservedTable');
1691 let _schemeTable = dart.JsSymbol('_schemeTable');
1692 let _genDelimitersTable = dart.JsSymbol('_genDelimitersTable');
1658 let _merge = dart.JsSymbol('_merge'); 1693 let _merge = dart.JsSymbol('_merge');
1694 let _DOT = dart.JsSymbol('_DOT');
1659 let _hasDotSegments = dart.JsSymbol('_hasDotSegments'); 1695 let _hasDotSegments = dart.JsSymbol('_hasDotSegments');
1660 let _removeDotSegments = dart.JsSymbol('_removeDotSegments'); 1696 let _removeDotSegments = dart.JsSymbol('_removeDotSegments');
1661 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath'); 1697 let _toWindowsFilePath = dart.JsSymbol('_toWindowsFilePath');
1662 let _toFilePath = dart.JsSymbol('_toFilePath'); 1698 let _toFilePath = dart.JsSymbol('_toFilePath');
1663 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute'); 1699 let _isPathAbsolute = dart.JsSymbol('_isPathAbsolute');
1664 let _addIfNonEmpty$ = dart.JsSymbol('_addIfNonEmpty'); 1700 let _addIfNonEmpty = dart.JsSymbol('_addIfNonEmpty');
1665 let _uriEncode$ = dart.JsSymbol('_uriEncode'); 1701 let _unreserved2396Table = dart.JsSymbol('_unreserved2396Table');
1666 let _hexCharPairToByte$ = dart.JsSymbol('_hexCharPairToByte'); 1702 let _uriDecode = dart.JsSymbol('_uriDecode');
1667 let _uriDecode$ = dart.JsSymbol('_uriDecode'); 1703 let _encodeFullTable = dart.JsSymbol('_encodeFullTable');
1668 let _isAlphabeticCharacter$ = dart.JsSymbol('_isAlphabeticCharacter'); 1704 let _SPACE = dart.JsSymbol('_SPACE');
1705 let _PLUS = dart.JsSymbol('_PLUS');
1706 let _hexCharPairToByte = dart.JsSymbol('_hexCharPairToByte');
1669 class Uri extends Object { 1707 class Uri extends Object {
1670 get authority() { 1708 get authority() {
1671 if (!dart.notNull(this.hasAuthority)) 1709 if (!dart.notNull(this.hasAuthority))
1672 return ""; 1710 return "";
1673 let sb = new StringBuffer(); 1711 let sb = new StringBuffer();
1674 this[_writeAuthority](sb); 1712 this[_writeAuthority](sb);
1675 return sb.toString(); 1713 return sb.toString();
1676 } 1714 }
1677 get userInfo() { 1715 get userInfo() {
1678 return this[_userInfo]; 1716 return this[_userInfo];
1679 } 1717 }
1680 get host() { 1718 get host() {
1681 if (this[_host] === null) 1719 if (this[_host] === null)
1682 return ""; 1720 return "";
1683 if (this[_host].startsWith('[')) { 1721 if (this[_host].startsWith('[')) {
1684 return this[_host].substring(1, dart.notNull(this[_host].length) - 1); 1722 return this[_host].substring(1, dart.notNull(this[_host].length) - 1);
1685 } 1723 }
1686 return this[_host]; 1724 return this[_host];
1687 } 1725 }
1688 get port() { 1726 get port() {
1689 if (this[_port] === null) 1727 if (this[_port] === null)
1690 return _defaultPort(this.scheme); 1728 return Uri[_defaultPort](this.scheme);
1691 return this[_port]; 1729 return this[_port];
1692 } 1730 }
1693 static [_defaultPort$](scheme) { 1731 static [_defaultPort](scheme) {
1694 if (dart.equals(scheme, "http")) 1732 if (dart.equals(scheme, "http"))
1695 return 80; 1733 return 80;
1696 if (dart.equals(scheme, "https")) 1734 if (dart.equals(scheme, "https"))
1697 return 443; 1735 return 443;
1698 return 0; 1736 return 0;
1699 } 1737 }
1700 get path() { 1738 get path() {
1701 return this[_path]; 1739 return this[_path];
1702 } 1740 }
1703 get query() { 1741 get query() {
1704 return this[_query] === null ? "" : this[_query]; 1742 return this[_query] === null ? "" : this[_query];
1705 } 1743 }
1706 get fragment() { 1744 get fragment() {
1707 return this[_fragment] === null ? "" : this[_fragment]; 1745 return this[_fragment] === null ? "" : this[_fragment];
1708 } 1746 }
1709 static parse(uri) { 1747 static parse(uri) {
1710 // Function isRegName: (int) → bool 1748 // Function isRegName: (int) → bool
1711 function isRegName(ch) { 1749 function isRegName(ch) {
1712 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary( Uri._regNameTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)) , 0)); 1750 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0));
1713 } 1751 }
1714 let EOI = -1; 1752 let EOI = -1;
1715 let scheme = ""; 1753 let scheme = "";
1716 let userinfo = ""; 1754 let userinfo = "";
1717 let host = null; 1755 let host = null;
1718 let port = null; 1756 let port = null;
1719 let path = null; 1757 let path = null;
1720 let query = null; 1758 let query = null;
1721 let fragment = null; 1759 let fragment = null;
1722 let index = 0; 1760 let index = 0;
1723 let pathStart = 0; 1761 let pathStart = 0;
1724 let char = EOI; 1762 let char = EOI;
1725 // Function parseAuth: () → void 1763 // Function parseAuth: () → void
1726 function parseAuth() { 1764 function parseAuth() {
1727 if (index === uri.length) { 1765 if (index === uri.length) {
1728 char = EOI; 1766 char = EOI;
1729 return; 1767 return;
1730 } 1768 }
1731 let authStart = index; 1769 let authStart = index;
1732 let lastColon = -1; 1770 let lastColon = -1;
1733 let lastAt = -1; 1771 let lastAt = -1;
1734 char = uri.codeUnitAt(index); 1772 char = uri.codeUnitAt(index);
1735 while (dart.notNull(index) < dart.notNull(uri.length)) { 1773 while (dart.notNull(index) < dart.notNull(uri.length)) {
1736 char = uri.codeUnitAt(index); 1774 char = uri.codeUnitAt(index);
1737 if (char === Uri._SLASH || char === Uri._QUESTION || char === Uri._NUM BER_SIGN) { 1775 if (char === Uri[_SLASH] || char === Uri[_QUESTION] || char === Uri[_N UMBER_SIGN]) {
1738 break; 1776 break;
1739 } 1777 }
1740 if (char === Uri._AT_SIGN) { 1778 if (char === Uri[_AT_SIGN]) {
1741 lastAt = index; 1779 lastAt = index;
1742 lastColon = -1; 1780 lastColon = -1;
1743 } else if (char === Uri._COLON) { 1781 } else if (char === Uri[_COLON]) {
1744 lastColon = index; 1782 lastColon = index;
1745 } else if (char === Uri._LEFT_BRACKET) { 1783 } else if (char === Uri[_LEFT_BRACKET]) {
1746 lastColon = -1; 1784 lastColon = -1;
1747 let endBracket = uri.indexOf(']', dart.notNull(index) + 1); 1785 let endBracket = uri.indexOf(']', dart.notNull(index) + 1);
1748 if (endBracket === -1) { 1786 if (endBracket === -1) {
1749 index = uri.length; 1787 index = uri.length;
1750 char = EOI; 1788 char = EOI;
1751 break; 1789 break;
1752 } else { 1790 } else {
1753 index = endBracket; 1791 index = endBracket;
1754 } 1792 }
1755 } 1793 }
1756 index = dart.notNull(index) + 1; 1794 index = dart.notNull(index) + 1;
1757 char = EOI; 1795 char = EOI;
1758 } 1796 }
1759 let hostStart = authStart; 1797 let hostStart = authStart;
1760 let hostEnd = index; 1798 let hostEnd = index;
1761 if (dart.notNull(lastAt) >= 0) { 1799 if (dart.notNull(lastAt) >= 0) {
1762 userinfo = _makeUserInfo(uri, authStart, lastAt); 1800 userinfo = Uri[_makeUserInfo](uri, authStart, lastAt);
1763 hostStart = dart.notNull(lastAt) + 1; 1801 hostStart = dart.notNull(lastAt) + 1;
1764 } 1802 }
1765 if (dart.notNull(lastColon) >= 0) { 1803 if (dart.notNull(lastColon) >= 0) {
1766 let portNumber = null; 1804 let portNumber = null;
1767 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) { 1805 if (dart.notNull(lastColon) + 1 < dart.notNull(index)) {
1768 portNumber = 0; 1806 portNumber = 0;
1769 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); i = dart.notNull(i) + 1) { 1807 for (let i = dart.notNull(lastColon) + 1; dart.notNull(i) < dart.not Null(index); i = dart.notNull(i) + 1) {
1770 let digit = uri.codeUnitAt(i); 1808 let digit = uri.codeUnitAt(i);
1771 if (dart.notNull(Uri._ZERO) > dart.notNull(digit) || dart.notNull( Uri._NINE) < dart.notNull(digit)) { 1809 if (dart.notNull(Uri[_ZERO]) > dart.notNull(digit) || dart.notNull (Uri[_NINE]) < dart.notNull(digit)) {
1772 _fail(uri, i, "Invalid port number"); 1810 Uri[_fail](uri, i, "Invalid port number");
1773 } 1811 }
1774 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(Uri._ZERO)); 1812 portNumber = dart.notNull(portNumber) * 10 + (dart.notNull(digit) - dart.notNull(Uri[_ZERO]));
1775 } 1813 }
1776 } 1814 }
1777 port = _makePort(portNumber, scheme); 1815 port = Uri[_makePort](portNumber, scheme);
1778 hostEnd = lastColon; 1816 hostEnd = lastColon;
1779 } 1817 }
1780 host = _makeHost(uri, hostStart, hostEnd, true); 1818 host = Uri[_makeHost](uri, hostStart, hostEnd, true);
1781 if (dart.notNull(index) < dart.notNull(uri.length)) { 1819 if (dart.notNull(index) < dart.notNull(uri.length)) {
1782 char = uri.codeUnitAt(index); 1820 char = uri.codeUnitAt(index);
1783 } 1821 }
1784 } 1822 }
1785 let NOT_IN_PATH = 0; 1823 let NOT_IN_PATH = 0;
1786 let IN_PATH = 1; 1824 let IN_PATH = 1;
1787 let ALLOW_AUTH = 2; 1825 let ALLOW_AUTH = 2;
1788 let state = NOT_IN_PATH; 1826 let state = NOT_IN_PATH;
1789 let i = index; 1827 let i = index;
1790 while (dart.notNull(i) < dart.notNull(uri.length)) { 1828 while (dart.notNull(i) < dart.notNull(uri.length)) {
1791 char = uri.codeUnitAt(i); 1829 char = uri.codeUnitAt(i);
1792 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { 1830 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) {
1793 state = NOT_IN_PATH; 1831 state = NOT_IN_PATH;
1794 break; 1832 break;
1795 } 1833 }
1796 if (char === Uri._SLASH) { 1834 if (char === Uri[_SLASH]) {
1797 state = i === 0 ? ALLOW_AUTH : IN_PATH; 1835 state = i === 0 ? ALLOW_AUTH : IN_PATH;
1798 break; 1836 break;
1799 } 1837 }
1800 if (char === Uri._COLON) { 1838 if (char === Uri[_COLON]) {
1801 if (i === 0) 1839 if (i === 0)
1802 _fail(uri, 0, "Invalid empty scheme"); 1840 Uri[_fail](uri, 0, "Invalid empty scheme");
1803 scheme = _makeScheme(uri, i); 1841 scheme = Uri[_makeScheme](uri, i);
1804 i = dart.notNull(i) + 1; 1842 i = dart.notNull(i) + 1;
1805 pathStart = i; 1843 pathStart = i;
1806 if (i === uri.length) { 1844 if (i === uri.length) {
1807 char = EOI; 1845 char = EOI;
1808 state = NOT_IN_PATH; 1846 state = NOT_IN_PATH;
1809 } else { 1847 } else {
1810 char = uri.codeUnitAt(i); 1848 char = uri.codeUnitAt(i);
1811 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { 1849 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) {
1812 state = NOT_IN_PATH; 1850 state = NOT_IN_PATH;
1813 } else if (char === Uri._SLASH) { 1851 } else if (char === Uri[_SLASH]) {
1814 state = ALLOW_AUTH; 1852 state = ALLOW_AUTH;
1815 } else { 1853 } else {
1816 state = IN_PATH; 1854 state = IN_PATH;
1817 } 1855 }
1818 } 1856 }
1819 break; 1857 break;
1820 } 1858 }
1821 i = dart.notNull(i) + 1; 1859 i = dart.notNull(i) + 1;
1822 char = EOI; 1860 char = EOI;
1823 } 1861 }
1824 index = i; 1862 index = i;
1825 if (state === ALLOW_AUTH) { 1863 if (state === ALLOW_AUTH) {
1826 dart.assert(char === Uri._SLASH); 1864 dart.assert(char === Uri[_SLASH]);
1827 index = dart.notNull(index) + 1; 1865 index = dart.notNull(index) + 1;
1828 if (index === uri.length) { 1866 if (index === uri.length) {
1829 char = EOI; 1867 char = EOI;
1830 state = NOT_IN_PATH; 1868 state = NOT_IN_PATH;
1831 } else { 1869 } else {
1832 char = uri.codeUnitAt(index); 1870 char = uri.codeUnitAt(index);
1833 if (char === Uri._SLASH) { 1871 if (char === Uri[_SLASH]) {
1834 index = dart.notNull(index) + 1; 1872 index = dart.notNull(index) + 1;
1835 parseAuth(); 1873 parseAuth();
1836 pathStart = index; 1874 pathStart = index;
1837 } 1875 }
1838 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN || char === EO I) { 1876 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN] || char === EOI) {
1839 state = NOT_IN_PATH; 1877 state = NOT_IN_PATH;
1840 } else { 1878 } else {
1841 state = IN_PATH; 1879 state = IN_PATH;
1842 } 1880 }
1843 } 1881 }
1844 } 1882 }
1845 dart.assert(state === IN_PATH || state === NOT_IN_PATH); 1883 dart.assert(state === IN_PATH || state === NOT_IN_PATH);
1846 if (state === IN_PATH) { 1884 if (state === IN_PATH) {
1847 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) { 1885 while ((index = dart.notNull(index) + 1) < dart.notNull(uri.length)) {
1848 char = uri.codeUnitAt(index); 1886 char = uri.codeUnitAt(index);
1849 if (char === Uri._QUESTION || char === Uri._NUMBER_SIGN) { 1887 if (char === Uri[_QUESTION] || char === Uri[_NUMBER_SIGN]) {
1850 break; 1888 break;
1851 } 1889 }
1852 char = EOI; 1890 char = EOI;
1853 } 1891 }
1854 state = NOT_IN_PATH; 1892 state = NOT_IN_PATH;
1855 } 1893 }
1856 dart.assert(state === NOT_IN_PATH); 1894 dart.assert(state === NOT_IN_PATH);
1857 let isFile = dart.equals(scheme, "file"); 1895 let isFile = dart.equals(scheme, "file");
1858 let ensureLeadingSlash = host !== null; 1896 let ensureLeadingSlash = host !== null;
1859 path = _makePath(uri, pathStart, index, null, ensureLeadingSlash, isFile); 1897 path = Uri[_makePath](uri, pathStart, index, null, ensureLeadingSlash, isF ile);
1860 if (char === Uri._QUESTION) { 1898 if (char === Uri[_QUESTION]) {
1861 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1); 1899 let numberSignIndex = uri.indexOf('#', dart.notNull(index) + 1);
1862 if (dart.notNull(numberSignIndex) < 0) { 1900 if (dart.notNull(numberSignIndex) < 0) {
1863 query = _makeQuery(uri, dart.notNull(index) + 1, uri.length, null); 1901 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, uri.length, null );
1864 } else { 1902 } else {
1865 query = _makeQuery(uri, dart.notNull(index) + 1, numberSignIndex, null ); 1903 query = Uri[_makeQuery](uri, dart.notNull(index) + 1, numberSignIndex, null);
1866 fragment = _makeFragment(uri, dart.notNull(numberSignIndex) + 1, uri.l ength); 1904 fragment = Uri[_makeFragment](uri, dart.notNull(numberSignIndex) + 1, uri.length);
1867 } 1905 }
1868 } else if (char === Uri._NUMBER_SIGN) { 1906 } else if (char === Uri[_NUMBER_SIGN]) {
1869 fragment = _makeFragment(uri, dart.notNull(index) + 1, uri.length); 1907 fragment = Uri[_makeFragment](uri, dart.notNull(index) + 1, uri.length);
1870 } 1908 }
1871 return new Uri._internal(scheme, userinfo, host, port, path, query, fragme nt); 1909 return new Uri._internal(scheme, userinfo, host, port, path, query, fragme nt);
1872 } 1910 }
1873 static [_fail$](uri, index, message) { 1911 static [_fail](uri, index, message) {
1874 throw new FormatException(message, uri, index); 1912 throw new FormatException(message, uri, index);
1875 } 1913 }
1876 Uri$_internal(scheme, userInfo$, host$, port$, path$, query$, fragment$) { 1914 Uri$_internal(scheme, userInfo$, host$, port$, path$, query$, fragment$) {
1877 this.scheme = scheme; 1915 this.scheme = scheme;
1878 this[_userInfo] = userInfo$; 1916 this[_userInfo] = userInfo$;
1879 this[_host] = host$; 1917 this[_host] = host$;
1880 this[_port] = port$; 1918 this[_port] = port$;
1881 this[_path] = path$; 1919 this[_path] = path$;
1882 this[_query] = query$; 1920 this[_query] = query$;
1883 this[_fragment] = fragment$; 1921 this[_fragment] = fragment$;
1884 this[_pathSegments] = null; 1922 this[_pathSegments] = null;
1885 this[_queryParameters] = null; 1923 this[_queryParameters] = null;
1886 } 1924 }
1887 Uri(opts) { 1925 Uri(opts) {
1888 let scheme = opts && 'scheme' in opts ? opts.scheme : ""; 1926 let scheme = opts && 'scheme' in opts ? opts.scheme : "";
1889 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : ""; 1927 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : "";
1890 let host = opts && 'host' in opts ? opts.host : null; 1928 let host = opts && 'host' in opts ? opts.host : null;
1891 let port = opts && 'port' in opts ? opts.port : null; 1929 let port = opts && 'port' in opts ? opts.port : null;
1892 let path = opts && 'path' in opts ? opts.path : null; 1930 let path = opts && 'path' in opts ? opts.path : null;
1893 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll; 1931 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll;
1894 let query = opts && 'query' in opts ? opts.query : null; 1932 let query = opts && 'query' in opts ? opts.query : null;
1895 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null; 1933 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null;
1896 let fragment = opts && 'fragment' in opts ? opts.fragment : null; 1934 let fragment = opts && 'fragment' in opts ? opts.fragment : null;
1897 scheme = _makeScheme(scheme, _stringOrNullLength(scheme)); 1935 scheme = Uri[_makeScheme](scheme, Uri[_stringOrNullLength](scheme));
1898 userInfo = _makeUserInfo(userInfo, 0, _stringOrNullLength(userInfo)); 1936 userInfo = Uri[_makeUserInfo](userInfo, 0, Uri[_stringOrNullLength](userIn fo));
1899 host = _makeHost(host, 0, _stringOrNullLength(host), false); 1937 host = Uri[_makeHost](host, 0, Uri[_stringOrNullLength](host), false);
1900 if (dart.equals(query, "")) 1938 if (dart.equals(query, ""))
1901 query = null; 1939 query = null;
1902 query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters); 1940 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), queryPa rameters);
1903 fragment = _makeFragment(fragment, 0, _stringOrNullLength(fragment)); 1941 fragment = Uri[_makeFragment](fragment, 0, Uri[_stringOrNullLength](fragme nt));
1904 port = _makePort(port, scheme); 1942 port = Uri[_makePort](port, scheme);
1905 let isFile = dart.equals(scheme, "file"); 1943 let isFile = dart.equals(scheme, "file");
1906 if (dart.notNull(host === null) && (dart.notNull(userInfo.isNotEmpty) || p ort !== null || dart.notNull(isFile))) { 1944 if (dart.notNull(host === null) && (dart.notNull(userInfo.isNotEmpty) || p ort !== null || dart.notNull(isFile))) {
1907 host = ""; 1945 host = "";
1908 } 1946 }
1909 let ensureLeadingSlash = host !== null; 1947 let ensureLeadingSlash = host !== null;
1910 path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensureL eadingSlash, isFile); 1948 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegment s, ensureLeadingSlash, isFile);
1911 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme nt); 1949 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme nt);
1912 } 1950 }
1913 Uri$http(authority, unencodedPath, queryParameters) { 1951 Uri$http(authority, unencodedPath, queryParameters) {
1914 if (queryParameters === void 0) 1952 if (queryParameters === void 0)
1915 queryParameters = null; 1953 queryParameters = null;
1916 return _makeHttpUri("http", authority, unencodedPath, queryParameters); 1954 return Uri[_makeHttpUri]("http", authority, unencodedPath, queryParameters );
1917 } 1955 }
1918 Uri$https(authority, unencodedPath, queryParameters) { 1956 Uri$https(authority, unencodedPath, queryParameters) {
1919 if (queryParameters === void 0) 1957 if (queryParameters === void 0)
1920 queryParameters = null; 1958 queryParameters = null;
1921 return _makeHttpUri("https", authority, unencodedPath, queryParameters); 1959 return Uri[_makeHttpUri]("https", authority, unencodedPath, queryParameter s);
1922 } 1960 }
1923 static [_makeHttpUri$](scheme, authority, unencodedPath, queryParameters) { 1961 static [_makeHttpUri](scheme, authority, unencodedPath, queryParameters) {
1924 let userInfo = ""; 1962 let userInfo = "";
1925 let host = null; 1963 let host = null;
1926 let port = null; 1964 let port = null;
1927 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty) ) { 1965 if (dart.notNull(authority !== null) && dart.notNull(authority.isNotEmpty) ) {
1928 let hostStart = 0; 1966 let hostStart = 0;
1929 let hasUserInfo = false; 1967 let hasUserInfo = false;
1930 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da rt.notNull(i) + 1) { 1968 for (let i = 0; dart.notNull(i) < dart.notNull(authority.length); i = da rt.notNull(i) + 1) {
1931 if (authority.codeUnitAt(i) === Uri._AT_SIGN) { 1969 if (authority.codeUnitAt(i) === Uri[_AT_SIGN]) {
1932 hasUserInfo = true; 1970 hasUserInfo = true;
1933 userInfo = authority.substring(0, i); 1971 userInfo = authority.substring(0, i);
1934 hostStart = dart.notNull(i) + 1; 1972 hostStart = dart.notNull(i) + 1;
1935 break; 1973 break;
1936 } 1974 }
1937 } 1975 }
1938 let hostEnd = hostStart; 1976 let hostEnd = hostStart;
1939 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) === Uri._LEFT_BRACKET) { 1977 if (dart.notNull(hostStart) < dart.notNull(authority.length) && authorit y.codeUnitAt(hostStart) === Uri[_LEFT_BRACKET]) {
1940 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) { 1978 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
1941 if (authority.codeUnitAt(hostEnd) === Uri._RIGHT_BRACKET) 1979 if (authority.codeUnitAt(hostEnd) === Uri[_RIGHT_BRACKET])
1942 break; 1980 break;
1943 } 1981 }
1944 if (hostEnd === authority.length) { 1982 if (hostEnd === authority.length) {
1945 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart); 1983 throw new FormatException("Invalid IPv6 host entry.", authority, hos tStart);
1946 } 1984 }
1947 parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd); 1985 Uri.parseIPv6Address(authority, dart.notNull(hostStart) + 1, hostEnd);
1948 hostEnd = dart.notNull(hostEnd) + 1; 1986 hostEnd = dart.notNull(hostEnd) + 1;
1949 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !== Uri._COLON) { 1987 if (hostEnd !== authority.length && authority.codeUnitAt(hostEnd) !== Uri[_COLON]) {
1950 throw new FormatException("Invalid end of authority", authority, hos tEnd); 1988 throw new FormatException("Invalid end of authority", authority, hos tEnd);
1951 } 1989 }
1952 } 1990 }
1953 let hasPort = false; 1991 let hasPort = false;
1954 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) { 1992 for (; dart.notNull(hostEnd) < dart.notNull(authority.length); hostEnd = dart.notNull(hostEnd) + 1) {
1955 if (authority.codeUnitAt(hostEnd) === Uri._COLON) { 1993 if (authority.codeUnitAt(hostEnd) === Uri[_COLON]) {
1956 let portString = authority.substring(dart.notNull(hostEnd) + 1); 1994 let portString = authority.substring(dart.notNull(hostEnd) + 1);
1957 if (portString.isNotEmpty) 1995 if (portString.isNotEmpty)
1958 port = int.parse(portString); 1996 port = int.parse(portString);
1959 break; 1997 break;
1960 } 1998 }
1961 } 1999 }
1962 host = authority.substring(hostStart, hostEnd); 2000 host = authority.substring(hostStart, hostEnd);
1963 } 2001 }
1964 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters}); 2002 return new Uri({scheme: scheme, userInfo: userInfo, host: dart.as(host, St ring), port: dart.as(port, int), pathSegments: unencodedPath.split("/"), queryPa rameters: queryParameters});
1965 } 2003 }
1966 Uri$file(path, opts) { 2004 Uri$file(path, opts) {
1967 let windows = opts && 'windows' in opts ? opts.windows : null; 2005 let windows = opts && 'windows' in opts ? opts.windows : null;
1968 windows = windows === null ? Uri[_isWindows$] : windows; 2006 windows = windows === null ? Uri[_isWindows] : windows;
1969 return dart.as(windows ? _makeWindowsFileUrl(path) : _makeFileUri(path), U ri); 2007 return dart.as(windows ? Uri[_makeWindowsFileUrl](path) : Uri[_makeFileUri ](path), Uri);
1970 } 2008 }
1971 static get base() { 2009 static get base() {
1972 let uri = _js_helper.Primitives.currentUri(); 2010 let uri = _js_helper.Primitives.currentUri();
1973 if (uri !== null) 2011 if (uri !== null)
1974 return Uri.parse(uri); 2012 return Uri.parse(uri);
1975 throw new UnsupportedError("'Uri.base' is not supported"); 2013 throw new UnsupportedError("'Uri.base' is not supported");
1976 } 2014 }
1977 static get [_isWindows$]() { 2015 static get [_isWindows]() {
1978 return false; 2016 return false;
1979 } 2017 }
1980 static [_checkNonWindowsPathReservedCharacters$](segments, argumentError) { 2018 static [_checkNonWindowsPathReservedCharacters](segments, argumentError) {
1981 segments.forEach(dart.closureWrap((segment) => { 2019 segments.forEach(dart.closureWrap((segment) => {
1982 if (dart.dinvoke(segment, 'contains', "/")) { 2020 if (dart.dinvoke(segment, 'contains', "/")) {
1983 if (argumentError) { 2021 if (argumentError) {
1984 throw new ArgumentError(`Illegal path character ${segment}`); 2022 throw new ArgumentError(`Illegal path character ${segment}`);
1985 } else { 2023 } else {
1986 throw new UnsupportedError(`Illegal path character ${segment}`); 2024 throw new UnsupportedError(`Illegal path character ${segment}`);
1987 } 2025 }
1988 } 2026 }
1989 }, "(String) → void")); 2027 }, "(String) → void"));
1990 } 2028 }
1991 static [_checkWindowsPathReservedCharacters$](segments, argumentError, first Segment) { 2029 static [_checkWindowsPathReservedCharacters](segments, argumentError, firstS egment) {
1992 if (firstSegment === void 0) 2030 if (firstSegment === void 0)
1993 firstSegment = 0; 2031 firstSegment = 0;
1994 segments.skip(firstSegment).forEach(dart.closureWrap((segment) => { 2032 segments.skip(firstSegment).forEach(dart.closureWrap((segment) => {
1995 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) { 2033 if (dart.dinvoke(segment, 'contains', new RegExp('["*/:<>?\\\\|]'))) {
1996 if (argumentError) { 2034 if (argumentError) {
1997 throw new ArgumentError("Illegal character in path"); 2035 throw new ArgumentError("Illegal character in path");
1998 } else { 2036 } else {
1999 throw new UnsupportedError("Illegal character in path"); 2037 throw new UnsupportedError("Illegal character in path");
2000 } 2038 }
2001 } 2039 }
2002 }, "(String) → void")); 2040 }, "(String) → void"));
2003 } 2041 }
2004 static [_checkWindowsDriveLetter$](charCode, argumentError) { 2042 static [_checkWindowsDriveLetter](charCode, argumentError) {
2005 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)) { 2043 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])) {
2006 return; 2044 return;
2007 } 2045 }
2008 if (argumentError) { 2046 if (argumentError) {
2009 throw new ArgumentError(String['+']("Illegal drive letter ", new String. fromCharCode(charCode))); 2047 throw new ArgumentError(String['+']("Illegal drive letter ", new String. fromCharCode(charCode)));
2010 } else { 2048 } else {
2011 throw new UnsupportedError(String['+']("Illegal drive letter ", new Stri ng.fromCharCode(charCode))); 2049 throw new UnsupportedError(String['+']("Illegal drive letter ", new Stri ng.fromCharCode(charCode)));
2012 } 2050 }
2013 } 2051 }
2014 static [_makeFileUri$](path) { 2052 static [_makeFileUri](path) {
2015 let sep = "/"; 2053 let sep = "/";
2016 if (path.startsWith(sep)) { 2054 if (path.startsWith(sep)) {
2017 return new Uri({scheme: "file", pathSegments: path.split(sep)}); 2055 return new Uri({scheme: "file", pathSegments: path.split(sep)});
2018 } else { 2056 } else {
2019 return new Uri({pathSegments: path.split(sep)}); 2057 return new Uri({pathSegments: path.split(sep)});
2020 } 2058 }
2021 } 2059 }
2022 static [_makeWindowsFileUrl$](path) { 2060 static [_makeWindowsFileUrl](path) {
2023 if (path.startsWith("\\\\?\\")) { 2061 if (path.startsWith("\\\\?\\")) {
2024 if (path.startsWith("\\\\?\\UNC\\")) { 2062 if (path.startsWith("\\\\?\\UNC\\")) {
2025 path = `\\${path.substring(7)}`; 2063 path = `\\${path.substring(7)}`;
2026 } else { 2064 } else {
2027 path = path.substring(4); 2065 path = path.substring(4);
2028 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) !== Uri._COLON || path.codeUnitAt(2) !== Uri._BACKSLASH) { 2066 if (dart.notNull(path.length) < 3 || path.codeUnitAt(1) !== Uri[_COLON ] || path.codeUnitAt(2) !== Uri[_BACKSLASH]) {
2029 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a bsolute"); 2067 throw new ArgumentError("Windows paths with \\\\?\\ prefix must be a bsolute");
2030 } 2068 }
2031 } 2069 }
2032 } else { 2070 } else {
2033 path = path.replaceAll("/", "\\"); 2071 path = path.replaceAll("/", "\\");
2034 } 2072 }
2035 let sep = "\\"; 2073 let sep = "\\";
2036 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1), ":"))) { 2074 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1), ":"))) {
2037 _checkWindowsDriveLetter(path.codeUnitAt(0), true); 2075 Uri[_checkWindowsDriveLetter](path.codeUnitAt(0), true);
2038 if (path.length === 2 || path.codeUnitAt(2) !== Uri._BACKSLASH) { 2076 if (path.length === 2 || path.codeUnitAt(2) !== Uri[_BACKSLASH]) {
2039 throw new ArgumentError("Windows paths with drive letter must be absol ute"); 2077 throw new ArgumentError("Windows paths with drive letter must be absol ute");
2040 } 2078 }
2041 let pathSegments = path.split(sep); 2079 let pathSegments = path.split(sep);
2042 _checkWindowsPathReservedCharacters(pathSegments, true, 1); 2080 Uri[_checkWindowsPathReservedCharacters](pathSegments, true, 1);
2043 return new Uri({scheme: "file", pathSegments: pathSegments}); 2081 return new Uri({scheme: "file", pathSegments: pathSegments});
2044 } 2082 }
2045 if (dart.notNull(path.length) > 0 && dart.notNull(dart.equals(path.get(0), sep))) { 2083 if (dart.notNull(path.length) > 0 && dart.notNull(dart.equals(path.get(0), sep))) {
2046 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1 ), sep))) { 2084 if (dart.notNull(path.length) > 1 && dart.notNull(dart.equals(path.get(1 ), sep))) {
2047 let pathStart = path.indexOf("\\", 2); 2085 let pathStart = path.indexOf("\\", 2);
2048 let hostPart = pathStart === -1 ? path.substring(2) : path.substring(2 , pathStart); 2086 let hostPart = pathStart === -1 ? path.substring(2) : path.substring(2 , pathStart);
2049 let pathPart = pathStart === -1 ? "" : path.substring(dart.notNull(pat hStart) + 1); 2087 let pathPart = pathStart === -1 ? "" : path.substring(dart.notNull(pat hStart) + 1);
2050 let pathSegments = pathPart.split(sep); 2088 let pathSegments = pathPart.split(sep);
2051 _checkWindowsPathReservedCharacters(pathSegments, true); 2089 Uri[_checkWindowsPathReservedCharacters](pathSegments, true);
2052 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm ents}); 2090 return new Uri({scheme: "file", host: hostPart, pathSegments: pathSegm ents});
2053 } else { 2091 } else {
2054 let pathSegments = path.split(sep); 2092 let pathSegments = path.split(sep);
2055 _checkWindowsPathReservedCharacters(pathSegments, true); 2093 Uri[_checkWindowsPathReservedCharacters](pathSegments, true);
2056 return new Uri({scheme: "file", pathSegments: pathSegments}); 2094 return new Uri({scheme: "file", pathSegments: pathSegments});
2057 } 2095 }
2058 } else { 2096 } else {
2059 let pathSegments = path.split(sep); 2097 let pathSegments = path.split(sep);
2060 _checkWindowsPathReservedCharacters(pathSegments, true); 2098 Uri[_checkWindowsPathReservedCharacters](pathSegments, true);
2061 return new Uri({pathSegments: pathSegments}); 2099 return new Uri({pathSegments: pathSegments});
2062 } 2100 }
2063 } 2101 }
2064 replace(opts) { 2102 replace(opts) {
2065 let scheme = opts && 'scheme' in opts ? opts.scheme : null; 2103 let scheme = opts && 'scheme' in opts ? opts.scheme : null;
2066 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null; 2104 let userInfo = opts && 'userInfo' in opts ? opts.userInfo : null;
2067 let host = opts && 'host' in opts ? opts.host : null; 2105 let host = opts && 'host' in opts ? opts.host : null;
2068 let port = opts && 'port' in opts ? opts.port : null; 2106 let port = opts && 'port' in opts ? opts.port : null;
2069 let path = opts && 'path' in opts ? opts.path : null; 2107 let path = opts && 'path' in opts ? opts.path : null;
2070 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll; 2108 let pathSegments = opts && 'pathSegments' in opts ? opts.pathSegments : nu ll;
2071 let query = opts && 'query' in opts ? opts.query : null; 2109 let query = opts && 'query' in opts ? opts.query : null;
2072 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null; 2110 let queryParameters = opts && 'queryParameters' in opts ? opts.queryParame ters : null;
2073 let fragment = opts && 'fragment' in opts ? opts.fragment : null; 2111 let fragment = opts && 'fragment' in opts ? opts.fragment : null;
2074 let schemeChanged = false; 2112 let schemeChanged = false;
2075 if (scheme !== null) { 2113 if (scheme !== null) {
2076 scheme = _makeScheme(scheme, scheme.length); 2114 scheme = Uri[_makeScheme](scheme, scheme.length);
2077 schemeChanged = true; 2115 schemeChanged = true;
2078 } else { 2116 } else {
2079 scheme = this.scheme; 2117 scheme = this.scheme;
2080 } 2118 }
2081 let isFile = dart.equals(scheme, "file"); 2119 let isFile = dart.equals(scheme, "file");
2082 if (userInfo !== null) { 2120 if (userInfo !== null) {
2083 userInfo = _makeUserInfo(userInfo, 0, userInfo.length); 2121 userInfo = Uri[_makeUserInfo](userInfo, 0, userInfo.length);
2084 } else { 2122 } else {
2085 userInfo = this.userInfo; 2123 userInfo = this.userInfo;
2086 } 2124 }
2087 if (port !== null) { 2125 if (port !== null) {
2088 port = _makePort(port, scheme); 2126 port = Uri[_makePort](port, scheme);
2089 } else { 2127 } else {
2090 port = this[_port]; 2128 port = this[_port];
2091 if (schemeChanged) { 2129 if (schemeChanged) {
2092 port = _makePort(port, scheme); 2130 port = Uri[_makePort](port, scheme);
2093 } 2131 }
2094 } 2132 }
2095 if (host !== null) { 2133 if (host !== null) {
2096 host = _makeHost(host, 0, host.length, false); 2134 host = Uri[_makeHost](host, 0, host.length, false);
2097 } else if (this.hasAuthority) { 2135 } else if (this.hasAuthority) {
2098 host = this.host; 2136 host = this.host;
2099 } else if (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notN ull(isFile)) { 2137 } else if (dart.notNull(userInfo.isNotEmpty) || port !== null || dart.notN ull(isFile)) {
2100 host = ""; 2138 host = "";
2101 } 2139 }
2102 let ensureLeadingSlash = host !== null; 2140 let ensureLeadingSlash = host !== null;
2103 if (dart.notNull(path !== null) || dart.notNull(pathSegments !== null)) { 2141 if (dart.notNull(path !== null) || dart.notNull(pathSegments !== null)) {
2104 path = _makePath(path, 0, _stringOrNullLength(path), pathSegments, ensur eLeadingSlash, isFile); 2142 path = Uri[_makePath](path, 0, Uri[_stringOrNullLength](path), pathSegme nts, ensureLeadingSlash, isFile);
2105 } else { 2143 } else {
2106 path = this.path; 2144 path = this.path;
2107 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) { 2145 if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash) && !dart.n otNull(path.isEmpty)) && !dart.notNull(path.startsWith('/'))) {
2108 path = `/${path}`; 2146 path = `/${path}`;
2109 } 2147 }
2110 } 2148 }
2111 if (dart.notNull(query !== null) || dart.notNull(queryParameters !== null) ) { 2149 if (dart.notNull(query !== null) || dart.notNull(queryParameters !== null) ) {
2112 query = _makeQuery(query, 0, _stringOrNullLength(query), queryParameters ); 2150 query = Uri[_makeQuery](query, 0, Uri[_stringOrNullLength](query), query Parameters);
2113 } else if (this.hasQuery) { 2151 } else if (this.hasQuery) {
2114 query = this.query; 2152 query = this.query;
2115 } 2153 }
2116 if (fragment !== null) { 2154 if (fragment !== null) {
2117 fragment = _makeFragment(fragment, 0, fragment.length); 2155 fragment = Uri[_makeFragment](fragment, 0, fragment.length);
2118 } else if (this.hasFragment) { 2156 } else if (this.hasFragment) {
2119 fragment = this.fragment; 2157 fragment = this.fragment;
2120 } 2158 }
2121 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme nt); 2159 return new Uri._internal(scheme, userInfo, host, port, path, query, fragme nt);
2122 } 2160 }
2123 get pathSegments() { 2161 get pathSegments() {
2124 if (this[_pathSegments] === null) { 2162 if (this[_pathSegments] === null) {
2125 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) === Uri._SLASH ? this.path.substring(1) : this.path; 2163 let pathToSplit = !dart.notNull(this.path.isEmpty) && this.path.codeUnit At(0) === Uri[_SLASH] ? this.path.substring(1) : this.path;
2126 this[_pathSegments] = dart.as(new collection.UnmodifiableListView(dart.e quals(pathToSplit, "") ? /* Unimplemented const */new List.from([]) : pathToSpli t.split("/").map(Uri.decodeComponent).toList({growable: false})), List$(String)) ; 2164 this[_pathSegments] = dart.as(new collection.UnmodifiableListView(dart.e quals(pathToSplit, "") ? /* Unimplemented const */new List.from([]) : pathToSpli t.split("/").map(Uri.decodeComponent).toList({growable: false})), List$(String)) ;
2127 } 2165 }
2128 return this[_pathSegments]; 2166 return this[_pathSegments];
2129 } 2167 }
2130 get queryParameters() { 2168 get queryParameters() {
2131 if (this[_queryParameters] === null) { 2169 if (this[_queryParameters] === null) {
2132 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(spli tQueryString(this.query)), Map$(String, String)); 2170 this[_queryParameters] = dart.as(new collection.UnmodifiableMapView(Uri. splitQueryString(this.query)), Map$(String, String));
2133 } 2171 }
2134 return this[_queryParameters]; 2172 return this[_queryParameters];
2135 } 2173 }
2136 static [_makePort$](port, scheme) { 2174 static [_makePort](port, scheme) {
2137 if (port !== null && port === _defaultPort(scheme)) 2175 if (port !== null && port === Uri[_defaultPort](scheme))
2138 return null; 2176 return null;
2139 return port; 2177 return port;
2140 } 2178 }
2141 static [_makeHost$](host, start, end, strictIPv6) { 2179 static [_makeHost](host, start, end, strictIPv6) {
2142 if (host === null) 2180 if (host === null)
2143 return null; 2181 return null;
2144 if (start === end) 2182 if (start === end)
2145 return ""; 2183 return "";
2146 if (host.codeUnitAt(start) === Uri._LEFT_BRACKET) { 2184 if (host.codeUnitAt(start) === Uri[_LEFT_BRACKET]) {
2147 if (host.codeUnitAt(dart.notNull(end) - 1) !== Uri._RIGHT_BRACKET) { 2185 if (host.codeUnitAt(dart.notNull(end) - 1) !== Uri[_RIGHT_BRACKET]) {
2148 _fail(host, start, 'Missing end `]` to match `[` in host'); 2186 Uri[_fail](host, start, 'Missing end `]` to match `[` in host');
2149 } 2187 }
2150 parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1); 2188 Uri.parseIPv6Address(host, dart.notNull(start) + 1, dart.notNull(end) - 1);
2151 return host.substring(start, end).toLowerCase(); 2189 return host.substring(start, end).toLowerCase();
2152 } 2190 }
2153 if (!dart.notNull(strictIPv6)) { 2191 if (!dart.notNull(strictIPv6)) {
2154 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) { 2192 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNul l(i) + 1) {
2155 if (host.codeUnitAt(i) === Uri._COLON) { 2193 if (host.codeUnitAt(i) === Uri[_COLON]) {
2156 parseIPv6Address(host, start, end); 2194 Uri.parseIPv6Address(host, start, end);
2157 return `[${host}]`; 2195 return `[${host}]`;
2158 } 2196 }
2159 } 2197 }
2160 } 2198 }
2161 return _normalizeRegName(host, start, end); 2199 return Uri[_normalizeRegName](host, start, end);
2162 } 2200 }
2163 static [_isRegNameChar$](char) { 2201 static [_isRegNameChar](char) {
2164 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( Uri._regNameTable.get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0)); 2202 return dart.notNull(char) < 127 && dart.notNull(!dart.equals(dart.dbinary( Uri[_regNameTable].get(dart.notNull(char) >> 4), '&', 1 << (dart.notNull(char) & 15)), 0));
2165 } 2203 }
2166 static [_normalizeRegName$](host, start, end) { 2204 static [_normalizeRegName](host, start, end) {
2167 let buffer = null; 2205 let buffer = null;
2168 let sectionStart = start; 2206 let sectionStart = start;
2169 let index = start; 2207 let index = start;
2170 let isNormalized = true; 2208 let isNormalized = true;
2171 while (dart.notNull(index) < dart.notNull(end)) { 2209 while (dart.notNull(index) < dart.notNull(end)) {
2172 let char = host.codeUnitAt(index); 2210 let char = host.codeUnitAt(index);
2173 if (char === Uri._PERCENT) { 2211 if (char === Uri[_PERCENT]) {
2174 let replacement = _normalizeEscape(host, index, true); 2212 let replacement = Uri[_normalizeEscape](host, index, true);
2175 if (dart.notNull(replacement === null) && dart.notNull(isNormalized)) { 2213 if (dart.notNull(replacement === null) && dart.notNull(isNormalized)) {
2176 index = 3; 2214 index = 3;
2177 continue; 2215 continue;
2178 } 2216 }
2179 if (buffer === null) 2217 if (buffer === null)
2180 buffer = new StringBuffer(); 2218 buffer = new StringBuffer();
2181 let slice = host.substring(sectionStart, index); 2219 let slice = host.substring(sectionStart, index);
2182 if (!dart.notNull(isNormalized)) 2220 if (!dart.notNull(isNormalized))
2183 slice = slice.toLowerCase(); 2221 slice = slice.toLowerCase();
2184 buffer.write(slice); 2222 buffer.write(slice);
2185 let sourceLength = 3; 2223 let sourceLength = 3;
2186 if (replacement === null) { 2224 if (replacement === null) {
2187 replacement = host.substring(index, dart.notNull(index) + 3); 2225 replacement = host.substring(index, dart.notNull(index) + 3);
2188 } else if (dart.equals(replacement, "%")) { 2226 } else if (dart.equals(replacement, "%")) {
2189 replacement = "%25"; 2227 replacement = "%25";
2190 sourceLength = 1; 2228 sourceLength = 1;
2191 } 2229 }
2192 buffer.write(replacement); 2230 buffer.write(replacement);
2193 index = sourceLength; 2231 index = sourceLength;
2194 sectionStart = index; 2232 sectionStart = index;
2195 isNormalized = true; 2233 isNormalized = true;
2196 } else if (_isRegNameChar(char)) { 2234 } else if (Uri[_isRegNameChar](char)) {
2197 if (dart.notNull(isNormalized) && dart.notNull(Uri._UPPER_CASE_A) <= d art.notNull(char) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(char)) { 2235 if (dart.notNull(isNormalized) && dart.notNull(Uri[_UPPER_CASE_A]) <= dart.notNull(char) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(char)) {
2198 if (buffer === null) 2236 if (buffer === null)
2199 buffer = new StringBuffer(); 2237 buffer = new StringBuffer();
2200 if (dart.notNull(sectionStart) < dart.notNull(index)) { 2238 if (dart.notNull(sectionStart) < dart.notNull(index)) {
2201 buffer.write(host.substring(sectionStart, index)); 2239 buffer.write(host.substring(sectionStart, index));
2202 sectionStart = index; 2240 sectionStart = index;
2203 } 2241 }
2204 isNormalized = false; 2242 isNormalized = false;
2205 } 2243 }
2206 index = dart.notNull(index) + 1; 2244 index = dart.notNull(index) + 1;
2207 } else if (_isGeneralDelimiter(char)) { 2245 } else if (Uri[_isGeneralDelimiter](char)) {
2208 _fail(host, index, "Invalid character"); 2246 Uri[_fail](host, index, "Invalid character");
2209 } else { 2247 } else {
2210 let sourceLength = 1; 2248 let sourceLength = 1;
2211 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) { 2249 if ((dart.notNull(char) & 64512) === 55296 && dart.notNull(index) + 1 < dart.notNull(end)) {
2212 let tail = host.codeUnitAt(dart.notNull(index) + 1); 2250 let tail = host.codeUnitAt(dart.notNull(index) + 1);
2213 if ((dart.notNull(tail) & 64512) === 56320) { 2251 if ((dart.notNull(tail) & 64512) === 56320) {
2214 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023; 2252 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNull(ta il) & 1023;
2215 sourceLength = 2; 2253 sourceLength = 2;
2216 } 2254 }
2217 } 2255 }
2218 if (buffer === null) 2256 if (buffer === null)
2219 buffer = new StringBuffer(); 2257 buffer = new StringBuffer();
2220 let slice = host.substring(sectionStart, index); 2258 let slice = host.substring(sectionStart, index);
2221 if (!dart.notNull(isNormalized)) 2259 if (!dart.notNull(isNormalized))
2222 slice = slice.toLowerCase(); 2260 slice = slice.toLowerCase();
2223 buffer.write(slice); 2261 buffer.write(slice);
2224 buffer.write(_escapeChar(char)); 2262 buffer.write(Uri[_escapeChar](char));
2225 index = sourceLength; 2263 index = sourceLength;
2226 sectionStart = index; 2264 sectionStart = index;
2227 } 2265 }
2228 } 2266 }
2229 if (buffer === null) 2267 if (buffer === null)
2230 return host.substring(start, end); 2268 return host.substring(start, end);
2231 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2269 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2232 let slice = host.substring(sectionStart, end); 2270 let slice = host.substring(sectionStart, end);
2233 if (!dart.notNull(isNormalized)) 2271 if (!dart.notNull(isNormalized))
2234 slice = slice.toLowerCase(); 2272 slice = slice.toLowerCase();
2235 buffer.write(slice); 2273 buffer.write(slice);
2236 } 2274 }
2237 return buffer.toString(); 2275 return buffer.toString();
2238 } 2276 }
2239 static [_makeScheme$](scheme, end) { 2277 static [_makeScheme](scheme, end) {
2240 if (end === 0) 2278 if (end === 0)
2241 return ""; 2279 return "";
2242 let firstCodeUnit = scheme.codeUnitAt(0); 2280 let firstCodeUnit = scheme.codeUnitAt(0);
2243 if (!dart.notNull(_isAlphabeticCharacter(firstCodeUnit))) { 2281 if (!dart.notNull(Uri[_isAlphabeticCharacter](firstCodeUnit))) {
2244 _fail(scheme, 0, "Scheme not starting with alphabetic character"); 2282 Uri[_fail](scheme, 0, "Scheme not starting with alphabetic character");
2245 } 2283 }
2246 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri._LOWER_ CASE_A); 2284 let allLowercase = dart.notNull(firstCodeUnit) >= dart.notNull(Uri[_LOWER_ CASE_A]);
2247 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) { 2285 for (let i = 0; dart.notNull(i) < dart.notNull(end); i = dart.notNull(i) + 1) {
2248 let codeUnit = scheme.codeUnitAt(i); 2286 let codeUnit = scheme.codeUnitAt(i);
2249 if (!dart.notNull(_isSchemeCharacter(codeUnit))) { 2287 if (!dart.notNull(Uri[_isSchemeCharacter](codeUnit))) {
2250 _fail(scheme, i, "Illegal scheme character"); 2288 Uri[_fail](scheme, i, "Illegal scheme character");
2251 } 2289 }
2252 if (dart.notNull(codeUnit) < dart.notNull(Uri._LOWER_CASE_A) || dart.not Null(codeUnit) > dart.notNull(Uri._LOWER_CASE_Z)) { 2290 if (dart.notNull(codeUnit) < dart.notNull(Uri[_LOWER_CASE_A]) || dart.no tNull(codeUnit) > dart.notNull(Uri[_LOWER_CASE_Z])) {
2253 allLowercase = false; 2291 allLowercase = false;
2254 } 2292 }
2255 } 2293 }
2256 scheme = scheme.substring(0, end); 2294 scheme = scheme.substring(0, end);
2257 if (!dart.notNull(allLowercase)) 2295 if (!dart.notNull(allLowercase))
2258 scheme = scheme.toLowerCase(); 2296 scheme = scheme.toLowerCase();
2259 return scheme; 2297 return scheme;
2260 } 2298 }
2261 static [_makeUserInfo$](userInfo, start, end) { 2299 static [_makeUserInfo](userInfo, start, end) {
2262 if (userInfo === null) 2300 if (userInfo === null)
2263 return ""; 2301 return "";
2264 return _normalize(userInfo, start, end, dart.as(Uri._userinfoTable, List$( int))); 2302 return Uri[_normalize](userInfo, start, end, dart.as(Uri[_userinfoTable], List$(int)));
2265 } 2303 }
2266 static [_makePath$](path, start, end, pathSegments, ensureLeadingSlash, isFi le) { 2304 static [_makePath](path, start, end, pathSegments, ensureLeadingSlash, isFil e) {
2267 if (dart.notNull(path === null) && dart.notNull(pathSegments === null)) 2305 if (dart.notNull(path === null) && dart.notNull(pathSegments === null))
2268 return isFile ? "/" : ""; 2306 return isFile ? "/" : "";
2269 if (dart.notNull(path !== null) && dart.notNull(pathSegments !== null)) { 2307 if (dart.notNull(path !== null) && dart.notNull(pathSegments !== null)) {
2270 throw new ArgumentError('Both path and pathSegments specified'); 2308 throw new ArgumentError('Both path and pathSegments specified');
2271 } 2309 }
2272 let result = null; 2310 let result = null;
2273 if (path !== null) { 2311 if (path !== null) {
2274 result = _normalize(path, start, end, dart.as(Uri._pathCharOrSlashTable, List$(int))); 2312 result = Uri[_normalize](path, start, end, dart.as(Uri[_pathCharOrSlashT able], List$(int)));
2275 } else { 2313 } else {
2276 result = pathSegments.map(dart.closureWrap((s) => _uriEncode(dart.as(Uri ._pathCharTable, List$(int)), dart.as(s, String)), "(String) → dynamic")).join(" /"); 2314 result = pathSegments.map(dart.closureWrap((s) => Uri[_uriEncode](dart.a s(Uri[_pathCharTable], List$(int)), dart.as(s, String)), "(String) → dynamic")). join("/");
2277 } 2315 }
2278 if (dart.dload(result, 'isEmpty')) { 2316 if (dart.dload(result, 'isEmpty')) {
2279 if (isFile) 2317 if (isFile)
2280 return "/"; 2318 return "/";
2281 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri._SLASH))) { 2319 } else if ((dart.notNull(isFile) || dart.notNull(ensureLeadingSlash)) && d art.notNull(!dart.equals(dart.dinvoke(result, 'codeUnitAt', 0), Uri[_SLASH]))) {
2282 return `/${result}`; 2320 return `/${result}`;
2283 } 2321 }
2284 return dart.as(result, String); 2322 return dart.as(result, String);
2285 } 2323 }
2286 static [_makeQuery$](query, start, end, queryParameters) { 2324 static [_makeQuery](query, start, end, queryParameters) {
2287 if (dart.notNull(query === null) && dart.notNull(queryParameters === null) ) 2325 if (dart.notNull(query === null) && dart.notNull(queryParameters === null) )
2288 return null; 2326 return null;
2289 if (dart.notNull(query !== null) && dart.notNull(queryParameters !== null) ) { 2327 if (dart.notNull(query !== null) && dart.notNull(queryParameters !== null) ) {
2290 throw new ArgumentError('Both query and queryParameters specified'); 2328 throw new ArgumentError('Both query and queryParameters specified');
2291 } 2329 }
2292 if (query !== null) 2330 if (query !== null)
2293 return _normalize(query, start, end, dart.as(Uri._queryCharTable, List$( int))); 2331 return Uri[_normalize](query, start, end, dart.as(Uri[_queryCharTable], List$(int)));
2294 let result = new StringBuffer(); 2332 let result = new StringBuffer();
2295 let first = true; 2333 let first = true;
2296 queryParameters.forEach(dart.closureWrap(((key, value) => { 2334 queryParameters.forEach(dart.closureWrap(((key, value) => {
2297 if (!dart.notNull(first)) { 2335 if (!dart.notNull(first)) {
2298 result.write("&"); 2336 result.write("&");
2299 } 2337 }
2300 first = false; 2338 first = false;
2301 result.write(Uri.encodeQueryComponent(dart.as(key, String))); 2339 result.write(Uri.encodeQueryComponent(dart.as(key, String)));
2302 if (dart.notNull(value !== null) && dart.notNull(dart.dunary('!', dart.d load(value, 'isEmpty')))) { 2340 if (dart.notNull(value !== null) && dart.notNull(dart.dunary('!', dart.d load(value, 'isEmpty')))) {
2303 result.write("="); 2341 result.write("=");
2304 result.write(Uri.encodeQueryComponent(dart.as(value, String))); 2342 result.write(Uri.encodeQueryComponent(dart.as(value, String)));
2305 } 2343 }
2306 }).bind(this), "(String, String) → void")); 2344 }).bind(this), "(String, String) → void"));
2307 return result.toString(); 2345 return result.toString();
2308 } 2346 }
2309 static [_makeFragment$](fragment, start, end) { 2347 static [_makeFragment](fragment, start, end) {
2310 if (fragment === null) 2348 if (fragment === null)
2311 return null; 2349 return null;
2312 return _normalize(fragment, start, end, dart.as(Uri._queryCharTable, List$ (int))); 2350 return Uri[_normalize](fragment, start, end, dart.as(Uri[_queryCharTable], List$(int)));
2313 } 2351 }
2314 static [_stringOrNullLength$](s) { 2352 static [_stringOrNullLength](s) {
2315 return s === null ? 0 : s.length; 2353 return s === null ? 0 : s.length;
2316 } 2354 }
2317 static [_isHexDigit$](char) { 2355 static [_isHexDigit](char) {
2318 if (dart.notNull(Uri._NINE) >= dart.notNull(char)) 2356 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char))
2319 return dart.notNull(Uri._ZERO) <= dart.notNull(char); 2357 return dart.notNull(Uri[_ZERO]) <= dart.notNull(char);
2320 char = 32; 2358 char = 32;
2321 return dart.notNull(Uri._LOWER_CASE_A) <= dart.notNull(char) && dart.notNu ll(Uri._LOWER_CASE_F) >= dart.notNull(char); 2359 return dart.notNull(Uri[_LOWER_CASE_A]) <= dart.notNull(char) && dart.notN ull(Uri[_LOWER_CASE_F]) >= dart.notNull(char);
2322 } 2360 }
2323 static [_hexValue$](char) { 2361 static [_hexValue](char) {
2324 dart.assert(_isHexDigit(char)); 2362 dart.assert(Uri[_isHexDigit](char));
2325 if (dart.notNull(Uri._NINE) >= dart.notNull(char)) 2363 if (dart.notNull(Uri[_NINE]) >= dart.notNull(char))
2326 return dart.notNull(char) - dart.notNull(Uri._ZERO); 2364 return dart.notNull(char) - dart.notNull(Uri[_ZERO]);
2327 char = 32; 2365 char = 32;
2328 return dart.notNull(char) - (dart.notNull(Uri._LOWER_CASE_A) - 10); 2366 return dart.notNull(char) - (dart.notNull(Uri[_LOWER_CASE_A]) - 10);
2329 } 2367 }
2330 static [_normalizeEscape$](source, index, lowerCase) { 2368 static [_normalizeEscape](source, index, lowerCase) {
2331 dart.assert(source.codeUnitAt(index) === Uri._PERCENT); 2369 dart.assert(source.codeUnitAt(index) === Uri[_PERCENT]);
2332 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) { 2370 if (dart.notNull(index) + 2 >= dart.notNull(source.length)) {
2333 return "%"; 2371 return "%";
2334 } 2372 }
2335 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1); 2373 let firstDigit = source.codeUnitAt(dart.notNull(index) + 1);
2336 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2); 2374 let secondDigit = source.codeUnitAt(dart.notNull(index) + 2);
2337 if (!dart.notNull(_isHexDigit(firstDigit)) || !dart.notNull(_isHexDigit(se condDigit))) { 2375 if (!dart.notNull(Uri[_isHexDigit](firstDigit)) || !dart.notNull(Uri[_isHe xDigit](secondDigit))) {
2338 return "%"; 2376 return "%";
2339 } 2377 }
2340 let value = dart.notNull(_hexValue(firstDigit)) * 16 + dart.notNull(_hexVa lue(secondDigit)); 2378 let value = dart.notNull(Uri[_hexValue](firstDigit)) * 16 + dart.notNull(U ri[_hexValue](secondDigit));
2341 if (_isUnreservedChar(value)) { 2379 if (Uri[_isUnreservedChar](value)) {
2342 if (dart.notNull(lowerCase) && dart.notNull(Uri._UPPER_CASE_A) <= dart.n otNull(value) && dart.notNull(Uri._UPPER_CASE_Z) >= dart.notNull(value)) { 2380 if (dart.notNull(lowerCase) && dart.notNull(Uri[_UPPER_CASE_A]) <= dart. notNull(value) && dart.notNull(Uri[_UPPER_CASE_Z]) >= dart.notNull(value)) {
2343 value = 32; 2381 value = 32;
2344 } 2382 }
2345 return new String.fromCharCode(value); 2383 return new String.fromCharCode(value);
2346 } 2384 }
2347 if (dart.notNull(firstDigit) >= dart.notNull(Uri._LOWER_CASE_A) || dart.no tNull(secondDigit) >= dart.notNull(Uri._LOWER_CASE_A)) { 2385 if (dart.notNull(firstDigit) >= dart.notNull(Uri[_LOWER_CASE_A]) || dart.n otNull(secondDigit) >= dart.notNull(Uri[_LOWER_CASE_A])) {
2348 return source.substring(index, dart.notNull(index) + 3).toUpperCase(); 2386 return source.substring(index, dart.notNull(index) + 3).toUpperCase();
2349 } 2387 }
2350 return null; 2388 return null;
2351 } 2389 }
2352 static [_isUnreservedChar$](ch) { 2390 static [_isUnreservedChar](ch) {
2353 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur i._unreservedTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15) ), 0)); 2391 return dart.notNull(ch) < 127 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_unreservedTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15 )), 0));
2354 } 2392 }
2355 static [_escapeChar$](char) { 2393 static [_escapeChar](char) {
2356 dart.assert(dart.dbinary(char, '<=', 1114111)); 2394 dart.assert(dart.dbinary(char, '<=', 1114111));
2357 let hexDigits = "0123456789ABCDEF"; 2395 let hexDigits = "0123456789ABCDEF";
2358 let codeUnits = null; 2396 let codeUnits = null;
2359 if (dart.dbinary(char, '<', 128)) { 2397 if (dart.dbinary(char, '<', 128)) {
2360 codeUnits = new List(3); 2398 codeUnits = new List(3);
2361 codeUnits.set(0, Uri._PERCENT); 2399 codeUnits.set(0, Uri[_PERCENT]);
2362 codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4 ), int))); 2400 codeUnits.set(1, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '>>', 4 ), int)));
2363 codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15 ), int))); 2401 codeUnits.set(2, hexDigits.codeUnitAt(dart.as(dart.dbinary(char, '&', 15 ), int)));
2364 } else { 2402 } else {
2365 let flag = 192; 2403 let flag = 192;
2366 let encodedBytes = 2; 2404 let encodedBytes = 2;
2367 if (dart.dbinary(char, '>', 2047)) { 2405 if (dart.dbinary(char, '>', 2047)) {
2368 flag = 224; 2406 flag = 224;
2369 encodedBytes = 3; 2407 encodedBytes = 3;
2370 if (dart.dbinary(char, '>', 65535)) { 2408 if (dart.dbinary(char, '>', 65535)) {
2371 encodedBytes = 4; 2409 encodedBytes = 4;
2372 flag = 240; 2410 flag = 240;
2373 } 2411 }
2374 } 2412 }
2375 codeUnits = new List(3 * dart.notNull(encodedBytes)); 2413 codeUnits = new List(3 * dart.notNull(encodedBytes));
2376 let index = 0; 2414 let index = 0;
2377 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) { 2415 while ((encodedBytes = dart.notNull(encodedBytes) - 1) >= 0) {
2378 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int); 2416 let byte = dart.as(dart.dbinary(dart.dbinary(dart.dbinary(char, '>>', 6 * dart.notNull(encodedBytes)), '&', 63), '|', flag), int);
2379 codeUnits.set(index, Uri._PERCENT); 2417 codeUnits.set(index, Uri[_PERCENT]);
2380 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu ll(byte) >> 4)); 2418 codeUnits.set(dart.notNull(index) + 1, hexDigits.codeUnitAt(dart.notNu ll(byte) >> 4));
2381 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu ll(byte) & 15)); 2419 codeUnits.set(dart.notNull(index) + 2, hexDigits.codeUnitAt(dart.notNu ll(byte) & 15));
2382 index = 3; 2420 index = 3;
2383 flag = 128; 2421 flag = 128;
2384 } 2422 }
2385 } 2423 }
2386 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int))); 2424 return new String.fromCharCodes(dart.as(codeUnits, Iterable$(int)));
2387 } 2425 }
2388 static [_normalize$](component, start, end, charTable) { 2426 static [_normalize](component, start, end, charTable) {
2389 let buffer = null; 2427 let buffer = null;
2390 let sectionStart = start; 2428 let sectionStart = start;
2391 let index = start; 2429 let index = start;
2392 while (dart.notNull(index) < dart.notNull(end)) { 2430 while (dart.notNull(index) < dart.notNull(end)) {
2393 let char = component.codeUnitAt(index); 2431 let char = component.codeUnitAt(index);
2394 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull (char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) { 2432 if (dart.notNull(char) < 127 && (dart.notNull(charTable.get(dart.notNull (char) >> 4)) & 1 << (dart.notNull(char) & 15)) !== 0) {
2395 index = dart.notNull(index) + 1; 2433 index = dart.notNull(index) + 1;
2396 } else { 2434 } else {
2397 let replacement = null; 2435 let replacement = null;
2398 let sourceLength = null; 2436 let sourceLength = null;
2399 if (char === Uri._PERCENT) { 2437 if (char === Uri[_PERCENT]) {
2400 replacement = _normalizeEscape(component, index, false); 2438 replacement = Uri[_normalizeEscape](component, index, false);
2401 if (replacement === null) { 2439 if (replacement === null) {
2402 index = 3; 2440 index = 3;
2403 continue; 2441 continue;
2404 } 2442 }
2405 if (dart.equals("%", replacement)) { 2443 if (dart.equals("%", replacement)) {
2406 replacement = "%25"; 2444 replacement = "%25";
2407 sourceLength = 1; 2445 sourceLength = 1;
2408 } else { 2446 } else {
2409 sourceLength = 3; 2447 sourceLength = 3;
2410 } 2448 }
2411 } else if (_isGeneralDelimiter(char)) { 2449 } else if (Uri[_isGeneralDelimiter](char)) {
2412 _fail(component, index, "Invalid character"); 2450 Uri[_fail](component, index, "Invalid character");
2413 } else { 2451 } else {
2414 sourceLength = 1; 2452 sourceLength = 1;
2415 if ((dart.notNull(char) & 64512) === 55296) { 2453 if ((dart.notNull(char) & 64512) === 55296) {
2416 if (dart.notNull(index) + 1 < dart.notNull(end)) { 2454 if (dart.notNull(index) + 1 < dart.notNull(end)) {
2417 let tail = component.codeUnitAt(dart.notNull(index) + 1); 2455 let tail = component.codeUnitAt(dart.notNull(index) + 1);
2418 if ((dart.notNull(tail) & 64512) === 56320) { 2456 if ((dart.notNull(tail) & 64512) === 56320) {
2419 sourceLength = 2; 2457 sourceLength = 2;
2420 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul l(tail) & 1023; 2458 char = 65536 | (dart.notNull(char) & 1023) << 10 | dart.notNul l(tail) & 1023;
2421 } 2459 }
2422 } 2460 }
2423 } 2461 }
2424 replacement = _escapeChar(char); 2462 replacement = Uri[_escapeChar](char);
2425 } 2463 }
2426 if (buffer === null) 2464 if (buffer === null)
2427 buffer = new StringBuffer(); 2465 buffer = new StringBuffer();
2428 buffer.write(component.substring(sectionStart, index)); 2466 buffer.write(component.substring(sectionStart, index));
2429 buffer.write(replacement); 2467 buffer.write(replacement);
2430 index = sourceLength; 2468 index = sourceLength;
2431 sectionStart = index; 2469 sectionStart = index;
2432 } 2470 }
2433 } 2471 }
2434 if (buffer === null) { 2472 if (buffer === null) {
2435 return component.substring(start, end); 2473 return component.substring(start, end);
2436 } 2474 }
2437 if (dart.notNull(sectionStart) < dart.notNull(end)) { 2475 if (dart.notNull(sectionStart) < dart.notNull(end)) {
2438 buffer.write(component.substring(sectionStart, end)); 2476 buffer.write(component.substring(sectionStart, end));
2439 } 2477 }
2440 return buffer.toString(); 2478 return buffer.toString();
2441 } 2479 }
2442 static [_isSchemeCharacter$](ch) { 2480 static [_isSchemeCharacter](ch) {
2443 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur i._schemeTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0 )); 2481 return dart.notNull(ch) < 128 && dart.notNull(!dart.equals(dart.dbinary(Ur i[_schemeTable].get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0));
2444 } 2482 }
2445 static [_isGeneralDelimiter$](ch) { 2483 static [_isGeneralDelimiter](ch) {
2446 return dart.notNull(ch) <= dart.notNull(Uri._RIGHT_BRACKET) && dart.notNul l(!dart.equals(dart.dbinary(Uri._genDelimitersTable.get(dart.notNull(ch) >> 4), '&', 1 << (dart.notNull(ch) & 15)), 0)); 2484 return dart.notNull(ch) <= dart.notNull(Uri[_RIGHT_BRACKET]) && dart.notNu ll(!dart.equals(dart.dbinary(Uri[_genDelimitersTable].get(dart.notNull(ch) >> 4) , '&', 1 << (dart.notNull(ch) & 15)), 0));
2447 } 2485 }
2448 get isAbsolute() { 2486 get isAbsolute() {
2449 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq uals(this.fragment, "")); 2487 return dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(dart.eq uals(this.fragment, ""));
2450 } 2488 }
2451 [_merge](base, reference) { 2489 [_merge](base, reference) {
2452 if (base.isEmpty) 2490 if (base.isEmpty)
2453 return `/${reference}`; 2491 return `/${reference}`;
2454 let backCount = 0; 2492 let backCount = 0;
2455 let refStart = 0; 2493 let refStart = 0;
2456 while (reference.startsWith("../", refStart)) { 2494 while (reference.startsWith("../", refStart)) {
2457 refStart = 3; 2495 refStart = 3;
2458 backCount = dart.notNull(backCount) + 1; 2496 backCount = dart.notNull(backCount) + 1;
2459 } 2497 }
2460 let baseEnd = base.lastIndexOf('/'); 2498 let baseEnd = base.lastIndexOf('/');
2461 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) { 2499 while (dart.notNull(baseEnd) > 0 && dart.notNull(backCount) > 0) {
2462 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1); 2500 let newEnd = base.lastIndexOf('/', dart.notNull(baseEnd) - 1);
2463 if (dart.notNull(newEnd) < 0) { 2501 if (dart.notNull(newEnd) < 0) {
2464 break; 2502 break;
2465 } 2503 }
2466 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd); 2504 let delta = dart.notNull(baseEnd) - dart.notNull(newEnd);
2467 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) === Uri._DOT && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) === Uri._DOT)) { 2505 if ((delta === 2 || delta === 3) && base.codeUnitAt(dart.notNull(newEnd) + 1) === Uri[_DOT] && (delta === 2 || base.codeUnitAt(dart.notNull(newEnd) + 2) === Uri[_DOT])) {
2468 break; 2506 break;
2469 } 2507 }
2470 baseEnd = newEnd; 2508 baseEnd = newEnd;
2471 backCount = dart.notNull(backCount) - 1; 2509 backCount = dart.notNull(backCount) - 1;
2472 } 2510 }
2473 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference .substring(dart.notNull(refStart) - 3 * dart.notNull(backCount))); 2511 return String['+'](base.substring(0, dart.notNull(baseEnd) + 1), reference .substring(dart.notNull(refStart) - 3 * dart.notNull(backCount)));
2474 } 2512 }
2475 [_hasDotSegments](path) { 2513 [_hasDotSegments](path) {
2476 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === Uri._DOT) 2514 if (dart.notNull(path.length) > 0 && path.codeUnitAt(0) === Uri[_DOT])
2477 return true; 2515 return true;
2478 let index = path.indexOf("/."); 2516 let index = path.indexOf("/.");
2479 return index !== -1; 2517 return index !== -1;
2480 } 2518 }
2481 [_removeDotSegments](path) { 2519 [_removeDotSegments](path) {
2482 if (!dart.notNull(this[_hasDotSegments](path))) 2520 if (!dart.notNull(this[_hasDotSegments](path)))
2483 return path; 2521 return path;
2484 let output = dart.as(new List.from([]), List$(String)); 2522 let output = dart.as(new List.from([]), List$(String));
2485 let appendSlash = false; 2523 let appendSlash = false;
2486 for (let segment of path.split("/")) { 2524 for (let segment of path.split("/")) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2518 } 2556 }
2519 targetPath = this[_removeDotSegments](reference.path); 2557 targetPath = this[_removeDotSegments](reference.path);
2520 if (reference.hasQuery) { 2558 if (reference.hasQuery) {
2521 targetQuery = reference.query; 2559 targetQuery = reference.query;
2522 } 2560 }
2523 } else { 2561 } else {
2524 targetScheme = this.scheme; 2562 targetScheme = this.scheme;
2525 if (reference.hasAuthority) { 2563 if (reference.hasAuthority) {
2526 targetUserInfo = reference.userInfo; 2564 targetUserInfo = reference.userInfo;
2527 targetHost = reference.host; 2565 targetHost = reference.host;
2528 targetPort = _makePort(reference.hasPort ? reference.port : null, targ etScheme); 2566 targetPort = Uri[_makePort](reference.hasPort ? reference.port : null, targetScheme);
2529 targetPath = this[_removeDotSegments](reference.path); 2567 targetPath = this[_removeDotSegments](reference.path);
2530 if (reference.hasQuery) 2568 if (reference.hasQuery)
2531 targetQuery = reference.query; 2569 targetQuery = reference.query;
2532 } else { 2570 } else {
2533 if (dart.equals(reference.path, "")) { 2571 if (dart.equals(reference.path, "")) {
2534 targetPath = this[_path]; 2572 targetPath = this[_path];
2535 if (reference.hasQuery) { 2573 if (reference.hasQuery) {
2536 targetQuery = reference.query; 2574 targetQuery = reference.query;
2537 } else { 2575 } else {
2538 targetQuery = this[_query]; 2576 targetQuery = this[_query];
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
2582 if (dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(!dart.equa ls(this.scheme, "file"))) { 2620 if (dart.notNull(!dart.equals(this.scheme, "")) && dart.notNull(!dart.equa ls(this.scheme, "file"))) {
2583 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch eme} URI`); 2621 throw new UnsupportedError(`Cannot extract a file path from a ${this.sch eme} URI`);
2584 } 2622 }
2585 if (!dart.equals(this.query, "")) { 2623 if (!dart.equals(this.query, "")) {
2586 throw new UnsupportedError("Cannot extract a file path from a URI with a query component"); 2624 throw new UnsupportedError("Cannot extract a file path from a URI with a query component");
2587 } 2625 }
2588 if (!dart.equals(this.fragment, "")) { 2626 if (!dart.equals(this.fragment, "")) {
2589 throw new UnsupportedError("Cannot extract a file path from a URI with a fragment component"); 2627 throw new UnsupportedError("Cannot extract a file path from a URI with a fragment component");
2590 } 2628 }
2591 if (windows === null) 2629 if (windows === null)
2592 windows = _isWindows; 2630 windows = Uri[_isWindows];
2593 return windows ? this[_toWindowsFilePath]() : this[_toFilePath](); 2631 return windows ? this[_toWindowsFilePath]() : this[_toFilePath]();
2594 } 2632 }
2595 [_toFilePath]() { 2633 [_toFilePath]() {
2596 if (!dart.equals(this.host, "")) { 2634 if (!dart.equals(this.host, "")) {
2597 throw new UnsupportedError("Cannot extract a non-Windows file path from a file URI " + "with an authority"); 2635 throw new UnsupportedError("Cannot extract a non-Windows file path from a file URI " + "with an authority");
2598 } 2636 }
2599 _checkNonWindowsPathReservedCharacters(this.pathSegments, false); 2637 Uri[_checkNonWindowsPathReservedCharacters](this.pathSegments, false);
2600 let result = new StringBuffer(); 2638 let result = new StringBuffer();
2601 if (this[_isPathAbsolute]) 2639 if (this[_isPathAbsolute])
2602 result.write("/"); 2640 result.write("/");
2603 result.writeAll(this.pathSegments, "/"); 2641 result.writeAll(this.pathSegments, "/");
2604 return result.toString(); 2642 return result.toString();
2605 } 2643 }
2606 [_toWindowsFilePath]() { 2644 [_toWindowsFilePath]() {
2607 let hasDriveLetter = false; 2645 let hasDriveLetter = false;
2608 let segments = this.pathSegments; 2646 let segments = this.pathSegments;
2609 if (dart.notNull(segments.length) > 0 && segments.get(0).length === 2 && s egments.get(0).codeUnitAt(1) === Uri._COLON) { 2647 if (dart.notNull(segments.length) > 0 && segments.get(0).length === 2 && s egments.get(0).codeUnitAt(1) === Uri[_COLON]) {
2610 _checkWindowsDriveLetter(segments.get(0).codeUnitAt(0), false); 2648 Uri[_checkWindowsDriveLetter](segments.get(0).codeUnitAt(0), false);
2611 _checkWindowsPathReservedCharacters(segments, false, 1); 2649 Uri[_checkWindowsPathReservedCharacters](segments, false, 1);
2612 hasDriveLetter = true; 2650 hasDriveLetter = true;
2613 } else { 2651 } else {
2614 _checkWindowsPathReservedCharacters(segments, false); 2652 Uri[_checkWindowsPathReservedCharacters](segments, false);
2615 } 2653 }
2616 let result = new StringBuffer(); 2654 let result = new StringBuffer();
2617 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter)) 2655 if (dart.notNull(this[_isPathAbsolute]) && !dart.notNull(hasDriveLetter))
2618 result.write("\\"); 2656 result.write("\\");
2619 if (!dart.equals(this.host, "")) { 2657 if (!dart.equals(this.host, "")) {
2620 result.write("\\"); 2658 result.write("\\");
2621 result.write(this.host); 2659 result.write(this.host);
2622 result.write("\\"); 2660 result.write("\\");
2623 } 2661 }
2624 result.writeAll(segments, "\\"); 2662 result.writeAll(segments, "\\");
(...skipping 13 matching lines...) Expand all
2638 } 2676 }
2639 if (this[_host] !== null) 2677 if (this[_host] !== null)
2640 ss.write(this[_host]); 2678 ss.write(this[_host]);
2641 if (this[_port] !== null) { 2679 if (this[_port] !== null) {
2642 ss.write(":"); 2680 ss.write(":");
2643 ss.write(this[_port]); 2681 ss.write(this[_port]);
2644 } 2682 }
2645 } 2683 }
2646 toString() { 2684 toString() {
2647 let sb = new StringBuffer(); 2685 let sb = new StringBuffer();
2648 _addIfNonEmpty(sb, this.scheme, this.scheme, ':'); 2686 Uri[_addIfNonEmpty](sb, this.scheme, this.scheme, ':');
2649 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith(" //")) || dart.notNull(dart.equals(this.scheme, "file"))) { 2687 if (dart.notNull(this.hasAuthority) || dart.notNull(this.path.startsWith(" //")) || dart.notNull(dart.equals(this.scheme, "file"))) {
2650 sb.write("//"); 2688 sb.write("//");
2651 this[_writeAuthority](sb); 2689 this[_writeAuthority](sb);
2652 } 2690 }
2653 sb.write(this.path); 2691 sb.write(this.path);
2654 if (this[_query] !== null) { 2692 if (this[_query] !== null) {
2655 sb.write("?"); 2693 sb.write("?");
2656 sb.write(this[_query]); 2694 sb.write(this[_query]);
2657 } 2695 }
2658 if (this[_fragment] !== null) { 2696 if (this[_fragment] !== null) {
2659 sb.write("#"); 2697 sb.write("#");
2660 sb.write(this[_fragment]); 2698 sb.write(this[_fragment]);
2661 } 2699 }
2662 return sb.toString(); 2700 return sb.toString();
2663 } 2701 }
2664 ['=='](other) { 2702 ['=='](other) {
2665 if (!dart.is(other, Uri)) 2703 if (!dart.is(other, Uri))
2666 return false; 2704 return false;
2667 let uri = dart.as(other, Uri); 2705 let uri = dart.as(other, Uri);
2668 return dart.notNull(dart.equals(this.scheme, uri.scheme)) && this.hasAutho rity === uri.hasAuthority && dart.notNull(dart.equals(this.userInfo, uri.userInf o)) && dart.notNull(dart.equals(this.host, uri.host)) && this.port === uri.port && dart.notNull(dart.equals(this.path, uri.path)) && this.hasQuery === uri.hasQu ery && dart.notNull(dart.equals(this.query, uri.query)) && this.hasFragment === uri.hasFragment && dart.notNull(dart.equals(this.fragment, uri.fragment)); 2706 return dart.notNull(dart.equals(this.scheme, uri.scheme)) && this.hasAutho rity === uri.hasAuthority && dart.notNull(dart.equals(this.userInfo, uri.userInf o)) && dart.notNull(dart.equals(this.host, uri.host)) && this.port === uri.port && dart.notNull(dart.equals(this.path, uri.path)) && this.hasQuery === uri.hasQu ery && dart.notNull(dart.equals(this.query, uri.query)) && this.hasFragment === uri.hasFragment && dart.notNull(dart.equals(this.fragment, uri.fragment));
2669 } 2707 }
2670 get hashCode() { 2708 get hashCode() {
2671 // Function combine: (dynamic, dynamic) → int 2709 // Function combine: (dynamic, dynamic) → int
2672 function combine(part, current) { 2710 function combine(part, current) {
2673 return dart.as(dart.dbinary(dart.dbinary(dart.dbinary(current, '*', 31), '+', dart.dload(part, 'hashCode')), '&', 1073741823), int); 2711 return dart.as(dart.dbinary(dart.dbinary(dart.dbinary(current, '*', 31), '+', dart.dload(part, 'hashCode')), '&', 1073741823), int);
2674 } 2712 }
2675 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1)) ))))); 2713 return combine(this.scheme, combine(this.userInfo, combine(this.host, comb ine(this.port, combine(this.path, combine(this.query, combine(this.fragment, 1)) )))));
2676 } 2714 }
2677 static [_addIfNonEmpty$](sb, test, first, second) { 2715 static [_addIfNonEmpty](sb, test, first, second) {
2678 if (!dart.equals("", test)) { 2716 if (!dart.equals("", test)) {
2679 sb.write(first); 2717 sb.write(first);
2680 sb.write(second); 2718 sb.write(second);
2681 } 2719 }
2682 } 2720 }
2683 static encodeComponent(component) { 2721 static encodeComponent(component) {
2684 return _uriEncode(dart.as(Uri._unreserved2396Table, List$(int)), component ); 2722 return Uri[_uriEncode](dart.as(Uri[_unreserved2396Table], List$(int)), com ponent);
2685 } 2723 }
2686 static encodeQueryComponent(component, opts) { 2724 static encodeQueryComponent(component, opts) {
2687 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2725 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2688 return _uriEncode(dart.as(Uri._unreservedTable, List$(int)), component, {e ncoding: encoding, spaceToPlus: true}); 2726 return Uri[_uriEncode](dart.as(Uri[_unreservedTable], List$(int)), compone nt, {encoding: encoding, spaceToPlus: true});
2689 } 2727 }
2690 static decodeComponent(encodedComponent) { 2728 static decodeComponent(encodedComponent) {
2691 return _uriDecode(encodedComponent); 2729 return Uri[_uriDecode](encodedComponent);
2692 } 2730 }
2693 static decodeQueryComponent(encodedComponent, opts) { 2731 static decodeQueryComponent(encodedComponent, opts) {
2694 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2732 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2695 return _uriDecode(encodedComponent, {plusToSpace: true, encoding: encoding }); 2733 return Uri[_uriDecode](encodedComponent, {plusToSpace: true, encoding: enc oding});
2696 } 2734 }
2697 static encodeFull(uri) { 2735 static encodeFull(uri) {
2698 return _uriEncode(dart.as(Uri._encodeFullTable, List$(int)), uri); 2736 return Uri[_uriEncode](dart.as(Uri[_encodeFullTable], List$(int)), uri);
2699 } 2737 }
2700 static decodeFull(uri) { 2738 static decodeFull(uri) {
2701 return _uriDecode(uri); 2739 return Uri[_uriDecode](uri);
2702 } 2740 }
2703 static splitQueryString(query, opts) { 2741 static splitQueryString(query, opts) {
2704 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2742 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2705 return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, el ement) => { 2743 return dart.as(query.split("&").fold(dart.map(), dart.closureWrap((map, el ement) => {
2706 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int); 2744 let index = dart.as(dart.dinvoke(element, 'indexOf', "="), int);
2707 if (index === -1) { 2745 if (index === -1) {
2708 if (!dart.equals(element, "")) { 2746 if (!dart.equals(element, "")) {
2709 dart.dsetindex(map, decodeQueryComponent(dart.as(element, String), { encoding: encoding}), ""); 2747 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(element, String ), {encoding: encoding}), "");
2710 } 2748 }
2711 } else if (index !== 0) { 2749 } else if (index !== 0) {
2712 let key = dart.dinvoke(element, 'substring', 0, index); 2750 let key = dart.dinvoke(element, 'substring', 0, index);
2713 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1 ); 2751 let value = dart.dinvoke(element, 'substring', dart.notNull(index) + 1 );
2714 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), decodeQueryComponent(dart.as(value, String), {encoding: enco ding})); 2752 dart.dsetindex(map, Uri.decodeQueryComponent(dart.as(key, String), {en coding: encoding}), Uri.decodeQueryComponent(dart.as(value, String), {encoding: encoding}));
2715 } 2753 }
2716 return map; 2754 return map;
2717 }, "(dynamic, String) → dynamic")), Map$(String, String)); 2755 }, "(dynamic, String) → dynamic")), Map$(String, String));
2718 } 2756 }
2719 static parseIPv4Address(host) { 2757 static parseIPv4Address(host) {
2720 // Function error: (String) → void 2758 // Function error: (String) → void
2721 function error(msg) { 2759 function error(msg) {
2722 throw new FormatException(`Illegal IPv4 address, ${msg}`); 2760 throw new FormatException(`Illegal IPv4 address, ${msg}`);
2723 } 2761 }
2724 let bytes = host.split('.'); 2762 let bytes = host.split('.');
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
2756 error('each part must be in the range of `0x0..0xFFFF`', start); 2794 error('each part must be in the range of `0x0..0xFFFF`', start);
2757 } 2795 }
2758 return value; 2796 return value;
2759 } 2797 }
2760 if (dart.notNull(host.length) < 2) 2798 if (dart.notNull(host.length) < 2)
2761 error('address is too short'); 2799 error('address is too short');
2762 let parts = dart.as(new List.from([]), List$(int)); 2800 let parts = dart.as(new List.from([]), List$(int));
2763 let wildcardSeen = false; 2801 let wildcardSeen = false;
2764 let partStart = start; 2802 let partStart = start;
2765 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 2803 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
2766 if (host.codeUnitAt(i) === Uri._COLON) { 2804 if (host.codeUnitAt(i) === Uri[_COLON]) {
2767 if (i === start) { 2805 if (i === start) {
2768 i = dart.notNull(i) + 1; 2806 i = dart.notNull(i) + 1;
2769 if (host.codeUnitAt(i) !== Uri._COLON) { 2807 if (host.codeUnitAt(i) !== Uri[_COLON]) {
2770 error('invalid start colon.', i); 2808 error('invalid start colon.', i);
2771 } 2809 }
2772 partStart = i; 2810 partStart = i;
2773 } 2811 }
2774 if (i === partStart) { 2812 if (i === partStart) {
2775 if (wildcardSeen) { 2813 if (wildcardSeen) {
2776 error('only one wildcard `::` is allowed', i); 2814 error('only one wildcard `::` is allowed', i);
2777 } 2815 }
2778 wildcardSeen = true; 2816 wildcardSeen = true;
2779 parts.add(-1); 2817 parts.add(-1);
2780 } else { 2818 } else {
2781 parts.add(parseHex(partStart, i)); 2819 parts.add(parseHex(partStart, i));
2782 } 2820 }
2783 partStart = dart.notNull(i) + 1; 2821 partStart = dart.notNull(i) + 1;
2784 } 2822 }
2785 } 2823 }
2786 if (parts.length === 0) 2824 if (parts.length === 0)
2787 error('too few parts'); 2825 error('too few parts');
2788 let atEnd = partStart === end; 2826 let atEnd = partStart === end;
2789 let isLastWildcard = parts.last === -1; 2827 let isLastWildcard = parts.last === -1;
2790 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) { 2828 if (dart.notNull(atEnd) && !dart.notNull(isLastWildcard)) {
2791 error('expected a part after last `:`', end); 2829 error('expected a part after last `:`', end);
2792 } 2830 }
2793 if (!dart.notNull(atEnd)) { 2831 if (!dart.notNull(atEnd)) {
2794 try { 2832 try {
2795 parts.add(parseHex(partStart, end)); 2833 parts.add(parseHex(partStart, end));
2796 } catch (e) { 2834 } catch (e) {
2797 try { 2835 try {
2798 let last = parseIPv4Address(host.substring(partStart, end)); 2836 let last = Uri.parseIPv4Address(host.substring(partStart, end));
2799 parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1)) ); 2837 parts.add(dart.notNull(last.get(0)) << 8 | dart.notNull(last.get(1)) );
2800 parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3)) ); 2838 parts.add(dart.notNull(last.get(2)) << 8 | dart.notNull(last.get(3)) );
2801 } catch (e) { 2839 } catch (e) {
2802 error('invalid end of IPv6 address.', partStart); 2840 error('invalid end of IPv6 address.', partStart);
2803 } 2841 }
2804 2842
2805 } 2843 }
2806 2844
2807 } 2845 }
2808 if (wildcardSeen) { 2846 if (wildcardSeen) {
(...skipping 14 matching lines...) Expand all
2823 index = 2; 2861 index = 2;
2824 } 2862 }
2825 } else { 2863 } else {
2826 bytes.set(index, dart.notNull(value) >> 8); 2864 bytes.set(index, dart.notNull(value) >> 8);
2827 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255); 2865 bytes.set(dart.notNull(index) + 1, dart.notNull(value) & 255);
2828 index = 2; 2866 index = 2;
2829 } 2867 }
2830 } 2868 }
2831 return dart.as(bytes, List$(int)); 2869 return dart.as(bytes, List$(int));
2832 } 2870 }
2833 static [_uriEncode$](canonicalTable, text, opts) { 2871 static [_uriEncode](canonicalTable, text, opts) {
2834 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2872 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2835 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ; 2873 let spaceToPlus = opts && 'spaceToPlus' in opts ? opts.spaceToPlus : false ;
2836 // Function byteToHex: (dynamic, dynamic) → dynamic 2874 // Function byteToHex: (dynamic, dynamic) → dynamic
2837 function byteToHex(byte, buffer) { 2875 function byteToHex(byte, buffer) {
2838 let hex = '0123456789ABCDEF'; 2876 let hex = '0123456789ABCDEF';
2839 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int))); 2877 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '>>', 4), int)));
2840 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int))); 2878 dart.dinvoke(buffer, 'writeCharCode', hex.codeUnitAt(dart.as(dart.dbinar y(byte, '&', 15), int)));
2841 } 2879 }
2842 let result = new StringBuffer(); 2880 let result = new StringBuffer();
2843 let bytes = encoding.encode(text); 2881 let bytes = encoding.encode(text);
2844 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not Null(i) + 1) { 2882 for (let i = 0; dart.notNull(i) < dart.notNull(bytes.length); i = dart.not Null(i) + 1) {
2845 let byte = bytes.get(i); 2883 let byte = bytes.get(i);
2846 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) { 2884 if (dart.notNull(byte) < 128 && (dart.notNull(canonicalTable.get(dart.no tNull(byte) >> 4)) & 1 << (dart.notNull(byte) & 15)) !== 0) {
2847 result.writeCharCode(byte); 2885 result.writeCharCode(byte);
2848 } else if (dart.notNull(spaceToPlus) && byte === Uri._SPACE) { 2886 } else if (dart.notNull(spaceToPlus) && byte === Uri[_SPACE]) {
2849 result.writeCharCode(Uri._PLUS); 2887 result.writeCharCode(Uri[_PLUS]);
2850 } else { 2888 } else {
2851 result.writeCharCode(Uri._PERCENT); 2889 result.writeCharCode(Uri[_PERCENT]);
2852 byteToHex(byte, result); 2890 byteToHex(byte, result);
2853 } 2891 }
2854 } 2892 }
2855 return result.toString(); 2893 return result.toString();
2856 } 2894 }
2857 static [_hexCharPairToByte$](s, pos) { 2895 static [_hexCharPairToByte](s, pos) {
2858 let byte = 0; 2896 let byte = 0;
2859 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) { 2897 for (let i = 0; dart.notNull(i) < 2; i = dart.notNull(i) + 1) {
2860 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i)); 2898 let charCode = s.codeUnitAt(dart.notNull(pos) + dart.notNull(i));
2861 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) { 2899 if (48 <= dart.notNull(charCode) && dart.notNull(charCode) <= 57) {
2862 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48; 2900 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 48;
2863 } else { 2901 } else {
2864 charCode = 32; 2902 charCode = 32;
2865 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) { 2903 if (97 <= dart.notNull(charCode) && dart.notNull(charCode) <= 102) {
2866 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87; 2904 byte = dart.notNull(byte) * 16 + dart.notNull(charCode) - 87;
2867 } else { 2905 } else {
2868 throw new ArgumentError("Invalid URL encoding"); 2906 throw new ArgumentError("Invalid URL encoding");
2869 } 2907 }
2870 } 2908 }
2871 } 2909 }
2872 return byte; 2910 return byte;
2873 } 2911 }
2874 static [_uriDecode$](text, opts) { 2912 static [_uriDecode](text, opts) {
2875 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false ; 2913 let plusToSpace = opts && 'plusToSpace' in opts ? opts.plusToSpace : false ;
2876 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8; 2914 let encoding = opts && 'encoding' in opts ? opts.encoding : convert.UTF8;
2877 let simple = true; 2915 let simple = true;
2878 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); i = dart.notNull(i) + 1) { 2916 for (let i = 0; dart.notNull(i) < dart.notNull(text.length) && dart.notNul l(simple); i = dart.notNull(i) + 1) {
2879 let codeUnit = text.codeUnitAt(i); 2917 let codeUnit = text.codeUnitAt(i);
2880 simple = codeUnit !== Uri._PERCENT && codeUnit !== Uri._PLUS; 2918 simple = codeUnit !== Uri[_PERCENT] && codeUnit !== Uri[_PLUS];
2881 } 2919 }
2882 let bytes = null; 2920 let bytes = null;
2883 if (simple) { 2921 if (simple) {
2884 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) { 2922 if (dart.notNull(dart.equals(encoding, convert.UTF8)) || dart.notNull(da rt.equals(encoding, convert.LATIN1))) {
2885 return text; 2923 return text;
2886 } else { 2924 } else {
2887 bytes = text.codeUnits; 2925 bytes = text.codeUnits;
2888 } 2926 }
2889 } else { 2927 } else {
2890 bytes = dart.as(new List(), List$(int)); 2928 bytes = dart.as(new List(), List$(int));
2891 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) { 2929 for (let i = 0; dart.notNull(i) < dart.notNull(text.length); i = dart.no tNull(i) + 1) {
2892 let codeUnit = text.codeUnitAt(i); 2930 let codeUnit = text.codeUnitAt(i);
2893 if (dart.notNull(codeUnit) > 127) { 2931 if (dart.notNull(codeUnit) > 127) {
2894 throw new ArgumentError("Illegal percent encoding in URI"); 2932 throw new ArgumentError("Illegal percent encoding in URI");
2895 } 2933 }
2896 if (codeUnit === Uri._PERCENT) { 2934 if (codeUnit === Uri[_PERCENT]) {
2897 if (dart.notNull(i) + 3 > dart.notNull(text.length)) { 2935 if (dart.notNull(i) + 3 > dart.notNull(text.length)) {
2898 throw new ArgumentError('Truncated URI'); 2936 throw new ArgumentError('Truncated URI');
2899 } 2937 }
2900 bytes.add(_hexCharPairToByte(text, dart.notNull(i) + 1)); 2938 bytes.add(Uri[_hexCharPairToByte](text, dart.notNull(i) + 1));
2901 i = 2; 2939 i = 2;
2902 } else if (dart.notNull(plusToSpace) && codeUnit === Uri._PLUS) { 2940 } else if (dart.notNull(plusToSpace) && codeUnit === Uri[_PLUS]) {
2903 bytes.add(Uri._SPACE); 2941 bytes.add(Uri[_SPACE]);
2904 } else { 2942 } else {
2905 bytes.add(codeUnit); 2943 bytes.add(codeUnit);
2906 } 2944 }
2907 } 2945 }
2908 } 2946 }
2909 return encoding.decode(bytes); 2947 return encoding.decode(bytes);
2910 } 2948 }
2911 static [_isAlphabeticCharacter$](codeUnit) { 2949 static [_isAlphabeticCharacter](codeUnit) {
2912 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); 2950 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]);
2913 } 2951 }
2914 } 2952 }
2915 dart.defineNamedConstructor(Uri, '_internal'); 2953 dart.defineNamedConstructor(Uri, _internal$);
2916 dart.defineNamedConstructor(Uri, 'http'); 2954 dart.defineNamedConstructor(Uri, 'http');
2917 dart.defineNamedConstructor(Uri, 'https'); 2955 dart.defineNamedConstructor(Uri, 'https');
2918 dart.defineNamedConstructor(Uri, 'file'); 2956 dart.defineNamedConstructor(Uri, 'file');
2919 Uri._SPACE = 32; 2957 Uri._SPACE = 32;
2920 Uri._DOUBLE_QUOTE = 34; 2958 Uri._DOUBLE_QUOTE = 34;
2921 Uri._NUMBER_SIGN = 35; 2959 Uri._NUMBER_SIGN = 35;
2922 Uri._PERCENT = 37; 2960 Uri._PERCENT = 37;
2923 Uri._ASTERISK = 42; 2961 Uri._ASTERISK = 42;
2924 Uri._PLUS = 43; 2962 Uri._PLUS = 43;
2925 Uri._DOT = 46; 2963 Uri._DOT = 46;
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
3032 exports.StackTrace = StackTrace; 3070 exports.StackTrace = StackTrace;
3033 exports.Stopwatch = Stopwatch; 3071 exports.Stopwatch = Stopwatch;
3034 exports.String = String; 3072 exports.String = String;
3035 exports.RuneIterator = RuneIterator; 3073 exports.RuneIterator = RuneIterator;
3036 exports.StringBuffer = StringBuffer; 3074 exports.StringBuffer = StringBuffer;
3037 exports.StringSink = StringSink; 3075 exports.StringSink = StringSink;
3038 exports.Symbol = Symbol; 3076 exports.Symbol = Symbol;
3039 exports.Type = Type; 3077 exports.Type = Type;
3040 exports.Uri = Uri; 3078 exports.Uri = Uri;
3041 })(core || (core = {})); 3079 })(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