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

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

Issue 12328104: Change new List(n) to return fixed length list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Merge to head. Created 7 years, 9 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 part of org_dartlang_compiler_util; 5 part of org_dartlang_compiler_util;
6 6
7 class Link<T> extends Iterable<T> { 7 class Link<T> extends Iterable<T> {
8 T get head => null; 8 T get head => null;
9 Link<T> get tail => null; 9 Link<T> get tail => null;
10 10
(...skipping 20 matching lines...) Expand all
31 31
32 Link<T> prepend(T element) { 32 Link<T> prepend(T element) {
33 return new LinkEntry<T>(element, this); 33 return new LinkEntry<T>(element, this);
34 } 34 }
35 35
36 Iterator<T> get iterator => new LinkIterator<T>(this); 36 Iterator<T> get iterator => new LinkIterator<T>(this);
37 37
38 void printOn(StringBuffer buffer, [separatedBy]) { 38 void printOn(StringBuffer buffer, [separatedBy]) {
39 } 39 }
40 40
41 List toList() => new List<T>.fixedLength(0); 41 List toList({ bool growable: false }) => growable ? <T>[] : new List<T>(0);
42 42
43 bool get isEmpty => true; 43 bool get isEmpty => true;
44 44
45 Link<T> reverse() => this; 45 Link<T> reverse() => this;
46 46
47 Link<T> reversePrependAll(Link<T> from) { 47 Link<T> reversePrependAll(Link<T> from) {
48 if (from.isEmpty) return this; 48 if (from.isEmpty) return this;
49 return this.prepend(from.head).reversePrependAll(from.tail); 49 return this.prepend(from.head).reversePrependAll(from.tail);
50 } 50 }
51 51
(...skipping 20 matching lines...) Expand all
72 72
73 abstract class LinkBuilder<T> { 73 abstract class LinkBuilder<T> {
74 factory LinkBuilder() = LinkBuilderImplementation; 74 factory LinkBuilder() = LinkBuilderImplementation;
75 75
76 Link<T> toLink(); 76 Link<T> toLink();
77 void addLast(T t); 77 void addLast(T t);
78 78
79 final int length; 79 final int length;
80 final bool isEmpty; 80 final bool isEmpty;
81 } 81 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698