Update tests related to generalized void
Change-Id: Iac43d86759e0ae958940bbfd2ce53286762b7207
Reviewed-on: https://dart-review.googlesource.com/64381
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
diff --git a/tests/language_2/language_2_analyzer.status b/tests/language_2/language_2_analyzer.status
index 1f82933..42452d8 100644
--- a/tests/language_2/language_2_analyzer.status
+++ b/tests/language_2/language_2_analyzer.status
@@ -219,16 +219,12 @@
vm/regress_33469_test/01: Crash # http://dartbug.com/33481
vm/regress_33469_test/02: Crash # http://dartbug.com/33481
vm/regress_33469_test/03: MissingCompileTimeError # http://dartbug.com/33481
-void_type_override_test/00: MissingCompileTimeError
-void_type_override_test/00b: MissingCompileTimeError
-void_type_override_test/01: MissingCompileTimeError
void_type_override_test/02: MissingCompileTimeError
void_type_override_test/03: MissingCompileTimeError
void_type_usage_test/call_conditional: MissingCompileTimeError
void_type_usage_test/call_literal_list_init: MissingCompileTimeError
void_type_usage_test/call_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/call_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/call_return: MissingCompileTimeError
void_type_usage_test/call_void_init: MissingCompileTimeError
void_type_usage_test/conditional2_conditional: MissingCompileTimeError
void_type_usage_test/conditional2_for: MissingCompileTimeError
@@ -265,51 +261,41 @@
void_type_usage_test/final_local_literal_list_init: MissingCompileTimeError
void_type_usage_test/final_local_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/final_local_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/final_local_return: MissingCompileTimeError
void_type_usage_test/final_local_void_init: MissingCompileTimeError
void_type_usage_test/global_conditional: MissingCompileTimeError
void_type_usage_test/global_literal_list_init: MissingCompileTimeError
void_type_usage_test/global_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/global_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/global_return: MissingCompileTimeError
void_type_usage_test/global_void_init: MissingCompileTimeError
void_type_usage_test/instance2_conditional: MissingCompileTimeError
-void_type_usage_test/instance2_for_in2: MissingCompileTimeError
void_type_usage_test/instance2_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance2_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance2_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance2_return: MissingCompileTimeError
void_type_usage_test/instance2_void_init: MissingCompileTimeError
void_type_usage_test/instance3_conditional: MissingCompileTimeError
-void_type_usage_test/instance3_for_in2: MissingCompileTimeError
void_type_usage_test/instance3_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance3_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance3_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance3_return: MissingCompileTimeError
void_type_usage_test/instance3_void_init: MissingCompileTimeError
void_type_usage_test/instance_conditional: MissingCompileTimeError
void_type_usage_test/instance_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance_return: MissingCompileTimeError
void_type_usage_test/instance_void_init: MissingCompileTimeError
void_type_usage_test/local_conditional: MissingCompileTimeError
void_type_usage_test/local_literal_list_init: MissingCompileTimeError
void_type_usage_test/local_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/local_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/local_return: MissingCompileTimeError
void_type_usage_test/local_void_init: MissingCompileTimeError
void_type_usage_test/param_conditional: MissingCompileTimeError
void_type_usage_test/param_literal_list_init: MissingCompileTimeError
void_type_usage_test/param_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/param_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/param_return: MissingCompileTimeError
void_type_usage_test/param_void_init: MissingCompileTimeError
void_type_usage_test/paren_conditional: MissingCompileTimeError
void_type_usage_test/paren_literal_list_init: MissingCompileTimeError
void_type_usage_test/paren_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/paren_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/paren_return: MissingCompileTimeError
void_type_usage_test/paren_void_init: MissingCompileTimeError
web_int_literals_test/01: MissingCompileTimeError
web_int_literals_test/02: MissingCompileTimeError
diff --git a/tests/language_2/language_2_dartdevc.status b/tests/language_2/language_2_dartdevc.status
index 009e069..1285c54 100644
--- a/tests/language_2/language_2_dartdevc.status
+++ b/tests/language_2/language_2_dartdevc.status
@@ -201,16 +201,12 @@
void_type_callbacks_test/00: MissingCompileTimeError # Issue 30514
void_type_callbacks_test/01: MissingCompileTimeError
void_type_function_types_test/none: CompileTimeError # Issue 30514
-void_type_override_test/00: MissingCompileTimeError
-void_type_override_test/00b: MissingCompileTimeError
-void_type_override_test/01: MissingCompileTimeError
void_type_override_test/02: MissingCompileTimeError
void_type_override_test/03: MissingCompileTimeError
void_type_usage_test/call_conditional: MissingCompileTimeError
void_type_usage_test/call_literal_list_init: MissingCompileTimeError
void_type_usage_test/call_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/call_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/call_return: MissingCompileTimeError
void_type_usage_test/call_void_init: MissingCompileTimeError
void_type_usage_test/conditional2_conditional: MissingCompileTimeError
void_type_usage_test/conditional2_for: MissingCompileTimeError
@@ -247,51 +243,41 @@
void_type_usage_test/final_local_literal_list_init: MissingCompileTimeError
void_type_usage_test/final_local_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/final_local_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/final_local_return: MissingCompileTimeError
void_type_usage_test/final_local_void_init: MissingCompileTimeError
void_type_usage_test/global_conditional: MissingCompileTimeError
void_type_usage_test/global_literal_list_init: MissingCompileTimeError
void_type_usage_test/global_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/global_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/global_return: MissingCompileTimeError
void_type_usage_test/global_void_init: MissingCompileTimeError
void_type_usage_test/instance2_conditional: MissingCompileTimeError
-void_type_usage_test/instance2_for_in2: MissingCompileTimeError
void_type_usage_test/instance2_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance2_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance2_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance2_return: MissingCompileTimeError
void_type_usage_test/instance2_void_init: MissingCompileTimeError
void_type_usage_test/instance3_conditional: MissingCompileTimeError
-void_type_usage_test/instance3_for_in2: MissingCompileTimeError
void_type_usage_test/instance3_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance3_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance3_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance3_return: MissingCompileTimeError
void_type_usage_test/instance3_void_init: MissingCompileTimeError
void_type_usage_test/instance_conditional: MissingCompileTimeError
void_type_usage_test/instance_literal_list_init: MissingCompileTimeError
void_type_usage_test/instance_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/instance_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/instance_return: MissingCompileTimeError
void_type_usage_test/instance_void_init: MissingCompileTimeError
void_type_usage_test/local_conditional: MissingCompileTimeError
void_type_usage_test/local_literal_list_init: MissingCompileTimeError
void_type_usage_test/local_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/local_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/local_return: MissingCompileTimeError
void_type_usage_test/local_void_init: MissingCompileTimeError
void_type_usage_test/param_conditional: MissingCompileTimeError
void_type_usage_test/param_literal_list_init: MissingCompileTimeError
void_type_usage_test/param_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/param_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/param_return: MissingCompileTimeError
void_type_usage_test/param_void_init: MissingCompileTimeError
void_type_usage_test/paren_conditional: MissingCompileTimeError
void_type_usage_test/paren_literal_list_init: MissingCompileTimeError
void_type_usage_test/paren_literal_map_key_init: MissingCompileTimeError
void_type_usage_test/paren_literal_map_value_init: MissingCompileTimeError
-void_type_usage_test/paren_return: MissingCompileTimeError
void_type_usage_test/paren_void_init: MissingCompileTimeError
[ $compiler == dartdevk ]
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index e046a90..cdaf95b 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -351,9 +351,6 @@
void_type_function_types_test/04: MissingCompileTimeError # Issue 32804
void_type_function_types_test/06: MissingCompileTimeError # Issue 32804
void_type_function_types_test/08: MissingCompileTimeError # Issue 32804
-void_type_override_test/00: MissingCompileTimeError # Issue 32804
-void_type_override_test/00b: MissingCompileTimeError # Issue 32804
-void_type_override_test/01: MissingCompileTimeError # Issue 32804
void_type_override_test/03: MissingCompileTimeError # Issue 32804
void_type_usage_test/call_argument: MissingCompileTimeError # Issue 32804
void_type_usage_test/call_cascade: MissingCompileTimeError # Issue 32804
@@ -463,7 +460,6 @@
void_type_usage_test/instance2_do_while: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance2_dynamic_init: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance2_for_in: MissingCompileTimeError # Issue 32804
-void_type_usage_test/instance2_for_in2: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance2_is: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance2_literal_list_init: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance2_literal_map_key_init: MissingCompileTimeError # Issue 32804
@@ -483,7 +479,6 @@
void_type_usage_test/instance3_do_while: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance3_dynamic_init: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance3_for_in: MissingCompileTimeError # Issue 32804
-void_type_usage_test/instance3_for_in2: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance3_is: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance3_literal_list_init: MissingCompileTimeError # Issue 32804
void_type_usage_test/instance3_literal_map_key_init: MissingCompileTimeError # Issue 32804
diff --git a/tests/language_2/void_type_function_types_test.dart b/tests/language_2/void_type_function_types_test.dart
index d436c85..6146c43 100644
--- a/tests/language_2/void_type_function_types_test.dart
+++ b/tests/language_2/void_type_function_types_test.dart
@@ -67,21 +67,21 @@
Expect.isTrue(g is F);
Expect.isTrue(g is G);
Expect.isFalse(g is H);
- expectsF(g); //# 04: compile-time error
+ expectsF(g);
expectsG(g);
expectsH(g); //# 05: compile-time error
Expect.isTrue(g2 is F2);
Expect.isTrue(g2 is G2);
Expect.isFalse(g2 is H2);
- expectsF2(g2); //# 06: compile-time error
+ expectsF2(g2);
expectsG2(g2);
expectsH2(g2); //# 07: compile-time error
Expect.isTrue(g3 is F3);
Expect.isTrue(g3 is G3);
Expect.isFalse(g3 is H3);
- expectsF3(g3); //# 08: compile-time error
+ expectsF3(g3);
expectsG3(g3);
expectsH3(g3); //# 09: compile-time error
diff --git a/tests/language_2/void_type_override_test.dart b/tests/language_2/void_type_override_test.dart
index eb2a740..4b13843 100644
--- a/tests/language_2/void_type_override_test.dart
+++ b/tests/language_2/void_type_override_test.dart
@@ -23,13 +23,13 @@
}
class B implements A<Object> {
- void //# 00: compile-time error
+ void //# 00: ok
/* //# 00: continued
var
*/ //# 00: continued
x;
- void //# 00b: compile-time error
+ void //# 00b: ok
/* //# 00b: continued
var
*/ //# 00b: continued
@@ -41,9 +41,8 @@
*/ //# 00c: continued
z;
- // Overriding an Object function with a void function is an error.
- void //# 01: compile-time error
- foo() => null;
+ void //# 01: ok
+ foo() {}
int bar() => 499;
void gee(void x) {}
diff --git a/tests/language_2/void_type_usage_test.dart b/tests/language_2/void_type_usage_test.dart
index 135e8bd..5ba0547 100644
--- a/tests/language_2/void_type_usage_test.dart
+++ b/tests/language_2/void_type_usage_test.dart
@@ -6,7 +6,7 @@
void use(dynamic x) { }
-testVoidParam(void x) {
+Object testVoidParam(void x) {
x; //# param_stmt: ok
true ? x : x; //# param_conditional: compile-time error
for (x; false; x) {} //# param_for: ok
@@ -34,7 +34,11 @@
x..toString(); //# param_cascade: compile-time error
}
-testVoidCall(void f()) {
+dynamic testVoidParamDynamic(void x) {
+ return x; //# param_return_dynamic: ok
+}
+
+Object testVoidCall(void f()) {
f(); //# call_stmt: ok
true ? f() : f(); //# call_conditional: compile-time error
for (f(); false; f()) {} //# call_for: ok
@@ -60,7 +64,11 @@
f()..toString(); //# call_cascade: compile-time error
}
-testVoidLocal() {
+dynamic testVoidCallDynamic(void f()) {
+ return f(); //# call_return: ok
+}
+
+Object testVoidLocal() {
void x;
x = 42; //# local_assign: ok
x; //# local_stmt: ok
@@ -90,7 +98,12 @@
x..toString(); //# local_cascade: compile-time error
}
-testVoidFinalLocal() {
+dynamic testVoidLocalDynamic() {
+ void x;
+ return x; //# local_return_dynamic: ok
+}
+
+Object testVoidFinalLocal() {
final void x = null;
x = 42; //# final_local_assign: compile-time error
x; //# final_local_stmt: ok
@@ -120,8 +133,13 @@
x..toString(); //# final_local_cascade: compile-time error
}
+dynamic testVoidFinalLocalDynamic() {
+ final void x = null;
+ return x; //# final_local_return_dynamic: ok
+}
+
void global;
-testVoidGlobal() {
+Object testVoidGlobal() {
global; //# global_stmt: ok
true ? global : global; //# global_conditional: compile-time error
for (global; false; global) {} //# global_for: ok
@@ -149,6 +167,10 @@
global..toString(); //# global_cascade: compile-time error
}
+dynamic testVoidGlobalDynamic() {
+ return global; //# global_return_dynamic: ok
+}
+
testVoidConditional() {
void x;
(true ? x : x); //# conditional_parens: compile-time error
@@ -215,7 +237,7 @@
int foo() => 499;
void forInTest() {
- for (x in <void>[]) {} //# instance2_for_in2: compile-time error
+ for (x in <void>[]) {} //# instance2_for_in2: ok
for (x in [1, 2]) {} //# instance2_for_in3: ok
}
}
@@ -227,12 +249,12 @@
void foo() {}
void forInTest() {
- for (x in <void>[]) {} //# instance3_for_in2: compile-time error
+ for (x in <void>[]) {} //# instance3_for_in2: ok
for (x in [1, 2]) {} //# instance3_for_in3: ok
}
}
-testInstanceField() {
+Object testInstanceField() {
A<void> a = new A<void>();
a.x = 499; //# field_assign: ok
a.x; //# instance_stmt: ok
@@ -317,7 +339,18 @@
c.x..toString(); //# instance3_cascade: compile-time error
}
-testParenthesized() {
+dynamic testInstanceFieldDynamic() {
+ A<void> a = new A<void>();
+ return a.x; //# instance_return_dynamic: ok
+
+ B b = new B();
+ return b.x; //# instance2_return_dynamic: ok
+
+ C c = new C();
+ return c.x; //# instance3_return_dynamic: ok
+}
+
+Object testParenthesized() {
void x;
(x); //# paren_stmt: ok
true ? (x) : (x); //# paren_conditional: compile-time error
@@ -344,6 +377,11 @@
(x)..toString(); //# paren_cascade: compile-time error
}
+dynamic testParenthesizedDynamic() {
+ void x;
+ return (x); //# paren_return_dynamic: ok
+}
+
void testReturnToVoid(void x, void f()) {
void y;
final void z = null;