// Copyright (c) 2019, 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. // @dart=2.9 class A1 {} extension A2 on A1 { A1 method1() { return this; } A1 method2(T o) { print(o); return this; } A1 method3([T o]) { print(o); return this; } A1 method4({T o}) { print(o); return this; } } class B1 {} extension B2 on B1 { B1 method1() { return this; } B1 method2(S o) { print(o); return this; } } main() {}