Index: tests/language/factory2_test.dart |
=================================================================== |
--- tests/language/factory2_test.dart (revision 15648) |
+++ tests/language/factory2_test.dart (working copy) |
@@ -2,26 +2,22 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-// Dart test program for testing default keyword on interfaces |
-// Test case for issues 500 and 512 |
- |
-interface Link<T> extends Iterable<T> default LinkFactory<T> { |
- // does not match constructor for LinkFactory |
- Link(T head, [Link<T> tail]); /// static type warning |
+abstract class Link<T> extends Iterable<T> { |
+ // does not match constructor for LinkFactory |
+ factory Link(T head, [Link<T> tail]) = LinkFactory<T>; /// static type warning |
Link<T> prepend(T element); |
} |
-interface EmptyLink<T> extends Link<T> default LinkTail<T> { |
- const EmptyLink(); |
+abstract class EmptyLink<T> extends Link<T> { |
+ const factory EmptyLink() = LinkTail<T>; |
} |
class LinkFactory<T> { |
- factory Link(head, [Link tail]) { |
- } |
+ factory LinkFactory(head, [Link tail]) { } |
} |
// Does not implement all of Iterable |
-class AbstractLink<T> implements Link<T> { |
+class AbstractLink<T> implements Link<T> { |
const AbstractLink(); |
Link<T> prepend(T element) { |
return new Link<T>(element, this); |
@@ -29,7 +25,7 @@ |
} |
// Does not implement all of Iterable |
-class LinkTail<T> extends AbstractLink<T> |
+class LinkTail<T> extends AbstractLink<T> |
implements EmptyLink<T> { |
const LinkTail(); |
} |