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

static method method() → dynamic {
  core::int v1 = 42;
  {
    final synthesized dynamic #0#0 = ("The string!" as dynamic) as{TypeError,ForDynamic} core::int;
    v1 = #0#0 as core::int;
  }
  core::print(v1);
  core::print(v1.{core::Object::runtimeType}{core::Type});
}
static method main() → dynamic {
  self::throws(() → void => self::method());
}
static method throws(() → void f) → dynamic {
  try {
    f(){() → void};
  }
  on core::Object catch(final core::Object e) {
    core::print(e);
    return;
  }
  throw "Missing exception";
}


Extra constant evaluation status:
Evaluated: AsExpression @ org-dartlang-testcase:///issue51432.dart:7:26 -> StringConstant("The string!")
Extra constant evaluation: evaluated: 18, effectively constant: 1
