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

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

Issue 1111863002: fix static members in _emitMemberName (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: catch more cases Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart/core.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 convert; 1 var convert;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 let ASCII = dart.const(new AsciiCodec()); 4 let ASCII = dart.const(new AsciiCodec());
5 let _ASCII_MASK = 127; 5 let _ASCII_MASK = 127;
6 let _allowInvalid = Symbol('_allowInvalid'); 6 let _allowInvalid = Symbol('_allowInvalid');
7 let _nameToEncoding = Symbol('_nameToEncoding');
8 let Codec$ = dart.generic(function(S, T) { 7 let Codec$ = dart.generic(function(S, T) {
9 class Codec extends core.Object { 8 class Codec extends core.Object {
10 Codec() { 9 Codec() {
11 } 10 }
12 encode(input) { 11 encode(input) {
13 return this.encoder.convert(input); 12 return this.encoder.convert(input);
14 } 13 }
15 decode(encoded) { 14 decode(encoded) {
16 return this.decoder.convert(encoded); 15 return this.decoder.convert(encoded);
17 } 16 }
(...skipping 14 matching lines...) Expand all
32 decodeStream(byteStream) { 31 decodeStream(byteStream) {
33 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran sformer$(core.List$(core.int), dart.dynamic))).fold(new core.StringBuffer(), (bu ffer, string) => ((() => { 32 return dart.as(byteStream.transform(dart.as(this.decoder, async.StreamTran sformer$(core.List$(core.int), dart.dynamic))).fold(new core.StringBuffer(), (bu ffer, string) => ((() => {
34 dart.dsend(buffer, 'write', string); 33 dart.dsend(buffer, 'write', string);
35 return buffer; 34 return buffer;
36 })())).then(buffer => dart.toString(buffer)), async.Future$(core.String)); 35 })())).then(buffer => dart.toString(buffer)), async.Future$(core.String));
37 } 36 }
38 static getByName(name) { 37 static getByName(name) {
39 if (name == null) 38 if (name == null)
40 return null; 39 return null;
41 name = name.toLowerCase(); 40 name = name.toLowerCase();
42 return Encoding[_nameToEncoding].get(name); 41 return Encoding._nameToEncoding.get(name);
43 } 42 }
44 } 43 }
45 dart.defineLazyProperties(Encoding, { 44 dart.defineLazyProperties(Encoding, {
46 get [_nameToEncoding]() { 45 get _nameToEncoding() {
47 return dart.map({"iso_8859-1:1987": LATIN1, "iso-ir-100": LATIN1, "iso_885 9-1": LATIN1, "iso-8859-1": LATIN1, latin1: LATIN1, l1: LATIN1, ibm819: LATIN1, cp819: LATIN1, csisolatin1: LATIN1, "iso-ir-6": ASCII, "ansi_x3.4-1968": ASCII, "ansi_x3.4-1986": ASCII, "iso_646.irv:1991": ASCII, "iso646-us": ASCII, "us-asci i": ASCII, us: ASCII, ibm367: ASCII, cp367: ASCII, csascii: ASCII, ascii: ASCII, csutf8: UTF8, "utf-8": UTF8}); 46 return dart.map({"iso_8859-1:1987": LATIN1, "iso-ir-100": LATIN1, "iso_885 9-1": LATIN1, "iso-8859-1": LATIN1, latin1: LATIN1, l1: LATIN1, ibm819: LATIN1, cp819: LATIN1, csisolatin1: LATIN1, "iso-ir-6": ASCII, "ansi_x3.4-1968": ASCII, "ansi_x3.4-1986": ASCII, "iso_646.irv:1991": ASCII, "iso646-us": ASCII, "us-asci i": ASCII, us: ASCII, ibm367: ASCII, cp367: ASCII, csascii: ASCII, ascii: ASCII, csutf8: UTF8, "utf-8": UTF8});
48 }, 47 },
49 set [_nameToEncoding](_) {} 48 set _nameToEncoding(_) {}
50 }); 49 });
51 class AsciiCodec extends Encoding { 50 class AsciiCodec extends Encoding {
52 AsciiCodec(opts) { 51 AsciiCodec(opts) {
53 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse; 52 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse;
54 this[_allowInvalid] = allowInvalid; 53 this[_allowInvalid] = allowInvalid;
55 super.Encoding(); 54 super.Encoding();
56 } 55 }
57 get name() { 56 get name() {
58 return "us-ascii"; 57 return "us-ascii";
59 } 58 }
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 _ByteAdapterSink(sink) { 322 _ByteAdapterSink(sink) {
324 this[_sink] = sink; 323 this[_sink] = sink;
325 } 324 }
326 add(chunk) { 325 add(chunk) {
327 return this[_sink].add(chunk); 326 return this[_sink].add(chunk);
328 } 327 }
329 close() { 328 close() {
330 return this[_sink].close(); 329 return this[_sink].close();
331 } 330 }
332 } 331 }
333 let _INITIAL_BUFFER_SIZE = Symbol('_INITIAL_BUFFER_SIZE');
334 let _buffer = Symbol('_buffer'); 332 let _buffer = Symbol('_buffer');
335 let _callback = Symbol('_callback'); 333 let _callback = Symbol('_callback');
336 let _bufferIndex = Symbol('_bufferIndex'); 334 let _bufferIndex = Symbol('_bufferIndex');
337 let _roundToPowerOf2 = Symbol('_roundToPowerOf2');
338 class _ByteCallbackSink extends ByteConversionSinkBase { 335 class _ByteCallbackSink extends ByteConversionSinkBase {
339 _ByteCallbackSink(callback) { 336 _ByteCallbackSink(callback) {
340 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink[_INITIAL_BUFFER _SIZE]); 337 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink._INITIAL_BUFFER _SIZE);
341 this[_callback] = callback; 338 this[_callback] = callback;
342 this[_bufferIndex] = 0; 339 this[_bufferIndex] = 0;
343 } 340 }
344 add(chunk) { 341 add(chunk) {
345 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t his[_bufferIndex]); 342 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t his[_bufferIndex]);
346 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { 343 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) {
347 let oldLength = this[_buffer][core.$length]; 344 let oldLength = this[_buffer][core.$length];
348 let newLength = dart.notNull(_ByteCallbackSink[_roundToPowerOf2](dart.no tNull(chunk[core.$length]) + dart.notNull(oldLength))) * 2; 345 let newLength = dart.notNull(_ByteCallbackSink._roundToPowerOf2(dart.not Null(chunk[core.$length]) + dart.notNull(oldLength))) * 2;
349 let grown = new typed_data.Uint8List(newLength); 346 let grown = new typed_data.Uint8List(newLength);
350 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); 347 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]);
351 this[_buffer] = grown; 348 this[_buffer] = grown;
352 } 349 }
353 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe rIndex]) + dart.notNull(chunk[core.$length]), chunk); 350 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe rIndex]) + dart.notNull(chunk[core.$length]), chunk);
354 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk [core.$length]); 351 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk [core.$length]);
355 } 352 }
356 static [_roundToPowerOf2](v) { 353 static _roundToPowerOf2(v) {
357 dart.assert(dart.notNull(v) > 0); 354 dart.assert(dart.notNull(v) > 0);
358 v = dart.notNull(v) - 1; 355 v = dart.notNull(v) - 1;
359 v = dart.notNull(v) | dart.notNull(v) >> 1; 356 v = dart.notNull(v) | dart.notNull(v) >> 1;
360 v = dart.notNull(v) | dart.notNull(v) >> 2; 357 v = dart.notNull(v) | dart.notNull(v) >> 2;
361 v = dart.notNull(v) | dart.notNull(v) >> 4; 358 v = dart.notNull(v) | dart.notNull(v) >> 4;
362 v = dart.notNull(v) | dart.notNull(v) >> 8; 359 v = dart.notNull(v) | dart.notNull(v) >> 8;
363 v = dart.notNull(v) | dart.notNull(v) >> 16; 360 v = dart.notNull(v) | dart.notNull(v) >> 16;
364 v = dart.notNull(v) + 1; 361 v = dart.notNull(v) + 1;
365 return v; 362 return v;
366 } 363 }
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
482 return dart.as(this[_second].convert(this[_first].convert(input)), T); 479 return dart.as(this[_second].convert(this[_first].convert(input)), T);
483 } 480 }
484 startChunkedConversion(sink) { 481 startChunkedConversion(sink) {
485 return this[_first].startChunkedConversion(this[_second].startChunkedCon version(sink)); 482 return this[_first].startChunkedConversion(this[_second].startChunkedCon version(sink));
486 } 483 }
487 } 484 }
488 return _FusedConverter; 485 return _FusedConverter;
489 }); 486 });
490 let _FusedConverter = _FusedConverter$(); 487 let _FusedConverter = _FusedConverter$();
491 let HTML_ESCAPE = dart.const(new HtmlEscape()); 488 let HTML_ESCAPE = dart.const(new HtmlEscape());
489 let _name = Symbol('_name');
492 let _ = Symbol('_'); 490 let _ = Symbol('_');
493 let _name = Symbol('_name');
494 class HtmlEscapeMode extends core.Object { 491 class HtmlEscapeMode extends core.Object {
495 [_](name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) { 492 _(name, escapeLtGt, escapeQuot, escapeApos, escapeSlash) {
496 this[_name] = name; 493 this[_name] = name;
497 this.escapeLtGt = escapeLtGt; 494 this.escapeLtGt = escapeLtGt;
498 this.escapeQuot = escapeQuot; 495 this.escapeQuot = escapeQuot;
499 this.escapeApos = escapeApos; 496 this.escapeApos = escapeApos;
500 this.escapeSlash = escapeSlash; 497 this.escapeSlash = escapeSlash;
501 } 498 }
502 toString() { 499 toString() {
503 return this[_name]; 500 return this[_name];
504 } 501 }
505 } 502 }
506 dart.defineNamedConstructor(HtmlEscapeMode, _); 503 dart.defineNamedConstructor(HtmlEscapeMode, '_');
507 HtmlEscapeMode.UNKNOWN = dart.const(new HtmlEscapeMode[_]('unknown', true, tru e, true, true)); 504 HtmlEscapeMode.UNKNOWN = dart.const(new HtmlEscapeMode[_]('unknown', true, tru e, true, true));
508 HtmlEscapeMode.ATTRIBUTE = dart.const(new HtmlEscapeMode[_]('attribute', false , true, false, false)); 505 HtmlEscapeMode.ATTRIBUTE = dart.const(new HtmlEscapeMode[_]('attribute', false , true, false, false));
509 HtmlEscapeMode.ELEMENT = dart.const(new HtmlEscapeMode[_]('element', true, fal se, false, true)); 506 HtmlEscapeMode.ELEMENT = dart.const(new HtmlEscapeMode[_]('element', true, fal se, false, true));
510 let _convert = Symbol('_convert'); 507 let _convert = Symbol('_convert');
511 class HtmlEscape extends Converter$(core.String, core.String) { 508 class HtmlEscape extends Converter$(core.String, core.String) {
512 HtmlEscape(mode) { 509 HtmlEscape(mode) {
513 if (mode === void 0) 510 if (mode === void 0)
514 mode = HtmlEscapeMode.UNKNOWN; 511 mode = HtmlEscapeMode.UNKNOWN;
515 this.mode = mode; 512 this.mode = mode;
516 super.Converter(); 513 super.Converter();
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
663 return dart.const(new JsonEncoder()); 660 return dart.const(new JsonEncoder());
664 return new JsonEncoder(dart.as(this[_toEncodable$], dart.functionType(core .Object, [core.Object]))); 661 return new JsonEncoder(dart.as(this[_toEncodable$], dart.functionType(core .Object, [core.Object])));
665 } 662 }
666 get decoder() { 663 get decoder() {
667 if (this[_reviver] == null) 664 if (this[_reviver] == null)
668 return dart.const(new JsonDecoder()); 665 return dart.const(new JsonDecoder());
669 return new JsonDecoder(this[_reviver]); 666 return new JsonDecoder(this[_reviver]);
670 } 667 }
671 } 668 }
672 dart.defineNamedConstructor(JsonCodec, 'withReviver'); 669 dart.defineNamedConstructor(JsonCodec, 'withReviver');
673 let _utf8Encode = Symbol('_utf8Encode');
674 class JsonEncoder extends Converter$(core.Object, core.String) { 670 class JsonEncoder extends Converter$(core.Object, core.String) {
675 JsonEncoder(toEncodable) { 671 JsonEncoder(toEncodable) {
676 if (toEncodable === void 0) 672 if (toEncodable === void 0)
677 toEncodable = null; 673 toEncodable = null;
678 this.indent = null; 674 this.indent = null;
679 this[_toEncodable$] = toEncodable; 675 this[_toEncodable$] = toEncodable;
680 super.Converter(); 676 super.Converter();
681 } 677 }
682 withIndent(indent, toEncodable) { 678 withIndent(indent, toEncodable) {
683 if (toEncodable === void 0) 679 if (toEncodable === void 0)
684 toEncodable = null; 680 toEncodable = null;
685 this.indent = indent; 681 this.indent = indent;
686 this[_toEncodable$] = toEncodable; 682 this[_toEncodable$] = toEncodable;
687 super.Converter(); 683 super.Converter();
688 } 684 }
689 convert(object) { 685 convert(object) {
690 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$ ], __CastType2), this.indent); 686 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$ ], __CastType2), this.indent);
691 } 687 }
692 startChunkedConversion(sink) { 688 startChunkedConversion(sink) {
693 if (!dart.is(sink, StringConversionSink)) { 689 if (!dart.is(sink, StringConversionSink)) {
694 sink = new StringConversionSink.from(sink); 690 sink = new StringConversionSink.from(sink);
695 } else if (dart.is(sink, _Utf8EncoderSink)) { 691 } else if (dart.is(sink, _Utf8EncoderSink)) {
696 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt f8Encoder[_utf8Encode](this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE); 692 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt f8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE);
697 } 693 }
698 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE ncodable$], this.indent); 694 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE ncodable$], this.indent);
699 } 695 }
700 bind(stream) { 696 bind(stream) {
701 return dart.as(super.bind(stream), async.Stream$(core.String)); 697 return dart.as(super.bind(stream), async.Stream$(core.String));
702 } 698 }
703 fuse(other) { 699 fuse(other) {
704 if (dart.is(other, Utf8Encoder)) { 700 if (dart.is(other, Utf8Encoder)) {
705 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], __C astType4)); 701 return new JsonUtf8Encoder(this.indent, dart.as(this[_toEncodable$], __C astType4));
706 } 702 }
707 return super.fuse(other); 703 return super.fuse(other);
708 } 704 }
709 } 705 }
710 dart.defineNamedConstructor(JsonEncoder, 'withIndent'); 706 dart.defineNamedConstructor(JsonEncoder, 'withIndent');
711 let _indent = Symbol('_indent'); 707 let _indent = Symbol('_indent');
712 let _bufferSize = Symbol('_bufferSize'); 708 let _bufferSize = Symbol('_bufferSize');
713 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) { 709 class JsonUtf8Encoder extends Converter$(core.Object, core.List$(core.int)) {
714 JsonUtf8Encoder(indent, toEncodable, bufferSize) { 710 JsonUtf8Encoder(indent, toEncodable, bufferSize) {
715 if (indent === void 0) 711 if (indent === void 0)
716 indent = null; 712 indent = null;
717 if (toEncodable === void 0) 713 if (toEncodable === void 0)
718 toEncodable = null; 714 toEncodable = null;
719 if (bufferSize === void 0) 715 if (bufferSize === void 0)
720 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; 716 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE;
721 this[_indent] = JsonUtf8Encoder[_utf8Encode](indent); 717 this[_indent] = JsonUtf8Encoder._utf8Encode(indent);
722 this[_toEncodable$] = toEncodable; 718 this[_toEncodable$] = toEncodable;
723 this[_bufferSize] = bufferSize; 719 this[_bufferSize] = bufferSize;
724 super.Converter(); 720 super.Converter();
725 } 721 }
726 static [_utf8Encode](string) { 722 static _utf8Encode(string) {
727 if (string == null) 723 if (string == null)
728 return null; 724 return null;
729 if (string.isEmpty) 725 if (string.isEmpty)
730 return new typed_data.Uint8List(0); 726 return new typed_data.Uint8List(0);
731 checkAscii: { 727 checkAscii: {
732 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) { 728 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) {
733 if (dart.notNull(string.codeUnitAt(i)) >= 128) 729 if (dart.notNull(string.codeUnitAt(i)) >= 128)
734 break checkAscii; 730 break checkAscii;
735 } 731 }
736 return string.codeUnits; 732 return string.codeUnits;
(...skipping 624 matching lines...) Expand 10 before | Expand all | Expand 10 after
1361 } 1357 }
1362 } 1358 }
1363 if (dart.notNull(start) < dart.notNull(end)) { 1359 if (dart.notNull(start) < dart.notNull(end)) {
1364 this[_addSliceToSink](source, start, end, isLast); 1360 this[_addSliceToSink](source, start, end, isLast);
1365 } 1361 }
1366 if (isLast) { 1362 if (isLast) {
1367 this.close(); 1363 this.close();
1368 } 1364 }
1369 } 1365 }
1370 } 1366 }
1371 let _addSlice = Symbol('_addSlice');
1372 class LineSplitter extends Converter$(core.String, core.List$(core.String)) { 1367 class LineSplitter extends Converter$(core.String, core.List$(core.String)) {
1373 LineSplitter() { 1368 LineSplitter() {
1374 super.Converter(); 1369 super.Converter();
1375 } 1370 }
1376 convert(data) { 1371 convert(data) {
1377 let lines = new (core.List$(core.String))(); 1372 let lines = new (core.List$(core.String))();
1378 _LineSplitterSink[_addSlice](data, 0, data.length, true, lines[core.$add]. bind(lines)); 1373 _LineSplitterSink._addSlice(data, 0, data.length, true, lines[core.$add].b ind(lines));
1379 return lines; 1374 return lines;
1380 } 1375 }
1381 startChunkedConversion(sink) { 1376 startChunkedConversion(sink) {
1382 if (!dart.is(sink, StringConversionSink)) { 1377 if (!dart.is(sink, StringConversionSink)) {
1383 sink = new StringConversionSink.from(sink); 1378 sink = new StringConversionSink.from(sink);
1384 } 1379 }
1385 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); 1380 return new _LineSplitterSink(dart.as(sink, StringConversionSink));
1386 } 1381 }
1387 } 1382 }
1388 let _carry = Symbol('_carry'); 1383 let _carry = Symbol('_carry');
1389 let _LF = Symbol('_LF');
1390 let _CR = Symbol('_CR');
1391 class _LineSplitterSink extends StringConversionSinkBase { 1384 class _LineSplitterSink extends StringConversionSinkBase {
1392 _LineSplitterSink(sink) { 1385 _LineSplitterSink(sink) {
1393 this[_sink] = sink; 1386 this[_sink] = sink;
1394 this[_carry] = null; 1387 this[_carry] = null;
1395 } 1388 }
1396 addSlice(chunk, start, end, isLast) { 1389 addSlice(chunk, start, end, isLast) {
1397 if (this[_carry] != null) { 1390 if (this[_carry] != null) {
1398 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start, end)); 1391 chunk = dart.notNull(this[_carry]) + dart.notNull(chunk.substring(start, end));
1399 start = 0; 1392 start = 0;
1400 end = chunk.length; 1393 end = chunk.length;
1401 this[_carry] = null; 1394 this[_carry] = null;
1402 } 1395 }
1403 this[_carry] = _LineSplitterSink[_addSlice](chunk, start, end, isLast, thi s[_sink].add.bind(this[_sink])); 1396 this[_carry] = _LineSplitterSink._addSlice(chunk, start, end, isLast, this [_sink].add.bind(this[_sink]));
1404 if (isLast) 1397 if (isLast)
1405 this[_sink].close(); 1398 this[_sink].close();
1406 } 1399 }
1407 close() { 1400 close() {
1408 this.addSlice('', 0, 0, true); 1401 this.addSlice('', 0, 0, true);
1409 } 1402 }
1410 static [_addSlice](chunk, start, end, isLast, adder) { 1403 static _addSlice(chunk, start, end, isLast, adder) {
1411 let pos = start; 1404 let pos = start;
1412 while (dart.notNull(pos) < dart.notNull(end)) { 1405 while (dart.notNull(pos) < dart.notNull(end)) {
1413 let skip = 0; 1406 let skip = 0;
1414 let char = chunk.codeUnitAt(pos); 1407 let char = chunk.codeUnitAt(pos);
1415 if (char == _LineSplitterSink[_LF]) { 1408 if (char == _LineSplitterSink._LF) {
1416 skip = 1; 1409 skip = 1;
1417 } else if (char == _LineSplitterSink[_CR]) { 1410 } else if (char == _LineSplitterSink._CR) {
1418 skip = 1; 1411 skip = 1;
1419 if (dart.notNull(pos) + 1 < dart.notNull(end)) { 1412 if (dart.notNull(pos) + 1 < dart.notNull(end)) {
1420 if (chunk.codeUnitAt(dart.notNull(pos) + 1) == _LineSplitterSink[_LF ]) { 1413 if (chunk.codeUnitAt(dart.notNull(pos) + 1) == _LineSplitterSink._LF ) {
1421 skip = 2; 1414 skip = 2;
1422 } 1415 }
1423 } else if (!dart.notNull(isLast)) { 1416 } else if (!dart.notNull(isLast)) {
1424 return chunk.substring(start, end); 1417 return chunk.substring(start, end);
1425 } 1418 }
1426 } 1419 }
1427 if (dart.notNull(skip) > 0) { 1420 if (dart.notNull(skip) > 0) {
1428 adder(chunk.substring(start, pos)); 1421 adder(chunk.substring(start, pos));
1429 start = pos = dart.notNull(pos) + dart.notNull(skip); 1422 start = pos = dart.notNull(pos) + dart.notNull(skip);
1430 } else { 1423 } else {
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
1488 return this[_sink].writeln(o); 1481 return this[_sink].writeln(o);
1489 } 1482 }
1490 writeAll(objects, separator) { 1483 writeAll(objects, separator) {
1491 if (separator === void 0) 1484 if (separator === void 0)
1492 separator = ""; 1485 separator = "";
1493 return this[_sink].writeAll(objects, separator); 1486 return this[_sink].writeAll(objects, separator);
1494 } 1487 }
1495 } 1488 }
1496 _ClosableStringSink[dart.implements] = () => [ClosableStringSink]; 1489 _ClosableStringSink[dart.implements] = () => [ClosableStringSink];
1497 let _flush = Symbol('_flush'); 1490 let _flush = Symbol('_flush');
1498 let _MIN_STRING_SIZE = Symbol('_MIN_STRING_SIZE');
1499 class _StringConversionSinkAsStringSinkAdapter extends core.Object { 1491 class _StringConversionSinkAsStringSinkAdapter extends core.Object {
1500 _StringConversionSinkAsStringSinkAdapter(chunkedSink) { 1492 _StringConversionSinkAsStringSinkAdapter(chunkedSink) {
1501 this[_chunkedSink] = chunkedSink; 1493 this[_chunkedSink] = chunkedSink;
1502 this[_buffer] = new core.StringBuffer(); 1494 this[_buffer] = new core.StringBuffer();
1503 } 1495 }
1504 close() { 1496 close() {
1505 if (this[_buffer].isNotEmpty) 1497 if (this[_buffer].isNotEmpty)
1506 this[_flush](); 1498 this[_flush]();
1507 this[_chunkedSink].close(); 1499 this[_chunkedSink].close();
1508 } 1500 }
1509 writeCharCode(charCode) { 1501 writeCharCode(charCode) {
1510 this[_buffer].writeCharCode(charCode); 1502 this[_buffer].writeCharCode(charCode);
1511 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin kAsStringSinkAdapter[_MIN_STRING_SIZE])) 1503 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin kAsStringSinkAdapter._MIN_STRING_SIZE))
1512 this[_flush](); 1504 this[_flush]();
1513 } 1505 }
1514 write(o) { 1506 write(o) {
1515 if (this[_buffer].isNotEmpty) 1507 if (this[_buffer].isNotEmpty)
1516 this[_flush](); 1508 this[_flush]();
1517 let str = dart.toString(o); 1509 let str = dart.toString(o);
1518 this[_chunkedSink].add(dart.toString(o)); 1510 this[_chunkedSink].add(dart.toString(o));
1519 } 1511 }
1520 writeln(o) { 1512 writeln(o) {
1521 if (o === void 0) 1513 if (o === void 0)
1522 o = ""; 1514 o = "";
1523 this[_buffer].writeln(o); 1515 this[_buffer].writeln(o);
1524 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin kAsStringSinkAdapter[_MIN_STRING_SIZE])) 1516 if (dart.notNull(this[_buffer].length) > dart.notNull(_StringConversionSin kAsStringSinkAdapter._MIN_STRING_SIZE))
1525 this[_flush](); 1517 this[_flush]();
1526 } 1518 }
1527 writeAll(objects, separator) { 1519 writeAll(objects, separator) {
1528 if (separator === void 0) 1520 if (separator === void 0)
1529 separator = ""; 1521 separator = "";
1530 if (this[_buffer].isNotEmpty) 1522 if (this[_buffer].isNotEmpty)
1531 this[_flush](); 1523 this[_flush]();
1532 let iterator = objects[core.$iterator]; 1524 let iterator = objects[core.$iterator];
1533 if (!dart.notNull(iterator.moveNext())) 1525 if (!dart.notNull(iterator.moveNext()))
1534 return; 1526 return;
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 this.addSlice(chunk, 0, chunk[core.$length], false); 1622 this.addSlice(chunk, 0, chunk[core.$length], false);
1631 } 1623 }
1632 addSlice(codeUnits, startIndex, endIndex, isLast) { 1624 addSlice(codeUnits, startIndex, endIndex, isLast) {
1633 this[_decoder].convert(codeUnits, startIndex, endIndex); 1625 this[_decoder].convert(codeUnits, startIndex, endIndex);
1634 if (isLast) 1626 if (isLast)
1635 this.close(); 1627 this.close();
1636 } 1628 }
1637 } 1629 }
1638 class _Utf8ConversionSink extends ByteConversionSink { 1630 class _Utf8ConversionSink extends ByteConversionSink {
1639 _Utf8ConversionSink(sink, allowMalformed) { 1631 _Utf8ConversionSink(sink, allowMalformed) {
1640 this[_](sink, new core.StringBuffer(), allowMalformed); 1632 this._(sink, new core.StringBuffer(), allowMalformed);
1641 } 1633 }
1642 [_](chunkedSink, stringBuffer, allowMalformed) { 1634 _(chunkedSink, stringBuffer, allowMalformed) {
1643 this[_chunkedSink] = chunkedSink; 1635 this[_chunkedSink] = chunkedSink;
1644 this[_decoder] = new _Utf8Decoder(stringBuffer, allowMalformed); 1636 this[_decoder] = new _Utf8Decoder(stringBuffer, allowMalformed);
1645 this[_buffer] = stringBuffer; 1637 this[_buffer] = stringBuffer;
1646 super.ByteConversionSink(); 1638 super.ByteConversionSink();
1647 } 1639 }
1648 close() { 1640 close() {
1649 this[_decoder].close(); 1641 this[_decoder].close();
1650 if (this[_buffer].isNotEmpty) { 1642 if (this[_buffer].isNotEmpty) {
1651 let accumulated = dart.toString(this[_buffer]); 1643 let accumulated = dart.toString(this[_buffer]);
1652 this[_buffer].clear(); 1644 this[_buffer].clear();
(...skipping 10 matching lines...) Expand all
1663 if (this[_buffer].isNotEmpty) { 1655 if (this[_buffer].isNotEmpty) {
1664 let accumulated = dart.toString(this[_buffer]); 1656 let accumulated = dart.toString(this[_buffer]);
1665 this[_chunkedSink].addSlice(accumulated, 0, accumulated.length, isLast); 1657 this[_chunkedSink].addSlice(accumulated, 0, accumulated.length, isLast);
1666 this[_buffer].clear(); 1658 this[_buffer].clear();
1667 return; 1659 return;
1668 } 1660 }
1669 if (isLast) 1661 if (isLast)
1670 this.close(); 1662 this.close();
1671 } 1663 }
1672 } 1664 }
1673 dart.defineNamedConstructor(_Utf8ConversionSink, _); 1665 dart.defineNamedConstructor(_Utf8ConversionSink, '_');
1674 let UNICODE_REPLACEMENT_CHARACTER_RUNE = 65533; 1666 let UNICODE_REPLACEMENT_CHARACTER_RUNE = 65533;
1675 let UNICODE_BOM_CHARACTER_RUNE = 65279; 1667 let UNICODE_BOM_CHARACTER_RUNE = 65279;
1676 let UTF8 = dart.const(new Utf8Codec()); 1668 let UTF8 = dart.const(new Utf8Codec());
1677 let _allowMalformed = Symbol('_allowMalformed'); 1669 let _allowMalformed = Symbol('_allowMalformed');
1678 class Utf8Codec extends Encoding { 1670 class Utf8Codec extends Encoding {
1679 Utf8Codec(opts) { 1671 Utf8Codec(opts) {
1680 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalforme d : false; 1672 let allowMalformed = opts && 'allowMalformed' in opts ? opts.allowMalforme d : false;
1681 this[_allowMalformed] = allowMalformed; 1673 this[_allowMalformed] = allowMalformed;
1682 super.Encoding(); 1674 super.Encoding();
1683 } 1675 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
1729 startChunkedConversion(sink) { 1721 startChunkedConversion(sink) {
1730 if (!dart.is(sink, ByteConversionSink)) { 1722 if (!dart.is(sink, ByteConversionSink)) {
1731 sink = new ByteConversionSink.from(sink); 1723 sink = new ByteConversionSink.from(sink);
1732 } 1724 }
1733 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); 1725 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink));
1734 } 1726 }
1735 bind(stream) { 1727 bind(stream) {
1736 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int))); 1728 return dart.as(super.bind(stream), async.Stream$(core.List$(core.int)));
1737 } 1729 }
1738 } 1730 }
1739 let _DEFAULT_BYTE_BUFFER_SIZE = Symbol('_DEFAULT_BYTE_BUFFER_SIZE');
1740 let _createBuffer = Symbol('_createBuffer');
1741 class _Utf8Encoder extends core.Object { 1731 class _Utf8Encoder extends core.Object {
1742 _Utf8Encoder() { 1732 _Utf8Encoder() {
1743 this.withBufferSize(_Utf8Encoder[_DEFAULT_BYTE_BUFFER_SIZE]); 1733 this.withBufferSize(_Utf8Encoder._DEFAULT_BYTE_BUFFER_SIZE);
1744 } 1734 }
1745 withBufferSize(bufferSize) { 1735 withBufferSize(bufferSize) {
1746 this[_buffer] = _Utf8Encoder[_createBuffer](bufferSize); 1736 this[_buffer] = _Utf8Encoder._createBuffer(bufferSize);
1747 this[_carry] = 0; 1737 this[_carry] = 0;
1748 this[_bufferIndex] = 0; 1738 this[_bufferIndex] = 0;
1749 } 1739 }
1750 static [_createBuffer](size) { 1740 static _createBuffer(size) {
1751 return new typed_data.Uint8List(size); 1741 return new typed_data.Uint8List(size);
1752 } 1742 }
1753 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { 1743 [_writeSurrogate](leadingSurrogate, nextCodeUnit) {
1754 if (_isTailSurrogate(nextCodeUnit)) { 1744 if (_isTailSurrogate(nextCodeUnit)) {
1755 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit); 1745 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit);
1756 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT)); 1746 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT));
1757 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT)); 1747 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT));
1758 this[_buffer][core.$set]((() => { 1748 this[_buffer][core.$set]((() => {
1759 let x = this[_bufferIndex]; 1749 let x = this[_bufferIndex];
1760 this[_bufferIndex] = dart.notNull(x) + 1; 1750 this[_bufferIndex] = dart.notNull(x) + 1;
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
1969 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) == _TAIL _SURROGATE_MIN; 1959 return (dart.notNull(codeUnit) & dart.notNull(_SURROGATE_TAG_MASK)) == _TAIL _SURROGATE_MIN;
1970 } 1960 }
1971 // Function _combineSurrogatePair: (int, int) → int 1961 // Function _combineSurrogatePair: (int, int) → int
1972 function _combineSurrogatePair(lead, tail) { 1962 function _combineSurrogatePair(lead, tail) {
1973 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) < < 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK); 1963 return 65536 + ((dart.notNull(lead) & dart.notNull(_SURROGATE_VALUE_MASK)) < < 10) | dart.notNull(tail) & dart.notNull(_SURROGATE_VALUE_MASK);
1974 } 1964 }
1975 let _isFirstCharacter = Symbol('_isFirstCharacter'); 1965 let _isFirstCharacter = Symbol('_isFirstCharacter');
1976 let _value = Symbol('_value'); 1966 let _value = Symbol('_value');
1977 let _expectedUnits = Symbol('_expectedUnits'); 1967 let _expectedUnits = Symbol('_expectedUnits');
1978 let _extraUnits = Symbol('_extraUnits'); 1968 let _extraUnits = Symbol('_extraUnits');
1979 let _LIMITS = Symbol('_LIMITS');
1980 class _Utf8Decoder extends core.Object { 1969 class _Utf8Decoder extends core.Object {
1981 _Utf8Decoder(stringSink, allowMalformed) { 1970 _Utf8Decoder(stringSink, allowMalformed) {
1982 this[_stringSink] = stringSink; 1971 this[_stringSink] = stringSink;
1983 this[_allowMalformed] = allowMalformed; 1972 this[_allowMalformed] = allowMalformed;
1984 this[_isFirstCharacter] = true; 1973 this[_isFirstCharacter] = true;
1985 this[_value] = 0; 1974 this[_value] = 0;
1986 this[_expectedUnits] = 0; 1975 this[_expectedUnits] = 0;
1987 this[_extraUnits] = 0; 1976 this[_extraUnits] = 0;
1988 } 1977 }
1989 get hasPartialInput() { 1978 get hasPartialInput() {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
2044 } 2033 }
2045 this[_isFirstCharacter] = false; 2034 this[_isFirstCharacter] = false;
2046 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_ RUNE); 2035 this[_stringSink].writeCharCode(UNICODE_REPLACEMENT_CHARACTER_ RUNE);
2047 break multibyte; 2036 break multibyte;
2048 } else { 2037 } else {
2049 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63; 2038 value = dart.notNull(value) << 6 | dart.notNull(unit) & 63;
2050 expectedUnits = dart.notNull(expectedUnits) - 1; 2039 expectedUnits = dart.notNull(expectedUnits) - 1;
2051 i = dart.notNull(i) + 1; 2040 i = dart.notNull(i) + 1;
2052 } 2041 }
2053 } while (dart.notNull(expectedUnits) > 0); 2042 } while (dart.notNull(expectedUnits) > 0);
2054 if (dart.notNull(value) <= dart.notNull(_Utf8Decoder[_LIMITS][core .$get](dart.notNull(extraUnits) - 1))) { 2043 if (dart.notNull(value) <= dart.notNull(_Utf8Decoder._LIMITS[core. $get](dart.notNull(extraUnits) - 1))) {
2055 if (!dart.notNull(this[_allowMalformed])) { 2044 if (!dart.notNull(this[_allowMalformed])) {
2056 throw new core.FormatException(`Overlong encoding of 0x${value .toRadixString(16)}`); 2045 throw new core.FormatException(`Overlong encoding of 0x${value .toRadixString(16)}`);
2057 } 2046 }
2058 expectedUnits = extraUnits = 0; 2047 expectedUnits = extraUnits = 0;
2059 value = UNICODE_REPLACEMENT_CHARACTER_RUNE; 2048 value = UNICODE_REPLACEMENT_CHARACTER_RUNE;
2060 } 2049 }
2061 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) { 2050 if (dart.notNull(value) > dart.notNull(_FOUR_BYTE_LIMIT)) {
2062 if (!dart.notNull(this[_allowMalformed])) { 2051 if (!dart.notNull(this[_allowMalformed])) {
2063 throw new core.FormatException("Character outside valid Unicod e range: " + `0x${value.toRadixString(16)}`); 2052 throw new core.FormatException("Character outside valid Unicod e range: " + `0x${value.toRadixString(16)}`);
2064 } 2053 }
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
2164 } 2153 }
2165 if (Object.getPrototypeOf(object) !== Array.prototype) { 2154 if (Object.getPrototypeOf(object) !== Array.prototype) {
2166 return new _JsonMap(object); 2155 return new _JsonMap(object);
2167 } 2156 }
2168 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) { 2157 for (let i = 0; dart.notNull(i) < object.length; i = dart.notNull(i) + 1) {
2169 let item = object[i]; 2158 let item = object[i];
2170 object[i] = _convertJsonToDartLazy(item); 2159 object[i] = _convertJsonToDartLazy(item);
2171 } 2160 }
2172 return object; 2161 return object;
2173 } 2162 }
2174 let _newJavaScriptObject = Symbol('_newJavaScriptObject');
2175 let _data = Symbol('_data'); 2163 let _data = Symbol('_data');
2176 let _isUpgraded = Symbol('_isUpgraded'); 2164 let _isUpgraded = Symbol('_isUpgraded');
2177 let _upgradedMap = Symbol('_upgradedMap'); 2165 let _upgradedMap = Symbol('_upgradedMap');
2178 let _getProperty = Symbol('_getProperty');
2179 let _isUnprocessed = Symbol('_isUnprocessed');
2180 let _process = Symbol('_process'); 2166 let _process = Symbol('_process');
2181 let _setProperty = Symbol('_setProperty');
2182 let _upgrade = Symbol('_upgrade'); 2167 let _upgrade = Symbol('_upgrade');
2183 let _hasProperty = Symbol('_hasProperty');
2184 let _getPropertyNames = Symbol('_getPropertyNames');
2185 class _JsonMap extends core.Object { 2168 class _JsonMap extends core.Object {
2186 _JsonMap(original) { 2169 _JsonMap(original) {
2187 this[_processed] = _JsonMap[_newJavaScriptObject](); 2170 this[_processed] = _JsonMap._newJavaScriptObject();
2188 this[_original] = original; 2171 this[_original] = original;
2189 this[_data] = null; 2172 this[_data] = null;
2190 } 2173 }
2191 get(key) { 2174 get(key) {
2192 if (this[_isUpgraded]) { 2175 if (this[_isUpgraded]) {
2193 return this[_upgradedMap].get(key); 2176 return this[_upgradedMap].get(key);
2194 } else if (!(typeof key == 'string')) { 2177 } else if (!(typeof key == 'string')) {
2195 return null; 2178 return null;
2196 } else { 2179 } else {
2197 let result = _JsonMap[_getProperty](this[_processed], dart.as(key, core. String)); 2180 let result = _JsonMap._getProperty(this[_processed], dart.as(key, core.S tring));
2198 if (_JsonMap[_isUnprocessed](result)) 2181 if (_JsonMap._isUnprocessed(result))
2199 result = this[_process](dart.as(key, core.String)); 2182 result = this[_process](dart.as(key, core.String));
2200 return result; 2183 return result;
2201 } 2184 }
2202 } 2185 }
2203 get length() { 2186 get length() {
2204 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys]( )[core.$length]; 2187 return this[_isUpgraded] ? this[_upgradedMap].length : this[_computeKeys]( )[core.$length];
2205 } 2188 }
2206 get isEmpty() { 2189 get isEmpty() {
2207 return this.length == 0; 2190 return this.length == 0;
2208 } 2191 }
2209 get isNotEmpty() { 2192 get isNotEmpty() {
2210 return dart.notNull(this.length) > 0; 2193 return dart.notNull(this.length) > 0;
2211 } 2194 }
2212 get keys() { 2195 get keys() {
2213 if (this[_isUpgraded]) 2196 if (this[_isUpgraded])
2214 return this[_upgradedMap].keys; 2197 return this[_upgradedMap].keys;
2215 return new _JsonMapKeyIterable(this); 2198 return new _JsonMapKeyIterable(this);
2216 } 2199 }
2217 get values() { 2200 get values() {
2218 if (this[_isUpgraded]) 2201 if (this[_isUpgraded])
2219 return this[_upgradedMap].values; 2202 return this[_upgradedMap].values;
2220 return new _internal.MappedIterable(this[_computeKeys](), (each => this.ge t(each)).bind(this)); 2203 return new _internal.MappedIterable(this[_computeKeys](), (each => this.ge t(each)).bind(this));
2221 } 2204 }
2222 set(key, value) { 2205 set(key, value) {
2223 if (this[_isUpgraded]) { 2206 if (this[_isUpgraded]) {
2224 this[_upgradedMap].set(key, value); 2207 this[_upgradedMap].set(key, value);
2225 } else if (this.containsKey(key)) { 2208 } else if (this.containsKey(key)) {
2226 let processed = this[_processed]; 2209 let processed = this[_processed];
2227 _JsonMap[_setProperty](processed, dart.as(key, core.String), value); 2210 _JsonMap._setProperty(processed, dart.as(key, core.String), value);
2228 let original = this[_original]; 2211 let original = this[_original];
2229 if (!dart.notNull(core.identical(original, processed))) { 2212 if (!dart.notNull(core.identical(original, processed))) {
2230 _JsonMap[_setProperty](original, dart.as(key, core.String), null); 2213 _JsonMap._setProperty(original, dart.as(key, core.String), null);
2231 } 2214 }
2232 } else { 2215 } else {
2233 this[_upgrade]().set(key, value); 2216 this[_upgrade]().set(key, value);
2234 } 2217 }
2235 } 2218 }
2236 addAll(other) { 2219 addAll(other) {
2237 other.forEach(((key, value) => { 2220 other.forEach(((key, value) => {
2238 this.set(key, value); 2221 this.set(key, value);
2239 }).bind(this)); 2222 }).bind(this));
2240 } 2223 }
2241 containsValue(value) { 2224 containsValue(value) {
2242 if (this[_isUpgraded]) 2225 if (this[_isUpgraded])
2243 return this[_upgradedMap].containsValue(value); 2226 return this[_upgradedMap].containsValue(value);
2244 let keys = this[_computeKeys](); 2227 let keys = this[_computeKeys]();
2245 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) { 2228 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) {
2246 let key = keys[core.$get](i); 2229 let key = keys[core.$get](i);
2247 if (dart.equals(this.get(key), value)) 2230 if (dart.equals(this.get(key), value))
2248 return true; 2231 return true;
2249 } 2232 }
2250 return false; 2233 return false;
2251 } 2234 }
2252 containsKey(key) { 2235 containsKey(key) {
2253 if (this[_isUpgraded]) 2236 if (this[_isUpgraded])
2254 return this[_upgradedMap].containsKey(key); 2237 return this[_upgradedMap].containsKey(key);
2255 if (!(typeof key == 'string')) 2238 if (!(typeof key == 'string'))
2256 return false; 2239 return false;
2257 return _JsonMap[_hasProperty](this[_original], dart.as(key, core.String)); 2240 return _JsonMap._hasProperty(this[_original], dart.as(key, core.String));
2258 } 2241 }
2259 putIfAbsent(key, ifAbsent) { 2242 putIfAbsent(key, ifAbsent) {
2260 if (this.containsKey(key)) 2243 if (this.containsKey(key))
2261 return this.get(key); 2244 return this.get(key);
2262 let value = ifAbsent(); 2245 let value = ifAbsent();
2263 this.set(key, value); 2246 this.set(key, value);
2264 return value; 2247 return value;
2265 } 2248 }
2266 remove(key) { 2249 remove(key) {
2267 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key ))) 2250 if (!dart.notNull(this[_isUpgraded]) && !dart.notNull(this.containsKey(key )))
(...skipping 10 matching lines...) Expand all
2278 this[_original] = this[_processed] = null; 2261 this[_original] = this[_processed] = null;
2279 this[_data] = dart.map(); 2262 this[_data] = dart.map();
2280 } 2263 }
2281 } 2264 }
2282 forEach(f) { 2265 forEach(f) {
2283 if (this[_isUpgraded]) 2266 if (this[_isUpgraded])
2284 return this[_upgradedMap].forEach(f); 2267 return this[_upgradedMap].forEach(f);
2285 let keys = this[_computeKeys](); 2268 let keys = this[_computeKeys]();
2286 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) { 2269 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) {
2287 let key = keys[core.$get](i); 2270 let key = keys[core.$get](i);
2288 let value = _JsonMap[_getProperty](this[_processed], key); 2271 let value = _JsonMap._getProperty(this[_processed], key);
2289 if (_JsonMap[_isUnprocessed](value)) { 2272 if (_JsonMap._isUnprocessed(value)) {
2290 value = _convertJsonToDartLazy(_JsonMap[_getProperty](this[_original], key)); 2273 value = _convertJsonToDartLazy(_JsonMap._getProperty(this[_original], key));
2291 _JsonMap[_setProperty](this[_processed], key, value); 2274 _JsonMap._setProperty(this[_processed], key, value);
2292 } 2275 }
2293 dart.dcall(f, key, value); 2276 dart.dcall(f, key, value);
2294 if (!dart.notNull(core.identical(keys, this[_data]))) { 2277 if (!dart.notNull(core.identical(keys, this[_data]))) {
2295 throw new core.ConcurrentModificationError(this); 2278 throw new core.ConcurrentModificationError(this);
2296 } 2279 }
2297 } 2280 }
2298 } 2281 }
2299 toString() { 2282 toString() {
2300 return collection.Maps.mapToString(this); 2283 return collection.Maps.mapToString(this);
2301 } 2284 }
2302 get [_isUpgraded]() { 2285 get [_isUpgraded]() {
2303 return this[_processed] == null; 2286 return this[_processed] == null;
2304 } 2287 }
2305 get [_upgradedMap]() { 2288 get [_upgradedMap]() {
2306 dart.assert(this[_isUpgraded]); 2289 dart.assert(this[_isUpgraded]);
2307 return dart.as(this[_data], core.Map); 2290 return dart.as(this[_data], core.Map);
2308 } 2291 }
2309 [_computeKeys]() { 2292 [_computeKeys]() {
2310 dart.assert(!dart.notNull(this[_isUpgraded])); 2293 dart.assert(!dart.notNull(this[_isUpgraded]));
2311 let keys = dart.as(this[_data], core.List); 2294 let keys = dart.as(this[_data], core.List);
2312 if (keys == null) { 2295 if (keys == null) {
2313 keys = this[_data] = _JsonMap[_getPropertyNames](this[_original]); 2296 keys = this[_data] = _JsonMap._getPropertyNames(this[_original]);
2314 } 2297 }
2315 return dart.as(keys, core.List$(core.String)); 2298 return dart.as(keys, core.List$(core.String));
2316 } 2299 }
2317 [_upgrade]() { 2300 [_upgrade]() {
2318 if (this[_isUpgraded]) 2301 if (this[_isUpgraded])
2319 return this[_upgradedMap]; 2302 return this[_upgradedMap];
2320 let result = dart.map(); 2303 let result = dart.map();
2321 let keys = this[_computeKeys](); 2304 let keys = this[_computeKeys]();
2322 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) { 2305 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da rt.notNull(i) + 1) {
2323 let key = keys[core.$get](i); 2306 let key = keys[core.$get](i);
2324 result.set(key, this.get(key)); 2307 result.set(key, this.get(key));
2325 } 2308 }
2326 if (keys[core.$isEmpty]) { 2309 if (keys[core.$isEmpty]) {
2327 keys[core.$add](null); 2310 keys[core.$add](null);
2328 } else { 2311 } else {
2329 keys[core.$clear](); 2312 keys[core.$clear]();
2330 } 2313 }
2331 this[_original] = this[_processed] = null; 2314 this[_original] = this[_processed] = null;
2332 this[_data] = result; 2315 this[_data] = result;
2333 dart.assert(this[_isUpgraded]); 2316 dart.assert(this[_isUpgraded]);
2334 return result; 2317 return result;
2335 } 2318 }
2336 [_process](key) { 2319 [_process](key) {
2337 if (!dart.notNull(_JsonMap[_hasProperty](this[_original], key))) 2320 if (!dart.notNull(_JsonMap._hasProperty(this[_original], key)))
2338 return null; 2321 return null;
2339 let result = _convertJsonToDartLazy(_JsonMap[_getProperty](this[_original] , key)); 2322 let result = _convertJsonToDartLazy(_JsonMap._getProperty(this[_original], key));
2340 return _JsonMap[_setProperty](this[_processed], key, result); 2323 return _JsonMap._setProperty(this[_processed], key, result);
2341 } 2324 }
2342 static [_hasProperty](object, key) { 2325 static _hasProperty(object, key) {
2343 return Object.prototype.hasOwnProperty.call(object, key); 2326 return Object.prototype.hasOwnProperty.call(object, key);
2344 } 2327 }
2345 static [_getProperty](object, key) { 2328 static _getProperty(object, key) {
2346 return object[key]; 2329 return object[key];
2347 } 2330 }
2348 static [_setProperty](object, key, value) { 2331 static _setProperty(object, key, value) {
2349 return object[key] = value; 2332 return object[key] = value;
2350 } 2333 }
2351 static [_getPropertyNames](object) { 2334 static _getPropertyNames(object) {
2352 return dart.as(Object.keys(object), core.List); 2335 return dart.as(Object.keys(object), core.List);
2353 } 2336 }
2354 static [_isUnprocessed](object) { 2337 static _isUnprocessed(object) {
2355 return typeof object == "undefined"; 2338 return typeof object == "undefined";
2356 } 2339 }
2357 static [_newJavaScriptObject]() { 2340 static _newJavaScriptObject() {
2358 return Object.create(null); 2341 return Object.create(null);
2359 } 2342 }
2360 } 2343 }
2361 _JsonMap[dart.implements] = () => [collection.LinkedHashMap]; 2344 _JsonMap[dart.implements] = () => [collection.LinkedHashMap];
2362 let _parent = Symbol('_parent'); 2345 let _parent = Symbol('_parent');
2363 class _JsonMapKeyIterable extends _internal.ListIterable { 2346 class _JsonMapKeyIterable extends _internal.ListIterable {
2364 _JsonMapKeyIterable(parent) { 2347 _JsonMapKeyIterable(parent) {
2365 this[_parent] = parent; 2348 this[_parent] = parent;
2366 super.ListIterable(); 2349 super.ListIterable();
2367 } 2350 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
2427 exports.LineSplitter = LineSplitter; 2410 exports.LineSplitter = LineSplitter;
2428 exports.StringConversionSink = StringConversionSink; 2411 exports.StringConversionSink = StringConversionSink;
2429 exports.ClosableStringSink = ClosableStringSink; 2412 exports.ClosableStringSink = ClosableStringSink;
2430 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E; 2413 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E;
2431 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; 2414 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE;
2432 exports.UTF8 = UTF8; 2415 exports.UTF8 = UTF8;
2433 exports.Utf8Codec = Utf8Codec; 2416 exports.Utf8Codec = Utf8Codec;
2434 exports.Utf8Encoder = Utf8Encoder; 2417 exports.Utf8Encoder = Utf8Encoder;
2435 exports.Utf8Decoder = Utf8Decoder; 2418 exports.Utf8Decoder = Utf8Decoder;
2436 })(convert || (convert = {})); 2419 })(convert || (convert = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/collection.js ('k') | lib/runtime/dart/core.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698