library;
//
// Problems in library:
//
// pkg/front_end/testcases/part_part_of_different_unnamed_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/part_part_of_different_unnamed_library_lib1.dart' as part of 'pkg/front_end/testcases/part_part_of_different_unnamed_library.dart' but its 'part of' declaration says 'pkg/front_end/testcases/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";

@core::override
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();
}
