library;
//
// Problems in library:
//
// pkg/front_end/testcases/general/part_not_part_of_same_named_library.dart:8:6: Warning: Using 'pkg/front_end/testcases/general/part_not_part_of_same_named_library_lib1.dart' as part of 'pkg/front_end/testcases/general/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";

@#C1
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();
}

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