library;
import self as self;
import "dart:core" as core;

static const field core::int annotation = #C1;
static method f(dynamic x) → dynamic {
  hoisted has-declared-initializer dynamic a;
  {
    final synthesized dynamic #0#0 = x as{TypeError,ForDynamic} core::List<dynamic>;
    if(!(#0#0 is core::List<dynamic> && #0#0{core::List<dynamic>}.{core::List::length}{core::int} =={core::num::==}{(core::Object) → core::bool} #C2 && (let final dynamic #t1 = a = #0#0{core::List<dynamic>}.{core::List::[]}(0){(core::int) → dynamic} in true)))
      throw{for-error-handling} new core::StateError::•("Pattern matching error");
  }
}

constants  {
  #C1 = 0
  #C2 = 1
}
