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

Side by Side Diff: lib/compiler/implementation/util/link.dart

Issue 10911006: Collect the types used in is-checks in the resolver phase. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 3 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
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 interface Link<T> extends Iterable<T> default LinkFactory<T> { 5 interface Link<T> extends Iterable<T> default LinkFactory<T> {
6 final T head; 6 final T head;
7 final Link<T> tail; 7 final Link<T> tail;
8 8
9 Link(T head, [Link<T> tail]); 9 Link(T head, [Link<T> tail]);
10 Link.fromList(List<T> list); 10 Link.fromList(List<T> list);
11 11
12 Link<T> prepend(T element); 12 Link<T> prepend(T element);
13 List<T> toList(); 13 List<T> toList();
14 bool isEmpty(); 14 bool isEmpty();
15 Link<T> reverse(); 15 Link<T> reverse();
16 Link<T> reversePrependAll(Link<T> from); 16 Link<T> reversePrependAll(Link<T> from);
17 17
18 void printOn(StringBuffer buffer, [separatedBy]); 18 void printOn(StringBuffer buffer, [separatedBy]);
19 19
20 void forEach(void f(T element)); 20 void forEach(void f(T element));
21
22 bool equals(other);
21 } 23 }
22 24
23 interface EmptyLink<T> extends Link<T> default LinkTail<T> { 25 interface EmptyLink<T> extends Link<T> default LinkTail<T> {
24 const EmptyLink(); 26 const EmptyLink();
25 } 27 }
26 28
27 interface LinkBuilder<T> default LinkBuilderImplementation<T> { 29 interface LinkBuilder<T> default LinkBuilderImplementation<T> {
28 LinkBuilder(); 30 LinkBuilder();
29 31
30 Link<T> toLink(); 32 Link<T> toLink();
31 void addLast(T t); 33 void addLast(T t);
32 34
33 final int length; 35 final int length;
34 } 36 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698