| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class I extends core::Object { |
| synthetic constructor •() → self::I |
| : super core::Object::•() |
| ; |
| } |
| class A extends core::Object implements self::I { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| extension /* unnamed */ _extension#0 on self::A { |
| get member = self::_extension#0|get#member; |
| } |
| extension /* unnamed */ _extension#1 on self::I { |
| get member = self::_extension#1|get#member; |
| } |
| static extension-member method _extension#0|get#member(lowered final self::A #this) → core::int |
| return 87; |
| static extension-member method _extension#1|get#member(lowered final self::I #this) → core::int |
| return 42; |
| static method method(self::A a) → dynamic |
| return block { |
| core::int #t1; |
| final synthesized self::A #0#0 = a; |
| #L1: |
| { |
| { |
| hoisted core::int member; |
| if(true) { |
| member = self::_extension#1|get#member(#0#0); |
| #t1 = member; |
| break #L1; |
| } |
| } |
| } |
| } =>#t1; |
| static method main() → dynamic { |
| self::expect(42, self::method(new self::A::•())); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!(expected =={core::Object::==}{(core::Object) → core::bool} actual)) |
| throw "Expected ${expected}, actual ${actual}"; |
| } |