Index: tests/language/override_inheritance_generic_test.dart |
diff --git a/tests/language/override_inheritance_generic_test.dart b/tests/language/override_inheritance_generic_test.dart |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1f58b52f0e02d4cd7d3090338e63371add1634a5 |
--- /dev/null |
+++ b/tests/language/override_inheritance_generic_test.dart |
@@ -0,0 +1,72 @@ |
+// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
+// 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. |
+ |
+class A<T> { |
+ method1(T t) => null; /// 01: ok |
+ method2(T t) => null; /// 02: ok |
+ method4(T t) => null; /// 04: static type warning |
+ method5(T t) => null; /// 05: ok |
+ method7(T t) => null; /// 07: static type warning |
+} |
+ |
+class B<S> extends A |
+<S> /// 01: continued |
+<num> /// 02: continued |
+<S> /// 04: continued |
+<S> /// 05: continued |
+{ |
+ method1(S s) => null; /// 01: continued |
+ method2(int i) => null; /// 02: continued |
+ method3(S s) => null; /// 03: ok |
+ method4(int i) => null; /// 04: continued |
+ method6(S s) => null; /// 06: static type warning |
+} |
+ |
+abstract class I<U> { |
+ method3(U u) => null; /// 03: continued |
+ method6(U u) => null; /// 06: continued |
+ method7(U u) => null; /// 07: continued |
+ method8(U u) => null; /// 08: static type warning |
+ method9(U u) => null; /// 09: static type warning |
+ method10(U u) => null; /// 10: static type warning |
+} |
+ |
+abstract class J<V> { |
+ method8(V v) => null; /// 08: continued |
+ method9(V v) => null; /// 09: continued |
+ method10(V v) => null; /// 10: continued |
+} |
+ |
+abstract class Class<W> extends B |
+<double> /// 03: continued |
+<W> /// 05: continued |
+<W> /// 06: continued |
+<int> /// 07: continued |
+implements I |
+<int> /// 03: continued |
+<num> /// 06: continued |
+<String> /// 07: continued |
+<int> /// 08: continued |
+<int> /// 09: continued |
+<int> /// 10: continued |
+, J |
+<String> /// 08: continued |
+<num> /// 09: continued |
+<num> /// 10: continued |
+{ |
+ method3(num i) => null; /// 03: continued |
+ method5(W w) => null; /// 05: continued |
+ method6(int i) => null; /// 06: continued |
+ method7(double d) => null; /// 07: continued |
+ method8(double d) => null; /// 08: continued |
+} |
+ |
+class SubClass extends Class { |
+ method9(double d) => null; /// 09: continued |
+ method10(String s) => null; /// 10: continued |
+} |
+ |
+main() { |
+ new SubClass(); |
+} |