|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | class A extends core::Object { | 
|  | synthetic constructor •() → self::A | 
|  | ; | 
|  | } | 
|  | class B extends self::A { | 
|  | synthetic constructor •() → self::B | 
|  | ; | 
|  | } | 
|  | class C extends self::B { | 
|  | synthetic constructor •() → self::C | 
|  | ; | 
|  | } | 
|  | class GenericClass<T extends core::Object? = dynamic> extends core::Object { | 
|  | synthetic constructor •() → self::GenericClass<self::GenericClass::T%> | 
|  | ; | 
|  | } | 
|  | extension GenericExtension<T extends core::Object? = dynamic> on self::GenericClass<T%> { | 
|  | get property = self::GenericExtension|get#property; | 
|  | method method = self::GenericExtension|method; | 
|  | method tearoff method = self::GenericExtension|get#method; | 
|  | method genericMethod1 = self::GenericExtension|genericMethod1; | 
|  | method tearoff genericMethod1 = self::GenericExtension|get#genericMethod1; | 
|  | } | 
|  | static extension-member method GenericExtension|get#property<T extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#property::T%> #this) → self::GenericExtension|get#property::T? | 
|  | ; | 
|  | static extension-member method GenericExtension|method<T extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|method::T%> #this, self::GenericExtension|method::T? t) → self::GenericExtension|method::T? | 
|  | ; | 
|  | static extension-member method GenericExtension|get#method<T extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#method::T%> #this) → (self::GenericExtension|get#method::T?) → self::GenericExtension|get#method::T? | 
|  | return (self::GenericExtension|get#method::T? t) → self::GenericExtension|get#method::T? => self::GenericExtension|method<self::GenericExtension|get#method::T%>(#this, t); | 
|  | static extension-member method GenericExtension|genericMethod1<T extends core::Object? = dynamic, S extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|genericMethod1::T%> #this, self::GenericExtension|genericMethod1::S? s) → self::GenericExtension|genericMethod1::S? | 
|  | ; | 
|  | static extension-member method GenericExtension|get#genericMethod1<T extends core::Object? = dynamic>(lowered final self::GenericClass<self::GenericExtension|get#genericMethod1::T%> #this) → <S extends core::Object? = dynamic>(S?) → S? | 
|  | return <S extends core::Object? = dynamic>(S? s) → S? => self::GenericExtension|genericMethod1<self::GenericExtension|get#genericMethod1::T%, S%>(#this, s); | 
|  | static method main() → dynamic | 
|  | ; |