blob: f11ce73ed61436f62ba6e0be005a7f0b38093bc3 [file] [log] [blame]
library #lib;
import self as self;
import "dart:core" as core;
import "dart:ffi" as ffi;
import "dart:_internal" as _in;
import "dart:ffi";
class Foo extends core::Object implements ffi::Finalizable {
synthetic constructor •() self::Foo
: super core::Object::•()
;
}
[@vm.inferred-return-type.metadata=dart.core::Null? (value: null)]
static method main() void {
self::Foo? :foo:finalizableValue;
late self::Foo foo;
if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.%] [@vm.inferred-type.metadata=int (skip check)] [@vm.direct-call.metadata=dart.core::DateTime.millisecond] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecond}{core::int}.{core::num::%}(2){(core::num) core::int} =={core::num::==}{(core::Object) core::bool} 0) {
:foo:finalizableValue = foo = block {
final synthesized self::Foo :expressionValueWrappedFinalizable = new self::Foo::•();
_in::reachabilityFence(:foo:finalizableValue);
} =>:expressionValueWrappedFinalizable;
}
for (core::int i = 0; [@vm.direct-call.metadata=dart.core::_IntegerImplementation.<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(3){(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}) {
self::Foo? :foo2:finalizableValue;
late self::Foo foo2;
_in::reachabilityFence(:foo2:finalizableValue);
}
{
synthesized core::Iterator<core::int> :sync-for-iterator = [@vm.direct-call.metadata=dart.core::_GrowableList.iterator] [@vm.inferred-type.metadata=dart._internal::ListIterator<dart.core::int>] [@vm.inferred-type.metadata=dart.core::_GrowableList<dart.core::int>] core::_GrowableList::_literal3<core::int>(1, 2, 3).{core::Iterable::iterator}{core::Iterator<core::int>};
for (; [@vm.direct-call.metadata=dart._internal::ListIterator.moveNext] [@vm.inferred-type.metadata=dart.core::bool (skip check)] :sync-for-iterator.{core::Iterator::moveNext}(){() core::bool}; ) {
final core::int i = [@vm.direct-call.metadata=dart._internal::ListIterator.current] :sync-for-iterator.{core::Iterator::current}{core::int};
{
self::Foo? :foo3:finalizableValue;
late self::Foo foo3;
_in::reachabilityFence(:foo3:finalizableValue);
}
}
}
if([@vm.direct-call.metadata=dart.core::_IntegerImplementation.==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=dart.core::_IntegerImplementation.%] [@vm.inferred-type.metadata=int (skip check)] [@vm.direct-call.metadata=dart.core::DateTime.millisecond] [@vm.inferred-type.metadata=int] new core::DateTime::now().{core::DateTime::millisecond}{core::int}.{core::num::%}(2){(core::num) core::int} =={core::num::==}{(core::Object) core::bool} 0) {
self::Foo? :foo4:finalizableValue;
late self::Foo foo4;
_in::reachabilityFence(:foo4:finalizableValue);
}
try
try {
self::Foo? :foo5:finalizableValue;
late self::Foo foo5;
_in::reachabilityFence(:foo5:finalizableValue);
}
on core::Object catch(final core::Object e) {
self::Foo? :foo6:finalizableValue;
late self::Foo foo6;
_in::reachabilityFence(:foo6:finalizableValue);
}
finally {
self::Foo? :foo7:finalizableValue;
late self::Foo foo7;
_in::reachabilityFence(:foo7:finalizableValue);
}
#L1:
switch([@vm.direct-call.metadata=dart.core::DateTime.millisecond] new core::DateTime::now().{core::DateTime::millisecond}{core::int}) /* core::int */ {
#L2:
case #C1:
{
self::Foo? :foo8:finalizableValue;
late self::Foo foo8;
{
_in::reachabilityFence(:foo8:finalizableValue);
break #L1;
}
}
#L3:
default:
{
self::Foo? :foo9:finalizableValue;
late self::Foo foo9;
_in::reachabilityFence(:foo9:finalizableValue);
}
}
final () Null x = () Null {
self::Foo? :foo10:finalizableValue;
late self::Foo foo10;
_in::reachabilityFence(:foo10:finalizableValue);
};
function bar() Null {
self::Foo? :foo11:finalizableValue;
late self::Foo foo11;
_in::reachabilityFence(:foo11:finalizableValue);
}
_in::reachabilityFence(:foo:finalizableValue);
}
constants {
#C1 = 1
}