main = <No Member>;
library from "org-dartlang-test:///file1.dart" as fil {

  class D extends dart.core::Object {
    field fil::D? parent = null;
    synthetic constructor •() → fil::D
      : super dart.core::Object::•()
      ;
  }
}
library from "org-dartlang-test:///file2.dart" as fil2 {

  import "org-dartlang-test:///file1.dart";

  abstract class C extends dart.core::Object implements fil::D {
    synthetic constructor •() → fil2::C
      : super dart.core::Object::•()
      ;
  }
  class B extends fil::D {
    field fil::D? parent = null;
    synthetic constructor •() → fil2::B
      : super fil::D::•()
      ;
  }
}
library from "org-dartlang-test:///main.dart" as main {

  import "org-dartlang-test:///file2.dart";

  class A extends fil2::B implements fil2::C {
    synthetic constructor •() → main::A
      : super fil2::B::•()
      ;
  }
}
