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

static method main() → dynamic {
  dynamic c;
  try {
    throw "Fisk";
  }
  on core::String catch(dynamic #t1, dynamic #t2) {
    final dynamic #context = MakeVector(4);
    #context[2] = #t1;
    #context[3] = #t2;
    c = MakeClosure<() → dynamic>(self::closure#main#function, #context);
  }
  c.call();
  core::print("TEST PASSED");
}
static method closure#main#function(dynamic #contextParameter) → dynamic {
  core::print(#contextParameter[2]);
  if(!(#contextParameter[3]).==(null))
    core::print(#contextParameter[3]);
}
