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

Side by Side Diff: packages/yaml/lib/src/equality.dart

Issue 2989763002: Update charted to 0.4.8 and roll (Closed)
Patch Set: Removed Cutch from list of reviewers Created 3 years, 4 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 | « packages/yaml/CHANGELOG.md ('k') | packages/yaml/lib/src/event.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 library yaml.equality;
6
7 import 'dart:collection'; 5 import 'dart:collection';
8 6
9 import 'package:collection/collection.dart'; 7 import 'package:collection/collection.dart';
10 8
11 import 'yaml_node.dart'; 9 import 'yaml_node.dart';
12 10
13 /// Returns a [Map] that compares its keys based on [deepEquals]. 11 /// Returns a [Map] that compares its keys based on [deepEquals].
14 Map deepEqualsMap() => new HashMap(equals: deepEquals, hashCode: deepHashCode); 12 Map/*<K, V>*/ deepEqualsMap/*<K, V>*/() =>
13 new HashMap(equals: deepEquals, hashCode: deepHashCode);
15 14
16 /// Returns whether two objects are structurally equivalent. 15 /// Returns whether two objects are structurally equivalent.
17 /// 16 ///
18 /// This considers `NaN` values to be equivalent, handles self-referential 17 /// This considers `NaN` values to be equivalent, handles self-referential
19 /// structures, and considers [YamlScalar]s to be equal to their values. 18 /// structures, and considers [YamlScalar]s to be equal to their values.
20 bool deepEquals(obj1, obj2) => new _DeepEquals().equals(obj1, obj2); 19 bool deepEquals(obj1, obj2) => new _DeepEquals().equals(obj1, obj2);
21 20
22 /// A class that provides access to the list of parent objects used for loop 21 /// A class that provides access to the list of parent objects used for loop
23 /// detection. 22 /// detection.
24 class _DeepEquals { 23 class _DeepEquals {
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 } else { 116 } else {
118 return value.hashCode; 117 return value.hashCode;
119 } 118 }
120 } finally { 119 } finally {
121 parents.removeLast(); 120 parents.removeLast();
122 } 121 }
123 } 122 }
124 123
125 return _deepHashCode(obj); 124 return _deepHashCode(obj);
126 } 125 }
OLDNEW
« no previous file with comments | « packages/yaml/CHANGELOG.md ('k') | packages/yaml/lib/src/event.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698