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

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

Issue 1043003002: keep mixin and interface implementation info at runtime (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/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 = new AsciiCodec(); 4 let ASCII = 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'); 7 let _nameToEncoding = Symbol('_nameToEncoding');
8 let Codec$ = dart.generic(function(S, T) { 8 let Codec$ = dart.generic(function(S, T) {
9 class Codec extends core.Object { 9 class Codec extends core.Object {
10 Codec() { 10 Codec() {
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 fuse(other) { 79 fuse(other) {
80 return new _FusedConverter(this, other); 80 return new _FusedConverter(this, other);
81 } 81 }
82 startChunkedConversion(sink) { 82 startChunkedConversion(sink) {
83 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`); 83 throw new core.UnsupportedError(`This converter does not support chunked conversions: ${this}`);
84 } 84 }
85 bind(source) { 85 bind(source) {
86 return new async.Stream.eventTransformed(source, ((sink) => new _Convert erStreamEventSink(this, sink)).bind(this)); 86 return new async.Stream.eventTransformed(source, ((sink) => new _Convert erStreamEventSink(this, sink)).bind(this));
87 } 87 }
88 } 88 }
89 Converter[dart.implements] = [async.StreamTransformer];
89 return Converter; 90 return Converter;
90 }); 91 });
91 let Converter = Converter$(dart.dynamic, dart.dynamic); 92 let Converter = Converter$(dart.dynamic, dart.dynamic);
92 class _UnicodeSubsetEncoder extends Converter$(core.String, core.List$(core.in t)) { 93 class _UnicodeSubsetEncoder extends Converter$(core.String, core.List$(core.in t)) {
93 _UnicodeSubsetEncoder(subsetMask) { 94 _UnicodeSubsetEncoder(subsetMask) {
94 this[_subsetMask] = subsetMask; 95 this[_subsetMask] = subsetMask;
95 super.Converter(); 96 super.Converter();
96 } 97 }
97 convert(string, start, end) { 98 convert(string, start, end) {
98 if (start === void 0) 99 if (start === void 0)
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 add(str) { 135 add(str) {
135 return this.addSlice(str, 0, str.length, false); 136 return this.addSlice(str, 0, str.length, false);
136 } 137 }
137 asUtf8Sink(allowMalformed) { 138 asUtf8Sink(allowMalformed) {
138 return new _Utf8ConversionSink(this, allowMalformed); 139 return new _Utf8ConversionSink(this, allowMalformed);
139 } 140 }
140 asStringSink() { 141 asStringSink() {
141 return new _StringConversionSinkAsStringSinkAdapter(this); 142 return new _StringConversionSinkAsStringSinkAdapter(this);
142 } 143 }
143 } 144 }
145 StringConversionSinkMixin[dart.implements] = [StringConversionSink];
144 class StringConversionSinkBase extends StringConversionSinkMixin { 146 class StringConversionSinkBase extends StringConversionSinkMixin {
145 } 147 }
146 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase { 148 class _UnicodeSubsetEncoderSink extends StringConversionSinkBase {
147 _UnicodeSubsetEncoderSink(subsetMask, sink$) { 149 _UnicodeSubsetEncoderSink(subsetMask, sink$) {
148 this[_subsetMask] = subsetMask; 150 this[_subsetMask] = subsetMask;
149 this[_sink] = sink$; 151 this[_sink] = sink$;
150 super.StringConversionSinkBase(); 152 super.StringConversionSinkBase();
151 } 153 }
152 close() { 154 close() {
153 this[_sink].close(); 155 this[_sink].close();
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 } 231 }
230 let _utf8Sink = Symbol('_utf8Sink'); 232 let _utf8Sink = Symbol('_utf8Sink');
231 let ChunkedConversionSink$ = dart.generic(function(T) { 233 let ChunkedConversionSink$ = dart.generic(function(T) {
232 class ChunkedConversionSink extends core.Object { 234 class ChunkedConversionSink extends core.Object {
233 ChunkedConversionSink() { 235 ChunkedConversionSink() {
234 } 236 }
235 withCallback(callback) { 237 withCallback(callback) {
236 return new _SimpleCallbackSink(callback); 238 return new _SimpleCallbackSink(callback);
237 } 239 }
238 } 240 }
241 ChunkedConversionSink[dart.implements] = [core.Sink$(T)];
239 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback'); 242 dart.defineNamedConstructor(ChunkedConversionSink, 'withCallback');
240 return ChunkedConversionSink; 243 return ChunkedConversionSink;
241 }); 244 });
242 let ChunkedConversionSink = ChunkedConversionSink$(dart.dynamic); 245 let ChunkedConversionSink = ChunkedConversionSink$(dart.dynamic);
243 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) { 246 class ByteConversionSink extends ChunkedConversionSink$(core.List$(core.int)) {
244 ByteConversionSink() { 247 ByteConversionSink() {
245 super.ChunkedConversionSink(); 248 super.ChunkedConversionSink();
246 } 249 }
247 withCallback(callback) { 250 withCallback(callback) {
248 return new _ByteCallbackSink(callback); 251 return new _ByteCallbackSink(callback);
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
392 _EventSinkAdapter(sink$) { 395 _EventSinkAdapter(sink$) {
393 this[_sink] = sink$; 396 this[_sink] = sink$;
394 } 397 }
395 add(data) { 398 add(data) {
396 return this[_sink].add(data); 399 return this[_sink].add(data);
397 } 400 }
398 close() { 401 close() {
399 return this[_sink].close(); 402 return this[_sink].close();
400 } 403 }
401 } 404 }
405 _EventSinkAdapter[dart.implements] = [ChunkedConversionSink$(T)];
402 return _EventSinkAdapter; 406 return _EventSinkAdapter;
403 }); 407 });
404 let _EventSinkAdapter = _EventSinkAdapter$(dart.dynamic); 408 let _EventSinkAdapter = _EventSinkAdapter$(dart.dynamic);
405 let _eventSink = Symbol('_eventSink'); 409 let _eventSink = Symbol('_eventSink');
406 let _chunkedSink = Symbol('_chunkedSink'); 410 let _chunkedSink = Symbol('_chunkedSink');
407 let _ConverterStreamEventSink$ = dart.generic(function(S, T) { 411 let _ConverterStreamEventSink$ = dart.generic(function(S, T) {
408 class _ConverterStreamEventSink extends core.Object { 412 class _ConverterStreamEventSink extends core.Object {
409 _ConverterStreamEventSink(converter, sink) { 413 _ConverterStreamEventSink(converter, sink) {
410 this[_eventSink] = sink; 414 this[_eventSink] = sink;
411 this[_chunkedSink] = converter.startChunkedConversion(sink); 415 this[_chunkedSink] = converter.startChunkedConversion(sink);
412 } 416 }
413 add(o) { 417 add(o) {
414 return this[_chunkedSink].add(o); 418 return this[_chunkedSink].add(o);
415 } 419 }
416 addError(error, stackTrace) { 420 addError(error, stackTrace) {
417 if (stackTrace === void 0) 421 if (stackTrace === void 0)
418 stackTrace = null; 422 stackTrace = null;
419 this[_eventSink].addError(error, stackTrace); 423 this[_eventSink].addError(error, stackTrace);
420 } 424 }
421 close() { 425 close() {
422 return this[_chunkedSink].close(); 426 return this[_chunkedSink].close();
423 } 427 }
424 } 428 }
429 _ConverterStreamEventSink[dart.implements] = [async.EventSink$(S)];
425 return _ConverterStreamEventSink; 430 return _ConverterStreamEventSink;
426 }); 431 });
427 let _ConverterStreamEventSink = _ConverterStreamEventSink$(dart.dynamic, dart. dynamic); 432 let _ConverterStreamEventSink = _ConverterStreamEventSink$(dart.dynamic, dart. dynamic);
428 let _first = Symbol('_first'); 433 let _first = Symbol('_first');
429 let _second = Symbol('_second'); 434 let _second = Symbol('_second');
430 let _FusedCodec$ = dart.generic(function(S, M, T) { 435 let _FusedCodec$ = dart.generic(function(S, M, T) {
431 class _FusedCodec extends Codec$(S, T) { 436 class _FusedCodec extends Codec$(S, T) {
432 get encoder() { 437 get encoder() {
433 return dart.as(this[_first].encoder.fuse(this[_second].encoder), Convert er$(S, T)); 438 return dart.as(this[_first].encoder.fuse(this[_second].encoder), Convert er$(S, T));
434 } 439 }
(...skipping 638 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 this.writeObject(value); 1078 this.writeObject(value);
1074 first = false; 1079 first = false;
1075 }).bind(this)); 1080 }).bind(this));
1076 this.writeString('\n'); 1081 this.writeString('\n');
1077 this[_indentLevel] = dart.notNull(this[_indentLevel]) - 1; 1082 this[_indentLevel] = dart.notNull(this[_indentLevel]) - 1;
1078 this.writeIndentation(this[_indentLevel]); 1083 this.writeIndentation(this[_indentLevel]);
1079 this.writeString('}'); 1084 this.writeString('}');
1080 } 1085 }
1081 } 1086 }
1082 } 1087 }
1088 _JsonPrettyPrintMixin[dart.implements] = [_JsonStringifier];
1083 class _JsonStringStringifier extends _JsonStringifier { 1089 class _JsonStringStringifier extends _JsonStringifier {
1084 _JsonStringStringifier(sink$, _toEncodable) { 1090 _JsonStringStringifier(sink$, _toEncodable) {
1085 this[_sink] = sink$; 1091 this[_sink] = sink$;
1086 super._JsonStringifier(dart.as(_toEncodable, dart.throw_("Unimplemented ty pe (Object) → Object"))); 1092 super._JsonStringifier(dart.as(_toEncodable, dart.throw_("Unimplemented ty pe (Object) → Object")));
1087 } 1093 }
1088 static stringify(object, toEncodable, indent) { 1094 static stringify(object, toEncodable, indent) {
1089 let output = new core.StringBuffer(); 1095 let output = new core.StringBuffer();
1090 _JsonStringStringifier.printOn(object, output, toEncodable, indent); 1096 _JsonStringStringifier.printOn(object, output, toEncodable, indent);
1091 return output.toString(); 1097 return output.toString();
1092 } 1098 }
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
1471 if (o === void 0) 1477 if (o === void 0)
1472 o = ""; 1478 o = "";
1473 return this[_sink].writeln(o); 1479 return this[_sink].writeln(o);
1474 } 1480 }
1475 writeAll(objects, separator) { 1481 writeAll(objects, separator) {
1476 if (separator === void 0) 1482 if (separator === void 0)
1477 separator = ""; 1483 separator = "";
1478 return this[_sink].writeAll(objects, separator); 1484 return this[_sink].writeAll(objects, separator);
1479 } 1485 }
1480 } 1486 }
1487 _ClosableStringSink[dart.implements] = [ClosableStringSink];
1481 let _flush = Symbol('_flush'); 1488 let _flush = Symbol('_flush');
1482 let _MIN_STRING_SIZE = Symbol('_MIN_STRING_SIZE'); 1489 let _MIN_STRING_SIZE = Symbol('_MIN_STRING_SIZE');
1483 class _StringConversionSinkAsStringSinkAdapter extends core.Object { 1490 class _StringConversionSinkAsStringSinkAdapter extends core.Object {
1484 _StringConversionSinkAsStringSinkAdapter(chunkedSink) { 1491 _StringConversionSinkAsStringSinkAdapter(chunkedSink) {
1485 this[_chunkedSink] = chunkedSink; 1492 this[_chunkedSink] = chunkedSink;
1486 this[_buffer] = new core.StringBuffer(); 1493 this[_buffer] = new core.StringBuffer();
1487 } 1494 }
1488 close() { 1495 close() {
1489 if (this[_buffer].isNotEmpty) 1496 if (this[_buffer].isNotEmpty)
1490 this[_flush](); 1497 this[_flush]();
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1527 this[_chunkedSink].add(dart.as(dart.dinvoke(iterator.current, 'toStrin g'), core.String)); 1534 this[_chunkedSink].add(dart.as(dart.dinvoke(iterator.current, 'toStrin g'), core.String));
1528 } 1535 }
1529 } 1536 }
1530 } 1537 }
1531 [_flush]() { 1538 [_flush]() {
1532 let accumulated = this[_buffer].toString(); 1539 let accumulated = this[_buffer].toString();
1533 this[_buffer].clear(); 1540 this[_buffer].clear();
1534 this[_chunkedSink].add(accumulated); 1541 this[_chunkedSink].add(accumulated);
1535 } 1542 }
1536 } 1543 }
1544 _StringConversionSinkAsStringSinkAdapter[dart.implements] = [ClosableStringSin k];
1537 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16; 1545 _StringConversionSinkAsStringSinkAdapter._MIN_STRING_SIZE = 16;
1538 let _stringSink = Symbol('_stringSink'); 1546 let _stringSink = Symbol('_stringSink');
1539 class _StringSinkConversionSink extends StringConversionSinkBase { 1547 class _StringSinkConversionSink extends StringConversionSinkBase {
1540 _StringSinkConversionSink(stringSink$) { 1548 _StringSinkConversionSink(stringSink$) {
1541 this[_stringSink] = stringSink$; 1549 this[_stringSink] = stringSink$;
1542 super.StringConversionSinkBase(); 1550 super.StringConversionSinkBase();
1543 } 1551 }
1544 close() {} 1552 close() {}
1545 addSlice(str, start, end, isLast) { 1553 addSlice(str, start, end, isLast) {
1546 if (start !== 0 || end !== str.length) { 1554 if (start !== 0 || end !== str.length) {
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
2278 static [_getPropertyNames](object) { 2286 static [_getPropertyNames](object) {
2279 return dart.as(Object.keys(object), core.List); 2287 return dart.as(Object.keys(object), core.List);
2280 } 2288 }
2281 static [_isUnprocessed](object) { 2289 static [_isUnprocessed](object) {
2282 return typeof object == "undefined"; 2290 return typeof object == "undefined";
2283 } 2291 }
2284 static [_newJavaScriptObject]() { 2292 static [_newJavaScriptObject]() {
2285 return Object.create(null); 2293 return Object.create(null);
2286 } 2294 }
2287 } 2295 }
2296 _JsonMap[dart.implements] = [collection.LinkedHashMap];
2288 let _parent = Symbol('_parent'); 2297 let _parent = Symbol('_parent');
2289 class _JsonMapKeyIterable extends _internal.ListIterable { 2298 class _JsonMapKeyIterable extends _internal.ListIterable {
2290 _JsonMapKeyIterable(parent) { 2299 _JsonMapKeyIterable(parent) {
2291 this[_parent] = parent; 2300 this[_parent] = parent;
2292 super.ListIterable(); 2301 super.ListIterable();
2293 } 2302 }
2294 get length() { 2303 get length() {
2295 return this[_parent].length; 2304 return this[_parent].length;
2296 } 2305 }
2297 elementAt(index) { 2306 elementAt(index) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
2353 exports.LineSplitter = LineSplitter; 2362 exports.LineSplitter = LineSplitter;
2354 exports.StringConversionSink = StringConversionSink; 2363 exports.StringConversionSink = StringConversionSink;
2355 exports.ClosableStringSink = ClosableStringSink; 2364 exports.ClosableStringSink = ClosableStringSink;
2356 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E; 2365 exports.UNICODE_REPLACEMENT_CHARACTER_RUNE = UNICODE_REPLACEMENT_CHARACTER_RUN E;
2357 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE; 2366 exports.UNICODE_BOM_CHARACTER_RUNE = UNICODE_BOM_CHARACTER_RUNE;
2358 exports.UTF8 = UTF8; 2367 exports.UTF8 = UTF8;
2359 exports.Utf8Codec = Utf8Codec; 2368 exports.Utf8Codec = Utf8Codec;
2360 exports.Utf8Encoder = Utf8Encoder; 2369 exports.Utf8Encoder = Utf8Encoder;
2361 exports.Utf8Decoder = Utf8Decoder; 2370 exports.Utf8Decoder = Utf8Decoder;
2362 })(convert || (convert = {})); 2371 })(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