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

Side by Side Diff: frog/leg/util/link_implementation.dart

Issue 8515024: Require legacy form of type parameters in factories and report errors if a factory class does not... (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 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
« no previous file with comments | « no previous file | runtime/vm/parser.h » ('j') | tests/language/src/NonParameterizedFactoryTest.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 class LinkFactory { 5 // TODO(regis): Move type parameter <T> from the class declaration to the
6 // factory declarations after the new factory syntax is implemented.
7 // See issues 226, 5257789, 5408808.
8 class LinkFactory<T> {
6 factory Link(head, [Link tail]) { 9 factory Link(head, [Link tail]) {
7 return new LinkEntry(head, (tail === null) ? const LinkTail() : tail); 10 return new LinkEntry(head, (tail === null) ? const LinkTail() : tail);
8 } 11 }
9 12
10 factory Link.fromList(List list) { 13 factory Link.fromList(List list) {
11 switch (list.length) { 14 switch (list.length) {
12 case 0: 15 case 0:
13 return const LinkTail(); 16 return const LinkTail();
14 case 1: 17 case 1:
15 return new Link(list[0]); 18 return new Link(list[0]);
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 void addLast(T t) { 118 void addLast(T t) {
116 LinkEntry<T> entry = new LinkEntry<T>(t, null); 119 LinkEntry<T> entry = new LinkEntry<T>(t, null);
117 if (head === null) { 120 if (head === null) {
118 head = entry; 121 head = entry;
119 } else { 122 } else {
120 lastLink.realTail = entry; 123 lastLink.realTail = entry;
121 } 124 }
122 lastLink = entry; 125 lastLink = entry;
123 } 126 }
124 } 127 }
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/parser.h » ('j') | tests/language/src/NonParameterizedFactoryTest.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698