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

Side by Side Diff: pkg/dev_compiler/tool/input_sdk/private/isolate_serialization.dart

Issue 2752163002: Format all dart dev compiler files (Closed)
Patch Set: Created 3 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 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 part of dart._isolate_helper; 5 part of dart._isolate_helper;
6 6
7 /// Serialize [message]. 7 /// Serialize [message].
8 _serializeMessage(message) { 8 _serializeMessage(message) {
9 return new _Serializer().serialize(message); 9 return new _Serializer().serialize(message);
10 } 10 }
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 109
110 serializeArrayInPlace(JSArray x) { 110 serializeArrayInPlace(JSArray x) {
111 for (int i = 0; i < x.length; i++) { 111 for (int i = 0; i < x.length; i++) {
112 x[i] = serialize(x[i]); 112 x[i] = serialize(x[i]);
113 } 113 }
114 return x; 114 return x;
115 } 115 }
116 116
117 serializeMap(InternalMap x) { 117 serializeMap(InternalMap x) {
118 Function serializeTearOff = serialize; 118 Function serializeTearOff = serialize;
119 return ['map', 119 return [
120 x.keys.map(serializeTearOff).toList(), 120 'map',
121 x.values.map(serializeTearOff).toList()]; 121 x.keys.map(serializeTearOff).toList(),
122 x.values.map(serializeTearOff).toList()
123 ];
122 } 124 }
123 125
124 serializeJSObject(JSObject x) { 126 serializeJSObject(JSObject x) {
125 // Don't serialize objects if their `constructor` property isn't `Object` 127 // Don't serialize objects if their `constructor` property isn't `Object`
126 // or undefined/null. 128 // or undefined/null.
127 // A different constructor is taken as a sign that the object has complex 129 // A different constructor is taken as a sign that the object has complex
128 // internal state, or that it is a function, and won't be serialized. 130 // internal state, or that it is a function, and won't be serialized.
129 if (JS('bool', '!!(#.constructor)', x) && 131 if (JS('bool', '!!(#.constructor)', x) &&
130 JS('bool', 'x.constructor !== Object')) { 132 JS('bool', 'x.constructor !== Object')) {
131 unsupported(x, "Only plain JS Objects are supported:"); 133 unsupported(x, "Only plain JS Objects are supported:");
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 186
185 _Deserializer({adjustSendPorts: true}) : _adjustSendPorts = adjustSendPorts; 187 _Deserializer({adjustSendPorts: true}) : _adjustSendPorts = adjustSendPorts;
186 188
187 /// Returns a message that can be transmitted through web-worker channels. 189 /// Returns a message that can be transmitted through web-worker channels.
188 deserialize(x) { 190 deserialize(x) {
189 if (isPrimitive(x)) return deserializePrimitive(x); 191 if (isPrimitive(x)) return deserializePrimitive(x);
190 192
191 if (x is! JSArray) throw new ArgumentError("Bad serialized message: $x"); 193 if (x is! JSArray) throw new ArgumentError("Bad serialized message: $x");
192 194
193 switch (x.first) { 195 switch (x.first) {
194 case "ref": return deserializeRef(x); 196 case "ref":
195 case "buffer": return deserializeByteBuffer(x); 197 return deserializeRef(x);
196 case "typed": return deserializeTypedData(x); 198 case "buffer":
197 case "fixed": return deserializeFixed(x); 199 return deserializeByteBuffer(x);
198 case "extendable": return deserializeExtendable(x); 200 case "typed":
199 case "mutable": return deserializeMutable(x); 201 return deserializeTypedData(x);
200 case "const": return deserializeConst(x); 202 case "fixed":
201 case "map": return deserializeMap(x); 203 return deserializeFixed(x);
202 case "sendport": return deserializeSendPort(x); 204 case "extendable":
203 case "raw sendport": return deserializeRawSendPort(x); 205 return deserializeExtendable(x);
204 case "js-object": return deserializeJSObject(x); 206 case "mutable":
205 case "function": return deserializeClosure(x); 207 return deserializeMutable(x);
206 case "dart": return deserializeDartObject(x); 208 case "const":
207 default: throw "couldn't deserialize: $x"; 209 return deserializeConst(x);
210 case "map":
211 return deserializeMap(x);
212 case "sendport":
213 return deserializeSendPort(x);
214 case "raw sendport":
215 return deserializeRawSendPort(x);
216 case "js-object":
217 return deserializeJSObject(x);
218 case "function":
219 return deserializeClosure(x);
220 case "dart":
221 return deserializeDartObject(x);
222 default:
223 throw "couldn't deserialize: $x";
208 } 224 }
209 } 225 }
210 226
211 bool isPrimitive(x) => x == null || x is String || x is num || x is bool; 227 bool isPrimitive(x) => x == null || x is String || x is num || x is bool;
212 deserializePrimitive(x) => x; 228 deserializePrimitive(x) => x;
213 229
214 // ['ref', id]. 230 // ['ref', id].
215 deserializeRef(x) { 231 deserializeRef(x) {
216 assert(x[0] == 'ref'); 232 assert(x[0] == 'ref');
217 int serializationId = x[1]; 233 int serializationId = x[1];
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 deserializeDartObject(x) { 364 deserializeDartObject(x) {
349 assert(x[0] == 'dart'); 365 assert(x[0] == 'dart');
350 String classId = x[1]; 366 String classId = x[1];
351 List fields = x[2]; 367 List fields = x[2];
352 var instanceFromClassId = JS_EMBEDDED_GLOBAL('', INSTANCE_FROM_CLASS_ID); 368 var instanceFromClassId = JS_EMBEDDED_GLOBAL('', INSTANCE_FROM_CLASS_ID);
353 var initializeObject = JS_EMBEDDED_GLOBAL('', INITIALIZE_EMPTY_INSTANCE); 369 var initializeObject = JS_EMBEDDED_GLOBAL('', INITIALIZE_EMPTY_INSTANCE);
354 370
355 var emptyInstance = JS('', '#(#)', instanceFromClassId, classId); 371 var emptyInstance = JS('', '#(#)', instanceFromClassId, classId);
356 deserializedObjects.add(emptyInstance); 372 deserializedObjects.add(emptyInstance);
357 deserializeArrayInPlace(fields); 373 deserializeArrayInPlace(fields);
358 return JS('', '#(#, #, #)', 374 return JS(
359 initializeObject, classId, emptyInstance, fields); 375 '', '#(#, #, #)', initializeObject, classId, emptyInstance, fields);
360 } 376 }
361 } 377 }
OLDNEW
« no previous file with comments | « pkg/dev_compiler/tool/input_sdk/private/isolate_helper.dart ('k') | pkg/dev_compiler/tool/input_sdk/private/js_array.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698