|  | 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 {} |