| Index: test/dart_codegen/expect/collection/splay_tree.dart
|
| diff --git a/test/dart_codegen/expect/collection/splay_tree.dart b/test/dart_codegen/expect/collection/splay_tree.dart
|
| deleted file mode 100644
|
| index 9dd7394a8bad89e710585bd82fd021ebf89c08d3..0000000000000000000000000000000000000000
|
| --- a/test/dart_codegen/expect/collection/splay_tree.dart
|
| +++ /dev/null
|
| @@ -1,540 +0,0 @@
|
| -part of dart.collection;
|
| - typedef bool _Predicate<T>(T value);
|
| - class _SplayTreeNode<K> {final K key;
|
| - _SplayTreeNode<K> left;
|
| - _SplayTreeNode<K> right;
|
| - _SplayTreeNode(K this.key);
|
| -}
|
| - class _SplayTreeMapNode<K, V> extends _SplayTreeNode<K> {V value;
|
| - _SplayTreeMapNode(K key, V this.value) : super(key);
|
| -}
|
| - abstract class _SplayTree<K> {_SplayTreeNode<K> _root;
|
| - _SplayTreeNode<K> _dummy = new _SplayTreeNode<K>(null);
|
| - int _count = 0;
|
| - int _modificationCount = 0;
|
| - int _splayCount = 0;
|
| - int _compare(K key1, K key2);
|
| - int _splay(K key) {
|
| -if (_root == null) return -1;
|
| - _SplayTreeNode<K> left = _dummy;
|
| - _SplayTreeNode<K> right = _dummy;
|
| - _SplayTreeNode<K> current = _root;
|
| - int comp;
|
| - while (true) {
|
| -comp = _compare(current.key, key);
|
| - if (comp > 0) {
|
| - if (current.left == null) break;
|
| - comp = _compare(current.left.key, key);
|
| - if (comp > 0) {
|
| - _SplayTreeNode<K> tmp = current.left;
|
| - current.left = tmp.right;
|
| - tmp.right = current;
|
| - current = tmp;
|
| - if (current.left == null) break;
|
| - }
|
| - right.left = current;
|
| - right = current;
|
| - current = current.left;
|
| - }
|
| - else if (comp < 0) {
|
| - if (current.right == null) break;
|
| - comp = _compare(current.right.key, key);
|
| - if (comp < 0) {
|
| - _SplayTreeNode<K> tmp = current.right;
|
| - current.right = tmp.left;
|
| - tmp.left = current;
|
| - current = tmp;
|
| - if (current.right == null) break;
|
| - }
|
| - left.right = current;
|
| - left = current;
|
| - current = current.right;
|
| - }
|
| - else {
|
| - break;
|
| - }
|
| -}
|
| - left.right = current.left;
|
| - right.left = current.right;
|
| - current.left = _dummy.right;
|
| - current.right = _dummy.left;
|
| - _root = current;
|
| - _dummy.right = null;
|
| - _dummy.left = null;
|
| - _splayCount++;
|
| - return comp;
|
| -}
|
| - _SplayTreeNode<K> _splayMin(_SplayTreeNode<K> node) {
|
| -_SplayTreeNode current = node;
|
| - while (current.left != null) {
|
| -_SplayTreeNode left = current.left;
|
| - current.left = left.right;
|
| - left.right = current;
|
| - current = left;
|
| -}
|
| - return DEVC$RT.cast(current, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), "CompositeCast", """line 151, column 12 of dart:collection/splay_tree.dart: """, current is _SplayTreeNode<K>, false);
|
| -}
|
| - _SplayTreeNode<K> _splayMax(_SplayTreeNode<K> node) {
|
| -_SplayTreeNode current = node;
|
| - while (current.right != null) {
|
| -_SplayTreeNode right = current.right;
|
| - current.right = right.left;
|
| - right.left = current;
|
| - current = right;
|
| -}
|
| - return DEVC$RT.cast(current, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), "CompositeCast", """line 167, column 12 of dart:collection/splay_tree.dart: """, current is _SplayTreeNode<K>, false);
|
| -}
|
| - _SplayTreeNode _remove(K key) {
|
| -if (_root == null) return null;
|
| - int comp = _splay(key);
|
| - if (comp != 0) return null;
|
| - _SplayTreeNode result = _root;
|
| - _count--;
|
| - if (_root.left == null) {
|
| -_root = _root.right;
|
| -}
|
| - else {
|
| -_SplayTreeNode<K> right = _root.right;
|
| - _root = _splayMax(_root.left);
|
| - _root.right = right;
|
| -}
|
| - _modificationCount++;
|
| - return result;
|
| -}
|
| - void _addNewRoot(_SplayTreeNode<K> node, int comp) {
|
| -_count++;
|
| - _modificationCount++;
|
| - if (_root == null) {
|
| -_root = node;
|
| - return;}
|
| - if (comp < 0) {
|
| -node.left = _root;
|
| - node.right = _root.right;
|
| - _root.right = null;
|
| -}
|
| - else {
|
| -node.right = _root;
|
| - node.left = _root.left;
|
| - _root.left = null;
|
| -}
|
| - _root = node;
|
| -}
|
| - _SplayTreeNode get _first {
|
| -if (_root == null) return null;
|
| - _root = _splayMin(_root);
|
| - return _root;
|
| -}
|
| - _SplayTreeNode get _last {
|
| -if (_root == null) return null;
|
| - _root = _splayMax(_root);
|
| - return _root;
|
| -}
|
| - void _clear() {
|
| -_root = null;
|
| - _count = 0;
|
| - _modificationCount++;
|
| -}
|
| -}
|
| - class SplayTreeMap<K, V> extends _SplayTree<K> implements Map<K, V> {Comparator<K> _comparator;
|
| - _Predicate<Object> _validKey;
|
| - SplayTreeMap([int compare(K key1, K key2), bool isValidKey(Object potentialKey)]) : _comparator = ((__x12) => DEVC$RT.cast(__x12, dynamic, DEVC$RT.type((Comparator<K> _) {
|
| -}
|
| -), "CompositeCast", """line 265, column 23 of dart:collection/splay_tree.dart: """, __x12 is Comparator<K>, false))((compare == null) ? Comparable.compare : compare), _validKey = (isValidKey != null) ? isValidKey : ((v) => v is K);
|
| - factory SplayTreeMap.from(Map other, [int compare(K key1, K key2), bool isValidKey(Object potentialKey)]) {
|
| -SplayTreeMap<K, V> result = new SplayTreeMap<K, V>();
|
| - other.forEach((k, v) {
|
| -result[DEVC$RT.cast(k, dynamic, K, "CompositeCast", """line 275, column 35 of dart:collection/splay_tree.dart: """, k is K, false)] = DEVC$RT.cast(v, dynamic, V, "CompositeCast", """line 275, column 40 of dart:collection/splay_tree.dart: """, v is V, false);
|
| -}
|
| -);
|
| - return result;
|
| -}
|
| - factory SplayTreeMap.fromIterable(Iterable iterable, {
|
| -K key(element), V value(element), int compare(K key1, K key2), bool isValidKey(Object potentialKey)}
|
| -) {
|
| -SplayTreeMap<K, V> map = new SplayTreeMap<K, V>(compare, isValidKey);
|
| - Maps._fillMapWithMappedIterable(map, iterable, key, value);
|
| - return map;
|
| -}
|
| - factory SplayTreeMap.fromIterables(Iterable<K> keys, Iterable<V> values, [int compare(K key1, K key2), bool isValidKey(Object potentialKey)]) {
|
| -SplayTreeMap<K, V> map = new SplayTreeMap<K, V>(compare, isValidKey);
|
| - Maps._fillMapWithIterables(map, keys, values);
|
| - return map;
|
| -}
|
| - int _compare(K key1, K key2) => _comparator(key1, key2);
|
| - SplayTreeMap._internal();
|
| - V operator [](Object key) {
|
| -if (key == null) throw new ArgumentError(key);
|
| - if (!_validKey(key)) return null;
|
| - if (_root != null) {
|
| -int comp = _splay(DEVC$RT.cast(key, Object, K, "CompositeCast", """line 328, column 25 of dart:collection/splay_tree.dart: """, key is K, false));
|
| - if (comp == 0) {
|
| -_SplayTreeMapNode mapRoot = DEVC$RT.cast(_root, DEVC$RT.type((_SplayTreeNode<K> _) {
|
| - }
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| - }
|
| -), "AssignmentCast", """line 330, column 37 of dart:collection/splay_tree.dart: """, _root is _SplayTreeMapNode<dynamic, dynamic>, true);
|
| - return DEVC$RT.cast(mapRoot.value, dynamic, V, "CompositeCast", """line 331, column 16 of dart:collection/splay_tree.dart: """, mapRoot.value is V, false);
|
| -}
|
| -}
|
| - return null;
|
| -}
|
| - V remove(Object key) {
|
| -if (!_validKey(key)) return null;
|
| - _SplayTreeMapNode mapRoot = ((__x13) => DEVC$RT.cast(__x13, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| -}
|
| -), "AssignmentCast", """line 339, column 33 of dart:collection/splay_tree.dart: """, __x13 is _SplayTreeMapNode<dynamic, dynamic>, true))(_remove(DEVC$RT.cast(key, Object, K, "CompositeCast", """line 339, column 41 of dart:collection/splay_tree.dart: """, key is K, false)));
|
| - if (mapRoot != null) return DEVC$RT.cast(mapRoot.value, dynamic, V, "CompositeCast", """line 340, column 33 of dart:collection/splay_tree.dart: """, mapRoot.value is V, false);
|
| - return null;
|
| -}
|
| - void operator []=(K key, V value) {
|
| -if (key == null) throw new ArgumentError(key);
|
| - int comp = _splay(key);
|
| - if (comp == 0) {
|
| -_SplayTreeMapNode mapRoot = DEVC$RT.cast(_root, DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| -}
|
| -), "AssignmentCast", """line 350, column 35 of dart:collection/splay_tree.dart: """, _root is _SplayTreeMapNode<dynamic, dynamic>, true);
|
| - mapRoot.value = value;
|
| - return;}
|
| - _addNewRoot(new _SplayTreeMapNode<K, dynamic>(key, value), comp);
|
| -}
|
| - V putIfAbsent(K key, V ifAbsent()) {
|
| -if (key == null) throw new ArgumentError(key);
|
| - int comp = _splay(key);
|
| - if (comp == 0) {
|
| -_SplayTreeMapNode mapRoot = DEVC$RT.cast(_root, DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| -}
|
| -), "AssignmentCast", """line 362, column 35 of dart:collection/splay_tree.dart: """, _root is _SplayTreeMapNode<dynamic, dynamic>, true);
|
| - return DEVC$RT.cast(mapRoot.value, dynamic, V, "CompositeCast", """line 363, column 14 of dart:collection/splay_tree.dart: """, mapRoot.value is V, false);
|
| -}
|
| - int modificationCount = _modificationCount;
|
| - int splayCount = _splayCount;
|
| - V value = ifAbsent();
|
| - if (modificationCount != _modificationCount) {
|
| -throw new ConcurrentModificationError(this);
|
| -}
|
| - if (splayCount != _splayCount) {
|
| -comp = _splay(key);
|
| - assert (comp != 0);}
|
| - _addNewRoot(new _SplayTreeMapNode<K, dynamic>(key, value), comp);
|
| - return value;
|
| -}
|
| - void addAll(Map<K, V> other) {
|
| -other.forEach((K key, V value) {
|
| -this[key] = value;
|
| -}
|
| -);
|
| -}
|
| - bool get isEmpty {
|
| -return (_root == null);
|
| -}
|
| - bool get isNotEmpty => !isEmpty;
|
| - void forEach(void f(K key, V value)) {
|
| -Iterator<_SplayTreeNode<K>> nodes = new _SplayTreeNodeIterator<K>(this);
|
| - while (nodes.moveNext()) {
|
| -_SplayTreeMapNode<K, V> node = DEVC$RT.cast(nodes.current, DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<K, V> _) {
|
| -}
|
| -), "CompositeCast", """line 394, column 38 of dart:collection/splay_tree.dart: """, nodes.current is _SplayTreeMapNode<K, V>, false);
|
| - f(node.key, node.value);
|
| -}
|
| -}
|
| - int get length {
|
| -return _count;
|
| -}
|
| - void clear() {
|
| -_clear();
|
| -}
|
| - bool containsKey(Object key) {
|
| -return _validKey(key) && _splay(DEVC$RT.cast(key, Object, K, "CompositeCast", """line 408, column 37 of dart:collection/splay_tree.dart: """, key is K, false)) == 0;
|
| -}
|
| - bool containsValue(Object value) {
|
| -bool found = false;
|
| - int initialSplayCount = _splayCount;
|
| - bool visit(_SplayTreeMapNode node) {
|
| -while (node != null) {
|
| -if (node.value == value) return true;
|
| - if (initialSplayCount != _splayCount) {
|
| - throw new ConcurrentModificationError(this);
|
| - }
|
| - if (node.right != null && visit(DEVC$RT.cast(node.right, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| - }
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| - }
|
| -), "ImplicitCast", """line 420, column 41 of dart:collection/splay_tree.dart: """, node.right is _SplayTreeMapNode<dynamic, dynamic>, true))) return true;
|
| - node = DEVC$RT.cast(node.left, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| - }
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| - }
|
| -), "ImplicitCast", """line 421, column 16 of dart:collection/splay_tree.dart: """, node.left is _SplayTreeMapNode<dynamic, dynamic>, true);
|
| -}
|
| - return false;
|
| -}
|
| - return visit(DEVC$RT.cast(_root, DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| -}
|
| -), "ImplicitCast", """line 425, column 18 of dart:collection/splay_tree.dart: """, _root is _SplayTreeMapNode<dynamic, dynamic>, true));
|
| -}
|
| - Iterable<K> get keys => new _SplayTreeKeyIterable<K>(this);
|
| - Iterable<V> get values => new _SplayTreeValueIterable<K, V>(this);
|
| - String toString() {
|
| -return Maps.mapToString(this);
|
| -}
|
| - K firstKey() {
|
| -if (_root == null) return null;
|
| - return DEVC$RT.cast(_first.key, dynamic, K, "CompositeCast", """line 441, column 12 of dart:collection/splay_tree.dart: """, _first.key is K, false);
|
| -}
|
| - K lastKey() {
|
| -if (_root == null) return null;
|
| - return DEVC$RT.cast(_last.key, dynamic, K, "CompositeCast", """line 449, column 12 of dart:collection/splay_tree.dart: """, _last.key is K, false);
|
| -}
|
| - K lastKeyBefore(K key) {
|
| -if (key == null) throw new ArgumentError(key);
|
| - if (_root == null) return null;
|
| - int comp = _splay(key);
|
| - if (comp < 0) return _root.key;
|
| - _SplayTreeNode<K> node = _root.left;
|
| - if (node == null) return null;
|
| - while (node.right != null) {
|
| -node = node.right;
|
| -}
|
| - return node.key;
|
| -}
|
| - K firstKeyAfter(K key) {
|
| -if (key == null) throw new ArgumentError(key);
|
| - if (_root == null) return null;
|
| - int comp = _splay(key);
|
| - if (comp > 0) return _root.key;
|
| - _SplayTreeNode<K> node = _root.right;
|
| - if (node == null) return null;
|
| - while (node.left != null) {
|
| -node = node.left;
|
| -}
|
| - return node.key;
|
| -}
|
| -}
|
| - abstract class _SplayTreeIterator<T> implements Iterator<T> {final _SplayTree _tree;
|
| - final List<_SplayTreeNode> _workList = <_SplayTreeNode> [];
|
| - int _modificationCount;
|
| - int _splayCount;
|
| - _SplayTreeNode _currentNode;
|
| - _SplayTreeIterator(_SplayTree tree) : _tree = tree, _modificationCount = tree._modificationCount, _splayCount = tree._splayCount {
|
| -_findLeftMostDescendent(tree._root);
|
| -}
|
| - _SplayTreeIterator.startAt(_SplayTree tree, var startKey) : _tree = tree, _modificationCount = tree._modificationCount {
|
| -if (tree._root == null) return; int compare = tree._splay(startKey);
|
| - _splayCount = tree._splayCount;
|
| - if (compare < 0) {
|
| -_findLeftMostDescendent(tree._root.right);
|
| -}
|
| - else {
|
| -_workList.add(tree._root);
|
| -}
|
| -}
|
| - T get current {
|
| -if (_currentNode == null) return null;
|
| - return _getValue(DEVC$RT.cast(_currentNode, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeMapNode<dynamic, dynamic> _) {
|
| -}
|
| -), "ImplicitCast", """line 545, column 22 of dart:collection/splay_tree.dart: """, _currentNode is _SplayTreeMapNode<dynamic, dynamic>, true));
|
| -}
|
| - void _findLeftMostDescendent(_SplayTreeNode node) {
|
| -while (node != null) {
|
| -_workList.add(node);
|
| - node = node.left;
|
| -}
|
| -}
|
| - void _rebuildWorkList(_SplayTreeNode currentNode) {
|
| -assert (!_workList.isEmpty); _workList.clear();
|
| - if (currentNode == null) {
|
| -_findLeftMostDescendent(_tree._root);
|
| -}
|
| - else {
|
| -_tree._splay(currentNode.key);
|
| - _findLeftMostDescendent(_tree._root.right);
|
| - assert (!_workList.isEmpty);}
|
| -}
|
| - bool moveNext() {
|
| -if (_modificationCount != _tree._modificationCount) {
|
| -throw new ConcurrentModificationError(_tree);
|
| -}
|
| - if (_workList.isEmpty) {
|
| -_currentNode = null;
|
| - return false;
|
| -}
|
| - if (_tree._splayCount != _splayCount && _currentNode != null) {
|
| -_rebuildWorkList(_currentNode);
|
| -}
|
| - _currentNode = _workList.removeLast();
|
| - _findLeftMostDescendent(_currentNode.right);
|
| - return true;
|
| -}
|
| - T _getValue(_SplayTreeMapNode node);
|
| -}
|
| - class _SplayTreeKeyIterable<K> extends IterableBase<K> implements EfficientLength {_SplayTree<K> _tree;
|
| - _SplayTreeKeyIterable(this._tree);
|
| - int get length => _tree._count;
|
| - bool get isEmpty => _tree._count == 0;
|
| - Iterator<K> get iterator => new _SplayTreeKeyIterator<K>(_tree);
|
| - Set<K> toSet() {
|
| -var setOrMap = _tree;
|
| - SplayTreeSet<K> set = new SplayTreeSet<K>(DEVC$RT.cast(setOrMap._comparator, dynamic, DEVC$RT.type((__CastType14<K> _) {
|
| -}
|
| -), "CompositeCast", """line 610, column 29 of dart:collection/splay_tree.dart: """, setOrMap._comparator is __CastType14<K>, false), DEVC$RT.cast(setOrMap._validKey, dynamic, __CastType17, "CompositeCast", """line 610, column 51 of dart:collection/splay_tree.dart: """, setOrMap._validKey is __CastType17, false));
|
| - set._count = _tree._count;
|
| - set._root = set._copyNode(_tree._root);
|
| - return set;
|
| -}
|
| -}
|
| - class _SplayTreeValueIterable<K, V> extends IterableBase<V> implements EfficientLength {SplayTreeMap<K, V> _map;
|
| - _SplayTreeValueIterable(this._map);
|
| - int get length => _map._count;
|
| - bool get isEmpty => _map._count == 0;
|
| - Iterator<V> get iterator => new _SplayTreeValueIterator<K, V>(_map);
|
| -}
|
| - class _SplayTreeKeyIterator<K> extends _SplayTreeIterator<K> {_SplayTreeKeyIterator(_SplayTree<K> map) : super(map);
|
| - K _getValue(_SplayTreeNode node) => DEVC$RT.cast(node.key, dynamic, K, "CompositeCast", """line 628, column 39 of dart:collection/splay_tree.dart: """, node.key is K, false);
|
| -}
|
| - class _SplayTreeValueIterator<K, V> extends _SplayTreeIterator<V> {_SplayTreeValueIterator(SplayTreeMap<K, V> map) : super(map);
|
| - V _getValue(_SplayTreeMapNode node) => DEVC$RT.cast(node.value, dynamic, V, "CompositeCast", """line 633, column 42 of dart:collection/splay_tree.dart: """, node.value is V, false);
|
| -}
|
| - class _SplayTreeNodeIterator<K> extends _SplayTreeIterator<_SplayTreeNode<K>> {_SplayTreeNodeIterator(_SplayTree<K> tree) : super(tree);
|
| - _SplayTreeNodeIterator.startAt(_SplayTree<K> tree, var startKey) : super.startAt(tree, startKey);
|
| - _SplayTreeNode<K> _getValue(_SplayTreeNode node) => DEVC$RT.cast(node, DEVC$RT.type((_SplayTreeNode<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((_SplayTreeNode<K> _) {
|
| -}
|
| -), "CompositeCast", """line 641, column 55 of dart:collection/splay_tree.dart: """, node is _SplayTreeNode<K>, false);
|
| -}
|
| - class SplayTreeSet<E> extends _SplayTree<E> with IterableMixin<E>, SetMixin<E> {Comparator<E> _comparator;
|
| - _Predicate<Object> _validKey;
|
| - SplayTreeSet([int compare(E key1, E key2), bool isValidKey(Object potentialKey)]) : _comparator = ((__x19) => DEVC$RT.cast(__x19, dynamic, DEVC$RT.type((Comparator<E> _) {
|
| -}
|
| -), "CompositeCast", """line 691, column 23 of dart:collection/splay_tree.dart: """, __x19 is Comparator<E>, false))((compare == null) ? Comparable.compare : compare), _validKey = (isValidKey != null) ? isValidKey : ((v) => v is E);
|
| - factory SplayTreeSet.from(Iterable elements, [int compare(E key1, E key2), bool isValidKey(Object potentialKey)]) {
|
| -SplayTreeSet<E> result = new SplayTreeSet<E>(compare, isValidKey);
|
| - for (final E element in DEVC$RT.cast(elements, DEVC$RT.type((Iterable<dynamic> _) {
|
| -}
|
| -), DEVC$RT.type((Iterable<E> _) {
|
| -}
|
| -), "CompositeCast", """line 705, column 29 of dart:collection/splay_tree.dart: """, elements is Iterable<E>, false)) {
|
| -result.add(element);
|
| -}
|
| - return result;
|
| -}
|
| - int _compare(E e1, E e2) => _comparator(e1, e2);
|
| - Iterator<E> get iterator => new _SplayTreeKeyIterator<E>(this);
|
| - int get length => _count;
|
| - bool get isEmpty => _root == null;
|
| - bool get isNotEmpty => _root != null;
|
| - E get first {
|
| -if (_count == 0) throw IterableElementError.noElement();
|
| - return DEVC$RT.cast(_first.key, dynamic, E, "CompositeCast", """line 723, column 12 of dart:collection/splay_tree.dart: """, _first.key is E, false);
|
| -}
|
| - E get last {
|
| -if (_count == 0) throw IterableElementError.noElement();
|
| - return DEVC$RT.cast(_last.key, dynamic, E, "CompositeCast", """line 728, column 12 of dart:collection/splay_tree.dart: """, _last.key is E, false);
|
| -}
|
| - E get single {
|
| -if (_count == 0) throw IterableElementError.noElement();
|
| - if (_count > 1) throw IterableElementError.tooMany();
|
| - return _root.key;
|
| -}
|
| - bool contains(Object object) {
|
| -return _validKey(object) && _splay(DEVC$RT.cast(object, Object, E, "CompositeCast", """line 739, column 40 of dart:collection/splay_tree.dart: """, object is E, false)) == 0;
|
| -}
|
| - bool add(E element) {
|
| -int compare = _splay(element);
|
| - if (compare == 0) return false;
|
| - _addNewRoot(new _SplayTreeNode<E>(element), compare);
|
| - return true;
|
| -}
|
| - bool remove(Object object) {
|
| -if (!_validKey(object)) return false;
|
| - return _remove(DEVC$RT.cast(object, Object, E, "CompositeCast", """line 751, column 20 of dart:collection/splay_tree.dart: """, object is E, false)) != null;
|
| -}
|
| - void addAll(Iterable<E> elements) {
|
| -for (E element in elements) {
|
| -int compare = _splay(element);
|
| - if (compare != 0) {
|
| -_addNewRoot(new _SplayTreeNode<E>(element), compare);
|
| -}
|
| -}
|
| -}
|
| - void removeAll(Iterable<Object> elements) {
|
| -for (Object element in elements) {
|
| -if (_validKey(element)) _remove(DEVC$RT.cast(element, Object, E, "CompositeCast", """line 765, column 39 of dart:collection/splay_tree.dart: """, element is E, false));
|
| -}
|
| -}
|
| - void retainAll(Iterable<Object> elements) {
|
| -SplayTreeSet<E> retainSet = new SplayTreeSet<E>(_comparator, _validKey);
|
| - int modificationCount = _modificationCount;
|
| - for (Object object in elements) {
|
| -if (modificationCount != _modificationCount) {
|
| -throw new ConcurrentModificationError(this);
|
| -}
|
| - if (_validKey(object) && _splay(DEVC$RT.cast(object, Object, E, "CompositeCast", """line 779, column 39 of dart:collection/splay_tree.dart: """, object is E, false)) == 0) retainSet.add(_root.key);
|
| -}
|
| - if (retainSet._count != _count) {
|
| -_root = retainSet._root;
|
| - _count = retainSet._count;
|
| - _modificationCount++;
|
| -}
|
| -}
|
| - E lookup(Object object) {
|
| -if (!_validKey(object)) return null;
|
| - int comp = _splay(DEVC$RT.cast(object, Object, E, "CompositeCast", """line 791, column 23 of dart:collection/splay_tree.dart: """, object is E, false));
|
| - if (comp != 0) return null;
|
| - return _root.key;
|
| -}
|
| - Set<E> intersection(Set<Object> other) {
|
| -Set<E> result = new SplayTreeSet<E>(_comparator, _validKey);
|
| - for (E element in this) {
|
| -if (other.contains(element)) result.add(element);
|
| -}
|
| - return result;
|
| -}
|
| - Set<E> difference(Set<Object> other) {
|
| -Set<E> result = new SplayTreeSet<E>(_comparator, _validKey);
|
| - for (E element in this) {
|
| -if (!other.contains(element)) result.add(element);
|
| -}
|
| - return result;
|
| -}
|
| - Set<E> union(Set<E> other) {
|
| -return _clone()..addAll(other);
|
| -}
|
| - SplayTreeSet<E> _clone() {
|
| -var set = new SplayTreeSet<E>(_comparator, _validKey);
|
| - set._count = _count;
|
| - set._root = _copyNode(_root);
|
| - return set;
|
| -}
|
| - _SplayTreeNode<E> _copyNode(_SplayTreeNode<E> node) {
|
| -if (node == null) return null;
|
| - return new _SplayTreeNode<E>(node.key)..left = _copyNode(node.left)..right = _copyNode(node.right);
|
| -}
|
| - void clear() {
|
| -_clear();
|
| -}
|
| - Set<E> toSet() => _clone();
|
| - String toString() => IterableBase.iterableToFullString(this, '{', '}');
|
| -}
|
| - typedef int __CastType14<K>(K __u15, K __u16);
|
| - typedef bool __CastType17(Object __u18);
|
|
|