| library; | 
 | import self as self; | 
 | import "dart:core" as core; | 
 |  | 
 | class A1 extends core::Object { | 
 |   field core::Object? field = null; | 
 |   synthetic constructor •() → self::A1 | 
 |     : super core::Object::•() | 
 |     ; | 
 |   method method1() → void {} | 
 | } | 
 | extension A2 on self::A1 { | 
 |   method method2 = self::A2|method2; | 
 |   method tearoff method2 = self::A2|get#method2; | 
 |   method method3 = self::A2|method3; | 
 |   method tearoff method3 = self::A2|get#method3; | 
 |   method method4 = self::A2|method4; | 
 |   method tearoff method4 = self::A2|get#method4; | 
 | } | 
 | static extension-member method A2|method2(lowered final self::A1 #this) → void | 
 |   return #this.{self::A1::method1}(){() → void}; | 
 | static extension-member method A2|get#method2(lowered final self::A1 #this) → () → void | 
 |   return () → void => self::A2|method2(#this); | 
 | static extension-member method A2|method3(lowered final self::A1 #this) → core::Object? | 
 |   return #this.{self::A1::field}{core::Object?}; | 
 | static extension-member method A2|get#method3(lowered final self::A1 #this) → () → core::Object? | 
 |   return () → core::Object? => self::A2|method3(#this); | 
 | static extension-member method A2|method4(lowered final self::A1 #this, core::Object? o) → void { | 
 |   #this.{self::A1::field} = o; | 
 | } | 
 | static extension-member method A2|get#method4(lowered final self::A1 #this) → (core::Object?) → void | 
 |   return (core::Object? o) → void => self::A2|method4(#this, o); | 
 | static method main() → dynamic {} |