library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart:8:6: Error: Using 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/general/part_part_of_different_unnamed_library_lib2.dart'.
// part 'part_part_of_different_unnamed_library_lib1.dart';
//      ^
//
import self as self;
import "dart:core" as core;

import "org-dartlang-testcase:///part_part_of_different_unnamed_library_lib2.dart";

@#C1
part part_part_of_different_unnamed_library_lib1.dart;
static method main() → dynamic {}

library;
import self as self2;

part part_part_of_different_unnamed_library_lib1.dart;
static method /* from org-dartlang-testcase:///part_part_of_different_unnamed_library_lib1.dart */ methodFromLib1() → dynamic {}
static method methodFromLib2() → dynamic {
  self2::methodFromLib1();
}

constants  {
  #C1 = core::_Override {}
}
