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

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

  abstract class Bar extends dart.core::Object implements lib2::Baz {
    synthetic constructor •() → lib1::Bar
      : super dart.core::Object::•()
      ;
  }
}
library from "org-dartlang-test:///lib2.dart" as lib2 {

  abstract class Baz extends dart.core::Object {
    synthetic constructor •() → lib2::Baz
      : super dart.core::Object::•()
      ;
    abstract get x() → lib2::Baz;
  }
}
library from "org-dartlang-test:///main.dart" as main {

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

  abstract class Foo extends dart.core::Object implements lib1::Bar {
    synthetic constructor •() → main::Foo
      : super dart.core::Object::•()
      ;
    @#C1
    abstract get x() → main::Foo;
  }
}
constants  {
  #C1 = dart.core::_Override {}
}
