| 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 |
| } |