// 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 part 'check_bounds_lib.dart'; class A {} class B extends A {} class Class {} extension Extension on Class { method() {} genericMethod(S s) {} } main() {} test() { A a; Class classA = new Class(); classA.method(); // Expect method not found. Extension(classA).method(); // Expect bounds mismatch. Extension(classA).method(); // Expect bounds mismatch. Extension(classA).method(); Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); // Expect bounds mismatch. Extension(classA).genericMethod(a); Class classB = new Class(); classB.method(); Extension(classB).method(); Extension(classB).method(); // Expect bounds mismatch. Extension(classB).method(); classB.genericMethod(a); // Expect bounds mismatch. classB.genericMethod(a); // Expect bounds mismatch. classB.genericMethod(a); Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); // Expect bounds mismatch. Extension(classB).genericMethod(a); } final A a = new A(); final Class classA = new Class(); final field1 = classA.method(); // Expect method not found. final field2 = Extension(classA).method(); // Expect bounds mismatch. final field3 = Extension(classA).method(); // Expect bounds mismatch. final field4 = Extension(classA).method(); final field5 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field6 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field7 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field8 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field9 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field10 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field11 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field12 = Extension(classA).genericMethod(a); // Expect bounds mismatch. final field13 = Extension(classA).genericMethod(a); final Class classB = new Class(); final field14 = classB.method(); final field15 = Extension(classB).method(); final field16 = Extension(classB).method(); // Expect bounds mismatch. final field17 = Extension(classB).method(); final field18 = classB.genericMethod(a); // Expect bounds mismatch. final field19 = classB.genericMethod(a); // Expect bounds mismatch. final field20 = classB.genericMethod(a); final field21 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field22 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field23 = Extension(classB).genericMethod(a); final field24 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field25 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field26 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field27 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field28 = Extension(classB).genericMethod(a); // Expect bounds mismatch. final field29 = Extension(classB).genericMethod(a);