Skip to content

Commit

Permalink
Issue #946: LanguageFeatures/Instantiate-to-bounds/typedef/static/typ…
Browse files Browse the repository at this point in the history
…edef_l2_t03_* tests updated according to the recent SDK changes.
  • Loading branch information
iarkh committed Oct 7, 2020
1 parent e67a315 commit 32edbe0
Show file tree
Hide file tree
Showing 16 changed files with 652 additions and 74 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,59 +55,38 @@ import "../../../../Utils/expect.dart";
class A<X> {}
typedef G<X extends Y, Y extends A<Y>> = X Function(Y);

main() {
G? source;
test(G source) {
var fsource = toF(source);
F<G<A<Never>, A<Never>>?>? target = fsource;

/* F<G<A<Null>, A<Null>>?>? target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
F<G<A<Null>, A<Never>>?>? target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
F<G<A<Never>, A<Null>>?>? target3 = fsource;
F<G<A<dynamic>, A<Never>>> target = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, dynamic>?>? target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
F<G<A<dynamic>, A<dynamic>>?>? target5 = fsource;
// ^^^^^^^
F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>?>? target6 = fsource;
F<G<A<Never>, A<dynamic>>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>?>? target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
F<G<A<Never>, A<Never>>> target3 = fsource;

F<G<A<dynamic>, A<Never>>?>? target8 = fsource;
F<G<A<dynamic>, A<Null>>> target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Null>>?>? target9 = fsource;
// ^^^^^^^
F<G<A<Null>, A<dynamic>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, A<dynamic>>?>? target10 = fsource;
F<G<A<Null>, A<Null>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
*/
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,85 @@
*/
// SharedOptions=--enable-experiment=non-nullable

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends Y, Y extends A<Y>> = Y Function(X);

main() {
G? source; //# 01: compile-time error
test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, A<Never>>> target0 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<Never>>> target3 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Null>>> target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, Never>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, dynamic>> target8 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, dynamic>> target9 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, Never>> target10 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, A<Never>>> target11 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, A<dynamic>>> target12 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, A<dynamic>>> target13 = fsource;

F<G<Never, A<Never>>> target14 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -52,12 +52,85 @@
*/
// SharedOptions=--enable-experiment=non-nullable

import "../../../../Utils/expect.dart";

class A<X> {}
typedef G<X extends Y, Y extends A<Y>> = Y Function(X, Y);

main() {
G? source;
// ^^^^^^
test(G source) {
var fsource = toF(source);

F<G<A<dynamic>, A<Never>>> target0 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<dynamic>>> target1 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<dynamic>>> target2 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Never>, A<Never>>> target3 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<dynamic>, A<Null>>> target4 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<dynamic>>> target5 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<A<Null>, A<Null>>> target6 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, Never>> target7 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, dynamic>> target8 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, dynamic>> target9 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, Never>> target10 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, A<Never>>> target11 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<dynamic, A<dynamic>>> target12 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

F<G<Never, A<dynamic>>> target13 = fsource;

F<G<Never, A<Never>>> target14 = fsource;
// ^^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,38 @@ class A<X> {}
typedef G<X extends Y, Y extends A<Y>> =
void Function<X1 extends X, Y1 extends Y>();

main() {
G? source; //# 01: compile-time error
test(G source) {
void Function<X extends A<dynamic>, Y extends A<dynamic>>() target1 = source;

void Function<X extends A<dynamic>, Y extends A<Never>>() target2 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>, Y extends A<dynamic>>() target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>, Y extends A<Never>>() target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<dynamic>, Y extends A<Null>>() target5 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Null>, Y extends A<dynamic>>() target6 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Null>, Y extends A<Null>>() target7 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,20 @@ class A<X> {}
typedef G<X extends Y, Y extends A<Y>> =
void Function<X1 extends X, Y1 extends Y>(X, Y);

main() {
G? source;
// ^^^^^^
test(G source) {
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>, A<dynamic>) target1 = source;

void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>, A<Never>) target2 = source;

void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>, A<dynamic>) target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>, Y extends A<Never>>(A<Never>, A<Never>) target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,20 @@ class A<X> {}
typedef G<X extends Y, Y extends A<Y>> =
void Function<X1 extends X, Y1 extends Y>(X);

main() {
G? source;
// ^^^^^^
test(G source) {
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>) target1 = source;

void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>) target2 = source;

void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>) target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,20 @@ class A<X> {}
typedef G<X extends Y, Y extends A<Y>> =
void Function<X1 extends X, Y1 extends Y>(Y);

main() {
G? source;
// ^^^^^^
test(G source) {
void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<dynamic>) target1 = source;

void Function<X extends A<dynamic>, Y extends A<dynamic>>(A<Never>) target2 = source;

void Function<X extends A<Never>, Y extends A<Never>>(A<dynamic>) target3 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified

void Function<X extends A<Never>, Y extends A<Never>>(A<Never>) target4 = source;
// ^^^^^^
// [analyzer] unspecified
// [cfe] unspecified
}

main() {}
Loading

0 comments on commit 32edbe0

Please sign in to comment.