|  | library; | 
|  | // | 
|  | // Problems in library: | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:14:31: Error: The class 'A' can't be implemented outside of its library because it's a base class. | 
|  | // base class DirectA implements A /* Error */ {} | 
|  | //                               ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:16:33: Error: The class 'A' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectA implements BaseA /* Error */ {} | 
|  | //                                 ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib1.dart:5:12: Context: The type 'BaseA' is a subtype of 'A', and 'A' is defined here. | 
|  | // base class A {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:18:50: Error: The class 'A' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectBaseA extends Base implements BaseA /* Error */ {} | 
|  | //                                                  ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib1.dart:5:12: Context: The type 'BaseA' is a subtype of 'A', and 'A' is defined here. | 
|  | // base class A {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:20:34: Error: The class 'A' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectA2 implements BaseA2 /* Error */ {} | 
|  | //                                  ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib1.dart:5:12: Context: The type 'BaseA2' is a subtype of 'A', and 'A' is defined here. | 
|  | // base class A {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:22:51: Error: The class 'A' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectBaseA2 extends Base implements BaseA2 /* Error */ {} | 
|  | //                                                   ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib1.dart:5:12: Context: The type 'BaseA2' is a subtype of 'A', and 'A' is defined here. | 
|  | // base class A {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:28:31: Error: The class 'B' can't be implemented outside of its library because it's a base class. | 
|  | // base class DirectB implements B /* Error */ {} | 
|  | //                               ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:30:33: Error: The class 'B' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectB implements BaseB /* Error */ {} | 
|  | //                                 ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib2.dart:5:12: Context: The type 'BaseB' is a subtype of 'B', and 'B' is defined here. | 
|  | // base class B {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:32:34: Error: The class 'B' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectB2 implements BaseB2 /* Error */ {} | 
|  | //                                  ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib2.dart:5:12: Context: The type 'BaseB2' is a subtype of 'B', and 'B' is defined here. | 
|  | // base class B {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:34:50: Error: The class 'B' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectBaseB extends Base implements BaseB /* Error */ {} | 
|  | //                                                  ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib2.dart:5:12: Context: The type 'BaseB' is a subtype of 'B', and 'B' is defined here. | 
|  | // base class B {} | 
|  | //            ^ | 
|  | // | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main.dart:36:51: Error: The class 'B' can't be implemented outside of its library because it's a base class. | 
|  | // base class IndirectBaseB2 extends Base implements BaseB2 /* Error */ {} | 
|  | //                                                   ^ | 
|  | // pkg/front_end/testcases/class_modifiers/issue52161/main_lib2.dart:5:12: Context: The type 'BaseB2' is a subtype of 'B', and 'B' is defined here. | 
|  | // base class B {} | 
|  | //            ^ | 
|  | // | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  | import "main_lib1.dart" as mai; | 
|  | import "main_lib2.dart" as mai2; | 
|  |  | 
|  | import "org-dartlang-testcase:///main_lib1.dart"; | 
|  | import "org-dartlang-testcase:///main_lib2.dart"; | 
|  |  | 
|  | base class Base extends core::Object { | 
|  | synthetic constructor •() → self::Base | 
|  | ; | 
|  | } | 
|  | base class BaseA extends mai::A { | 
|  | synthetic constructor •() → self::BaseA | 
|  | ; | 
|  | } | 
|  | base class BaseA2 extends self::BaseA { | 
|  | synthetic constructor •() → self::BaseA2 | 
|  | ; | 
|  | } | 
|  | base class DirectA extends core::Object implements mai::A { | 
|  | synthetic constructor •() → self::DirectA | 
|  | ; | 
|  | } | 
|  | base class IndirectA extends core::Object implements self::BaseA { | 
|  | synthetic constructor •() → self::IndirectA | 
|  | ; | 
|  | } | 
|  | base class IndirectBaseA extends self::Base implements self::BaseA { | 
|  | synthetic constructor •() → self::IndirectBaseA | 
|  | ; | 
|  | } | 
|  | base class IndirectA2 extends core::Object implements self::BaseA2 { | 
|  | synthetic constructor •() → self::IndirectA2 | 
|  | ; | 
|  | } | 
|  | base class IndirectBaseA2 extends self::Base implements self::BaseA2 { | 
|  | synthetic constructor •() → self::IndirectBaseA2 | 
|  | ; | 
|  | } | 
|  | base class BaseB extends mai2::B { | 
|  | synthetic constructor •() → self::BaseB | 
|  | ; | 
|  | } | 
|  | base class BaseB2 extends self::BaseB { | 
|  | synthetic constructor •() → self::BaseB2 | 
|  | ; | 
|  | } | 
|  | base class DirectB extends core::Object implements mai2::B { | 
|  | synthetic constructor •() → self::DirectB | 
|  | ; | 
|  | } | 
|  | base class IndirectB extends core::Object implements self::BaseB { | 
|  | synthetic constructor •() → self::IndirectB | 
|  | ; | 
|  | } | 
|  | base class IndirectB2 extends core::Object implements self::BaseB2 { | 
|  | synthetic constructor •() → self::IndirectB2 | 
|  | ; | 
|  | } | 
|  | base class IndirectBaseB extends self::Base implements self::BaseB { | 
|  | synthetic constructor •() → self::IndirectBaseB | 
|  | ; | 
|  | } | 
|  | base class IndirectBaseB2 extends self::Base implements self::BaseB2 { | 
|  | synthetic constructor •() → self::IndirectBaseB2 | 
|  | ; | 
|  | } | 
|  |  | 
|  | library; | 
|  | import self as mai; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | base class A extends core::Object { | 
|  | synthetic constructor •() → mai::A | 
|  | ; | 
|  | } | 
|  |  | 
|  | library; | 
|  | import self as mai2; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | base class B extends core::Object { | 
|  | synthetic constructor •() → mai2::B | 
|  | ; | 
|  | } |