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

  part e.dart;
  part c.dart;
  part d.dart;
  static method b() → dynamic {
    lib::c();
    lib::d();
    lib::e();
  }
  static method /* from org-dartlang-test:///c.dart */ c() → dynamic {}
  static method /* from org-dartlang-test:///d.dart */ d() → dynamic {}
  static method /* from org-dartlang-test:///e.dart */ e() → dynamic {}
}
library from "org-dartlang-test:///main.dart" as main {

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

  static method main() → dynamic {
    lib::b();
  }
}
