blob: 8a3f1944b4accffdc45557d594ca0bfbd185147f [file] [log] [blame]
// Copyright (c) 2020, 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.
import 'generic_override_lib.dart';
abstract class Class1 {
void method1a<T>();
void method1b<T>();
void method1c<T>();
void method2a<T extends Object?>();
void method2b<T extends Object?>();
void method2c<T extends Object?>();
void method3a<T extends dynamic>();
void method3b<T extends dynamic>();
void method3c<T extends dynamic>();
void method4a<T extends Object>();
void method4b<T extends Object>();
void method4c<T extends Object?>();
void method5a<T extends Class1>();
void method5b<T extends Class1>();
void method5c<T extends Class1?>();
}
abstract class Class2 extends Class1 {
void method1a<T>();
void method1b<T extends Object?>();
void method1c<T extends dynamic>();
void method2a<T>();
void method2b<T extends Object?>();
void method2c<T extends dynamic>();
void method3a<T>();
void method3b<T extends Object?>();
void method3c<T extends dynamic>();
void method4a<T extends Object>();
void method4b<T extends Object?>(); // error
void method4c<T extends Object>(); // error
void method5a<T extends Class1>();
void method5b<T extends Class1?>(); // error
void method5c<T extends Class1>(); // error
}
abstract class Class3 extends LegacyClass1 {
void method1a<T>();
void method1b<T extends Object?>();
void method1c<T extends dynamic>();
void method2a<T>();
void method2b<T extends Object?>();
void method2c<T extends dynamic>();
void method3a<T>();
void method3b<T extends Object?>();
void method3c<T extends dynamic>();
void method4a<T extends Object>();
void method4b<T extends Object?>();
void method4c<T extends Object>();
void method5a<T extends Class1>();
void method5b<T extends Class1?>();
void method5c<T extends Class1>();
}
main() {}