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

Side by Side Diff: test/dart_codegen/expect/convert/json.dart

Issue 997143003: Fix for conditional expressions (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Add test case Created 5 years, 9 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 part of dart.convert; 1 part of dart.convert;
2 class JsonUnsupportedObjectError extends Error {final unsupportedObject; 2 class JsonUnsupportedObjectError extends Error {final unsupportedObject;
3 final cause; 3 final cause;
4 JsonUnsupportedObjectError(this.unsupportedObject, { 4 JsonUnsupportedObjectError(this.unsupportedObject, {
5 this.cause} 5 this.cause}
6 ); 6 );
7 String toString() { 7 String toString() {
8 if (cause != null) { 8 if (cause != null) {
9 return "Converting object to an encodable object failed."; 9 return "Converting object to an encodable object failed.";
10 } 10 }
(...skipping 19 matching lines...) Expand all
30 ) { 30 ) {
31 if (reviver == null) reviver = _reviver; 31 if (reviver == null) reviver = _reviver;
32 if (reviver == null) return decoder.convert(source); 32 if (reviver == null) return decoder.convert(source);
33 return new JsonDecoder(reviver).convert(source); 33 return new JsonDecoder(reviver).convert(source);
34 } 34 }
35 String encode(Object value, { 35 String encode(Object value, {
36 toEncodable(var object)} 36 toEncodable(var object)}
37 ) { 37 ) {
38 if (toEncodable == null) toEncodable = _toEncodable; 38 if (toEncodable == null) toEncodable = _toEncodable;
39 if (toEncodable == null) return encoder.convert(value); 39 if (toEncodable == null) return encoder.convert(value);
40 return new JsonEncoder(DEVC$RT.wrap((dynamic f(dynamic __u7)) { 40 return new JsonEncoder(DEVC$RT.wrap((dynamic f(dynamic __u6)) {
41 dynamic c(dynamic x0) => f(x0); 41 dynamic c(dynamic x0) => f(x0);
42 return f == null ? null : c; 42 return f == null ? null : c;
43 } 43 }
44 , toEncodable, __t10, __t8, "Wrap", """line 142, column 28 of dart:convert/json. dart: """, toEncodable is __t8)).convert(value); 44 , toEncodable, __t9, __t7, "Wrap", """line 142, column 28 of dart:convert/json.d art: """, toEncodable is __t7)).convert(value);
45 } 45 }
46 JsonEncoder get encoder { 46 JsonEncoder get encoder {
47 if (_toEncodable == null) return const JsonEncoder(); 47 if (_toEncodable == null) return const JsonEncoder();
48 return new JsonEncoder(DEVC$RT.wrap((dynamic f(dynamic __u12)) { 48 return new JsonEncoder(DEVC$RT.wrap((dynamic f(dynamic __u11)) {
49 dynamic c(dynamic x0) => f(x0); 49 dynamic c(dynamic x0) => f(x0);
50 return f == null ? null : c; 50 return f == null ? null : c;
51 } 51 }
52 , _toEncodable, __t10, __t8, "Wrap", """line 147, column 28 of dart:convert/json .dart: """, _toEncodable is __t8)); 52 , _toEncodable, __t9, __t7, "Wrap", """line 147, column 28 of dart:convert/json. dart: """, _toEncodable is __t7));
53 } 53 }
54 JsonDecoder get decoder { 54 JsonDecoder get decoder {
55 if (_reviver == null) return const JsonDecoder(); 55 if (_reviver == null) return const JsonDecoder();
56 return new JsonDecoder(_reviver); 56 return new JsonDecoder(_reviver);
57 } 57 }
58 } 58 }
59 class JsonEncoder extends Converter<Object, String> {final String indent; 59 class JsonEncoder extends Converter<Object, String> {final String indent;
60 final Function _toEncodable; 60 final Function _toEncodable;
61 const JsonEncoder([Object toEncodable(Object nonSerializable)]) : this.indent = null, this._toEncodable = toEncodable; 61 const JsonEncoder([Object toEncodable(Object nonSerializable)]) : this.indent = null, this._toEncodable = toEncodable;
62 const JsonEncoder.withIndent(this.indent, [Object toEncodable(Object nonSeriali zable)]) : this._toEncodable = toEncodable; 62 const JsonEncoder.withIndent(this.indent, [Object toEncodable(Object nonSeriali zable)]) : this._toEncodable = toEncodable;
63 String convert(Object object) => _JsonStringStringifier.stringify(object, DEVC$ RT.cast(_toEncodable, Function, __t10, "CastGeneral", """line 243, column 48 of dart:convert/json.dart: """, _toEncodable is __t10, false), indent); 63 String convert(Object object) => _JsonStringStringifier.stringify(object, DEVC$ RT.cast(_toEncodable, Function, __t9, "CastGeneral", """line 243, column 48 of d art:convert/json.dart: """, _toEncodable is __t9, false), indent);
64 ChunkedConversionSink<Object> startChunkedConversion(Sink<String> sink) { 64 ChunkedConversionSink<Object> startChunkedConversion(Sink<String> sink) {
65 if (sink is! StringConversionSink) { 65 if (sink is! StringConversionSink) {
66 sink = new StringConversionSink.from(sink); 66 sink = new StringConversionSink.from(sink);
67 } 67 }
68 else if (sink is _Utf8EncoderSink) { 68 else if (sink is _Utf8EncoderSink) {
69 return new _JsonUtf8EncoderSink(sink._sink, _toEncodable, JsonUtf8Encoder._utf8E ncode(indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE); 69 return new _JsonUtf8EncoderSink(sink._sink, _toEncodable, JsonUtf8Encoder._utf8E ncode(indent), JsonUtf8Encoder.DEFAULT_BUFFER_SIZE);
70 } 70 }
71 return new _JsonEncoderSink(DEVC$RT.cast(sink, DEVC$RT.type((Sink<String> _) { 71 return new _JsonEncoderSink(DEVC$RT.cast(sink, DEVC$RT.type((Sink<String> _) {
72 } 72 }
73 ), StringConversionSink, "CastGeneral", """line 262, column 33 of dart:convert/j son.dart: """, sink is StringConversionSink, true), _toEncodable, indent); 73 ), StringConversionSink, "CastGeneral", """line 262, column 33 of dart:convert/j son.dart: """, sink is StringConversionSink, true), _toEncodable, indent);
74 } 74 }
75 Stream<String> bind(Stream<Object> stream) => ((__x13) => DEVC$RT.cast(__x13, D EVC$RT.type((DDC$async$.Stream<dynamic> _) { 75 Stream<String> bind(Stream<Object> stream) => ((__x12) => DEVC$RT.cast(__x12, D EVC$RT.type((DDC$async$.Stream<dynamic> _) {
76 } 76 }
77 ), DEVC$RT.type((DDC$async$.Stream<String> _) { 77 ), DEVC$RT.type((DDC$async$.Stream<String> _) {
78 } 78 }
79 ), "CastDynamic", """line 266, column 49 of dart:convert/json.dart: """, __x13 i s DDC$async$.Stream<String>, false))(super.bind(stream)); 79 ), "CastDynamic", """line 266, column 49 of dart:convert/json.dart: """, __x12 i s DDC$async$.Stream<String>, false))(super.bind(stream));
80 Converter<Object, dynamic> fuse(Converter<String, dynamic> other) { 80 Converter<Object, dynamic> fuse(Converter<String, dynamic> other) {
81 if (other is Utf8Encoder) { 81 if (other is Utf8Encoder) {
82 return new JsonUtf8Encoder(indent, DEVC$RT.cast(_toEncodable, Function, __t14, " CastGeneral", """line 270, column 42 of dart:convert/json.dart: """, _toEncodabl e is __t14, false)); 82 return new JsonUtf8Encoder(indent, DEVC$RT.cast(_toEncodable, Function, __t13, " CastGeneral", """line 270, column 42 of dart:convert/json.dart: """, _toEncodabl e is __t13, false));
83 } 83 }
84 return super.fuse(other); 84 return super.fuse(other);
85 } 85 }
86 } 86 }
87 class JsonUtf8Encoder extends Converter<Object, List<int>> {static const int DE FAULT_BUFFER_SIZE = 256; 87 class JsonUtf8Encoder extends Converter<Object, List<int>> {static const int DE FAULT_BUFFER_SIZE = 256;
88 final List<int> _indent; 88 final List<int> _indent;
89 final Function _toEncodable; 89 final Function _toEncodable;
90 final int _bufferSize; 90 final int _bufferSize;
91 JsonUtf8Encoder([String indent, toEncodable(Object object), int bufferSize = DE FAULT_BUFFER_SIZE]) : _indent = _utf8Encode(indent), _toEncodable = toEncodable, _bufferSize = bufferSize; 91 JsonUtf8Encoder([String indent, toEncodable(Object object), int bufferSize = DE FAULT_BUFFER_SIZE]) : _indent = _utf8Encode(indent), _toEncodable = toEncodable, _bufferSize = bufferSize;
92 static List<int> _utf8Encode(String string) { 92 static List<int> _utf8Encode(String string) {
93 if (string == null) return null; 93 if (string == null) return null;
94 if (string.isEmpty) return new Uint8List(0); 94 if (string.isEmpty) return new Uint8List(0);
95 checkAscii: { 95 checkAscii: {
96 for (int i = 0; i < string.length; i++) { 96 for (int i = 0; i < string.length; i++) {
97 if (string.codeUnitAt(i) >= 0x80) break checkAscii; 97 if (string.codeUnitAt(i) >= 0x80) break checkAscii;
98 } 98 }
99 return string.codeUnits; 99 return string.codeUnits;
100 } 100 }
101 return UTF8.encode(string); 101 return UTF8.encode(string);
102 } 102 }
103 List<int> convert(Object object) { 103 List<int> convert(Object object) {
104 List<List<int>> bytes = ((__x16) => DEVC$RT.cast(__x16, DEVC$RT.type((List<dynam ic> _) { 104 List<List<int>> bytes = ((__x15) => DEVC$RT.cast(__x15, DEVC$RT.type((List<dynam ic> _) {
105 } 105 }
106 ), DEVC$RT.type((List<List<int>> _) { 106 ), DEVC$RT.type((List<List<int>> _) {
107 } 107 }
108 ), "CastLiteral", """line 338, column 29 of dart:convert/json.dart: """, __x16 i s List<List<int>>, false))([]); 108 ), "CastLiteral", """line 338, column 29 of dart:convert/json.dart: """, __x15 i s List<List<int>>, false))([]);
109 void addChunk(Uint8List chunk, int start, int end) { 109 void addChunk(Uint8List chunk, int start, int end) {
110 if (start > 0 || end < chunk.length) { 110 if (start > 0 || end < chunk.length) {
111 int length = end - start; 111 int length = end - start;
112 chunk = new Uint8List.view(chunk.buffer, chunk.offsetInBytes + start, length); 112 chunk = new Uint8List.view(chunk.buffer, chunk.offsetInBytes + start, length);
113 } 113 }
114 bytes.add(chunk); 114 bytes.add(chunk);
115 } 115 }
116 _JsonUtf8Stringifier.stringify(object, _indent, DEVC$RT.cast(_toEncodable, Func tion, __t14, "CastGeneral", """line 352, column 36 of dart:convert/json.dart: "" ", _toEncodable is __t14, false), _bufferSize, addChunk); 116 _JsonUtf8Stringifier.stringify(object, _indent, DEVC$RT.cast(_toEncodable, Func tion, __t13, "CastGeneral", """line 352, column 36 of dart:convert/json.dart: "" ", _toEncodable is __t13, false), _bufferSize, addChunk);
117 if (bytes.length == 1) return bytes[0]; 117 if (bytes.length == 1) return bytes[0];
118 int length = 0; 118 int length = 0;
119 for (int i = 0; i < bytes.length; i++) { 119 for (int i = 0; i < bytes.length; i++) {
120 length += bytes[i].length; 120 length += bytes[i].length;
121 } 121 }
122 Uint8List result = new Uint8List(length); 122 Uint8List result = new Uint8List(length);
123 for (int i = 0, offset = 0; i < bytes.length; i++) { 123 for (int i = 0, offset = 0; i < bytes.length; i++) {
124 var byteList = bytes[i]; 124 var byteList = bytes[i];
125 int end = offset + byteList.length; 125 int end = offset + byteList.length;
126 result.setRange(offset, end, byteList); 126 result.setRange(offset, end, byteList);
127 offset = end; 127 offset = end;
128 } 128 }
129 return result; 129 return result;
130 } 130 }
131 ChunkedConversionSink<Object> startChunkedConversion(Sink<List<int>> sink) { 131 ChunkedConversionSink<Object> startChunkedConversion(Sink<List<int>> sink) {
132 ByteConversionSink byteSink; 132 ByteConversionSink byteSink;
133 if (sink is ByteConversionSink) { 133 if (sink is ByteConversionSink) {
134 byteSink = sink; 134 byteSink = sink;
135 } 135 }
136 else { 136 else {
137 byteSink = new ByteConversionSink.from(sink); 137 byteSink = new ByteConversionSink.from(sink);
138 } 138 }
139 return new _JsonUtf8EncoderSink(byteSink, _toEncodable, _indent, _bufferSize); 139 return new _JsonUtf8EncoderSink(byteSink, _toEncodable, _indent, _bufferSize);
140 } 140 }
141 Stream<List<int>> bind(Stream<Object> stream) { 141 Stream<List<int>> bind(Stream<Object> stream) {
142 return ((__x17) => DEVC$RT.cast(__x17, DEVC$RT.type((DDC$async$.Stream<dynamic> _) { 142 return ((__x16) => DEVC$RT.cast(__x16, DEVC$RT.type((DDC$async$.Stream<dynamic> _) {
143 } 143 }
144 ), DEVC$RT.type((DDC$async$.Stream<List<int>> _) { 144 ), DEVC$RT.type((DDC$async$.Stream<List<int>> _) {
145 } 145 }
146 ), "CastDynamic", """line 391, column 12 of dart:convert/json.dart: """, __x17 i s DDC$async$.Stream<List<int>>, false))(super.bind(stream)); 146 ), "CastDynamic", """line 391, column 12 of dart:convert/json.dart: """, __x16 i s DDC$async$.Stream<List<int>>, false))(super.bind(stream));
147 } 147 }
148 Converter<Object, dynamic> fuse(Converter<List<int>, dynamic> other) { 148 Converter<Object, dynamic> fuse(Converter<List<int>, dynamic> other) {
149 return super.fuse(other); 149 return super.fuse(other);
150 } 150 }
151 } 151 }
152 class _JsonEncoderSink extends ChunkedConversionSink<Object> {final String _ind ent; 152 class _JsonEncoderSink extends ChunkedConversionSink<Object> {final String _ind ent;
153 final Function _toEncodable; 153 final Function _toEncodable;
154 final StringConversionSink _sink; 154 final StringConversionSink _sink;
155 bool _isDone = false; 155 bool _isDone = false;
156 _JsonEncoderSink(this._sink, this._toEncodable, this._indent); 156 _JsonEncoderSink(this._sink, this._toEncodable, this._indent);
157 void add(Object o) { 157 void add(Object o) {
158 if (_isDone) { 158 if (_isDone) {
159 throw new StateError("Only one call to add allowed"); 159 throw new StateError("Only one call to add allowed");
160 } 160 }
161 _isDone = true; 161 _isDone = true;
162 ClosableStringSink stringSink = _sink.asStringSink(); 162 ClosableStringSink stringSink = _sink.asStringSink();
163 _JsonStringStringifier.printOn(o, stringSink, DEVC$RT.cast(_toEncodable, Functi on, __t10, "CastGeneral", """line 425, column 51 of dart:convert/json.dart: """, _toEncodable is __t10, false), _indent); 163 _JsonStringStringifier.printOn(o, stringSink, DEVC$RT.cast(_toEncodable, Functi on, __t9, "CastGeneral", """line 425, column 51 of dart:convert/json.dart: """, _toEncodable is __t9, false), _indent);
164 stringSink.close(); 164 stringSink.close();
165 } 165 }
166 void close() { 166 void close() {
167 } 167 }
168 } 168 }
169 class _JsonUtf8EncoderSink extends ChunkedConversionSink<Object> {final ByteCon versionSink _sink; 169 class _JsonUtf8EncoderSink extends ChunkedConversionSink<Object> {final ByteCon versionSink _sink;
170 final List<int> _indent; 170 final List<int> _indent;
171 final Function _toEncodable; 171 final Function _toEncodable;
172 final int _bufferSize; 172 final int _bufferSize;
173 bool _isDone = false; 173 bool _isDone = false;
174 _JsonUtf8EncoderSink(this._sink, this._toEncodable, this._indent, this._bufferS ize); 174 _JsonUtf8EncoderSink(this._sink, this._toEncodable, this._indent, this._bufferS ize);
175 void _addChunk(Uint8List chunk, int start, int end) { 175 void _addChunk(Uint8List chunk, int start, int end) {
176 _sink.addSlice(chunk, start, end, false); 176 _sink.addSlice(chunk, start, end, false);
177 } 177 }
178 void add(Object object) { 178 void add(Object object) {
179 if (_isDone) { 179 if (_isDone) {
180 throw new StateError("Only one call to add allowed"); 180 throw new StateError("Only one call to add allowed");
181 } 181 }
182 _isDone = true; 182 _isDone = true;
183 _JsonUtf8Stringifier.stringify(object, _indent, DEVC$RT.cast(_toEncodable, Func tion, __t14, "CastGeneral", """line 455, column 53 of dart:convert/json.dart: "" ", _toEncodable is __t14, false), _bufferSize, _addChunk); 183 _JsonUtf8Stringifier.stringify(object, _indent, DEVC$RT.cast(_toEncodable, Func tion, __t13, "CastGeneral", """line 455, column 53 of dart:convert/json.dart: "" ", _toEncodable is __t13, false), _bufferSize, _addChunk);
184 _sink.close(); 184 _sink.close();
185 } 185 }
186 void close() { 186 void close() {
187 if (!_isDone) { 187 if (!_isDone) {
188 _isDone = true; 188 _isDone = true;
189 _sink.close(); 189 _sink.close();
190 } 190 }
191 } 191 }
192 } 192 }
193 class JsonDecoder extends Converter<String, Object> {final _Reviver _reviver; 193 class JsonDecoder extends Converter<String, Object> {final _Reviver _reviver;
194 const JsonDecoder([reviver(var key, var value)]) : this._reviver = reviver; 194 const JsonDecoder([reviver(var key, var value)]) : this._reviver = reviver;
195 dynamic convert(String input) => _parseJson(input, _reviver); 195 dynamic convert(String input) => _parseJson(input, _reviver);
196 external StringConversionSink startChunkedConversion(Sink<Object> sink); 196 external StringConversionSink startChunkedConversion(Sink<Object> sink);
197 Stream<Object> bind(Stream<String> stream) => ((__x18) => DEVC$RT.cast(__x18, D EVC$RT.type((DDC$async$.Stream<dynamic> _) { 197 Stream<Object> bind(Stream<String> stream) => ((__x17) => DEVC$RT.cast(__x17, D EVC$RT.type((DDC$async$.Stream<dynamic> _) {
198 } 198 }
199 ), DEVC$RT.type((DDC$async$.Stream<Object> _) { 199 ), DEVC$RT.type((DDC$async$.Stream<Object> _) {
200 } 200 }
201 ), "CastDynamic", """line 507, column 49 of dart:convert/json.dart: """, __x18 i s DDC$async$.Stream<Object>, false))(super.bind(stream)); 201 ), "CastDynamic", """line 507, column 49 of dart:convert/json.dart: """, __x17 i s DDC$async$.Stream<Object>, false))(super.bind(stream));
202 } 202 }
203 external _parseJson(String source, reviver(key, value)) ; 203 external _parseJson(String source, reviver(key, value)) ;
204 Object _defaultToEncodable(object) => object.toJson(); 204 Object _defaultToEncodable(object) => object.toJson();
205 abstract class _JsonStringifier {static const int BACKSPACE = 0x08; 205 abstract class _JsonStringifier {static const int BACKSPACE = 0x08;
206 static const int TAB = 0x09; 206 static const int TAB = 0x09;
207 static const int NEWLINE = 0x0a; 207 static const int NEWLINE = 0x0a;
208 static const int CARRIAGE_RETURN = 0x0d; 208 static const int CARRIAGE_RETURN = 0x0d;
209 static const int FORM_FEED = 0x0c; 209 static const int FORM_FEED = 0x0c;
210 static const int QUOTE = 0x22; 210 static const int QUOTE = 0x22;
211 static const int CHAR_0 = 0x30; 211 static const int CHAR_0 = 0x30;
212 static const int BACKSLASH = 0x5c; 212 static const int BACKSLASH = 0x5c;
213 static const int CHAR_b = 0x62; 213 static const int CHAR_b = 0x62;
214 static const int CHAR_f = 0x66; 214 static const int CHAR_f = 0x66;
215 static const int CHAR_n = 0x6e; 215 static const int CHAR_n = 0x6e;
216 static const int CHAR_r = 0x72; 216 static const int CHAR_r = 0x72;
217 static const int CHAR_t = 0x74; 217 static const int CHAR_t = 0x74;
218 static const int CHAR_u = 0x75; 218 static const int CHAR_u = 0x75;
219 final List _seen = new List(); 219 final List _seen = new List();
220 final Function _toEncodable; 220 final Function _toEncodable;
221 _JsonStringifier(Object _toEncodable(Object o)) : _toEncodable = ((__x19) => DE VC$RT.cast(__x19, dynamic, Function, "CastGeneral", """line 547, column 24 of da rt:convert/json.dart: """, __x19 is Function, true))((_toEncodable != null) ? _t oEncodable : _defaultToEncodable); 221 _JsonStringifier(Object _toEncodable(Object o)) : _toEncodable = ((__x18) => DE VC$RT.cast(__x18, dynamic, Function, "CastGeneral", """line 547, column 24 of da rt:convert/json.dart: """, __x18 is Function, true))((_toEncodable != null) ? _t oEncodable : _defaultToEncodable);
222 void writeString(String characters); 222 void writeString(String characters);
223 void writeStringSlice(String characters, int start, int end); 223 void writeStringSlice(String characters, int start, int end);
224 void writeCharCode(int charCode); 224 void writeCharCode(int charCode);
225 void writeNumber(num number); 225 void writeNumber(num number);
226 static int hexDigit(int x) => x < 10 ? 48 + x : 87 + x; 226 static int hexDigit(int x) => x < 10 ? 48 + x : 87 + x;
227 void writeStringContent(String s) { 227 void writeStringContent(String s) {
228 int offset = 0; 228 int offset = 0;
229 final int length = s.length; 229 final int length = s.length;
230 for (int i = 0; i < length; i++) { 230 for (int i = 0; i < length; i++) {
231 int charCode = s.codeUnitAt(i); 231 int charCode = s.codeUnitAt(i);
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
382 } 382 }
383 } 383 }
384 void writeMap(Map map) { 384 void writeMap(Map map) {
385 if (map.isEmpty) { 385 if (map.isEmpty) {
386 writeString('{}'); 386 writeString('{}');
387 } 387 }
388 else { 388 else {
389 writeString('{\n'); 389 writeString('{\n');
390 _indentLevel++; 390 _indentLevel++;
391 bool first = true; 391 bool first = true;
392 map.forEach(((__x28) => DEVC$RT.wrap((dynamic f(String __u20, Object __u21)) { 392 map.forEach(((__x27) => DEVC$RT.wrap((dynamic f(String __u19, Object __u20)) {
393 dynamic c(String x0, Object x1) => f(DEVC$RT.cast(x0, dynamic, String, "CastPara m", """line 773, column 19 of dart:convert/json.dart: """, x0 is String, true), x1); 393 dynamic c(String x0, Object x1) => f(DEVC$RT.cast(x0, dynamic, String, "CastPara m", """line 773, column 19 of dart:convert/json.dart: """, x0 is String, true), x1);
394 return f == null ? null : c; 394 return f == null ? null : c;
395 } 395 }
396 , __x28, __t25, __t22, "WrapLiteral", """line 773, column 19 of dart:convert/jso n.dart: """, __x28 is __t22))((String key, Object value) { 396 , __x27, __t24, __t21, "WrapLiteral", """line 773, column 19 of dart:convert/jso n.dart: """, __x27 is __t21))((String key, Object value) {
397 if (!first) { 397 if (!first) {
398 writeString(",\n"); 398 writeString(",\n");
399 } 399 }
400 writeIndentation(_indentLevel); 400 writeIndentation(_indentLevel);
401 writeString('"'); 401 writeString('"');
402 writeStringContent(key); 402 writeStringContent(key);
403 writeString('": '); 403 writeString('": ');
404 writeObject(value); 404 writeObject(value);
405 first = false; 405 first = false;
406 } 406 }
407 )); 407 ));
408 writeString('\n'); 408 writeString('\n');
409 _indentLevel--; 409 _indentLevel--;
410 writeIndentation(_indentLevel); 410 writeIndentation(_indentLevel);
411 writeString('}'); 411 writeString('}');
412 } 412 }
413 } 413 }
414 } 414 }
415 class _JsonStringStringifier extends _JsonStringifier {final StringSink _sink; 415 class _JsonStringStringifier extends _JsonStringifier {final StringSink _sink;
416 _JsonStringStringifier(this._sink, _toEncodable) : super(DEVC$RT.cast(_toEncoda ble, dynamic, __t8, "CastGeneral", """line 798, column 60 of dart:convert/json.d art: """, _toEncodable is __t8, false)); 416 _JsonStringStringifier(this._sink, _toEncodable) : super(DEVC$RT.cast(_toEncoda ble, dynamic, __t7, "CastGeneral", """line 798, column 60 of dart:convert/json.d art: """, _toEncodable is __t7, false));
417 static String stringify(object, toEncodable(object), String indent) { 417 static String stringify(object, toEncodable(object), String indent) {
418 StringBuffer output = new StringBuffer(); 418 StringBuffer output = new StringBuffer();
419 printOn(object, output, toEncodable, indent); 419 printOn(object, output, toEncodable, indent);
420 return output.toString(); 420 return output.toString();
421 } 421 }
422 static void printOn(object, StringSink output, toEncodable(object), String inde nt) { 422 static void printOn(object, StringSink output, toEncodable(object), String inde nt) {
423 var stringifier; 423 var stringifier;
424 if (indent == null) { 424 if (indent == null) {
425 stringifier = new _JsonStringStringifier(output, toEncodable); 425 stringifier = new _JsonStringStringifier(output, toEncodable);
426 } 426 }
(...skipping 18 matching lines...) Expand all
445 class _JsonStringStringifierPretty extends _JsonStringStringifier with _JsonPre ttyPrintMixin {final String _indent; 445 class _JsonStringStringifierPretty extends _JsonStringStringifier with _JsonPre ttyPrintMixin {final String _indent;
446 _JsonStringStringifierPretty(StringSink sink, Function toEncodable, this._inden t) : super(sink, toEncodable); 446 _JsonStringStringifierPretty(StringSink sink, Function toEncodable, this._inden t) : super(sink, toEncodable);
447 void writeIndentation(int count) { 447 void writeIndentation(int count) {
448 for (int i = 0; i < count; i++) writeString(_indent); 448 for (int i = 0; i < count; i++) writeString(_indent);
449 } 449 }
450 } 450 }
451 class _JsonUtf8Stringifier extends _JsonStringifier {final int bufferSize; 451 class _JsonUtf8Stringifier extends _JsonStringifier {final int bufferSize;
452 final Function addChunk; 452 final Function addChunk;
453 Uint8List buffer; 453 Uint8List buffer;
454 int index = 0; 454 int index = 0;
455 _JsonUtf8Stringifier(toEncodable, int bufferSize, this.addChunk) : super(DEVC$R T.cast(toEncodable, dynamic, __t8, "CastGeneral", """line 874, column 15 of dart :convert/json.dart: """, toEncodable is __t8, false)), this.bufferSize = bufferS ize, buffer = new Uint8List(bufferSize); 455 _JsonUtf8Stringifier(toEncodable, int bufferSize, this.addChunk) : super(DEVC$R T.cast(toEncodable, dynamic, __t7, "CastGeneral", """line 874, column 15 of dart :convert/json.dart: """, toEncodable is __t7, false)), this.bufferSize = bufferS ize, buffer = new Uint8List(bufferSize);
456 static void stringify(Object object, List<int> indent, toEncodableFunction(Obje ct o), int bufferSize, void addChunk(Uint8List chunk, int start, int end)) { 456 static void stringify(Object object, List<int> indent, toEncodableFunction(Obje ct o), int bufferSize, void addChunk(Uint8List chunk, int start, int end)) {
457 _JsonUtf8Stringifier stringifier; 457 _JsonUtf8Stringifier stringifier;
458 if (indent != null) { 458 if (indent != null) {
459 stringifier = new _JsonUtf8StringifierPretty(toEncodableFunction, indent, buffer Size, addChunk); 459 stringifier = new _JsonUtf8StringifierPretty(toEncodableFunction, indent, buffer Size, addChunk);
460 } 460 }
461 else { 461 else {
462 stringifier = new _JsonUtf8Stringifier(toEncodableFunction, bufferSize, addChunk ); 462 stringifier = new _JsonUtf8Stringifier(toEncodableFunction, bufferSize, addChunk );
463 } 463 }
464 stringifier.writeObject(object); 464 stringifier.writeObject(object);
465 stringifier.flush(); 465 stringifier.flush();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 index = end; 556 index = end;
557 } 557 }
558 else { 558 else {
559 for (int i = 0; i < indentLength; i++) { 559 for (int i = 0; i < indentLength; i++) {
560 writeByte(indent[i]); 560 writeByte(indent[i]);
561 } 561 }
562 } 562 }
563 } 563 }
564 } 564 }
565 } 565 }
566 typedef Object __t8(Object __u9); 566 typedef Object __t7(Object __u8);
567 typedef dynamic __t10(dynamic __u11); 567 typedef dynamic __t9(dynamic __u10);
568 typedef dynamic __t14(Object __u15); 568 typedef dynamic __t13(Object __u14);
569 typedef void __t22(dynamic __u23, dynamic __u24); 569 typedef void __t21(dynamic __u22, dynamic __u23);
570 typedef dynamic __t25(String __u26, Object __u27); 570 typedef dynamic __t24(String __u25, Object __u26);
OLDNEW
« no previous file with comments | « test/dart_codegen/expect/convert/html_escape.dart ('k') | test/dart_codegen/expect/convert/latin1.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698