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

Side by Side Diff: tool/input_sdk/lib/core/list.dart

Issue 1950133008: Update number parsing. (Closed) Base URL: https://github.com/dart-lang/dev_compiler@master
Patch Set: Created 4 years, 7 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 | « test/codegen/corelib/int_parse_radix_test.dart ('k') | tool/input_sdk/lib/core/num.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) 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 part of dart.core; 5 part of dart.core;
6 6
7 /** 7 /**
8 * An indexable collection of objects with a length. 8 * An indexable collection of objects with a length.
9 * 9 *
10 * Subclasses of this class implement different kinds of lists. 10 * Subclasses of this class implement different kinds of lists.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 * temporarily and is restored before continuing the iteration, the iterator 44 * temporarily and is restored before continuing the iteration, the iterator
45 * does not detect it. 45 * does not detect it.
46 * 46 *
47 * It is generally not allowed to modify the list's length (adding or removing 47 * It is generally not allowed to modify the list's length (adding or removing
48 * elements) while an operation on the list is being performed, 48 * elements) while an operation on the list is being performed,
49 * for example during a call to [forEach] or [sort]. 49 * for example during a call to [forEach] or [sort].
50 * Changing the list's length while it is being iterated, either by iterating it 50 * Changing the list's length while it is being iterated, either by iterating it
51 * directly or through iterating an [Iterable] that is backed by the list, will 51 * directly or through iterating an [Iterable] that is backed by the list, will
52 * break the iteration. 52 * break the iteration.
53 */ 53 */
54 abstract class List<E> implements Iterable<E> { 54 abstract class List<E> implements Iterable<E>, EfficientLength {
55 /** 55 /**
56 * Creates a list of the given length. 56 * Creates a list of the given length.
57 * 57 *
58 * The created list is fixed-length if [length] is provided. 58 * The created list is fixed-length if [length] is provided.
59 * 59 *
60 * List fixedLengthList = new List(3); 60 * List fixedLengthList = new List(3);
61 * fixedLengthList.length; // 3 61 * fixedLengthList.length; // 3
62 * fixedLengthList.length = 1; // Error 62 * fixedLengthList.length = 1; // Error
63 * 63 *
64 * The list has length 0 and is growable if [length] is omitted. 64 * The list has length 0 and is growable if [length] is omitted.
(...skipping 10 matching lines...) Expand all
75 * The [length] must not be negative or null, if it is provided. 75 * The [length] must not be negative or null, if it is provided.
76 */ 76 */
77 external factory List([int length]); 77 external factory List([int length]);
78 78
79 /** 79 /**
80 * Creates a fixed-length list of the given length, and initializes the 80 * Creates a fixed-length list of the given length, and initializes the
81 * value at each position with [fill]: 81 * value at each position with [fill]:
82 * 82 *
83 * new List<int>.filled(3, 0); // [0, 0, 0] 83 * new List<int>.filled(3, 0); // [0, 0, 0]
84 * 84 *
85 * The [length] must not be negative or null. 85 * The [length] must be a non-negative integer.
86 *
87 * If the list is growable, changing its length will not initialize new
88 * entries with [fill]. After being created and filled, the list is
89 * no different from any other growable or fixed-length list
90 * created using [List].
86 */ 91 */
87 external factory List.filled(int length, E fill); 92 external factory List.filled(int length, E fill, {bool growable: false});
88 93
89 /** 94 /**
90 * Creates a list containing all [elements]. 95 * Creates a list containing all [elements].
91 * 96 *
92 * The [Iterator] of [elements] provides the order of the elements. 97 * The [Iterator] of [elements] provides the order of the elements.
93 * 98 *
94 * This constructor returns a growable list when [growable] is true; 99 * This constructor returns a growable list when [growable] is true;
95 * otherwise, it returns a fixed-length list. 100 * otherwise, it returns a fixed-length list.
96 */ 101 */
97 external factory List.from(Iterable elements, { bool growable: true }); 102 external factory List.from(Iterable elements, { bool growable: true });
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
179 184
180 /** 185 /**
181 * Returns an [Iterable] of the objects in this list in reverse order. 186 * Returns an [Iterable] of the objects in this list in reverse order.
182 */ 187 */
183 Iterable<E> get reversed; 188 Iterable<E> get reversed;
184 189
185 /** 190 /**
186 * Sorts this list according to the order specified by the [compare] function. 191 * Sorts this list according to the order specified by the [compare] function.
187 * 192 *
188 * The [compare] function must act as a [Comparator]. 193 * The [compare] function must act as a [Comparator].
189 * List<String> numbers = ['one', 'two', 'three', 'four']; 194 *
195 * List<String> numbers = ['two', 'three', 'four'];
190 * // Sort from shortest to longest. 196 * // Sort from shortest to longest.
191 * numbers.sort((x, y) => x.length.compareTo(y.length)); 197 * numbers.sort((a, b) => a.length.compareTo(b.length));
192 * numbers.join(', '); // 'one, two, four, three' 198 * print(numbers); // [two, four, three]
193 * 199 *
194 * The default List implementations use [Comparable.compare] if 200 * The default List implementations use [Comparable.compare] if
195 * [compare] is omitted. 201 * [compare] is omitted.
196 * 202 *
197 * List<int> nums = [13, 2, -11]; 203 * List<int> nums = [13, 2, -11];
198 * nums.sort(); 204 * nums.sort();
199 nums.join(', '); // '-11, 2, 13' 205 * print(nums); // [-11, 2, 13]
206 *
207 * A [Comparator] may compare objects as equal (return zero), even if they
208 * are distinct objects.
209 * The sort function is not guaranteed to be stable, so distinct objects
210 * that compare as equal may occur in any order in the result:
211 *
212 * List<String> numbers = ['one', 'two', 'three', 'four'];
213 * numbers.sort((a, b) => a.length.compareTo(b.length));
214 * print(numbers); // [one, two, four, three] OR [two, one, four, three]
200 */ 215 */
201 void sort([int compare(E a, E b)]); 216 void sort([int compare(E a, E b)]);
202 217
203 /** 218 /**
204 * Shuffles the elements of this list randomly. 219 * Shuffles the elements of this list randomly.
205 */ 220 */
206 void shuffle([Random random]); 221 void shuffle([Random random]);
207 222
208 /** 223 /**
209 * Returns the first index of [element] in this list. 224 * Returns the first index of [element] in this list.
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after
465 * as values. The `Map.keys` [Iterable] iterates the indices of this list 480 * as values. The `Map.keys` [Iterable] iterates the indices of this list
466 * in numerical order. 481 * in numerical order.
467 * 482 *
468 * List<String> words = ['fee', 'fi', 'fo', 'fum']; 483 * List<String> words = ['fee', 'fi', 'fo', 'fum'];
469 * Map<int, String> map = words.asMap(); 484 * Map<int, String> map = words.asMap();
470 * map[0] + map[1]; // 'feefi'; 485 * map[0] + map[1]; // 'feefi';
471 * map.keys.toList(); // [0, 1, 2, 3] 486 * map.keys.toList(); // [0, 1, 2, 3]
472 */ 487 */
473 Map<int, E> asMap(); 488 Map<int, E> asMap();
474 } 489 }
OLDNEW
« no previous file with comments | « test/codegen/corelib/int_parse_radix_test.dart ('k') | tool/input_sdk/lib/core/num.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698