Version 2.12.0-146.0.dev
Merge commit 'e8b0f38ccda1a2b6ac17c4d2f8727268106325e7' into 'dev'
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_class_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_class_test.dart
index 5ed9e00..e3a6a6e 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_class_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_class_test.dart
@@ -36,7 +36,7 @@
C(): v7 = T<Null>();
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -45,6 +45,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1<X> extends T<X> {}
abstract class D3<X, Y> implements T<T> {}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_dynamic_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_dynamic_test.dart
index c1208a5..46a21d8 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_dynamic_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_dynamic_test.dart
@@ -29,7 +29,7 @@
final T<Null> v7;
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -38,6 +38,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T<dynamic> {
T<dynamic> foo(T<dynamic> t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_function_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_function_test.dart
index 33bac17..b0d4105 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_function_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_function_test.dart
@@ -30,7 +30,7 @@
C(): v7 = print;
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1<X> extends T<X> {}
abstract class D2 extends C with T<int> {}
abstract class D3<X, Y> implements T<T> {}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_futureor_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_futureor_test.dart
index a81fad2..2d9d0fe 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_futureor_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_futureor_test.dart
@@ -30,7 +30,7 @@
C(): v7 = null;
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T<dynamic> {
T<dynamic> foo(T<dynamic> t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_null_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_null_test.dart
index 6101801..0934a57 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_null_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_null_test.dart
@@ -30,7 +30,7 @@
C(): v7 = null;
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T<dynamic> {
T<dynamic> foo(T<dynamic> t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_object_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_object_test.dart
index f6f9b24..602671e 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_object_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_object_test.dart
@@ -30,7 +30,7 @@
C(): v12 = T();
C.name1(this.v10, this.v12);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1<X> extends T<X> {}
abstract class D3<X, Y> extends C implements T<T> {}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_type_variable_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_type_variable_test.dart
index 1c2604c..acd2efb 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_type_variable_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_type_variable_test.dart
@@ -30,7 +30,7 @@
C(): v7 = null;
C.name1(this.v5, this.v7);
- factory C.name2(T<D> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<D> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<D> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D {}
mixin M {}
diff --git a/tests/language_2/nonfunction_type_aliases/generic_usage_void_test.dart b/tests/language_2/nonfunction_type_aliases/generic_usage_void_test.dart
index 6456366..18106b4 100644
--- a/tests/language_2/nonfunction_type_aliases/generic_usage_void_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/generic_usage_void_test.dart
@@ -30,7 +30,7 @@
C(): v7 = null;
C.name1(this.v5, this.v7);
- factory C.name2(T<C> arg1, T<Null> arg2) = C.name1;
+ factory C.name2(T<C> arg1, T<Null> arg2) = C1.name1;
T<double> operator +(T<double> other);
T<FutureOr<FutureOr<void>>> get g;
@@ -39,6 +39,11 @@
void m2({T arg1, Map<T, T> arg2(T Function(T) arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T<C> arg1, T<Null> arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T<dynamic> {
T<dynamic> foo(T<dynamic> t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_class_test.dart b/tests/language_2/nonfunction_type_aliases/usage_class_test.dart
index c3338d6..ae563d9 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_class_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_class_test.dart
@@ -34,7 +34,7 @@
C(): v12 = T();
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -43,6 +43,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1 extends T {}
abstract class D3 implements T {}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_dynamic_test.dart b/tests/language_2/nonfunction_type_aliases/usage_dynamic_test.dart
index 3ff37e1..dc5c93f 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_dynamic_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_dynamic_test.dart
@@ -27,7 +27,7 @@
final T v12;
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -36,6 +36,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
X foo<X>(X x) => x;
T Function(T) id = (x) => x;
diff --git a/tests/language_2/nonfunction_type_aliases/usage_function_test.dart b/tests/language_2/nonfunction_type_aliases/usage_function_test.dart
index 4e22762..e9af4f6 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_function_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_function_test.dart
@@ -28,7 +28,7 @@
C(): v12 = (() {});
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -37,13 +37,15 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
-// Awaiting updates in front end to handle crash caused by null from
-// `ClassHierarchyBuilder.getKernelTypeAsInstanceOf`. So for now the
-// following are multi-test cases, so that the rest can be tested.
-class D1 extends T {} //# 01: ok
-abstract class D2 extends C with T {} //# 02: ok
-abstract class D3 implements T {} //# 03: ok
-abstract class D4 = C with T; //# 04: ok
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
+class D1 extends T {}
+abstract class D2 extends C with T {}
+abstract class D3 implements T {}
+abstract class D4 = C with T;
extension E on T {
T foo(T t) => t;
diff --git a/tests/language_2/nonfunction_type_aliases/usage_futureor_test.dart b/tests/language_2/nonfunction_type_aliases/usage_futureor_test.dart
index cab5a49..e0f6d5a 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_futureor_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_futureor_test.dart
@@ -29,7 +29,7 @@
final T v12;
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -38,6 +38,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T {
T foo(T t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_null_test.dart b/tests/language_2/nonfunction_type_aliases/usage_null_test.dart
index e2a00cd..4eb4583 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_null_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_null_test.dart
@@ -28,7 +28,7 @@
C(): v12 = null;
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -37,6 +37,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T {
T foo(T t) => t;
}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_object_error_test.dart b/tests/language_2/nonfunction_type_aliases/usage_object_error_test.dart
index f43ea38..e07c2090 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_object_error_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_object_error_test.dart
@@ -15,7 +15,12 @@
final T v12;
C(): v12 = T();
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
+}
+
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
}
abstract class D2 extends C with T {}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_object_test.dart b/tests/language_2/nonfunction_type_aliases/usage_object_test.dart
index a93e8b7..6896551 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_object_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_object_test.dart
@@ -28,7 +28,7 @@
C(): v12 = T();
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -37,6 +37,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1 extends T {}
extension E on T {
diff --git a/tests/language_2/nonfunction_type_aliases/usage_type_variable_test.dart b/tests/language_2/nonfunction_type_aliases/usage_type_variable_test.dart
index ffd1e16..e580abe 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_type_variable_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_type_variable_test.dart
@@ -34,7 +34,7 @@
C(): v12 = null;
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -43,6 +43,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
class D1 extends T {}
abstract class D3 implements T {}
diff --git a/tests/language_2/nonfunction_type_aliases/usage_void_test.dart b/tests/language_2/nonfunction_type_aliases/usage_void_test.dart
index cb752e5..9857812 100644
--- a/tests/language_2/nonfunction_type_aliases/usage_void_test.dart
+++ b/tests/language_2/nonfunction_type_aliases/usage_void_test.dart
@@ -27,7 +27,7 @@
final T v12;
C.name1(this.v10, this.v12);
- factory C.name2(T arg1, T arg2) = C.name1;
+ factory C.name2(T arg1, T arg2) = C1.name1;
T operator +(T other);
T get g;
@@ -36,6 +36,11 @@
void m2({T arg1, T arg2(T arg21, T arg22)});
}
+class C1 implements C {
+ C1.name1(T arg1, T arg2);
+ noSuchMethod(Invocation invocation) => throw 0;
+}
+
extension E on T {
T foo(T t) => t;
}
diff --git a/tools/VERSION b/tools/VERSION
index 58c42d0..b0eadcc 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 12
PATCH 0
-PRERELEASE 145
+PRERELEASE 146
PRERELEASE_PATCH 0
\ No newline at end of file