blob: 2e41220ac53c05266c134acf4999311be6bfd0c2 [file] [log] [blame]
library;
//
// Problems in library:
//
// pkg/front_end/testcases/class_modifiers/base/outside_library/main.dart:7:43: Error: The class 'A' can't be implemented outside of its library because it's a base class.
// base class ImplementsBaseClass implements A {} /* Error */
// ^
//
// pkg/front_end/testcases/class_modifiers/base/outside_library/main.dart:9:43: Error: The mixin 'M' can't be implemented outside of its library because it's a base mixin.
// base class ImplementsBaseMixin implements M {} /* Error */
// ^
//
// pkg/front_end/testcases/class_modifiers/base/outside_library/main.dart:11:41: Error: The mixin 'M' can't be implemented outside of its library because it's a base mixin.
// enum EnumImplementsBaseMixin implements M { x } /* Error */
// ^
//
import self as self;
import "dart:core" as core;
import "main_lib.dart" as mai;
import "org-dartlang-testcase:///main_lib.dart";
base class ImplementsBaseClass extends core::Object implements mai::A {
synthetic constructor •() self::ImplementsBaseClass
;
}
base class ImplementsBaseMixin extends core::Object implements mai::M {
synthetic constructor •() self::ImplementsBaseMixin
;
}
class EnumImplementsBaseMixin extends core::_Enum implements mai::M /*isEnum*/ {
enum-element static const field self::EnumImplementsBaseMixin x = const self::EnumImplementsBaseMixin::•(0, "x");
static const field core::List<self::EnumImplementsBaseMixin> values = const <self::EnumImplementsBaseMixin>[self::EnumImplementsBaseMixin::x];
const synthetic constructor •(core::int #index, core::String #name) → self::EnumImplementsBaseMixin
: super core::_Enum::•(#index, #name)
;
method core::_enumToString() core::String
return "EnumImplementsBaseMixin.${this.{core::_Enum::_name}{core::String}}";
}
abstract base class MixinOnA extends mai::A /*isMixinDeclaration*/ {
}
abstract base class MixinOnM extends mai::M /*isMixinDeclaration*/ {
}
abstract base class MixinOnAM extends self::_MixinOnAM&A&M /*isMixinDeclaration*/ {
}
abstract class _MixinOnAM&A&M extends core::Object implements mai::A, mai::M /*isAnonymousMixin*/ {
synthetic constructor •() self::_MixinOnAM&A&M
;
}
library;
import self as mai;
import "dart:core" as core;
base class A extends core::Object {
synthetic constructor •() mai::A
;
}
abstract base class M extends core::Object /*isMixinDeclaration*/ {
}
Extra constant evaluation status:
Evaluated: ConstructorInvocation @ org-dartlang-testcase:///main.dart:11:45 -> InstanceConstant(const EnumImplementsBaseMixin{_Enum.index: 0, _Enum._name: "x"})
Evaluated: ListLiteral @ org-dartlang-testcase:///main.dart:11:6 -> ListConstant(const <EnumImplementsBaseMixin>[const EnumImplementsBaseMixin{_Enum.index: 0, _Enum._name: "x"}])
Extra constant evaluation: evaluated: 7, effectively constant: 2