Dart 2 fixes to various tests.

All fixes are related to the requirement that a concrete class must
implement its entire interface or have a non-trivial noSuchMethod
implementation.

Change-Id: I015e0565e5dd9cfa324c38bb43696e365c58329a
Reviewed-on: https://dart-review.googlesource.com/51880
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
This commit is contained in:
Aske Simon Christensen
2018-04-20 12:57:19 +00:00
committed by commit-bot@chromium.org
parent be741ba511
commit f06118ef8f
12 changed files with 53 additions and 74 deletions
@@ -60,6 +60,8 @@ class NotMixin extends A with B {
super.foo(value);
super.quux();
}
void foo(String value) {}
}
void main() {
+6 -6
View File
@@ -2254,7 +2254,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_Success) {
intptr_t saved_subclass_count = subclasses.Length();
const char* kScript =
"class AIterator extends Iterator {\n"
"abstract class AIterator extends Iterator {\n"
"}\n"
"main() {\n"
" return 1;\n"
@@ -2275,7 +2275,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_Success) {
const char* kReloadScript =
"class AIterator {\n"
"}\n"
"class BIterator extends Iterator {\n"
"abstract class BIterator extends Iterator {\n"
"}\n"
"main() {\n"
" return 2;\n"
@@ -2310,7 +2310,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_GhostSubclass) {
intptr_t saved_subclass_count = subclasses.Length();
const char* kScript =
"class AIterator extends Iterator {\n"
"abstract class AIterator extends Iterator {\n"
"}\n"
"main() {\n"
" return 1;\n"
@@ -2329,7 +2329,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_GhostSubclass) {
EXPECT_STREQ("AIterator", name.ToCString());
const char* kReloadScript =
"class BIterator extends Iterator {\n"
"abstract class BIterator extends Iterator {\n"
"}\n"
"main() {\n"
" return 2;\n"
@@ -2369,7 +2369,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_Failure) {
intptr_t saved_subclass_count = subclasses.Length();
const char* kScript =
"class AIterator extends Iterator {\n"
"abstract class AIterator extends Iterator {\n"
"}\n"
"class Foo {\n"
" final a;\n"
@@ -2394,7 +2394,7 @@ TEST_CASE(IsolateReload_DirectSubclasses_Failure) {
// Attempt to reload with a bogus script.
const char* kReloadScript =
"class BIterator extends Iterator {\n"
"abstract class BIterator extends Iterator {\n"
"}\n"
"class Foo {\n"
" final a kjsdf ksjdf ;\n" // When we refinalize, we get an error.
@@ -42,8 +42,8 @@ runTests(CompileMode compileMode, {bool strongMode: false}) async {
class E extends C implements B {}
class F extends C {}
class G extends C {}
class H implements C {}
class I implements H {}
abstract class H implements C {}
abstract class I implements H {}
""",
mainSource: r"""
main() {
+2 -23
View File
@@ -140,7 +140,6 @@ switch3_negative_test: CompileTimeError
switch4_negative_test: CompileTimeError
switch5_negative_test: CompileTimeError
switch7_negative_test: CompileTimeError
syntax_test/none: Fail # Issue 11575
test_negative_test: CompileTimeError
try_catch_on_syntax_test/10: MissingCompileTimeError
try_catch_on_syntax_test/11: MissingCompileTimeError
@@ -539,7 +538,6 @@ override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_abstract_test/28: MissingCompileTimeError
override_inheritance_field_test/05: MissingCompileTimeError
override_inheritance_field_test/07: MissingCompileTimeError
override_inheritance_field_test/08: MissingCompileTimeError
@@ -1003,7 +1001,6 @@ override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_abstract_test/28: MissingCompileTimeError
override_inheritance_field_test/05: MissingCompileTimeError
override_inheritance_field_test/07: MissingCompileTimeError
override_inheritance_field_test/08: MissingCompileTimeError
@@ -1194,25 +1191,6 @@ multiline_newline_test/05r: MissingCompileTimeError
multiple_interface_inheritance_test: CompileTimeError # Issue 30552
no_main_test/01: MissingStaticWarning # Issue 28823
no_such_method_negative_test: CompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
override_inheritance_abstract_test/11: MissingCompileTimeError
override_inheritance_abstract_test/12: MissingCompileTimeError
override_inheritance_abstract_test/13: MissingCompileTimeError
override_inheritance_abstract_test/14: MissingCompileTimeError
override_inheritance_abstract_test/17: MissingCompileTimeError
override_inheritance_abstract_test/19: MissingCompileTimeError
override_inheritance_abstract_test/20: MissingCompileTimeError
override_inheritance_abstract_test/21: MissingCompileTimeError
override_inheritance_abstract_test/22: MissingCompileTimeError
override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_field_test/04: CompileTimeError
override_inheritance_field_test/06: CompileTimeError
override_inheritance_field_test/26: CompileTimeError
@@ -1225,7 +1203,6 @@ override_inheritance_field_test/50: CompileTimeError
override_inheritance_generic_test/02: CompileTimeError
override_inheritance_method_test/28: CompileTimeError
override_inheritance_method_test/29: CompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
parameter_initializer_test: CompileTimeError
parser_quirks_test: CompileTimeError
prefix13_negative_test: CompileTimeError, OK
@@ -1248,6 +1225,8 @@ string_unicode4_negative_test: CompileTimeError
super_bound_closure_test/none: CompileTimeError
super_setter_test: StaticWarning # Issue 28823
switch_case_test/none: CompileTimeError
syntax_test/60: MissingCompileTimeError
syntax_test/61: MissingCompileTimeError
type_promotion_functions_test/01: Pass
type_promotion_functions_test/05: Pass
type_promotion_functions_test/06: Pass
+2 -2
View File
@@ -1471,6 +1471,7 @@ override_field_test/03: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/07: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
@@ -1514,7 +1515,6 @@ override_inheritance_no_such_method_test/07: MissingCompileTimeError
override_inheritance_no_such_method_test/09: MissingCompileTimeError
override_inheritance_no_such_method_test/10: MissingCompileTimeError
override_inheritance_no_such_method_test/12: MissingCompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
override_method_with_field_test/01: MissingCompileTimeError
parser_quirks_test: CompileTimeError
partial_tearoff_instantiation_test/05: Crash # Assertion failure: kind=special,memberName=instantiate,callStructure:CallStructure(arity=0, types=1)
@@ -2141,6 +2141,7 @@ override_field_test/03: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/07: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
@@ -2184,7 +2185,6 @@ override_inheritance_no_such_method_test/07: MissingCompileTimeError
override_inheritance_no_such_method_test/09: MissingCompileTimeError
override_inheritance_no_such_method_test/10: MissingCompileTimeError
override_inheritance_no_such_method_test/12: MissingCompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
override_method_with_field_test/01: MissingCompileTimeError
parser_quirks_test: CompileTimeError
recursive_generic_test: RuntimeError
+22 -21
View File
@@ -170,7 +170,6 @@ super_operator_index5_test: RuntimeError
super_operator_index7_test: RuntimeError
super_operator_index8_test: RuntimeError
switch_case_test/none: CompileTimeError
syntax_test/none: CompileTimeError
truncdiv_test: RuntimeError # Issue 29920
try_catch_on_syntax_test/10: MissingCompileTimeError
try_catch_on_syntax_test/11: MissingCompileTimeError
@@ -563,6 +562,26 @@ override_field_method4_negative_test: Fail
override_field_method5_negative_test: Fail
override_field_test/01: MissingCompileTimeError
override_field_test/02: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/07: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
override_inheritance_abstract_test/11: MissingCompileTimeError
override_inheritance_abstract_test/12: MissingCompileTimeError
override_inheritance_abstract_test/13: MissingCompileTimeError
override_inheritance_abstract_test/14: MissingCompileTimeError
override_inheritance_abstract_test/17: MissingCompileTimeError
override_inheritance_abstract_test/19: MissingCompileTimeError
override_inheritance_abstract_test/20: MissingCompileTimeError
override_inheritance_abstract_test/21: MissingCompileTimeError
override_inheritance_abstract_test/22: MissingCompileTimeError
override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_field_test/04: CompileTimeError # Issue 31616
override_inheritance_field_test/06: CompileTimeError # Issue 31616
override_inheritance_field_test/26: CompileTimeError # Issue 31616
@@ -786,26 +805,6 @@ number_identity2_test: RuntimeError # Issue 29920; Expect.isTrue(false) fails.
numbers_test: RuntimeError # Issue 29920; Expect.equals(expected: <false>, actual: <true>) fails.
overridden_no_such_method_test: RuntimeError # UnimplementedError: JsInstanceMirror.delegate unimplemented; UnimplementedError: JsInstanceMirror.delegate unimplemented
override_field_test/03: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
override_inheritance_abstract_test/11: MissingCompileTimeError
override_inheritance_abstract_test/12: MissingCompileTimeError
override_inheritance_abstract_test/13: MissingCompileTimeError
override_inheritance_abstract_test/14: MissingCompileTimeError
override_inheritance_abstract_test/17: MissingCompileTimeError
override_inheritance_abstract_test/19: MissingCompileTimeError
override_inheritance_abstract_test/20: MissingCompileTimeError
override_inheritance_abstract_test/21: MissingCompileTimeError
override_inheritance_abstract_test/22: MissingCompileTimeError
override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
parser_quirks_test: CompileTimeError
private3_test: RuntimeError # Type 'PrivateSymbol' is not a subtype of type 'Symbol' in strong mode
regress_16640_test: RuntimeError # Issue 29920; Uncaught Error: type arguments should not be null: E => {
@@ -821,5 +820,7 @@ super_test: RuntimeError # Expect.equals(expected: <0>, actual: <2>) fails.
switch_label2_test: RuntimeError # Issue 29920; UnimplementedError: node <ShadowContinueSwitchStatement> see https://github.com/dart-lang/sdk/issues/29352 `continue #L1;
switch_label_test: RuntimeError # Issue 29920; UnimplementedError: node <ShadowContinueSwitchStatement> see https://github.com/dart-lang/sdk/issues/29352 `continue #L1;
switch_try_catch_test: RuntimeError # Issue 29920; Expect.throws: Unexpected 'UnimplementedError: node <ShadowContinueSwitchStatement> see https://github.com/dart-lang/sdk/issues/29352 `continue #L1;
syntax_test/60: MissingCompileTimeError
syntax_test/61: MissingCompileTimeError
truncdiv_test: RuntimeError # Issue 29920; Expect.throws fails: Did not throw
vm/*: SkipByDesign # VM only tests.; VM only tests.
+1 -2
View File
@@ -182,6 +182,7 @@ override_field_test/03: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/07: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
@@ -214,7 +215,6 @@ override_inheritance_no_such_method_test/07: MissingCompileTimeError
override_inheritance_no_such_method_test/09: MissingCompileTimeError
override_inheritance_no_such_method_test/10: MissingCompileTimeError
override_inheritance_no_such_method_test/12: MissingCompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
partial_tearoff_instantiation_test/05: MissingCompileTimeError
partial_tearoff_instantiation_test/06: MissingCompileTimeError
partial_tearoff_instantiation_test/07: MissingCompileTimeError
@@ -1911,7 +1911,6 @@ override_field_method2_negative_test: Fail
override_field_method4_negative_test: Fail
override_field_method5_negative_test: Fail
override_field_test/01: MissingCompileTimeError
override_inheritance_abstract_test/28: MissingCompileTimeError
override_inheritance_field_test/05: MissingCompileTimeError
override_inheritance_field_test/07: MissingCompileTimeError
override_inheritance_field_test/08: MissingCompileTimeError
@@ -779,7 +779,6 @@ override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_abstract_test/28: MissingCompileTimeError
override_inheritance_field_test/05: MissingCompileTimeError
override_inheritance_field_test/07: MissingCompileTimeError
override_inheritance_field_test/08: MissingCompileTimeError
+1 -2
View File
@@ -774,6 +774,7 @@ override_field_test/03: MissingCompileTimeError
override_inheritance_abstract_test/02: MissingCompileTimeError
override_inheritance_abstract_test/03: MissingCompileTimeError
override_inheritance_abstract_test/04: MissingCompileTimeError
override_inheritance_abstract_test/07: MissingCompileTimeError
override_inheritance_abstract_test/08: MissingCompileTimeError
override_inheritance_abstract_test/09: MissingCompileTimeError
override_inheritance_abstract_test/10: MissingCompileTimeError
@@ -790,7 +791,6 @@ override_inheritance_abstract_test/23: MissingCompileTimeError
override_inheritance_abstract_test/24: MissingCompileTimeError
override_inheritance_abstract_test/25: MissingCompileTimeError
override_inheritance_abstract_test/26: MissingCompileTimeError
override_inheritance_abstract_test/28: MissingCompileTimeError
override_inheritance_field_test/05: MissingCompileTimeError
override_inheritance_field_test/07: MissingCompileTimeError
override_inheritance_field_test/08: MissingCompileTimeError
@@ -840,7 +840,6 @@ override_inheritance_no_such_method_test/07: MissingCompileTimeError
override_inheritance_no_such_method_test/09: MissingCompileTimeError
override_inheritance_no_such_method_test/10: MissingCompileTimeError
override_inheritance_no_such_method_test/12: MissingCompileTimeError
override_inheritance_no_such_method_test/13: MissingCompileTimeError
override_method_with_field_test/02: MissingCompileTimeError
part2_test/01: MissingCompileTimeError
positional_parameters_type_test/01: MissingCompileTimeError
@@ -6,7 +6,7 @@ abstract class A {
method1(); //# 01: ok
method5(); //# 05: ok
method6(); //# 06: ok
method7();
method7(); //# 07: compile-time error
get getter8; //# 08: compile-time error
set setter9(_); //# 09: compile-time error
method10(); //# 10: compile-time error
@@ -44,7 +44,7 @@ abstract class J {
var member21; //# 21: continued
}
abstract class Class extends A implements I, J {
class Class extends A implements I, J {
method1() {} //# 01: continued
method2(); //# 02: compile-time error
get getter3; //# 03: compile-time error
@@ -62,5 +62,5 @@ abstract class Class extends A implements I, J {
}
main() {
new Class(); //# 28: compile-time error
new Class();
}
@@ -2,7 +2,7 @@
// 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.
// Test use of @proxy and noSuchMethod in relation to abstract methods in
// Test use of noSuchMethod in relation to abstract methods in
// concrete classes.
abstract class A {
@@ -17,14 +17,9 @@ abstract class I {
method11(); //# 11: ok
}
@proxy //# 02: compile-time error
@proxy //# 07: continued
@proxy //# 10: continued
class Class1 extends A implements I {
method1(); //# 01: compile-time error
method2(); //# 02: continued
noSuchMethod(_) => null; //# 03: ok
method3(); //# 03: continued
@@ -39,11 +34,10 @@ class Class1 extends A implements I {
noSuchMethod(_) => null; //# 11: continued
}
@proxy //# 12: compile-time error
class B {
method12(); //# 12: continued
method12(); //# 12: compile-time error
noSuchMethod(_) => null; //# 13: compile-time error
noSuchMethod(_) => null; //# 13: ok
method13(); //# 13: continued
}
+9 -3
View File
@@ -112,7 +112,9 @@ native 'JSON' //# 32: syntax error
class ListFactory<E> implements List<E>
native "Array" //# 33: syntax error
{}
{
noSuchMethod(_) => null; // Allow unimplemented methods
}
abstract class I implements UNKNOWN; //# 34: syntax error
@@ -138,7 +140,9 @@ hest 'JSON' //# 39: syntax error
class XListFactory<E> implements List<E>
hest "Array" //# 40: syntax error
{}
{
noSuchMethod(_) => null; // Allow unimplemented methods
}
class YWindow extends DOMWindow
for "*Window" //# 41: syntax error
@@ -162,7 +166,9 @@ for 'JSON' //# 45: syntax error
class YListFactory<E> implements List<E>
for "Array" //# 46: syntax error
{}
{
noSuchMethod(_) => null; // Allow unimplemented methods
}
class A {
const A()