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

Side by Side Diff: samples/ui_lib/util/CollectionUtils.dart

Issue 11230011: Make hasNext a getter instead of a method. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Remove unused variable. Created 8 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/parser.cc ('k') | tests/co19/co19-compiler.status » ('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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 typedef num NumericValueSelector<T>(T value); 5 typedef num NumericValueSelector<T>(T value);
6 6
7 /** 7 /**
8 * General purpose collection utilities. 8 * General purpose collection utilities.
9 * TODO(jmesserly): make these top level functions? 9 * TODO(jmesserly): make these top level functions?
10 */ 10 */
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 for (final item in source) { 64 for (final item in source) {
65 if (test(item)) return item; 65 if (test(item)) return item;
66 } 66 }
67 67
68 return null; 68 return null;
69 } 69 }
70 70
71 /** Compute the minimum of an iterable. Returns null if empty. */ 71 /** Compute the minimum of an iterable. Returns null if empty. */
72 static num min(Iterable source) { 72 static num min(Iterable source) {
73 final iter = source.iterator(); 73 final iter = source.iterator();
74 if (!iter.hasNext()) { 74 if (!iter.hasNext) {
75 return null; 75 return null;
76 } 76 }
77 num best = iter.next(); 77 num best = iter.next();
78 while (iter.hasNext()) { 78 while (iter.hasNext) {
79 best = Math.min(best, iter.next()); 79 best = Math.min(best, iter.next());
80 } 80 }
81 return best; 81 return best;
82 } 82 }
83 83
84 /** Compute the maximum of an iterable. Returns null if empty. */ 84 /** Compute the maximum of an iterable. Returns null if empty. */
85 static num max(Iterable source) { 85 static num max(Iterable source) {
86 final iter = source.iterator(); 86 final iter = source.iterator();
87 if (!iter.hasNext()) { 87 if (!iter.hasNext) {
88 return null; 88 return null;
89 } 89 }
90 num best = iter.next(); 90 num best = iter.next();
91 while (iter.hasNext()) { 91 while (iter.hasNext) {
92 best = Math.max(best, iter.next()); 92 best = Math.max(best, iter.next());
93 } 93 }
94 return best; 94 return best;
95 } 95 }
96 96
97 /** Orders an iterable by its values, or by a key selector. */ 97 /** Orders an iterable by its values, or by a key selector. */
98 static List orderBy(Iterable source, [NumericValueSelector selector = null]) { 98 static List orderBy(Iterable source, [NumericValueSelector selector = null]) {
99 final result = new List.from(source); 99 final result = new List.from(source);
100 sortBy(result, selector); 100 sortBy(result, selector);
101 return result; 101 return result;
(...skipping 11 matching lines...) Expand all
113 } 113 }
114 } 114 }
115 115
116 /** Compute the sum of an iterable. An empty iterable is an error. */ 116 /** Compute the sum of an iterable. An empty iterable is an error. */
117 static num sum(Iterable source, [NumericValueSelector selector = null]) { 117 static num sum(Iterable source, [NumericValueSelector selector = null]) {
118 final iter = source.iterator(); 118 final iter = source.iterator();
119 num total = 0; 119 num total = 0;
120 if (selector != null) { 120 if (selector != null) {
121 do { 121 do {
122 total += selector(iter.next()); 122 total += selector(iter.next());
123 } while (iter.hasNext()); 123 } while (iter.hasNext);
124 } else { 124 } else {
125 do { 125 do {
126 total += iter.next(); 126 total += iter.next();
127 } while (iter.hasNext()); 127 } while (iter.hasNext);
128 } 128 }
129 return total; 129 return total;
130 } 130 }
131 131
132 // TODO(jmesserly): something like should exist on Map, either a method or a 132 // TODO(jmesserly): something like should exist on Map, either a method or a
133 // constructor, see bug #5340679 133 // constructor, see bug #5340679
134 static void copyMap(Map dest, Map source) { 134 static void copyMap(Map dest, Map source) {
135 for (final k in source.getKeys()) { 135 for (final k in source.getKeys()) {
136 dest[k] = source[k]; 136 dest[k] = source[k];
137 } 137 }
138 } 138 }
139 } 139 }
OLDNEW
« no previous file with comments | « runtime/vm/parser.cc ('k') | tests/co19/co19-compiler.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698