| 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 Foo extends core::Object implements ffi::Finalizable { |
| synthetic constructor •() → self::Foo |
| : super core::Object::•() |
| ; |
| } |
| extension _extension#0 on ffi::Finalizable { |
| method bar = self::_extension#0|bar; |
| tearoff bar = self::_extension#0|get#bar; |
| } |
| extension _extension#1 on core::Object { |
| method baz = self::_extension#1|baz; |
| tearoff baz = self::_extension#1|get#baz; |
| } |
| static method main() → void { |
| final self::Foo foo = new self::Foo::•(); |
| self::_extension#0|bar(foo); |
| self::_extension#1|baz(new core::Object::•(), foo); |
| _in::reachabilityFence(foo); |
| } |
| static method _extension#0|bar(lowered final ffi::Finalizable #this) → core::int { |
| core::print("123"); |
| return block { |
| final core::int :expressionValueWrappedFinalizable = 4; |
| _in::reachabilityFence(#this); |
| } =>:expressionValueWrappedFinalizable; |
| } |
| static method _extension#0|get#bar(lowered final ffi::Finalizable #this) → () → core::int { |
| return block { |
| final () → core::int :expressionValueWrappedFinalizable = () → core::int { |
| return block { |
| final core::int :expressionValueWrappedFinalizable = self::_extension#0|bar(#this); |
| _in::reachabilityFence(#this); |
| } =>:expressionValueWrappedFinalizable; |
| }; |
| _in::reachabilityFence(#this); |
| } =>:expressionValueWrappedFinalizable; |
| } |
| static method _extension#1|baz(lowered final core::Object #this, self::Foo foo) → core::int { |
| core::print("456"); |
| return block { |
| final core::int :expressionValueWrappedFinalizable = 5; |
| _in::reachabilityFence(foo); |
| } =>:expressionValueWrappedFinalizable; |
| } |
| static method _extension#1|get#baz(lowered final core::Object #this) → (self::Foo) → core::int |
| return (self::Foo foo) → core::int { |
| return block { |
| final core::int :expressionValueWrappedFinalizable = self::_extension#1|baz(#this, foo); |
| _in::reachabilityFence(foo); |
| } =>:expressionValueWrappedFinalizable; |
| }; |