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

Unified Diff: tests/language/override_inheritance_generic_test.dart

Issue 140803002: Perform override and inheritance checks. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 11 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 side-by-side diff with in-line comments
Download patch
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();
+}

Powered by Google App Engine
This is Rietveld 408576698