// 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 A {} class B extends A {} class C extends B {} class GenericClass {} extension GenericExtension on GenericClass { T get property => null; T method(T t) => null; S genericMethod1(S s) => null; } main() { A aVariable; C cVariable; GenericClass aClass; GenericClass bClass; GenericClass cClass; cVariable = GenericExtension(aClass).property; cVariable = GenericExtension(aClass).property; cVariable = GenericExtension(aClass).property; cVariable = GenericExtension(aClass).property; cVariable = GenericExtension(bClass).property; cVariable = GenericExtension(bClass).property; cVariable = GenericExtension(bClass).property; cVariable = GenericExtension(bClass).property; aVariable = GenericExtension(cClass).property; aVariable = GenericExtension(cClass).property; aVariable = GenericExtension(cClass).property; aVariable = GenericExtension(cClass).property; cVariable = GenericExtension(aClass).method(aVariable); cVariable = GenericExtension(aClass).method(aVariable); cVariable = GenericExtension(aClass).method(aVariable); cVariable = GenericExtension(aClass).method(aVariable); cVariable = GenericExtension(bClass).method(aVariable); cVariable = GenericExtension(bClass).method(aVariable); cVariable = GenericExtension(bClass).method(aVariable); cVariable = GenericExtension(bClass).method(aVariable); aVariable = GenericExtension(cClass).method(aVariable); aVariable = GenericExtension(cClass).method(aVariable); aVariable = GenericExtension(cClass).method(aVariable); aVariable = GenericExtension(cClass).method(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(aClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(bClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); cVariable = GenericExtension(cClass).genericMethod1(aVariable); }