blob: 27fc81fa2c21aa8cbda97747ac22ebdd34038afb [file] [log] [blame]
library #lib /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:ffi" as ffi;
import "dart:_internal" as _in;
import "dart:ffi";
class MyFinalizable extends core::Object implements ffi::Finalizable {
synthetic constructor •() self::MyFinalizable
: super core::Object::•()
;
}
static method main() void {
final self::MyFinalizable finalizable = new self::MyFinalizable::•();
{
final self::MyFinalizable finalizable2 = new self::MyFinalizable::•();
_in::reachabilityFence(finalizable2);
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 42) {
{
_in::reachabilityFence(finalizable);
return;
}
}
else {
try
try {
final self::MyFinalizable finalizable3 = new self::MyFinalizable::•();
{}
_in::reachabilityFence(finalizable3);
}
on core::Exception catch(no-exception-var) {
final self::MyFinalizable finalizable4 = new self::MyFinalizable::•();
_in::reachabilityFence(finalizable4);
}
finally {
final self::MyFinalizable finalizable5 = new self::MyFinalizable::•();
_in::reachabilityFence(finalizable5);
}
try {
final self::MyFinalizable finalizable13 = new self::MyFinalizable::•();
try
try {
final self::MyFinalizable finalizable14 = new self::MyFinalizable::•();
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 100) {
throw block {
final core::Exception :expressionValueWrappedFinalizable = core::Exception::•("foo");
_in::reachabilityFence(finalizable14);
} =>:expressionValueWrappedFinalizable;
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 101) {
throw block {
final core::Error :expressionValueWrappedFinalizable = new core::Error::•();
_in::reachabilityFence(finalizable);
_in::reachabilityFence(finalizable13);
_in::reachabilityFence(finalizable14);
} =>:expressionValueWrappedFinalizable;
}
_in::reachabilityFence(finalizable14);
}
on core::Exception catch(final core::Exception e) {
core::print(e);
block {
_in::reachabilityFence(finalizable13);
} =>rethrow;
}
finally {
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 1000) {
throw block {
final core::Exception :expressionValueWrappedFinalizable = core::Exception::•("bar");
_in::reachabilityFence(finalizable13);
} =>:expressionValueWrappedFinalizable;
}
}
_in::reachabilityFence(finalizable13);
}
on core::Exception catch(final core::Exception e) {
core::print(e);
}
}
#L1:
switch([@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int}) {
#L2:
case #C1:
case #C2:
{
final self::MyFinalizable finalizable6 = new self::MyFinalizable::•();
{
_in::reachabilityFence(finalizable);
_in::reachabilityFence(finalizable6);
return;
}
}
#L3:
case #C3:
{
final self::MyFinalizable finalizable7 = new self::MyFinalizable::•();
{
_in::reachabilityFence(finalizable7);
break #L1;
}
}
#L4:
case #C4:
{
final self::MyFinalizable finalizable70 = new self::MyFinalizable::•();
#L5:
switch([@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int}) {
#L6:
case #C5:
{
final self::MyFinalizable finalizable71 = new self::MyFinalizable::•();
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 44) {
{
_in::reachabilityFence(finalizable70);
_in::reachabilityFence(finalizable71);
continue #L4;
}
}
{
_in::reachabilityFence(finalizable71);
break #L5;
}
}
}
{
_in::reachabilityFence(finalizable70);
continue #L3;
}
}
#L7:
default:
{
final self::MyFinalizable finalizable8 = new self::MyFinalizable::•();
_in::reachabilityFence(finalizable8);
}
}
#L8:
for (core::int i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(10){(core::num) core::bool}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num) core::int})
#L9:
{
final self::MyFinalizable finalizable9 = new self::MyFinalizable::•();
for (core::int j = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] j.{core::num::<}(10){(core::num) core::bool}; j = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] j.{core::num::+}(1){(core::num) core::int})
#L10:
{
final self::MyFinalizable finalizable10 = new self::MyFinalizable::•();
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 42) {
{
_in::reachabilityFence(finalizable9);
_in::reachabilityFence(finalizable10);
break #L8;
}
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 1337) {
{
_in::reachabilityFence(finalizable9);
_in::reachabilityFence(finalizable10);
break #L8;
}
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 1) {
{
_in::reachabilityFence(finalizable10);
break #L10;
}
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 3) {
{
_in::reachabilityFence(finalizable9);
_in::reachabilityFence(finalizable10);
break #L9;
}
}
_in::reachabilityFence(finalizable10);
}
_in::reachabilityFence(finalizable9);
}
#L11:
{
final self::MyFinalizable finalizable11 = new self::MyFinalizable::•();
#L12:
{
final self::MyFinalizable finalizable12 = new self::MyFinalizable::•();
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 1) {
{
_in::reachabilityFence(finalizable11);
_in::reachabilityFence(finalizable12);
break #L11;
}
}
if([@vm.inferred-type.metadata=dart.core::bool] [@vm.direct-call.metadata=dart.core::DateTime.millisecondsSinceEpoch] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecondsSinceEpoch}{core::int} =={core::num::==}{(core::Object) core::bool} 3) {
{
_in::reachabilityFence(finalizable12);
break #L12;
}
}
_in::reachabilityFence(finalizable12);
}
_in::reachabilityFence(finalizable11);
}
for (core::int i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(10){(core::num) core::bool}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num) core::int}) {
final self::MyFinalizable finalizable15 = new self::MyFinalizable::•();
_in::reachabilityFence(finalizable15);
}
core::int i = 0;
while ([@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(10){(core::num) core::bool}) {
final self::MyFinalizable finalizable16 = new self::MyFinalizable::•();
i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num) core::int};
_in::reachabilityFence(finalizable16);
}
{
core::Iterator<ffi::Finalizable> :sync-for-iterator = [@vm.inferred-type.metadata=!] [@vm.inferred-type.metadata=!] core::Iterable::generate<ffi::Finalizable>((core::int index) self::MyFinalizable => new self::MyFinalizable::•()).{core::Iterable::iterator}{core::Iterator<ffi::Finalizable>};
for (; [@vm.inferred-type.metadata=dart.core::bool] :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final ffi::Finalizable finalizable17 = [@vm.inferred-type.metadata=#lib::MyFinalizable?] :sync-for-iterator.{core::Iterator::current}{ffi::Finalizable};
{
_in::reachabilityFence(finalizable17);
}
}
}
i = 0;
for (ffi::Finalizable finalizable18 = new self::MyFinalizable::•(); [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(10){(core::num) core::bool}; i = [@vm.direct-call.metadata=dart.core::_IntegerImplementation.+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1){(core::num) core::int}) {
_in::reachabilityFence(finalizable18);
}
_in::reachabilityFence(finalizable);
}
constants {
#C1 = 1
#C2 = 2
#C3 = 3
#C4 = 4
#C5 = 5
}