|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | class Class1 extends core::Object { | 
|  | field core::int field; | 
|  | constructor •(core::int field) → self::Class1 | 
|  | ; | 
|  | method toString() → core::String | 
|  | ; | 
|  | } | 
|  | class Class2 extends core::Object { | 
|  | field core::int field; | 
|  | constructor •(core::int field) → self::Class2 | 
|  | ; | 
|  | method toString() → core::String | 
|  | ; | 
|  | } | 
|  | extension Extension1 on self::Class1 { | 
|  | method method = self::Extension1|method; | 
|  | method tearoff method = self::Extension1|get#method; | 
|  | method genericMethod = self::Extension1|genericMethod; | 
|  | method tearoff genericMethod = self::Extension1|get#genericMethod; | 
|  | } | 
|  | extension Extension2 on self::Class2 { | 
|  | method method = self::Extension2|method; | 
|  | method tearoff method = self::Extension2|get#method; | 
|  | method genericMethod = self::Extension2|genericMethod; | 
|  | method tearoff genericMethod = self::Extension2|get#genericMethod; | 
|  | } | 
|  | static extension-member method Extension1|method(lowered final self::Class1 #this) → core::int | 
|  | ; | 
|  | static extension-member method Extension1|get#method(lowered final self::Class1 #this) → () → core::int | 
|  | return () → core::int => self::Extension1|method(#this); | 
|  | static extension-member method Extension1|genericMethod<T extends core::num>(lowered final self::Class1 #this, self::Extension1|genericMethod::T t) → core::num | 
|  | ; | 
|  | static extension-member method Extension1|get#genericMethod(lowered final self::Class1 #this) → <T extends core::num>(T) → core::num | 
|  | return <T extends core::num>(T t) → core::num => self::Extension1|genericMethod<T>(#this, t); | 
|  | static extension-member method Extension2|method(lowered final self::Class2 #this) → core::int | 
|  | ; | 
|  | static extension-member method Extension2|get#method(lowered final self::Class2 #this) → () → core::int | 
|  | return () → core::int => self::Extension2|method(#this); | 
|  | static extension-member method Extension2|genericMethod<T extends core::num>(lowered final self::Class2 #this, self::Extension2|genericMethod::T t) → core::num | 
|  | ; | 
|  | static extension-member method Extension2|get#genericMethod(lowered final self::Class2 #this) → <T extends core::num>(T) → core::num | 
|  | return <T extends core::num>(T t) → core::num => self::Extension2|genericMethod<T>(#this, t); | 
|  | static method main() → dynamic | 
|  | ; | 
|  | static method testExtension1() → dynamic | 
|  | ; | 
|  | static method testExtension2() → dynamic | 
|  | ; | 
|  | static method expect(dynamic expected, dynamic actual) → dynamic | 
|  | ; |