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

static method method(dynamic o) → dynamic {
  #L1:
  {
    final synthesized dynamic #0#0 = o;
    {
      hoisted core::String a;
      if(#0#0 is core::String && (let final dynamic #t1 = a = #0#0{core::String} in true)) {
        {
          core::print(a);
          break #L1;
        }
      }
    }
    {
      hoisted core::int a;
      if(#0#0 is core::int && (let final dynamic #t2 = a = #0#0{core::int} in true)) {
        {
          core::print(a);
          break #L1;
        }
      }
    }
  }
}
