| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:7:50: Error: The class 'A' can't be implemented outside of its library because it's a base class. |
| // base class ImplementsBaseClassTypedef implements ATypeDef {} |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:9:51: Error: The class 'A' can't be implemented outside of its library because it's a base class. |
| // base class ImplementsBaseClassTypedef2 implements ATypeDef2 {} |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:11:50: Error: The mixin 'M' can't be implemented outside of its library because it's a base mixin. |
| // base class ImplementsBaseMixinTypeDef implements MTypeDef {} |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:13:51: Error: The mixin 'M' can't be implemented outside of its library because it's a base mixin. |
| // base class ImplementsBaseMixinTypeDef2 implements MTypeDef2 {} |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:19:57: Error: The class 'A' can't be implemented outside of its library because it's a base class. |
| // base class ImplementsBaseClassTypedefOutside implements AOutsideTypedef {} |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/base/typedef/main.dart:21:57: Error: The mixin 'M' can't be implemented outside of its library because it's a base mixin. |
| // base class ImplementsBaseMixinTypeDefOutside implements MOutsideTypedef {} |
| // ^ |
| // |
| import self as self; |
| import "main_lib.dart" as mai; |
| import "dart:core" as core; |
| |
| import "org-dartlang-testcase:///main_lib.dart"; |
| |
| typedef AOutsideTypedef = mai::A; |
| typedef MOutsideTypedef = mai::M; |
| base class ImplementsBaseClassTypedef extends core::Object implements mai::A { |
| synthetic constructor •() → self::ImplementsBaseClassTypedef |
| ; |
| } |
| base class ImplementsBaseClassTypedef2 extends core::Object implements mai::A { |
| synthetic constructor •() → self::ImplementsBaseClassTypedef2 |
| ; |
| } |
| base class ImplementsBaseMixinTypeDef extends core::Object implements mai::M { |
| synthetic constructor •() → self::ImplementsBaseMixinTypeDef |
| ; |
| } |
| base class ImplementsBaseMixinTypeDef2 extends core::Object implements mai::M { |
| synthetic constructor •() → self::ImplementsBaseMixinTypeDef2 |
| ; |
| } |
| base class ImplementsBaseClassTypedefOutside extends core::Object implements mai::A { |
| synthetic constructor •() → self::ImplementsBaseClassTypedefOutside |
| ; |
| } |
| base class ImplementsBaseMixinTypeDefOutside extends core::Object implements mai::M { |
| synthetic constructor •() → self::ImplementsBaseMixinTypeDefOutside |
| ; |
| } |
| |
| library; |
| import self as mai; |
| import "dart:core" as core; |
| |
| typedef ATypeDef = mai::A; |
| typedef ATypeDef2 = mai::A; |
| typedef MTypeDef = mai::M; |
| typedef MTypeDef2 = mai::M; |
| base class A extends core::Object { |
| synthetic constructor •() → mai::A |
| ; |
| } |
| abstract base class M extends core::Object /*isMixinDeclaration*/ { |
| } |