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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/util/emptyset.dart

Issue 694353007: Move dart2js from sdk/lib/_internal/compiler to pkg/compiler (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 library dart2js.util.emptyset;
6
7 import 'dart:collection' show IterableBase;
8
9 class ImmutableEmptySet<E> extends IterableBase<E> implements Set<E> {
10 const ImmutableEmptySet();
11
12 get iterator => const _EmptySetIterator();
13 int get length => 0;
14 bool get isEmpty => true;
15
16 get _immutableError => throw new UnsupportedError("EmptySet is immutable");
17
18 bool add (E element) => _immutableError;
19 void addAll(Iterable<E> elements) => _immutableError;
20
21 E lookup(E element) => null;
22 bool remove(E element) => false;
23 void removeAll(Iterable<E> elements) {}
24 void removeWhere(bool test(E element)) {}
25 void retainAll(Iterable<E> elements) {}
26 void retainWhere(bool test(E element)) {}
27 void forEach(void action(E element)) {}
28 void clear() {}
29
30 bool contains(E element) => false;
31 bool containsAll(Iterable<E> other) => other.isEmpty;
32
33 Set<E> union(Set<E> other) => new Set.from(other);
34 Set<E> intersection(Set<E> other) => this;
35 Set<E> difference(Set<E> other) => this;
36 Set<E> toSet() => new Set();
37 }
38
39 class _EmptySetIterator<E> implements Iterator<E> {
40 const _EmptySetIterator();
41
42 E get current => null;
43 bool moveNext() => false;
44 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698