dart-sdk/tests/language/override/inheritance_no_such_method_test.dart
Robert Nystrom f1a4cc8778 Migrate language_2/override to NNBD.
Change-Id: Ic9fe9c8e89e3782b754f8404b48c3d27604d76e5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150281
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2020-06-06 00:46:50 +00:00

50 lines
1.1 KiB
Dart

// 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.
// Test use of noSuchMethod in relation to abstract methods in
// concrete classes.
abstract class A {
method6(); //# 06: compile-time error
method7(); //# 07: compile-time error
method8(); //# 08: ok
}
abstract class I {
method9(); //# 09: compile-time error
method10(); //# 10: compile-time error
method11(); //# 11: ok
}
class Class1 extends A implements I {
method1(); //# 01: compile-time error
noSuchMethod(_) => null; //# 03: ok
method3(); //# 03: continued
noSuchMethod(_, [__]) => null; //# 04: ok
method4(); //# 04: continued
noSuchMethod(_); //# 05: compile-time error
method5(); //# 05: continued
noSuchMethod(_) => null; //# 08: continued
noSuchMethod(_) => null; //# 11: continued
}
class B {
method12(); //# 12: compile-time error
noSuchMethod(_) => null; //# 13: ok
method13(); //# 13: continued
}
class Class2 extends B {}
main() {
new Class1();
new Class2();
}