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

Side by Side Diff: pkg/serialization/lib/serialization.dart

Issue 11567018: Get rid of the polyfill identity set implementation in favour of a (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: A bit more polyfill that can be removed with this change. Created 8 years 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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 /** 5 /**
6 * This provides a general-purpose serialization facility for Dart objects. A 6 * This provides a general-purpose serialization facility for Dart objects. A
7 * [Serialization] is defined in terms of [SerializationRule]s and supports 7 * [Serialization] is defined in terms of [SerializationRule]s and supports
8 * reading and writing to different formats. 8 * reading and writing to different formats.
9 * 9 *
10 * Setup 10 * Setup
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 * or as an additional parameter to the reading methods. 141 * or as an additional parameter to the reading methods.
142 * 142 *
143 * new Serialization() 143 * new Serialization()
144 * ..addRuleFor(new Person(), constructorFields: ["name"]) 144 * ..addRuleFor(new Person(), constructorFields: ["name"])
145 * ..externalObjects['Person'] = reflect(new Person()).type; 145 * ..externalObjects['Person'] = reflect(new Person()).type;
146 */ 146 */
147 library serialization; 147 library serialization;
148 148
149 import 'src/mirrors_helpers.dart'; 149 import 'src/mirrors_helpers.dart';
150 import 'src/serialization_helpers.dart'; 150 import 'src/serialization_helpers.dart';
151 import 'src/polyfill_identity_set.dart';
152 import 'dart:json' show JSON; 151 import 'dart:json' show JSON;
153 152
154 part 'src/reader_writer.dart'; 153 part 'src/reader_writer.dart';
155 part 'src/serialization_rule.dart'; 154 part 'src/serialization_rule.dart';
156 part 'src/basic_rule.dart'; 155 part 'src/basic_rule.dart';
157 156
158 /** 157 /**
159 * This class defines a particular serialization scheme, in terms of 158 * This class defines a particular serialization scheme, in terms of
160 * [SerializationRule] instances, and supports reading and writing them. 159 * [SerializationRule] instances, and supports reading and writing them.
161 * See library comment for examples of usage. 160 * See library comment for examples of usage.
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
376 // and get their types. If only we had class literals implemented... 375 // and get their types. If only we had class literals implemented...
377 var closureRule = new ClosureToMapRule.stub([].runtimeType); 376 var closureRule = new ClosureToMapRule.stub([].runtimeType);
378 var basicRule = new BasicRule(reflect(null).type, '', [], [], []); 377 var basicRule = new BasicRule(reflect(null).type, '', [], [], []);
379 378
380 var meta = new Serialization() 379 var meta = new Serialization()
381 ..selfDescribing = false 380 ..selfDescribing = false
382 ..addRuleFor(new ListRule()) 381 ..addRuleFor(new ListRule())
383 ..addRuleFor(new PrimitiveRule()) 382 ..addRuleFor(new PrimitiveRule())
384 ..addRuleFor(new ListRuleEssential()) 383 ..addRuleFor(new ListRuleEssential())
385 ..addRuleFor(basicRule, 384 ..addRuleFor(basicRule,
386 constructorFields: ['typeWrapped', 385 constructorFields: ['type',
387 'constructorName', 386 'constructorName',
388 'constructorFields', 'regularFields', []], 387 'constructorFields', 'regularFields', []],
389 fields: []) 388 fields: [])
390 ..addRule(new ClassMirrorRule()); 389 ..addRule(new ClassMirrorRule());
391 meta.externalObjects = externalObjects; 390 meta.externalObjects = externalObjects;
392 return meta; 391 return meta;
393 } 392 }
394 } 393 }
395 394
396 /** 395 /**
397 * An exception class for errors during serialization. 396 * An exception class for errors during serialization.
398 */ 397 */
399 class SerializationException implements Exception { 398 class SerializationException implements Exception {
400 final String message; 399 final String message;
401 const SerializationException([this.message]); 400 const SerializationException([this.message]);
402 } 401 }
OLDNEW
« no previous file with comments | « no previous file | pkg/serialization/lib/src/basic_rule.dart » ('j') | pkg/serialization/lib/src/serialization_helpers.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698