|  | library; | 
|  | import self as self; | 
|  | import "dart:core" as core; | 
|  |  | 
|  | abstract class Foo extends core::Object { | 
|  | synthetic constructor •() → self::Foo | 
|  | : super core::Object::•() | 
|  | ; | 
|  | abstract get a() → core::int; | 
|  | abstract get b() → core::num; | 
|  | abstract get c() → core::num; | 
|  | } | 
|  | static method method1(dynamic o) → dynamic { | 
|  | { | 
|  | final synthesized dynamic #0#0 = o; | 
|  | synthesized core::num #0#3; | 
|  | synthesized core::bool #0#3#isSet = false; | 
|  | { | 
|  | hoisted core::int a; | 
|  | hoisted core::int b; | 
|  | if(#0#0 is self::Foo && (let final core::int #t1 = a = #0#0{self::Foo}.{self::Foo::a}{core::int} in true) && (#0#3#isSet ?{core::num} #0#3{core::num} : let final core::bool* #t2 = #0#3#isSet = true in #0#3 = #0#0{self::Foo}.{self::Foo::b}{core::num}) is core::int) { | 
|  | b = (#0#3#isSet ?{core::num} #0#3{core::num} : let final core::bool* #t3 = #0#3#isSet = true in #0#3 = #0#0{self::Foo}.{self::Foo::b}{core::num}) as{Unchecked} core::int; | 
|  | { | 
|  | core::print(a.{core::num::+}(b){(core::num) → core::int}); | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | static method method2(dynamic o) → dynamic { | 
|  | { | 
|  | final synthesized dynamic #0#0 = o; | 
|  | synthesized core::num #0#4; | 
|  | synthesized core::bool #0#4#isSet = false; | 
|  | { | 
|  | hoisted core::int a; | 
|  | hoisted core::num b; | 
|  | hoisted core::int c; | 
|  | if(#0#0 is self::Foo && (let final core::int #t4 = a = #0#0{self::Foo}.{self::Foo::a}{core::int} in true) && (let final core::num #t5 = b = #0#0{self::Foo}.{self::Foo::b}{core::num} in true) && (#0#4#isSet ?{core::num} #0#4{core::num} : let final core::bool* #t6 = #0#4#isSet = true in #0#4 = #0#0{self::Foo}.{self::Foo::c}{core::num}) is core::int) { | 
|  | c = (#0#4#isSet ?{core::num} #0#4{core::num} : let final core::bool* #t7 = #0#4#isSet = true in #0#4 = #0#0{self::Foo}.{self::Foo::c}{core::num}) as{Unchecked} core::int; | 
|  | { | 
|  | core::print(a.{core::num::+}(b){(core::num) → core::num}.{core::num::+}(c){(core::num) → core::num}); | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | static method method3(dynamic o) → dynamic { | 
|  | { | 
|  | final synthesized dynamic #0#0 = o; | 
|  | synthesized core::num #0#3; | 
|  | synthesized core::bool #0#3#isSet = false; | 
|  | synthesized core::num #0#6; | 
|  | synthesized core::bool #0#6#isSet = false; | 
|  | { | 
|  | hoisted core::int a; | 
|  | hoisted core::bool isEven; | 
|  | hoisted core::int c; | 
|  | if(#0#0 is self::Foo && (let final core::int #t8 = a = #0#0{self::Foo}.{self::Foo::a}{core::int} in true) && ((#0#3#isSet ?{core::num} #0#3{core::num} : let final core::bool* #t9 = #0#3#isSet = true in #0#3 = #0#0{self::Foo}.{self::Foo::b}{core::num}) is core::int && (let final core::bool #t10 = isEven = ((#0#3#isSet ?{core::num} #0#3{core::num} : let final core::bool* #t11 = #0#3#isSet = true in #0#3 = #0#0{self::Foo}.{self::Foo::b}{core::num}) as{Unchecked} core::int).{core::int::isEven}{core::bool} in true)) && (#0#6#isSet ?{core::num} #0#6{core::num} : let final core::bool* #t12 = #0#6#isSet = true in #0#6 = #0#0{self::Foo}.{self::Foo::c}{core::num}) is core::int) { | 
|  | c = (#0#6#isSet ?{core::num} #0#6{core::num} : let final core::bool* #t13 = #0#6#isSet = true in #0#6 = #0#0{self::Foo}.{self::Foo::c}{core::num}) as{Unchecked} core::int; | 
|  | { | 
|  | core::print(a.{core::num::+}(c){(core::num) → core::int}); | 
|  | core::print(isEven); | 
|  | } | 
|  | } | 
|  | } | 
|  | } | 
|  | } |