| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| static get classGetter() → core::String |
| return "A.classGetter"; |
| static set classSetter(core::num value) → void { |
| throw "A.classSetter="; |
| } |
| static method classMethod() → core::String |
| return "A.classMethod"; |
| } |
| extension E on self::A { |
| static get classGetter = get self::E|classGetter; |
| static get extensionGetter = get self::E|extensionGetter; |
| static set classSetter = set self::E|classSetter; |
| static set extensionSetter = set self::E|extensionSetter; |
| static method classMethod = self::E|classMethod; |
| static method extensionMethod = self::E|extensionMethod; |
| } |
| static extension-member get E|classGetter() → core::String |
| return "E.classGetter"; |
| static extension-member get E|extensionGetter() → core::String |
| return "E.extensionGetter"; |
| static extension-member set E|classSetter(core::num value) → void {} |
| static extension-member set E|extensionSetter(core::bool value) → void {} |
| static extension-member method E|classMethod() → core::String |
| return "E.classMethod"; |
| static extension-member method E|extensionMethod() → core::String |
| return "E.extensionMethod"; |
| static method main() → dynamic { |
| self::expectEqual(self::A::classGetter, "A.classGetter"); |
| self::expectEqual(self::E|extensionGetter, "E.extensionGetter"); |
| self::expectThrows(() → Null { |
| self::A::classSetter = 0; |
| }); |
| self::expectDoesntThrow(() → Null { |
| self::E|extensionSetter = false; |
| }); |
| self::expectEqual(self::A::classMethod(), "A.classMethod"); |
| 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."; |
| } |
| } |