| library; |
| import self as self; |
| import "dart:core" as core; |
| |
| class Class extends core::Object { |
| field core::int* field = null; |
| synthetic constructor •() → self::Class* |
| : super core::Object::•() |
| ; |
| } |
| extension _extension#0 on self::Class* { |
| get property1 = self::_extension#0|get#property1; |
| set property1 = self::_extension#0|set#property1; |
| } |
| extension _extension#1 on self::Class* { |
| get property2 = self::_extension#1|get#property2; |
| set property2 = self::_extension#1|set#property2; |
| } |
| static method _extension#0|get#property1(final self::Class* #this) → core::int* |
| return self::_extension#1|get#property2(#this); |
| static method _extension#0|set#property1(final self::Class* #this, core::int* value) → void |
| return #this.{self::Class::field} = value; |
| static method _extension#1|get#property2(final self::Class* #this) → core::int* |
| return #this.{self::Class::field}; |
| static method _extension#1|set#property2(final self::Class* #this, core::int* value) → void |
| return let final self::Class* #t1 = #this in let final core::int* #t2 = value in let final void #t3 = self::_extension#0|set#property1(#t1, #t2) in #t2; |
| static method main() → dynamic { |
| self::Class* c = new self::Class::•(); |
| self::expect(null, self::_extension#0|get#property1(c)); |
| self::expect(null, self::_extension#1|get#property2(c)); |
| self::expect(42, let final self::Class* #t4 = c in let final core::int* #t5 = 42 in let final void #t6 = self::_extension#0|set#property1(#t4, #t5) in #t5); |
| self::expect(42, self::_extension#1|get#property2(c)); |
| self::expect(87, let final self::Class* #t7 = c in let final core::int* #t8 = 87 in let final void #t9 = self::_extension#1|set#property2(#t7, #t8) in #t8); |
| self::expect(87, self::_extension#0|get#property1(c)); |
| } |
| static method expect(dynamic expected, dynamic actual) → dynamic { |
| if(!expected.{core::Object::==}(actual)) { |
| throw "Mismatch: expected=${expected}, actual=${actual}"; |
| } |
| } |