# Copyright (c) 2022, 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.

sources:
  a.dart: |
    import "b.dart";

    main() {
      Foo foo = new Foo();
      print(foo.foo);
    }

    class Foo<E1> {
      E1? get foo => null;
      String get bar => "hello";
    }

    class Bar {}
  b.dart: |
    class Foo<E2> {
      E2? get foo => null;
      int get bar => 42;
    }
entry_point: "a.dart"
position: "a.dart#Foo"
expression: |
  bar.length
