library; import self as self; import "dart:core" as core; import "dart:collection" as col; static method f(dynamic x) → void return block { final core::List #t1 = []; hoisted dynamic a; hoisted dynamic b; { final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} (dynamic, dynamic); if(!(#0#0 is (core::Object?, core::Object?) && (let final dynamic #t2 = a = #0#0{(core::Object?, core::Object?)}.$1{core::Object?} in true) && (let final dynamic #t3 = b = #0#0{(core::Object?, core::Object?)}.$2{core::Object?} in true))) throw new core::StateError::•("Pattern matching error"); } final dynamic #t4 = a; final dynamic #t5 = b; for (dynamic a = #t4, dynamic b = #t5; ; ) #t1.{core::List::add}{Invariant}(a){(dynamic) → void}; } =>#t1; static method g(dynamic x) → void return block { final core::Set #t6 = col::LinkedHashSet::•(); hoisted dynamic a; hoisted dynamic b; { final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} (dynamic, dynamic); if(!(#0#0 is (core::Object?, core::Object?) && (let final dynamic #t7 = a = #0#0{(core::Object?, core::Object?)}.$1{core::Object?} in true) && (let final dynamic #t8 = b = #0#0{(core::Object?, core::Object?)}.$2{core::Object?} in true))) throw new core::StateError::•("Pattern matching error"); } final dynamic #t9 = a; final dynamic #t10 = b; for (dynamic a = #t9, dynamic b = #t10; ; ) #t6.{core::Set::add}{Invariant}(b){(dynamic) → core::bool}; } =>#t6; static method h(dynamic x) → void return block { final core::Map #t11 = {}; hoisted dynamic a; hoisted dynamic b; { final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} (dynamic, dynamic); if(!(#0#0 is (core::Object?, core::Object?) && (let final dynamic #t12 = a = #0#0{(core::Object?, core::Object?)}.$1{core::Object?} in true) && (let final dynamic #t13 = b = #0#0{(core::Object?, core::Object?)}.$2{core::Object?} in true))) throw new core::StateError::•("Pattern matching error"); } final dynamic #t14 = a; final dynamic #t15 = b; for (dynamic a = #t14, dynamic b = #t15; ; ) #t11.{core::Map::[]=}{Invariant}(a, b){(dynamic, dynamic) → void}; } =>#t11;