blob: 2eb3b217a4a88ca569a800e0dcefddc7085d93da [file] [log] [blame]
library;
import self as self;
import "dart:core" as core;
class A extends core::_Enum /*isEnum*/ {
enum-element static const field self::A element = #C3;
static const field core::List<self::A> values = #C4;
const synthetic constructor •(core::int #index, core::String #name) → self::A
: super core::_Enum::•(#index, #name)
;
method core::_enumToString() core::String
return "A.${this.{core::_Enum::_name}{core::String}}";
static get enumGetter() core::String
return "A.enumGetter";
static set enumSetter(core::num value) void {
throw "A.enumSetter=";
}
static method enumMethod() core::String
return "A.enumMethod";
}
extension E on self::A {
static get enumGetter = get self::E|enumGetter;
static get extensionGetter = get self::E|extensionGetter;
static set enumSetter = set self::E|enumSetter;
static set extensionSetter = set self::E|extensionSetter;
static method enumMethod = self::E|enumMethod;
static method extensionMethod = self::E|extensionMethod;
}
static extension-member get E|enumGetter() core::String
return "E.enumGetter";
static extension-member get E|extensionGetter() core::String
return "E.extensionGetter";
static extension-member set E|enumSetter(core::num value) void {}
static extension-member set E|extensionSetter(core::bool value) void {}
static extension-member method E|enumMethod() core::String
return "E.enumMethod";
static extension-member method E|extensionMethod() core::String
return "E.extensionMethod";
static method main() dynamic {
self::expectEqual(self::A::enumGetter, "A.enumGetter");
self::expectEqual(self::E|extensionGetter, "E.extensionGetter");
self::expectThrows(() Null {
self::A::enumSetter = 0;
});
self::expectDoesntThrow(() Null {
self::E|extensionSetter = false;
});
self::expectEqual(self::A::enumMethod(), "A.enumMethod");
self::expectEqual(self::E|extensionMethod(), "E.extensionMethod");
}
static method expectEqual(dynamic a, dynamic b) dynamic {
if(!(a =={core::Object::==}{(core::Object) core::bool} b)) {
throw "Expected the values to be equal.";
}
}
static method expectThrows(() dynamic f) dynamic {
core::bool hasThrown = false;
try {
f(){() dynamic};
}
on dynamic catch(no-exception-var) {
hasThrown = true;
}
if(!hasThrown) {
throw "Expected the function to throw an exception.";
}
}
static method expectDoesntThrow(() dynamic f) dynamic {
core::bool hasThrown = true;
try {
f(){() dynamic};
hasThrown = false;
}
on dynamic catch(no-exception-var) {
}
if(hasThrown) {
throw "Expected the function not to throw exceptions.";
}
}
constants {
#C1 = 0
#C2 = "element"
#C3 = self::A {index:#C1, _name:#C2}
#C4 = <self::A>[#C3]
}
Constructor coverage from constants:
org-dartlang-testcase:///simple_positive_enum.dart:
- A. (from org-dartlang-testcase:///simple_positive_enum.dart:5:6)
- _Enum. (from org-dartlang-sdk:///sdk/lib/core/enum.dart)
- Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart)