main = main::main;
library from "org-dartlang-test:///lib.dart" as lib {
//
// Problems in library:
//
// org-dartlang-test:///lib.dart:1:1: Error: Can't import 'org-dartlang-test:///part.dart', because it has a 'part of' declaration.
// Try removing the 'part of' declaration, or using 'org-dartlang-test:///part.dart' as a part.
// import 'part.dart';
// ^
//
// org-dartlang-test:///lib.dart:2:1: Error: Can't import 'org-dartlang-test:///part.dart', because it has a 'part of' declaration.
// Try removing the 'part of' declaration, or using 'org-dartlang-test:///part.dart' as a part.
// import 'part.dart';
// ^
//
// org-dartlang-test:///lib.dart:3:1: Error: Can't import 'org-dartlang-test:///part.dart', because it has a 'part of' declaration.
// Try removing the 'part of' declaration, or using 'org-dartlang-test:///part.dart' as a part.
// import 'part.dart';
// ^
//

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

  static method libMethod() → void {}
}
library from "org-dartlang-test:///main.dart" as main {

  import "org-dartlang-test:///lib.dart" as lib;

  static method main() → void {}
}
library from "org-dartlang-test:///part.dart" as part {
//
// Problems in library:
//
// org-dartlang-test:///part.dart:1:1: Error: This part doesn't have a containing library.
// Try removing the 'part of' declaration.
// // Notice that main.dart didn't claim this as a part!
// ^
//

  static method partMethod() → void {}
}
