Index: pkg/analyzer/lib/src/generated/utilities_collection.dart |
diff --git a/pkg/analyzer/lib/src/generated/utilities_collection.dart b/pkg/analyzer/lib/src/generated/utilities_collection.dart |
index 04d61777217b8cc3d6a3b96b006cc6a1c1f61a76..47dd4f61d46e47033baa2fed7cefb8604f64fa94 100644 |
--- a/pkg/analyzer/lib/src/generated/utilities_collection.dart |
+++ b/pkg/analyzer/lib/src/generated/utilities_collection.dart |
@@ -7,8 +7,8 @@ |
library engine.utilities.collection; |
-import 'dart:collection'; |
import "dart:math" as math; |
+import 'dart:collection'; |
import 'java_core.dart'; |
import 'scanner.dart' show Token; |
@@ -68,7 +68,8 @@ class BooleanArray { |
* @return the updated value of the array |
* @throws IndexOutOfBoundsException if the index is not between zero (0) and 31, inclusive |
*/ |
- static int setEnum(int array, Enum index, bool value) => set(array, index.ordinal, value); |
+ static int setEnum(int array, Enum index, bool value) => |
+ set(array, index.ordinal, value); |
/** |
* Throw an exception if the index is not within the bounds allowed for an integer-encoded array |
@@ -100,6 +101,25 @@ class DirectedGraph<N> { |
HashMap<N, HashSet<N>> _edges = new HashMap<N, HashSet<N>>(); |
/** |
+ * Return `true` if this graph is empty. |
+ * |
+ * @return `true` if this graph is empty |
+ */ |
+ bool get isEmpty => _edges.isEmpty; |
+ |
+ /** |
+ * Return the number of nodes in this graph. |
+ * |
+ * @return the number of nodes in this graph |
+ */ |
+ int get nodeCount => _edges.length; |
+ |
+ /** |
+ * Return a set of all nodes in the graph. |
+ */ |
+ Set<N> get nodes => _edges.keys.toSet(); |
+ |
+ /** |
* Add an edge from the given head node to the given tail node. Both nodes will be a part of the |
* graph after this method is invoked, whether or not they were before. |
* |
@@ -170,18 +190,6 @@ class DirectedGraph<N> { |
} |
/** |
- * Return the number of nodes in this graph. |
- * |
- * @return the number of nodes in this graph |
- */ |
- int get nodeCount => _edges.length; |
- |
- /** |
- * Return a set of all nodes in the graph. |
- */ |
- Set<N> get nodes => _edges.keys.toSet(); |
- |
- /** |
* Return a set containing the tails of edges that have the given node as their head. The set will |
* be empty if there are no such edges or if the node is not part of the graph. Clients must not |
* modify the returned set. |
@@ -198,13 +206,6 @@ class DirectedGraph<N> { |
} |
/** |
- * Return `true` if this graph is empty. |
- * |
- * @return `true` if this graph is empty |
- */ |
- bool get isEmpty => _edges.isEmpty; |
- |
- /** |
* Remove all of the given nodes from this graph. As a consequence, any edges for which those |
* nodes were either a head or a tail will also be removed. |
* |
@@ -358,7 +359,8 @@ class DirectedGraph_SccFinder<N> { |
/** |
* A table mapping nodes to information about the nodes that is used by this algorithm. |
*/ |
- HashMap<N, DirectedGraph_NodeInfo<N>> _nodeMap = new HashMap<N, DirectedGraph_NodeInfo<N>>(); |
+ HashMap<N, DirectedGraph_NodeInfo<N>> _nodeMap = |
+ new HashMap<N, DirectedGraph_NodeInfo<N>>(); |
/** |
* A list of all strongly connected components found, in topological sort order (each node in a |
@@ -514,6 +516,14 @@ abstract class MapIterator<K, V> { |
V get value; |
/** |
+ * Set the value associated with the current element to the given value. |
+ * |
+ * @param newValue the new value to be associated with the current element |
+ * @throws NoSuchElementException if there is no current element |
+ */ |
+ void set value(V newValue); |
+ |
+ /** |
* Advance to the next entry in the map. Return `true` if there is a current element that |
* can be accessed after this method returns. It is safe to invoke this method even if the |
* previous invocation returned `false`. |
@@ -521,14 +531,6 @@ abstract class MapIterator<K, V> { |
* @return `true` if there is a current element that can be accessed |
*/ |
bool moveNext(); |
- |
- /** |
- * Set the value associated with the current element to the given value. |
- * |
- * @param newValue the new value to be associated with the current element |
- * @throws NoSuchElementException if there is no current element |
- */ |
- void set value(V newValue); |
} |
/** |
@@ -581,6 +583,14 @@ class MultipleMapIterator<K, V> implements MapIterator<K, V> { |
} |
@override |
+ void set value(V newValue) { |
+ if (_currentIterator == null) { |
+ throw new NoSuchElementException(); |
+ } |
+ _currentIterator.value = newValue; |
+ } |
+ |
+ @override |
bool moveNext() { |
if (_iteratorIndex < 0) { |
if (_iterators.length == 0) { |
@@ -604,14 +614,6 @@ class MultipleMapIterator<K, V> implements MapIterator<K, V> { |
} |
} |
- @override |
- void set value(V newValue) { |
- if (_currentIterator == null) { |
- throw new NoSuchElementException(); |
- } |
- _currentIterator.value = newValue; |
- } |
- |
/** |
* Under the assumption that there are no more entries that can be returned using the current |
* iterator, advance to the next iterator that has entries. |
@@ -633,47 +635,11 @@ class MultipleMapIterator<K, V> implements MapIterator<K, V> { |
} |
/** |
- * Instances of the class `TokenMap` map one set of tokens to another set of tokens. |
- */ |
-class TokenMap { |
- /** |
- * A table mapping tokens to tokens. This should be replaced by a more performant implementation. |
- * One possibility is a pair of parallel arrays, with keys being sorted by their offset and a |
- * cursor indicating where to start searching. |
- */ |
- HashMap<Token, Token> _map = new HashMap<Token, Token>(); |
- |
- /** |
- * Return the token that is mapped to the given token, or `null` if there is no token |
- * corresponding to the given token. |
- * |
- * @param key the token being mapped to another token |
- * @return the token that is mapped to the given token |
- */ |
- Token get(Token key) => _map[key]; |
- |
- /** |
- * Map the key to the value. |
- * |
- * @param key the token being mapped to the value |
- * @param value the token to which the key will be mapped |
- */ |
- void put(Token key, Token value) { |
- _map[key] = value; |
- } |
-} |
- |
-/** |
* Instances of the class `SingleMapIterator` implement an iterator that can be used to access |
* the entries in a single map. |
*/ |
class SingleMapIterator<K, V> implements MapIterator<K, V> { |
/** |
- * Returns a new [SingleMapIterator] instance for the given [Map]. |
- */ |
- static SingleMapIterator forMap(Map map) => new SingleMapIterator(map); |
- |
- /** |
* The [Map] containing the entries to be iterated over. |
*/ |
final Map<K, V> _map; |
@@ -719,6 +685,15 @@ class SingleMapIterator<K, V> implements MapIterator<K, V> { |
} |
@override |
+ void set value(V newValue) { |
+ if (_currentKey == null) { |
+ throw new NoSuchElementException(); |
+ } |
+ _currentValue = newValue; |
+ _map[_currentKey] = newValue; |
+ } |
+ |
+ @override |
bool moveNext() { |
if (_keyIterator.moveNext()) { |
_currentKey = _keyIterator.current; |
@@ -730,12 +705,39 @@ class SingleMapIterator<K, V> implements MapIterator<K, V> { |
} |
} |
- @override |
- void set value(V newValue) { |
- if (_currentKey == null) { |
- throw new NoSuchElementException(); |
- } |
- _currentValue = newValue; |
- _map[_currentKey] = newValue; |
+ /** |
+ * Returns a new [SingleMapIterator] instance for the given [Map]. |
+ */ |
+ static SingleMapIterator forMap(Map map) => new SingleMapIterator(map); |
+} |
+ |
+/** |
+ * Instances of the class `TokenMap` map one set of tokens to another set of tokens. |
+ */ |
+class TokenMap { |
+ /** |
+ * A table mapping tokens to tokens. This should be replaced by a more performant implementation. |
+ * One possibility is a pair of parallel arrays, with keys being sorted by their offset and a |
+ * cursor indicating where to start searching. |
+ */ |
+ HashMap<Token, Token> _map = new HashMap<Token, Token>(); |
+ |
+ /** |
+ * Return the token that is mapped to the given token, or `null` if there is no token |
+ * corresponding to the given token. |
+ * |
+ * @param key the token being mapped to another token |
+ * @return the token that is mapped to the given token |
+ */ |
+ Token get(Token key) => _map[key]; |
+ |
+ /** |
+ * Map the key to the value. |
+ * |
+ * @param key the token being mapped to the value |
+ * @param value the token to which the key will be mapped |
+ */ |
+ void put(Token key, Token value) { |
+ _map[key] = value; |
} |
} |