main = main::main;
library from "org-dartlang-test:///b.dart" as b {

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

  static method b() → dynamic {
    dart.core::print("hello from b");
    c::c();
  }
}
library from "org-dartlang-test:///c.dart" as c {

  static method c() → dynamic {
    dart.core::print("hello from c");
  }
}
library from "org-dartlang-test:///main.dart" as main {

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

  static method main() → dynamic {
    dart.core::print("hello");
    b::b();
  }
}
library from "org-dartlang-test:///nonexisting.dart" as non {
//
// Problems in library:
//
// org-dartlang-test:///main.dart:2:8: Error: Error when reading 'org-dartlang-test:///nonexisting.dart': File org-dartlang-test:///nonexisting.dart does not exist.
// import "nonexisting.dart";
//        ^
//

}
