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

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

Issue 1156993015: fixes #193, factory constructors as static methods (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 var convert = dart.defineLibrary(convert, {}); 1 var convert = dart.defineLibrary(convert, {});
2 var core = dart.import(core); 2 var core = dart.import(core);
3 var async = dart.import(async); 3 var async = dart.import(async);
4 var typed_data = dart.import(typed_data); 4 var typed_data = dart.import(typed_data);
5 var _internal = dart.import(_internal); 5 var _internal = dart.import(_internal);
6 var collection = dart.import(collection); 6 var collection = dart.import(collection);
7 (function(exports, core, async, typed_data, _internal, collection) { 7 (function(exports, core, async, typed_data, _internal, collection) {
8 'use strict'; 8 'use strict';
9 let Codec$ = dart.generic(function(S, T) { 9 let Codec$ = dart.generic(function(S, T) {
10 class Codec extends core.Object { 10 class Codec extends core.Object {
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 fuse(other) { 100 fuse(other) {
101 dart.as(other, Converter$(T, core.Object)); 101 dart.as(other, Converter$(T, core.Object));
102 return new (_FusedConverter$(S, T, core.Object))(this, other); 102 return new (_FusedConverter$(S, T, core.Object))(this, other);
103 } 103 }
104 startChunkedConversion(sink) { 104 startChunkedConversion(sink) {
105 dart.as(sink, core.Sink$(T)); 105 dart.as(sink, core.Sink$(T));
106 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`); 106 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`);
107 } 107 }
108 bind(source) { 108 bind(source) {
109 dart.as(source, async.Stream$(S)); 109 dart.as(source, async.Stream$(S));
110 return new (async.Stream$(T)).eventTransformed(source, dart.fn((sink => new _ConverterStreamEventSink(this, sink)).bind(this), _ConverterStreamEventSink , [async.EventSink])); 110 return async.Stream$(T).eventTransformed(source, dart.fn((sink => new _C onverterStreamEventSink(this, sink)).bind(this), _ConverterStreamEventSink, [asy nc.EventSink]));
111 } 111 }
112 } 112 }
113 Converter[dart.implements] = () => [async.StreamTransformer$(S, T)]; 113 Converter[dart.implements] = () => [async.StreamTransformer$(S, T)];
114 dart.setSignature(Converter, { 114 dart.setSignature(Converter, {
115 constructors: () => ({Converter: [Converter$(S, T), []]}), 115 constructors: () => ({Converter: [Converter$(S, T), []]}),
116 methods: () => ({ 116 methods: () => ({
117 fuse: [Converter$(S, core.Object), [Converter$(T, core.Object)]], 117 fuse: [Converter$(S, core.Object), [Converter$(T, core.Object)]],
118 startChunkedConversion: [ChunkedConversionSink, [core.Sink$(T)]], 118 startChunkedConversion: [ChunkedConversionSink, [core.Sink$(T)]],
119 bind: [async.Stream$(T), [async.Stream$(S)]] 119 bind: [async.Stream$(T), [async.Stream$(S)]]
120 }) 120 })
(...skipping 10 matching lines...) Expand all
131 convert(string, start, end) { 131 convert(string, start, end) {
132 if (start === void 0) 132 if (start === void 0)
133 start = 0; 133 start = 0;
134 if (end === void 0) 134 if (end === void 0)
135 end = null; 135 end = null;
136 let stringLength = string.length; 136 let stringLength = string.length;
137 core.RangeError.checkValidRange(start, end, stringLength); 137 core.RangeError.checkValidRange(start, end, stringLength);
138 if (end == null) 138 if (end == null)
139 end = stringLength; 139 end = stringLength;
140 let length = dart.notNull(end) - dart.notNull(start); 140 let length = dart.notNull(end) - dart.notNull(start);
141 let result = new typed_data.Uint8List(length); 141 let result = typed_data.Uint8List.new(length);
142 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 142 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
143 let codeUnit = string.codeUnitAt(dart.notNull(start) + dart.notNull(i)); 143 let codeUnit = string.codeUnitAt(dart.notNull(start) + dart.notNull(i));
144 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) { 144 if ((dart.notNull(codeUnit) & ~dart.notNull(this[_subsetMask])) != 0) {
145 throw new core.ArgumentError("String contains invalid characters."); 145 throw new core.ArgumentError("String contains invalid characters.");
146 } 146 }
147 result[core.$set](i, codeUnit); 147 result[core.$set](i, codeUnit);
148 } 148 }
149 return dart.as(result, core.List$(core.int)); 149 return dart.as(result, core.List$(core.int));
150 } 150 }
151 startChunkedConversion(sink) { 151 startChunkedConversion(sink) {
152 if (!dart.is(sink, ByteConversionSink)) { 152 if (!dart.is(sink, ByteConversionSink)) {
153 sink = new ByteConversionSink.from(sink); 153 sink = ByteConversionSink.from(sink);
154 } 154 }
155 return new _UnicodeSubsetEncoderSink(this[_subsetMask], dart.as(sink, Byte ConversionSink)); 155 return new _UnicodeSubsetEncoderSink(this[_subsetMask], dart.as(sink, Byte ConversionSink));
156 } 156 }
157 bind(stream) { 157 bind(stream) {
158 return super.bind(stream); 158 return super.bind(stream);
159 } 159 }
160 } 160 }
161 dart.setSignature(_UnicodeSubsetEncoder, { 161 dart.setSignature(_UnicodeSubsetEncoder, {
162 constructors: () => ({_UnicodeSubsetEncoder: [_UnicodeSubsetEncoder, [core.i nt]]}), 162 constructors: () => ({_UnicodeSubsetEncoder: [_UnicodeSubsetEncoder, [core.i nt]]}),
163 methods: () => ({ 163 methods: () => ({
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 let length = dart.notNull(end) - dart.notNull(start); 243 let length = dart.notNull(end) - dart.notNull(start);
244 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 244 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
245 let byte = bytes[core.$get](i); 245 let byte = bytes[core.$get](i);
246 if ((dart.notNull(byte) & ~dart.notNull(this[_subsetMask])) != 0) { 246 if ((dart.notNull(byte) & ~dart.notNull(this[_subsetMask])) != 0) {
247 if (!dart.notNull(this[_allowInvalid])) { 247 if (!dart.notNull(this[_allowInvalid])) {
248 throw new core.FormatException(`Invalid value in input: ${byte}`); 248 throw new core.FormatException(`Invalid value in input: ${byte}`);
249 } 249 }
250 return this[_convertInvalid](bytes, start, end); 250 return this[_convertInvalid](bytes, start, end);
251 } 251 }
252 } 252 }
253 return new core.String.fromCharCodes(bytes, start, end); 253 return core.String.fromCharCodes(bytes, start, end);
254 } 254 }
255 [_convertInvalid](bytes, start, end) { 255 [_convertInvalid](bytes, start, end) {
256 let buffer = new core.StringBuffer(); 256 let buffer = new core.StringBuffer();
257 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 257 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
258 let value = bytes[core.$get](i); 258 let value = bytes[core.$get](i);
259 if ((dart.notNull(value) & ~dart.notNull(this[_subsetMask])) != 0) 259 if ((dart.notNull(value) & ~dart.notNull(this[_subsetMask])) != 0)
260 value = 65533; 260 value = 65533;
261 buffer.writeCharCode(value); 261 buffer.writeCharCode(value);
262 } 262 }
263 return dart.toString(buffer); 263 return dart.toString(buffer);
(...skipping 13 matching lines...) Expand all
277 class AsciiDecoder extends _UnicodeSubsetDecoder { 277 class AsciiDecoder extends _UnicodeSubsetDecoder {
278 AsciiDecoder(opts) { 278 AsciiDecoder(opts) {
279 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse; 279 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse;
280 super._UnicodeSubsetDecoder(allowInvalid, _ASCII_MASK); 280 super._UnicodeSubsetDecoder(allowInvalid, _ASCII_MASK);
281 } 281 }
282 startChunkedConversion(sink) { 282 startChunkedConversion(sink) {
283 let stringSink = null; 283 let stringSink = null;
284 if (dart.is(sink, StringConversionSink)) { 284 if (dart.is(sink, StringConversionSink)) {
285 stringSink = sink; 285 stringSink = sink;
286 } else { 286 } else {
287 stringSink = new StringConversionSink.from(sink); 287 stringSink = StringConversionSink.from(sink);
288 } 288 }
289 if (this[_allowInvalid]) { 289 if (this[_allowInvalid]) {
290 return new _ErrorHandlingAsciiDecoderSink(stringSink.asUtf8Sink(false)); 290 return new _ErrorHandlingAsciiDecoderSink(stringSink.asUtf8Sink(false));
291 } else { 291 } else {
292 return new _SimpleAsciiDecoderSink(stringSink); 292 return new _SimpleAsciiDecoderSink(stringSink);
293 } 293 }
294 } 294 }
295 } 295 }
296 dart.setSignature(AsciiDecoder, { 296 dart.setSignature(AsciiDecoder, {
297 constructors: () => ({AsciiDecoder: [AsciiDecoder, [], {allowInvalid: core.b ool}]}), 297 constructors: () => ({AsciiDecoder: [AsciiDecoder, [], {allowInvalid: core.b ool}]}),
298 methods: () => ({startChunkedConversion: [ByteConversionSink, [core.Sink$(co re.String)]]}) 298 methods: () => ({startChunkedConversion: [ByteConversionSink, [core.Sink$(co re.String)]]})
299 }); 299 });
300 let ChunkedConversionSink$ = dart.generic(function(T) { 300 let ChunkedConversionSink$ = dart.generic(function(T) {
301 class ChunkedConversionSink extends core.Object { 301 class ChunkedConversionSink extends core.Object {
302 ChunkedConversionSink() { 302 ChunkedConversionSink() {
303 } 303 }
304 withCallback(callback) { 304 static withCallback(callback) {
305 return new _SimpleCallbackSink(callback); 305 return new _SimpleCallbackSink(callback);
306 } 306 }
307 } 307 }
308 ChunkedConversionSink[dart.implements] = () => [core.Sink$(T)]; 308 ChunkedConversionSink[dart.implements] = () => [core.Sink$(T)];
309 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback');
310 dart.setSignature(ChunkedConversionSink, { 309 dart.setSignature(ChunkedConversionSink, {
311 constructors: () => ({ 310 constructors: () => ({
312 ChunkedConversionSink: [ChunkedConversionSink$(T), []], 311 ChunkedConversionSink: [ChunkedConversionSink$(T), []],
313 withCallback: [ChunkedConversionSink$(T), [dart.functionType(dart.void, [core.List$(T)])]] 312 withCallback: [ChunkedConversionSink$(T), [dart.functionType(dart.void, [core.List$(T)])]]
314 }) 313 })
315 }); 314 });
316 return ChunkedConversionSink; 315 return ChunkedConversionSink;
317 }); 316 });
318 let ChunkedConversionSink = ChunkedConversionSink$(); 317 let ChunkedConversionSink = ChunkedConversionSink$();
319 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) { 318 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) {
320 ByteConversionSink() { 319 ByteConversionSink() {
321 super.ChunkedConversionSink(); 320 super.ChunkedConversionSink();
322 } 321 }
323 withCallback(callback) { 322 static withCallback(callback) {
324 return new _ByteCallbackSink(callback); 323 return new _ByteCallbackSink(callback);
325 } 324 }
326 from(sink) { 325 static from(sink) {
327 return new _ByteAdapterSink(sink); 326 return new _ByteAdapterSink(sink);
328 } 327 }
329 } 328 }
330 dart.defineNamedConstructor(ByteConversionSink, 'withCallback');
331 dart.defineNamedConstructor(ByteConversionSink, 'from');
332 dart.setSignature(ByteConversionSink, { 329 dart.setSignature(ByteConversionSink, {
333 constructors: () => ({ 330 constructors: () => ({
334 ByteConversionSink: [ByteConversionSink, []], 331 ByteConversionSink: [ByteConversionSink, []],
335 withCallback: [ByteConversionSink, [dart.functionType(dart.void, [core.Lis t$(core.int)])]], 332 withCallback: [ByteConversionSink, [dart.functionType(dart.void, [core.Lis t$(core.int)])]],
336 from: [ByteConversionSink, [core.Sink$(core.List$(core.int))]] 333 from: [ByteConversionSink, [core.Sink$(core.List$(core.int))]]
337 }) 334 })
338 }); 335 });
339 class ByteConversionSinkBase extends ByteConversionSink { 336 class ByteConversionSinkBase extends ByteConversionSink {
340 ByteConversionSinkBase() { 337 ByteConversionSinkBase() {
341 super.ByteConversionSink(); 338 super.ByteConversionSink();
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 387 }
391 close() { 388 close() {
392 this[_sink].close(); 389 this[_sink].close();
393 } 390 }
394 add(source) { 391 add(source) {
395 for (let i = 0; dart.notNull(i) < dart.notNull(source[core.$length]); i = dart.notNull(i) + 1) { 392 for (let i = 0; dart.notNull(i) < dart.notNull(source[core.$length]); i = dart.notNull(i) + 1) {
396 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) != 0) { 393 if ((dart.notNull(source[core.$get](i)) & ~dart.notNull(_ASCII_MASK)) != 0) {
397 throw new core.FormatException("Source contains non-ASCII bytes."); 394 throw new core.FormatException("Source contains non-ASCII bytes.");
398 } 395 }
399 } 396 }
400 this[_sink].add(new core.String.fromCharCodes(source)); 397 this[_sink].add(core.String.fromCharCodes(source));
401 } 398 }
402 addSlice(source, start, end, isLast) { 399 addSlice(source, start, end, isLast) {
403 let length = source[core.$length]; 400 let length = source[core.$length];
404 core.RangeError.checkValidRange(start, end, length); 401 core.RangeError.checkValidRange(start, end, length);
405 if (dart.notNull(start) < dart.notNull(end)) { 402 if (dart.notNull(start) < dart.notNull(end)) {
406 if (start != 0 || end != length) { 403 if (start != 0 || end != length) {
407 source = source[core.$sublist](start, end); 404 source = source[core.$sublist](start, end);
408 } 405 }
409 this.add(source); 406 this.add(source);
410 } 407 }
(...skipping 24 matching lines...) Expand all
435 methods: () => ({ 432 methods: () => ({
436 add: [dart.void, [core.List$(core.int)]], 433 add: [dart.void, [core.List$(core.int)]],
437 close: [dart.void, []] 434 close: [dart.void, []]
438 }) 435 })
439 }); 436 });
440 let _buffer = Symbol('_buffer'); 437 let _buffer = Symbol('_buffer');
441 let _callback = Symbol('_callback'); 438 let _callback = Symbol('_callback');
442 let _bufferIndex = Symbol('_bufferIndex'); 439 let _bufferIndex = Symbol('_bufferIndex');
443 class _ByteCallbackSink extends ByteConversionSinkBase { 440 class _ByteCallbackSink extends ByteConversionSinkBase {
444 _ByteCallbackSink(callback) { 441 _ByteCallbackSink(callback) {
445 this[_buffer] = new typed_data.Uint8List(_ByteCallbackSink._INITIAL_BUFFER _SIZE); 442 this[_buffer] = typed_data.Uint8List.new(_ByteCallbackSink._INITIAL_BUFFER _SIZE);
446 this[_callback] = callback; 443 this[_callback] = callback;
447 this[_bufferIndex] = 0; 444 this[_bufferIndex] = 0;
448 } 445 }
449 add(chunk) { 446 add(chunk) {
450 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t his[_bufferIndex]); 447 let freeCount = dart.notNull(this[_buffer][core.$length]) - dart.notNull(t his[_bufferIndex]);
451 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) { 448 if (dart.notNull(chunk[core.$length]) > dart.notNull(freeCount)) {
452 let oldLength = this[_buffer][core.$length]; 449 let oldLength = this[_buffer][core.$length];
453 let newLength = dart.notNull(_ByteCallbackSink._roundToPowerOf2(dart.not Null(chunk[core.$length]) + dart.notNull(oldLength))) * 2; 450 let newLength = dart.notNull(_ByteCallbackSink._roundToPowerOf2(dart.not Null(chunk[core.$length]) + dart.notNull(oldLength))) * 2;
454 let grown = new typed_data.Uint8List(newLength); 451 let grown = typed_data.Uint8List.new(newLength);
455 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]); 452 grown[core.$setRange](0, this[_buffer][core.$length], this[_buffer]);
456 this[_buffer] = grown; 453 this[_buffer] = grown;
457 } 454 }
458 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe rIndex]) + dart.notNull(chunk[core.$length]), chunk); 455 this[_buffer][core.$setRange](this[_bufferIndex], dart.notNull(this[_buffe rIndex]) + dart.notNull(chunk[core.$length]), chunk);
459 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk [core.$length]); 456 this[_bufferIndex] = dart.notNull(this[_bufferIndex]) + dart.notNull(chunk [core.$length]);
460 } 457 }
461 static _roundToPowerOf2(v) { 458 static _roundToPowerOf2(v) {
462 dart.assert(dart.notNull(v) > 0); 459 dart.assert(dart.notNull(v) > 0);
463 v = dart.notNull(v) - 1; 460 v = dart.notNull(v) - 1;
464 v = dart.notNull(v) | dart.notNull(v) >> 1; 461 v = dart.notNull(v) | dart.notNull(v) >> 1;
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
730 result = new core.StringBuffer(text.substring(start, i)); 727 result = new core.StringBuffer(text.substring(start, i));
731 result.write(replace); 728 result.write(replace);
732 } else if (result != null) { 729 } else if (result != null) {
733 result.write(ch); 730 result.write(ch);
734 } 731 }
735 } 732 }
736 return result != null ? dart.toString(result) : null; 733 return result != null ? dart.toString(result) : null;
737 } 734 }
738 startChunkedConversion(sink) { 735 startChunkedConversion(sink) {
739 if (!dart.is(sink, StringConversionSink)) { 736 if (!dart.is(sink, StringConversionSink)) {
740 sink = new StringConversionSink.from(sink); 737 sink = StringConversionSink.from(sink);
741 } 738 }
742 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink)); 739 return new _HtmlEscapeSink(this, dart.as(sink, StringConversionSink));
743 } 740 }
744 } 741 }
745 dart.setSignature(HtmlEscape, { 742 dart.setSignature(HtmlEscape, {
746 constructors: () => ({HtmlEscape: [HtmlEscape, [], [HtmlEscapeMode]]}), 743 constructors: () => ({HtmlEscape: [HtmlEscape, [], [HtmlEscapeMode]]}),
747 methods: () => ({ 744 methods: () => ({
748 convert: [core.String, [core.String]], 745 convert: [core.String, [core.String]],
749 [_convert]: [core.String, [core.String, core.int, core.int]], 746 [_convert]: [core.String, [core.String, core.int, core.int]],
750 startChunkedConversion: [StringConversionSink, [core.Sink$(core.String)]] 747 startChunkedConversion: [StringConversionSink, [core.Sink$(core.String)]]
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 toEncodable = null; 873 toEncodable = null;
877 this.indent = indent; 874 this.indent = indent;
878 this[_toEncodable$] = toEncodable; 875 this[_toEncodable$] = toEncodable;
879 super.Converter(); 876 super.Converter();
880 } 877 }
881 convert(object) { 878 convert(object) {
882 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$ ], __CastType2), this.indent); 879 return _JsonStringStringifier.stringify(object, dart.as(this[_toEncodable$ ], __CastType2), this.indent);
883 } 880 }
884 startChunkedConversion(sink) { 881 startChunkedConversion(sink) {
885 if (!dart.is(sink, StringConversionSink)) { 882 if (!dart.is(sink, StringConversionSink)) {
886 sink = new StringConversionSink.from(sink); 883 sink = StringConversionSink.from(sink);
887 } else if (dart.is(sink, _Utf8EncoderSink)) { 884 } else if (dart.is(sink, _Utf8EncoderSink)) {
888 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt f8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE); 885 return new _JsonUtf8EncoderSink(sink[_sink], this[_toEncodable$], JsonUt f8Encoder._utf8Encode(this.indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE);
889 } 886 }
890 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE ncodable$], this.indent); 887 return new _JsonEncoderSink(dart.as(sink, StringConversionSink), this[_toE ncodable$], this.indent);
891 } 888 }
892 bind(stream) { 889 bind(stream) {
893 return super.bind(stream); 890 return super.bind(stream);
894 } 891 }
895 fuse(other) { 892 fuse(other) {
896 if (dart.is(other, Utf8Encoder)) { 893 if (dart.is(other, Utf8Encoder)) {
(...skipping 27 matching lines...) Expand all
924 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE; 921 bufferSize = JsonUtf8Encoder.DEFAULT_BUFFER_SIZE;
925 this[_indent] = JsonUtf8Encoder._utf8Encode(indent); 922 this[_indent] = JsonUtf8Encoder._utf8Encode(indent);
926 this[_toEncodable$] = toEncodable; 923 this[_toEncodable$] = toEncodable;
927 this[_bufferSize] = bufferSize; 924 this[_bufferSize] = bufferSize;
928 super.Converter(); 925 super.Converter();
929 } 926 }
930 static _utf8Encode(string) { 927 static _utf8Encode(string) {
931 if (string == null) 928 if (string == null)
932 return null; 929 return null;
933 if (string.isEmpty) 930 if (string.isEmpty)
934 return new typed_data.Uint8List(0); 931 return typed_data.Uint8List.new(0);
935 checkAscii: { 932 checkAscii: {
936 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) { 933 for (let i = 0; dart.notNull(i) < dart.notNull(string.length); i = dart. notNull(i) + 1) {
937 if (dart.notNull(string.codeUnitAt(i)) >= 128) 934 if (dart.notNull(string.codeUnitAt(i)) >= 128)
938 break checkAscii; 935 break checkAscii;
939 } 936 }
940 return string.codeUnits; 937 return string.codeUnits;
941 } 938 }
942 return UTF8.encode(string); 939 return UTF8.encode(string);
943 } 940 }
944 convert(object) { 941 convert(object) {
945 let bytes = dart.setType([], core.List$(core.List$(core.int))); 942 let bytes = dart.setType([], core.List$(core.List$(core.int)));
946 let addChunk = (chunk, start, end) => { 943 let addChunk = (chunk, start, end) => {
947 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk[co re.$length])) { 944 if (dart.notNull(start) > 0 || dart.notNull(end) < dart.notNull(chunk[co re.$length])) {
948 let length = dart.notNull(end) - dart.notNull(start); 945 let length = dart.notNull(end) - dart.notNull(start);
949 chunk = new typed_data.Uint8List.view(chunk.buffer, dart.notNull(chunk .offsetInBytes) + dart.notNull(start), length); 946 chunk = typed_data.Uint8List.view(chunk.buffer, dart.notNull(chunk.off setInBytes) + dart.notNull(start), length);
950 } 947 }
951 bytes[core.$add](chunk); 948 bytes[core.$add](chunk);
952 }; 949 };
953 dart.fn(addChunk, dart.void, [typed_data.Uint8List, core.int, core.int]); 950 dart.fn(addChunk, dart.void, [typed_data.Uint8List, core.int, core.int]);
954 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.functionType(core.Object, [core.Object])), this[_bufferSize], addC hunk); 951 _JsonUtf8Stringifier.stringify(object, this[_indent], dart.as(this[_toEnco dable$], dart.functionType(core.Object, [core.Object])), this[_bufferSize], addC hunk);
955 if (bytes[core.$length] == 1) 952 if (bytes[core.$length] == 1)
956 return bytes[core.$get](0); 953 return bytes[core.$get](0);
957 let length = 0; 954 let length = 0;
958 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[core.$length]); i = d art.notNull(i) + 1) { 955 for (let i = 0; dart.notNull(i) < dart.notNull(bytes[core.$length]); i = d art.notNull(i) + 1) {
959 length = dart.notNull(length) + dart.notNull(bytes[core.$get](i)[core.$l ength]); 956 length = dart.notNull(length) + dart.notNull(bytes[core.$get](i)[core.$l ength]);
960 } 957 }
961 let result = new typed_data.Uint8List(length); 958 let result = typed_data.Uint8List.new(length);
962 for (let i = 0, offset = 0; dart.notNull(i) < dart.notNull(bytes[core.$len gth]); i = dart.notNull(i) + 1) { 959 for (let i = 0, offset = 0; dart.notNull(i) < dart.notNull(bytes[core.$len gth]); i = dart.notNull(i) + 1) {
963 let byteList = bytes[core.$get](i); 960 let byteList = bytes[core.$get](i);
964 let end = dart.notNull(offset) + dart.notNull(byteList[core.$length]); 961 let end = dart.notNull(offset) + dart.notNull(byteList[core.$length]);
965 result[core.$setRange](offset, end, byteList); 962 result[core.$setRange](offset, end, byteList);
966 offset = end; 963 offset = end;
967 } 964 }
968 return result; 965 return result;
969 } 966 }
970 startChunkedConversion(sink) { 967 startChunkedConversion(sink) {
971 let byteSink = null; 968 let byteSink = null;
972 if (dart.is(sink, ByteConversionSink)) { 969 if (dart.is(sink, ByteConversionSink)) {
973 byteSink = sink; 970 byteSink = sink;
974 } else { 971 } else {
975 byteSink = new ByteConversionSink.from(sink); 972 byteSink = ByteConversionSink.from(sink);
976 } 973 }
977 return new _JsonUtf8EncoderSink(byteSink, this[_toEncodable$], this[_inden t], this[_bufferSize]); 974 return new _JsonUtf8EncoderSink(byteSink, this[_toEncodable$], this[_inden t], this[_bufferSize]);
978 } 975 }
979 bind(stream) { 976 bind(stream) {
980 return super.bind(stream); 977 return super.bind(stream);
981 } 978 }
982 fuse(other) { 979 fuse(other) {
983 return super.fuse(other); 980 return super.fuse(other);
984 } 981 }
985 } 982 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
1102 dart.fn(_parseJson, core.Object, [core.String, dart.functionType(core.Object, [dart.bottom, dart.bottom])]); 1099 dart.fn(_parseJson, core.Object, [core.String, dart.functionType(core.Object, [dart.bottom, dart.bottom])]);
1103 function _defaultToEncodable(object) { 1100 function _defaultToEncodable(object) {
1104 return dart.dsend(object, 'toJson'); 1101 return dart.dsend(object, 'toJson');
1105 } 1102 }
1106 dart.fn(_defaultToEncodable, core.Object, [core.Object]); 1103 dart.fn(_defaultToEncodable, core.Object, [core.Object]);
1107 let _seen = Symbol('_seen'); 1104 let _seen = Symbol('_seen');
1108 let _checkCycle = Symbol('_checkCycle'); 1105 let _checkCycle = Symbol('_checkCycle');
1109 let _removeSeen = Symbol('_removeSeen'); 1106 let _removeSeen = Symbol('_removeSeen');
1110 class _JsonStringifier extends core.Object { 1107 class _JsonStringifier extends core.Object {
1111 _JsonStringifier(_toEncodable) { 1108 _JsonStringifier(_toEncodable) {
1112 this[_seen] = new core.List(); 1109 this[_seen] = core.List.new();
1113 this[_toEncodable$] = _toEncodable != null ? _toEncodable : _defaultToEnco dable; 1110 this[_toEncodable$] = _toEncodable != null ? _toEncodable : _defaultToEnco dable;
1114 } 1111 }
1115 static hexDigit(x) { 1112 static hexDigit(x) {
1116 return dart.notNull(x) < 10 ? 48 + dart.notNull(x) : 87 + dart.notNull(x); 1113 return dart.notNull(x) < 10 ? 48 + dart.notNull(x) : 87 + dart.notNull(x);
1117 } 1114 }
1118 writeStringContent(s) { 1115 writeStringContent(s) {
1119 let offset = 0; 1116 let offset = 0;
1120 let length = s.length; 1117 let length = s.length;
1121 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) { 1118 for (let i = 0; dart.notNull(i) < dart.notNull(length); i = dart.notNull(i ) + 1) {
1122 let charCode = s.codeUnitAt(i); 1119 let charCode = s.codeUnitAt(i);
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after
1404 } 1401 }
1405 } 1402 }
1406 dart.setSignature(_JsonStringStringifierPretty, { 1403 dart.setSignature(_JsonStringStringifierPretty, {
1407 constructors: () => ({_JsonStringStringifierPretty: [_JsonStringStringifierP retty, [core.StringSink, core.Function, core.String]]}), 1404 constructors: () => ({_JsonStringStringifierPretty: [_JsonStringStringifierP retty, [core.StringSink, core.Function, core.String]]}),
1408 methods: () => ({writeIndentation: [dart.void, [core.int]]}) 1405 methods: () => ({writeIndentation: [dart.void, [core.int]]})
1409 }); 1406 });
1410 class _JsonUtf8Stringifier extends _JsonStringifier { 1407 class _JsonUtf8Stringifier extends _JsonStringifier {
1411 _JsonUtf8Stringifier(toEncodable, bufferSize, addChunk) { 1408 _JsonUtf8Stringifier(toEncodable, bufferSize, addChunk) {
1412 this.addChunk = addChunk; 1409 this.addChunk = addChunk;
1413 this.bufferSize = bufferSize; 1410 this.bufferSize = bufferSize;
1414 this.buffer = new typed_data.Uint8List(bufferSize); 1411 this.buffer = typed_data.Uint8List.new(bufferSize);
1415 this.index = 0; 1412 this.index = 0;
1416 super._JsonStringifier(dart.as(toEncodable, dart.functionType(core.Object, [core.Object]))); 1413 super._JsonStringifier(dart.as(toEncodable, dart.functionType(core.Object, [core.Object])));
1417 } 1414 }
1418 static stringify(object, indent, toEncodableFunction, bufferSize, addChunk) { 1415 static stringify(object, indent, toEncodableFunction, bufferSize, addChunk) {
1419 let stringifier = null; 1416 let stringifier = null;
1420 if (indent != null) { 1417 if (indent != null) {
1421 stringifier = new _JsonUtf8StringifierPretty(toEncodableFunction, indent , bufferSize, addChunk); 1418 stringifier = new _JsonUtf8StringifierPretty(toEncodableFunction, indent , bufferSize, addChunk);
1422 } else { 1419 } else {
1423 stringifier = new _JsonUtf8Stringifier(toEncodableFunction, bufferSize, addChunk); 1420 stringifier = new _JsonUtf8Stringifier(toEncodableFunction, bufferSize, addChunk);
1424 } 1421 }
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
1489 dart.assert(dart.notNull(charCode) <= 1114111); 1486 dart.assert(dart.notNull(charCode) <= 1114111);
1490 this.writeByte(240 | dart.notNull(charCode) >> 18); 1487 this.writeByte(240 | dart.notNull(charCode) >> 18);
1491 this.writeByte(128 | dart.notNull(charCode) >> 12 & 63); 1488 this.writeByte(128 | dart.notNull(charCode) >> 12 & 63);
1492 this.writeByte(128 | dart.notNull(charCode) >> 6 & 63); 1489 this.writeByte(128 | dart.notNull(charCode) >> 6 & 63);
1493 this.writeByte(128 | dart.notNull(charCode) & 63); 1490 this.writeByte(128 | dart.notNull(charCode) & 63);
1494 } 1491 }
1495 writeByte(byte) { 1492 writeByte(byte) {
1496 dart.assert(dart.notNull(byte) <= 255); 1493 dart.assert(dart.notNull(byte) <= 255);
1497 if (this.index == this.buffer[core.$length]) { 1494 if (this.index == this.buffer[core.$length]) {
1498 dart.dcall(this.addChunk, this.buffer, 0, this.index); 1495 dart.dcall(this.addChunk, this.buffer, 0, this.index);
1499 this.buffer = new typed_data.Uint8List(this.bufferSize); 1496 this.buffer = typed_data.Uint8List.new(this.bufferSize);
1500 this.index = 0; 1497 this.index = 0;
1501 } 1498 }
1502 this.buffer[core.$set]((() => { 1499 this.buffer[core.$set]((() => {
1503 let x = this.index; 1500 let x = this.index;
1504 this.index = dart.notNull(x) + 1; 1501 this.index = dart.notNull(x) + 1;
1505 return x; 1502 return x;
1506 }).bind(this)(), byte); 1503 }).bind(this)(), byte);
1507 } 1504 }
1508 } 1505 }
1509 dart.setSignature(_JsonUtf8Stringifier, { 1506 dart.setSignature(_JsonUtf8Stringifier, {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 class Latin1Decoder extends _UnicodeSubsetDecoder { 1599 class Latin1Decoder extends _UnicodeSubsetDecoder {
1603 Latin1Decoder(opts) { 1600 Latin1Decoder(opts) {
1604 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse; 1601 let allowInvalid = opts && 'allowInvalid' in opts ? opts.allowInvalid : fa lse;
1605 super._UnicodeSubsetDecoder(allowInvalid, _LATIN1_MASK); 1602 super._UnicodeSubsetDecoder(allowInvalid, _LATIN1_MASK);
1606 } 1603 }
1607 startChunkedConversion(sink) { 1604 startChunkedConversion(sink) {
1608 let stringSink = null; 1605 let stringSink = null;
1609 if (dart.is(sink, StringConversionSink)) { 1606 if (dart.is(sink, StringConversionSink)) {
1610 stringSink = sink; 1607 stringSink = sink;
1611 } else { 1608 } else {
1612 stringSink = new StringConversionSink.from(sink); 1609 stringSink = StringConversionSink.from(sink);
1613 } 1610 }
1614 if (!dart.notNull(this[_allowInvalid])) 1611 if (!dart.notNull(this[_allowInvalid]))
1615 return new _Latin1DecoderSink(stringSink); 1612 return new _Latin1DecoderSink(stringSink);
1616 return new _Latin1AllowInvalidDecoderSink(stringSink); 1613 return new _Latin1AllowInvalidDecoderSink(stringSink);
1617 } 1614 }
1618 } 1615 }
1619 dart.setSignature(Latin1Decoder, { 1616 dart.setSignature(Latin1Decoder, {
1620 constructors: () => ({Latin1Decoder: [Latin1Decoder, [], {allowInvalid: core .bool}]}), 1617 constructors: () => ({Latin1Decoder: [Latin1Decoder, [], {allowInvalid: core .bool}]}),
1621 methods: () => ({startChunkedConversion: [ByteConversionSink, [core.Sink$(co re.String)]]}) 1618 methods: () => ({startChunkedConversion: [ByteConversionSink, [core.Sink$(co re.String)]]})
1622 }); 1619 });
1623 let _addSliceToSink = Symbol('_addSliceToSink'); 1620 let _addSliceToSink = Symbol('_addSliceToSink');
1624 class _Latin1DecoderSink extends ByteConversionSinkBase { 1621 class _Latin1DecoderSink extends ByteConversionSinkBase {
1625 _Latin1DecoderSink(sink) { 1622 _Latin1DecoderSink(sink) {
1626 this[_sink] = sink; 1623 this[_sink] = sink;
1627 } 1624 }
1628 close() { 1625 close() {
1629 this[_sink].close(); 1626 this[_sink].close();
1630 } 1627 }
1631 add(source) { 1628 add(source) {
1632 this.addSlice(source, 0, source[core.$length], false); 1629 this.addSlice(source, 0, source[core.$length], false);
1633 } 1630 }
1634 [_addSliceToSink](source, start, end, isLast) { 1631 [_addSliceToSink](source, start, end, isLast) {
1635 this[_sink].add(new core.String.fromCharCodes(source, start, end)); 1632 this[_sink].add(core.String.fromCharCodes(source, start, end));
1636 if (isLast) 1633 if (isLast)
1637 this.close(); 1634 this.close();
1638 } 1635 }
1639 addSlice(source, start, end, isLast) { 1636 addSlice(source, start, end, isLast) {
1640 core.RangeError.checkValidRange(start, end, source[core.$length]); 1637 core.RangeError.checkValidRange(start, end, source[core.$length]);
1641 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) { 1638 for (let i = start; dart.notNull(i) < dart.notNull(end); i = dart.notNull( i) + 1) {
1642 let char = source[core.$get](i); 1639 let char = source[core.$get](i);
1643 if (dart.notNull(char) > dart.notNull(_LATIN1_MASK) || dart.notNull(char ) < 0) { 1640 if (dart.notNull(char) > dart.notNull(_LATIN1_MASK) || dart.notNull(char ) < 0) {
1644 throw new core.FormatException("Source contains non-Latin-1 characters ."); 1641 throw new core.FormatException("Source contains non-Latin-1 characters .");
1645 } 1642 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1684 } 1681 }
1685 } 1682 }
1686 dart.setSignature(_Latin1AllowInvalidDecoderSink, { 1683 dart.setSignature(_Latin1AllowInvalidDecoderSink, {
1687 constructors: () => ({_Latin1AllowInvalidDecoderSink: [_Latin1AllowInvalidDe coderSink, [StringConversionSink]]}) 1684 constructors: () => ({_Latin1AllowInvalidDecoderSink: [_Latin1AllowInvalidDe coderSink, [StringConversionSink]]})
1688 }); 1685 });
1689 class LineSplitter extends Converter$(core.String, core.List$(core.String)) { 1686 class LineSplitter extends Converter$(core.String, core.List$(core.String)) {
1690 LineSplitter() { 1687 LineSplitter() {
1691 super.Converter(); 1688 super.Converter();
1692 } 1689 }
1693 convert(data) { 1690 convert(data) {
1694 let lines = new (core.List$(core.String))(); 1691 let lines = core.List$(core.String).new();
1695 _LineSplitterSink._addSlice(data, 0, data.length, true, dart.bind(lines, c ore.$add)); 1692 _LineSplitterSink._addSlice(data, 0, data.length, true, dart.bind(lines, c ore.$add));
1696 return lines; 1693 return lines;
1697 } 1694 }
1698 startChunkedConversion(sink) { 1695 startChunkedConversion(sink) {
1699 if (!dart.is(sink, StringConversionSink)) { 1696 if (!dart.is(sink, StringConversionSink)) {
1700 sink = new StringConversionSink.from(dart.as(sink, core.Sink$(core.Strin g))); 1697 sink = StringConversionSink.from(dart.as(sink, core.Sink$(core.String))) ;
1701 } 1698 }
1702 return new _LineSplitterSink(dart.as(sink, StringConversionSink)); 1699 return new _LineSplitterSink(dart.as(sink, StringConversionSink));
1703 } 1700 }
1704 } 1701 }
1705 dart.setSignature(LineSplitter, { 1702 dart.setSignature(LineSplitter, {
1706 constructors: () => ({LineSplitter: [LineSplitter, []]}), 1703 constructors: () => ({LineSplitter: [LineSplitter, []]}),
1707 methods: () => ({ 1704 methods: () => ({
1708 convert: [core.List$(core.String), [core.String]], 1705 convert: [core.List$(core.String), [core.String]],
1709 startChunkedConversion: [StringConversionSink, [core.Sink]] 1706 startChunkedConversion: [StringConversionSink, [core.Sink]]
1710 }) 1707 })
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
1772 }), 1769 }),
1773 statics: () => ({_addSlice: [core.String, [core.String, core.int, core.int, core.bool, dart.functionType(dart.void, [core.String])]]}), 1770 statics: () => ({_addSlice: [core.String, [core.String, core.int, core.int, core.bool, dart.functionType(dart.void, [core.String])]]}),
1774 names: ['_addSlice'] 1771 names: ['_addSlice']
1775 }); 1772 });
1776 _LineSplitterSink._LF = 10; 1773 _LineSplitterSink._LF = 10;
1777 _LineSplitterSink._CR = 13; 1774 _LineSplitterSink._CR = 13;
1778 class StringConversionSink extends ChunkedConversionSink$(core.String) { 1775 class StringConversionSink extends ChunkedConversionSink$(core.String) {
1779 StringConversionSink() { 1776 StringConversionSink() {
1780 super.ChunkedConversionSink(); 1777 super.ChunkedConversionSink();
1781 } 1778 }
1782 withCallback(callback) { 1779 static withCallback(callback) {
1783 return new _StringCallbackSink(callback); 1780 return new _StringCallbackSink(callback);
1784 } 1781 }
1785 from(sink) { 1782 static from(sink) {
1786 return new _StringAdapterSink(sink); 1783 return new _StringAdapterSink(sink);
1787 } 1784 }
1788 fromStringSink(sink) { 1785 static fromStringSink(sink) {
1789 return new _StringSinkConversionSink(sink); 1786 return new _StringSinkConversionSink(sink);
1790 } 1787 }
1791 } 1788 }
1792 dart.defineNamedConstructor(StringConversionSink, 'withCallback');
1793 dart.defineNamedConstructor(StringConversionSink, 'from');
1794 dart.defineNamedConstructor(StringConversionSink, 'fromStringSink');
1795 dart.setSignature(StringConversionSink, { 1789 dart.setSignature(StringConversionSink, {
1796 constructors: () => ({ 1790 constructors: () => ({
1797 StringConversionSink: [StringConversionSink, []], 1791 StringConversionSink: [StringConversionSink, []],
1798 withCallback: [StringConversionSink, [dart.functionType(dart.void, [core.S tring])]], 1792 withCallback: [StringConversionSink, [dart.functionType(dart.void, [core.S tring])]],
1799 from: [StringConversionSink, [core.Sink$(core.String)]], 1793 from: [StringConversionSink, [core.Sink$(core.String)]],
1800 fromStringSink: [StringConversionSink, [core.StringSink]] 1794 fromStringSink: [StringConversionSink, [core.StringSink]]
1801 }) 1795 })
1802 }); 1796 });
1803 class ClosableStringSink extends core.StringSink { 1797 class ClosableStringSink extends core.StringSink {
1804 fromStringSink(sink, onClose) { 1798 static fromStringSink(sink, onClose) {
1805 return new _ClosableStringSink(sink, onClose); 1799 return new _ClosableStringSink(sink, onClose);
1806 } 1800 }
1807 } 1801 }
1808 dart.defineNamedConstructor(ClosableStringSink, 'fromStringSink');
1809 dart.setSignature(ClosableStringSink, { 1802 dart.setSignature(ClosableStringSink, {
1810 constructors: () => ({fromStringSink: [ClosableStringSink, [core.StringSink, dart.functionType(dart.void, [])]]}) 1803 constructors: () => ({fromStringSink: [ClosableStringSink, [core.StringSink, dart.functionType(dart.void, [])]]})
1811 }); 1804 });
1812 let _StringSinkCloseCallback = dart.typedef('_StringSinkCloseCallback', () => dart.functionType(dart.void, [])); 1805 let _StringSinkCloseCallback = dart.typedef('_StringSinkCloseCallback', () => dart.functionType(dart.void, []));
1813 class _ClosableStringSink extends core.Object { 1806 class _ClosableStringSink extends core.Object {
1814 _ClosableStringSink(sink, callback) { 1807 _ClosableStringSink(sink, callback) {
1815 this[_sink] = sink; 1808 this[_sink] = sink;
1816 this[_callback] = callback; 1809 this[_callback] = callback;
1817 } 1810 }
1818 close() { 1811 close() {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
1931 if (isLast) 1924 if (isLast)
1932 this.close(); 1925 this.close();
1933 } 1926 }
1934 add(str) { 1927 add(str) {
1935 return this[_stringSink].write(str); 1928 return this[_stringSink].write(str);
1936 } 1929 }
1937 asUtf8Sink(allowMalformed) { 1930 asUtf8Sink(allowMalformed) {
1938 return new _Utf8StringSinkAdapter(this, this[_stringSink], allowMalformed) ; 1931 return new _Utf8StringSinkAdapter(this, this[_stringSink], allowMalformed) ;
1939 } 1932 }
1940 asStringSink() { 1933 asStringSink() {
1941 return new ClosableStringSink.fromStringSink(this[_stringSink], dart.bind( this, 'close')); 1934 return ClosableStringSink.fromStringSink(this[_stringSink], dart.bind(this , 'close'));
1942 } 1935 }
1943 } 1936 }
1944 dart.setSignature(_StringSinkConversionSink, { 1937 dart.setSignature(_StringSinkConversionSink, {
1945 constructors: () => ({_StringSinkConversionSink: [_StringSinkConversionSink, [core.StringSink]]}), 1938 constructors: () => ({_StringSinkConversionSink: [_StringSinkConversionSink, [core.StringSink]]}),
1946 methods: () => ({ 1939 methods: () => ({
1947 close: [dart.void, []], 1940 close: [dart.void, []],
1948 addSlice: [dart.void, [core.String, core.int, core.int, core.bool]] 1941 addSlice: [dart.void, [core.String, core.int, core.int, core.bool]]
1949 }) 1942 })
1950 }); 1943 });
1951 class _StringCallbackSink extends _StringSinkConversionSink { 1944 class _StringCallbackSink extends _StringSinkConversionSink {
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
2109 if (start === void 0) 2102 if (start === void 0)
2110 start = 0; 2103 start = 0;
2111 if (end === void 0) 2104 if (end === void 0)
2112 end = null; 2105 end = null;
2113 let stringLength = string.length; 2106 let stringLength = string.length;
2114 core.RangeError.checkValidRange(start, end, stringLength); 2107 core.RangeError.checkValidRange(start, end, stringLength);
2115 if (end == null) 2108 if (end == null)
2116 end = stringLength; 2109 end = stringLength;
2117 let length = dart.notNull(end) - dart.notNull(start); 2110 let length = dart.notNull(end) - dart.notNull(start);
2118 if (length == 0) 2111 if (length == 0)
2119 return new typed_data.Uint8List(0); 2112 return typed_data.Uint8List.new(0);
2120 let encoder = new _Utf8Encoder.withBufferSize(dart.notNull(length) * 3); 2113 let encoder = new _Utf8Encoder.withBufferSize(dart.notNull(length) * 3);
2121 let endPosition = encoder[_fillBuffer](string, start, end); 2114 let endPosition = encoder[_fillBuffer](string, start, end);
2122 dart.assert(dart.notNull(endPosition) >= dart.notNull(end) - 1); 2115 dart.assert(dart.notNull(endPosition) >= dart.notNull(end) - 1);
2123 if (endPosition != end) { 2116 if (endPosition != end) {
2124 let lastCodeUnit = string.codeUnitAt(dart.notNull(end) - 1); 2117 let lastCodeUnit = string.codeUnitAt(dart.notNull(end) - 1);
2125 dart.assert(_isLeadSurrogate(lastCodeUnit)); 2118 dart.assert(_isLeadSurrogate(lastCodeUnit));
2126 let wasCombined = encoder[_writeSurrogate](lastCodeUnit, 0); 2119 let wasCombined = encoder[_writeSurrogate](lastCodeUnit, 0);
2127 dart.assert(!dart.notNull(wasCombined)); 2120 dart.assert(!dart.notNull(wasCombined));
2128 } 2121 }
2129 return encoder[_buffer][core.$sublist](0, encoder[_bufferIndex]); 2122 return encoder[_buffer][core.$sublist](0, encoder[_bufferIndex]);
2130 } 2123 }
2131 startChunkedConversion(sink) { 2124 startChunkedConversion(sink) {
2132 if (!dart.is(sink, ByteConversionSink)) { 2125 if (!dart.is(sink, ByteConversionSink)) {
2133 sink = new ByteConversionSink.from(sink); 2126 sink = ByteConversionSink.from(sink);
2134 } 2127 }
2135 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink)); 2128 return new _Utf8EncoderSink(dart.as(sink, ByteConversionSink));
2136 } 2129 }
2137 bind(stream) { 2130 bind(stream) {
2138 return super.bind(stream); 2131 return super.bind(stream);
2139 } 2132 }
2140 } 2133 }
2141 dart.setSignature(Utf8Encoder, { 2134 dart.setSignature(Utf8Encoder, {
2142 constructors: () => ({Utf8Encoder: [Utf8Encoder, []]}), 2135 constructors: () => ({Utf8Encoder: [Utf8Encoder, []]}),
2143 methods: () => ({ 2136 methods: () => ({
2144 convert: [core.List$(core.int), [core.String], [core.int, core.int]], 2137 convert: [core.List$(core.int), [core.String], [core.int, core.int]],
2145 startChunkedConversion: [StringConversionSink, [core.Sink$(core.List$(core .int))]], 2138 startChunkedConversion: [StringConversionSink, [core.Sink$(core.List$(core .int))]],
2146 bind: [async.Stream$(core.List$(core.int)), [async.Stream$(core.String)]] 2139 bind: [async.Stream$(core.List$(core.int)), [async.Stream$(core.String)]]
2147 }) 2140 })
2148 }); 2141 });
2149 class _Utf8Encoder extends core.Object { 2142 class _Utf8Encoder extends core.Object {
2150 _Utf8Encoder() { 2143 _Utf8Encoder() {
2151 this.withBufferSize(_Utf8Encoder._DEFAULT_BYTE_BUFFER_SIZE); 2144 this.withBufferSize(_Utf8Encoder._DEFAULT_BYTE_BUFFER_SIZE);
2152 } 2145 }
2153 withBufferSize(bufferSize) { 2146 withBufferSize(bufferSize) {
2154 this[_buffer] = _Utf8Encoder._createBuffer(bufferSize); 2147 this[_buffer] = _Utf8Encoder._createBuffer(bufferSize);
2155 this[_carry] = 0; 2148 this[_carry] = 0;
2156 this[_bufferIndex] = 0; 2149 this[_bufferIndex] = 0;
2157 } 2150 }
2158 static _createBuffer(size) { 2151 static _createBuffer(size) {
2159 return new typed_data.Uint8List(size); 2152 return typed_data.Uint8List.new(size);
2160 } 2153 }
2161 [_writeSurrogate](leadingSurrogate, nextCodeUnit) { 2154 [_writeSurrogate](leadingSurrogate, nextCodeUnit) {
2162 if (_isTailSurrogate(nextCodeUnit)) { 2155 if (_isTailSurrogate(nextCodeUnit)) {
2163 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit); 2156 let rune = _combineSurrogatePair(leadingSurrogate, nextCodeUnit);
2164 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT)); 2157 dart.assert(dart.notNull(rune) > dart.notNull(_THREE_BYTE_LIMIT));
2165 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT)); 2158 dart.assert(dart.notNull(rune) <= dart.notNull(_FOUR_BYTE_LIMIT));
2166 this[_buffer][core.$set]((() => { 2159 this[_buffer][core.$set]((() => {
2167 let x = this[_bufferIndex]; 2160 let x = this[_bufferIndex];
2168 this[_bufferIndex] = dart.notNull(x) + 1; 2161 this[_bufferIndex] = dart.notNull(x) + 1;
2169 return x; 2162 return x;
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
2356 let decoder = new _Utf8Decoder(buffer, this[_allowMalformed]); 2349 let decoder = new _Utf8Decoder(buffer, this[_allowMalformed]);
2357 decoder.convert(codeUnits, start, end); 2350 decoder.convert(codeUnits, start, end);
2358 decoder.close(); 2351 decoder.close();
2359 return dart.toString(buffer); 2352 return dart.toString(buffer);
2360 } 2353 }
2361 startChunkedConversion(sink) { 2354 startChunkedConversion(sink) {
2362 let stringSink = null; 2355 let stringSink = null;
2363 if (dart.is(sink, StringConversionSink)) { 2356 if (dart.is(sink, StringConversionSink)) {
2364 stringSink = sink; 2357 stringSink = sink;
2365 } else { 2358 } else {
2366 stringSink = new StringConversionSink.from(sink); 2359 stringSink = StringConversionSink.from(sink);
2367 } 2360 }
2368 return stringSink.asUtf8Sink(this[_allowMalformed]); 2361 return stringSink.asUtf8Sink(this[_allowMalformed]);
2369 } 2362 }
2370 bind(stream) { 2363 bind(stream) {
2371 return super.bind(stream); 2364 return super.bind(stream);
2372 } 2365 }
2373 fuse(next) { 2366 fuse(next) {
2374 return super.fuse(next); 2367 return super.fuse(next);
2375 } 2368 }
2376 } 2369 }
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
2452 let unit = dart.dindex(units, i); 2445 let unit = dart.dindex(units, i);
2453 if (!dart.equals(dart.dsend(unit, '&', mask), unit)) 2446 if (!dart.equals(dart.dsend(unit, '&', mask), unit))
2454 return dart.notNull(i) - dart.notNull(from); 2447 return dart.notNull(i) - dart.notNull(from);
2455 } 2448 }
2456 return dart.notNull(to) - dart.notNull(from); 2449 return dart.notNull(to) - dart.notNull(from);
2457 }; 2450 };
2458 dart.fn(scanOneByteCharacters, core.int, [core.Object, core.int]); 2451 dart.fn(scanOneByteCharacters, core.int, [core.Object, core.int]);
2459 let addSingleBytes = ((from, to) => { 2452 let addSingleBytes = ((from, to) => {
2460 dart.assert(dart.notNull(from) >= dart.notNull(startIndex) && dart.notNu ll(from) <= dart.notNull(endIndex)); 2453 dart.assert(dart.notNull(from) >= dart.notNull(startIndex) && dart.notNu ll(from) <= dart.notNull(endIndex));
2461 dart.assert(dart.notNull(to) >= dart.notNull(startIndex) && dart.notNull (to) <= dart.notNull(endIndex)); 2454 dart.assert(dart.notNull(to) >= dart.notNull(startIndex) && dart.notNull (to) <= dart.notNull(endIndex));
2462 this[_stringSink].write(new core.String.fromCharCodes(codeUnits, from, t o)); 2455 this[_stringSink].write(core.String.fromCharCodes(codeUnits, from, to));
2463 }).bind(this); 2456 }).bind(this);
2464 dart.fn(addSingleBytes, dart.void, [core.int, core.int]); 2457 dart.fn(addSingleBytes, dart.void, [core.int, core.int]);
2465 let i = startIndex; 2458 let i = startIndex;
2466 loop: 2459 loop:
2467 while (true) { 2460 while (true) {
2468 multibyte: 2461 multibyte:
2469 if (dart.notNull(expectedUnits) > 0) { 2462 if (dart.notNull(expectedUnits) > 0) {
2470 do { 2463 do {
2471 if (i == endIndex) { 2464 if (i == endIndex) {
2472 break loop; 2465 break loop;
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
2647 return dart.notNull(this.length) > 0; 2640 return dart.notNull(this.length) > 0;
2648 } 2641 }
2649 get keys() { 2642 get keys() {
2650 if (this[_isUpgraded]) 2643 if (this[_isUpgraded])
2651 return this[_upgradedMap].keys; 2644 return this[_upgradedMap].keys;
2652 return new _JsonMapKeyIterable(this); 2645 return new _JsonMapKeyIterable(this);
2653 } 2646 }
2654 get values() { 2647 get values() {
2655 if (this[_isUpgraded]) 2648 if (this[_isUpgraded])
2656 return this[_upgradedMap].values; 2649 return this[_upgradedMap].values;
2657 return new _internal.MappedIterable(this[_computeKeys](), dart.fn((each => this.get(each)).bind(this))); 2650 return _internal.MappedIterable.new(this[_computeKeys](), dart.fn((each => this.get(each)).bind(this)));
2658 } 2651 }
2659 set(key, value) { 2652 set(key, value) {
2660 if (this[_isUpgraded]) { 2653 if (this[_isUpgraded]) {
2661 this[_upgradedMap].set(key, value); 2654 this[_upgradedMap].set(key, value);
2662 } else if (this.containsKey(key)) { 2655 } else if (this.containsKey(key)) {
2663 let processed = this[_processed]; 2656 let processed = this[_processed];
2664 _JsonMap._setProperty(processed, dart.as(key, core.String), value); 2657 _JsonMap._setProperty(processed, dart.as(key, core.String), value);
2665 let original = this[_original]; 2658 let original = this[_original];
2666 if (!dart.notNull(core.identical(original, processed))) { 2659 if (!dart.notNull(core.identical(original, processed))) {
2667 _JsonMap._setProperty(original, dart.as(key, core.String), null); 2660 _JsonMap._setProperty(original, dart.as(key, core.String), null);
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
2897 exports.LineSplitter = LineSplitter; 2890 exports.LineSplitter = LineSplitter;
2898 exports.StringConversionSink = StringConversionSink; 2891 exports.StringConversionSink = StringConversionSink;
2899 exports.ClosableStringSink = ClosableStringSink; 2892 exports.ClosableStringSink = ClosableStringSink;
2900 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E; 2893 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E;
2901 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; 2894 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE;
2902 exports.Utf8Codec = Utf8Codec; 2895 exports.Utf8Codec = Utf8Codec;
2903 exports.UTF8 = UTF8; 2896 exports.UTF8 = UTF8;
2904 exports.Utf8Encoder = Utf8Encoder; 2897 exports.Utf8Encoder = Utf8Encoder;
2905 exports.Utf8Decoder = Utf8Decoder; 2898 exports.Utf8Decoder = Utf8Decoder;
2906 })(convert, core, async, typed_data, _internal, collection); 2899 })(convert, core, async, typed_data, _internal, collection);
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698