blob: 4dbbe1038138a3ac64b68c77464e44d376ba4eda [file] [log] [blame]
library /*isNonNullableByDefault*/;
//
// Problems in library:
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:7:39: Error: The class 'A' can't be extended outside of its library because it's a final class.
// final class ExtendsFinalClass extends A {}
// ^
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:9:45: Error: The class 'A' can't be implemented outside of its library because it's a final class.
// final class ImplementsFinalClass implements A {}
// ^
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:11:45: Error: The mixin 'M' can't be implemented outside of its library because it's a final mixin.
// final class ImplementsFinalMixin implements M {}
// ^
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:13:34: Error: The mixin 'M' can't be mixed-in outside of its library because it's a final mixin.
// final class MixInFinalMixin with M {}
// ^
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:15:42: Error: The mixin 'M' can't be implemented outside of its library because it's a final mixin.
// enum EnumImplementsFinalMixin implements M { x }
// ^
//
// pkg/front_end/testcases/class_modifiers/final/outside_library/main.dart:17:31: Error: The mixin 'M' can't be mixed-in outside of its library because it's a final mixin.
// enum EnumMixInFinalMixin with M { x }
// ^
//
import self as self;
import "main_lib.dart" as mai;
import "dart:core" as core;
import "org-dartlang-testcase:///main_lib.dart";
final class ExtendsFinalClass extends mai::A {
synthetic constructor •() self::ExtendsFinalClass
: super mai::A::•()
;
}
final class ImplementsFinalClass extends core::Object implements mai::A {
synthetic constructor •() self::ImplementsFinalClass
: super core::Object::•()
;
}
final class ImplementsFinalMixin extends core::Object implements mai::M {
synthetic constructor •() self::ImplementsFinalMixin
: super core::Object::•()
;
}
abstract final class _MixInFinalMixin&Object&M = core::Object with mai::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •() self::_MixInFinalMixin&Object&M
: super core::Object::•()
;
}
final class MixInFinalMixin extends self::_MixInFinalMixin&Object&M {
synthetic constructor •() self::MixInFinalMixin
: super self::_MixInFinalMixin&Object&M::•()
;
}
class EnumImplementsFinalMixin extends core::_Enum implements mai::M /*isEnum*/ {
static const field core::List<self::EnumImplementsFinalMixin> values = #C4;
enum-element static const field self::EnumImplementsFinalMixin x = #C3;
const constructor •(core::int #index, core::String #name) → self::EnumImplementsFinalMixin
: super core::_Enum::•(#index, #name)
;
method _enumToString() core::String
return "EnumImplementsFinalMixin.${this.{core::_Enum::_name}{core::String}}";
}
abstract final class _EnumMixInFinalMixin&_Enum&M = core::_Enum with mai::M /*isAnonymousMixin,hasConstConstructor*/ {
const synthetic constructor •(core::int index, core::String _name) self::_EnumMixInFinalMixin&_Enum&M
: super core::_Enum::•(index, _name)
;
}
class EnumMixInFinalMixin extends self::_EnumMixInFinalMixin&_Enum&M /*isEnum*/ {
static const field core::List<self::EnumMixInFinalMixin> values = #C6;
enum-element static const field self::EnumMixInFinalMixin x = #C5;
const constructor •(core::int #index, core::String #name) → self::EnumMixInFinalMixin
: super self::_EnumMixInFinalMixin&_Enum&M::•(#index, #name)
;
method _enumToString() core::String
return "EnumMixInFinalMixin.${this.{core::_Enum::_name}{core::String}}";
}
abstract final class MixinOnA extends mai::A /*isMixinDeclaration*/ {
}
abstract final class MixinOnM extends mai::M /*isMixinDeclaration*/ {
}
abstract class _MixinOnAM&A&M extends core::Object implements mai::A, mai::M /*isAnonymousMixin*/ {
synthetic constructor •() self::_MixinOnAM&A&M
: super core::Object::•()
;
}
abstract final class MixinOnAM extends self::_MixinOnAM&A&M /*isMixinDeclaration*/ {
}
constants {
#C1 = 0
#C2 = "x"
#C3 = self::EnumImplementsFinalMixin {index:#C1, _name:#C2}
#C4 = <self::EnumImplementsFinalMixin*>[#C3]
#C5 = self::EnumMixInFinalMixin {index:#C1, _name:#C2}
#C6 = <self::EnumMixInFinalMixin*>[#C5]
}
Constructor coverage from constants:
org-dartlang-testcase:///main.dart:
- EnumImplementsFinalMixin. (from org-dartlang-testcase:///main.dart:15:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)
- EnumMixInFinalMixin. (from org-dartlang-testcase:///main.dart:17:6)
- _EnumMixInFinalMixin&_Enum&M. (from org-dartlang-testcase:///main.dart:17:6)