library;
//
// Problems in library:
//
// pkg/front_end/testcases/part_not_part_of_same_named_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/part_not_part_of_same_named_library.dart' but its 'part of' declaration says 'foo'.
// Try changing the 'part of' declaration to use a relative file name.
// part 'part_not_part_of_same_named_library_lib1.dart';
//      ^
//
import self as self;
import "dart:core" as core;

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

@core::override
part part_not_part_of_same_named_library_lib1.dart;
static method main() → dynamic {}

library foo;
import self as self2;

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