blob: b4e558dc6d80b68c41d7fbaa64585c4518912629 [file] [log] [blame]
library #lib /*isNonNullableByDefault*/;
import self as self;
import "dart:core" as core;
import "dart:ffi" as ffi;
import "dart:nativewrappers" as nat;
import "dart:_internal" as _in;
import "dart:ffi";
import "dart:nativewrappers";
abstract class Classy extends core::Object {
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (core::int) core::int _returnIntPtrStatic$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(core::int) core::int, (ffi::IntPtr*) →* ffi::IntPtr*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::IntPtr*) →* ffi::IntPtr*>*>(ffi::_ffi_resolver(#C1, #C2, #C3){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
static method returnIntPtrStatic() core::int
return self::Classy::_returnIntPtrStatic$FfiNative$Ptr(#C4){(core::int) core::int};
}
class NativeClassy extends nat::NativeFieldWrapperClass1 {
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (ffi::Pointer<ffi::Void>, core::int) void _goodHasReceiverPointer$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(ffi::Pointer<ffi::Void>, core::int) void, (ffi::Pointer<ffi::Void*>*, ffi::IntPtr*) →* ffi::Void*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Pointer<ffi::Void*>*, ffi::IntPtr*) →* ffi::Void*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (self::NativeClassy, core::int) void _goodHasReceiverHandle$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(self::NativeClassy, core::int) void, (ffi::Handle*, ffi::IntPtr*) →* ffi::Void*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Handle*, ffi::IntPtr*) →* ffi::Void*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (self::NativeClassy, ffi::Pointer<ffi::Void>) void _goodHasReceiverHandleAndPtr$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(self::NativeClassy, ffi::Pointer<ffi::Void>) void, (ffi::Handle*, ffi::Pointer<ffi::Void*>*) →* ffi::Void*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Handle*, ffi::Pointer<ffi::Void*>*) →* ffi::Void*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (self::NativeClassy, self::NativeClassy) void _goodHasReceiverHandleAndHandle$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(self::NativeClassy, self::NativeClassy) void, (ffi::Handle*, ffi::Handle*) →* ffi::Void*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Handle*, ffi::Handle*) →* ffi::Void*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (ffi::Pointer<ffi::Void>, self::NativeClassy) void _goodHasReceiverPtrAndHandle$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(ffi::Pointer<ffi::Void>, self::NativeClassy) void, (ffi::Pointer<ffi::Void*>*, ffi::Handle*) →* ffi::Void*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Pointer<ffi::Void*>*, ffi::Handle*) →* ffi::Void*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (ffi::Pointer<ffi::Void>, core::bool) core::Object? _meh$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(ffi::Pointer<ffi::Void>, core::bool) core::Object?, (ffi::Pointer<ffi::Void*>*, ffi::Bool*) →* ffi::Handle*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Pointer<ffi::Void*>*, ffi::Bool*) →* ffi::Handle*>*>(ffi::_ffi_resolver(#C1, #C5, #C6){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?] static final field (ffi::Pointer<ffi::Void>) core::bool _blah$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(ffi::Pointer<ffi::Void>) core::bool, (ffi::Pointer<ffi::Void*>*) →* ffi::Bool*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::Pointer<ffi::Void*>*) →* ffi::Bool*>*>(ffi::_ffi_resolver(#C1, #C5, #C3){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
synthetic constructor •() self::NativeClassy
: super nat::NativeFieldWrapperClass1::•()
;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2] method goodHasReceiverPointer() void
return block {
final nat::NativeFieldWrapperClass1 #t1 = this;
final core::int #t2 = #C7;
final void #t3 = self::NativeClassy::_goodHasReceiverPointer$FfiNative$Ptr(ffi::_fromAddress<ffi::Void>( block {
core::int #pointerAddress = [@vm.inferred-type.metadata=int?] nat::_getNativeField(#t1);
if([@vm.inferred-type.metadata=dart.core::bool] #pointerAddress.{core::Object::==}(#C8){(core::Object) → core::bool})
core::StateError::_throwNew(#C9);
else
;
} =>#pointerAddress), #t2){(ffi::Pointer<ffi::Void>, core::int) → void};
_in::reachabilityFence(#t1);
} =>#t3;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4] method goodHasReceiverHandle() void
return self::NativeClassy::_goodHasReceiverHandle$FfiNative$Ptr(this, #C7){(self::NativeClassy, core::int) → void};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6] method goodHasReceiverHandleAndPtr([@vm.inferred-type.metadata=#lib::NativeClassy] self::NativeClassy v) void
return block {
final self::NativeClassy #t4 = this;
final nat::NativeFieldWrapperClass1 #t5 = v;
final void #t6 = self::NativeClassy::_goodHasReceiverHandleAndPtr$FfiNative$Ptr(#t4, ffi::_fromAddress<ffi::Void>([@vm.inferred-type.metadata=int?] nat::_getNativeField(#t5))){(self::NativeClassy, ffi::Pointer<ffi::Void>) → void};
_in::reachabilityFence(#t5);
} =>#t6;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8] method goodHasReceiverHandleAndHandle([@vm.inferred-type.metadata=#lib::NativeClassy] self::NativeClassy v) void
return self::NativeClassy::_goodHasReceiverHandleAndHandle$FfiNative$Ptr(this, v){(self::NativeClassy, self::NativeClassy) void};
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10] method goodHasReceiverPtrAndHandle([@vm.inferred-type.metadata=#lib::NativeClassy] self::NativeClassy v) void
return block {
final nat::NativeFieldWrapperClass1 #t7 = this;
final self::NativeClassy #t8 = v;
final void #t9 = self::NativeClassy::_goodHasReceiverPtrAndHandle$FfiNative$Ptr(ffi::_fromAddress<ffi::Void>( block {
core::int #pointerAddress = [@vm.inferred-type.metadata=int?] nat::_getNativeField(#t7);
if([@vm.inferred-type.metadata=dart.core::bool] #pointerAddress.{core::Object::==}(#C8){(core::Object) → core::bool})
core::StateError::_throwNew(#C9);
else
;
} =>#pointerAddress), #t8){(ffi::Pointer<ffi::Void>, self::NativeClassy) → void};
_in::reachabilityFence(#t7);
} =>#t9;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12] method meh() core::String?
return block {
final nat::NativeFieldWrapperClass1 #t10 = this;
final core::bool #t11 = #C10;
final core::String? #t12 = _in::unsafeCast<core::String?>(self::NativeClassy::_meh$FfiNative$Ptr(ffi::_fromAddress<ffi::Void>( block {
core::int #pointerAddress = [@vm.inferred-type.metadata=int?] nat::_getNativeField(#t10);
if([@vm.inferred-type.metadata=dart.core::bool] #pointerAddress.{core::Object::==}(#C8){(core::Object) → core::bool})
core::StateError::_throwNew(#C9);
else
;
} =>#pointerAddress), #t11){(ffi::Pointer<ffi::Void>, core::bool) → core::Object?});
_in::reachabilityFence(#t10);
} =>#t12;
[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:13,getterSelectorId:14] method blah() core::bool
return block {
final nat::NativeFieldWrapperClass1 #t13 = this;
final core::bool #t14 = self::NativeClassy::_blah$FfiNative$Ptr(ffi::_fromAddress<ffi::Void>( block {
core::int #pointerAddress = [@vm.inferred-type.metadata=int?] nat::_getNativeField(#t13);
if([@vm.inferred-type.metadata=dart.core::bool] #pointerAddress.{core::Object::==}(#C8){(core::Object) → core::bool})
core::StateError::_throwNew(#C9);
else
;
} =>#pointerAddress)){(ffi::Pointer<ffi::Void>) core::bool};
_in::reachabilityFence(#t13);
} =>#t14;
}
[@vm.inferred-type.metadata=dart.core::_Closure?]static final field (core::int) core::int _returnIntPtr$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(core::int) core::int, (ffi::IntPtr*) →* ffi::IntPtr*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::IntPtr*) →* ffi::IntPtr*>*>(ffi::_ffi_resolver(#C1, #C2, #C3){(core::Object, core::Object, core::int) → core::int}), false)/*isLegacy*/;
[@vm.inferred-type.metadata=dart.core::_Closure?]static final field (core::int) core::int _returnIntPtrLeaf$FfiNative$Ptr = [@vm.inferred-type.metadata=dart.core::_Closure?] ffi::_asFunctionInternal<(core::int) core::int, (ffi::IntPtr*) →* ffi::IntPtr*>([@vm.inferred-type.metadata=dart.ffi::Pointer?] ffi::_fromAddress<ffi::NativeFunction<(ffi::IntPtr*) →* ffi::IntPtr*>*>(ffi::_ffi_resolver(#C1, #C2, #C3){(core::Object, core::Object, core::int) → core::int}), true)/*isLegacy*/;
static method returnIntPtr() core::int
return self::_returnIntPtr$FfiNative$Ptr(#C11){(core::int) core::int};
static method returnIntPtrLeaf() core::int
return self::_returnIntPtrLeaf$FfiNative$Ptr(#C12){(core::int) core::int};
static method main() void {
self::returnIntPtr();
self::returnIntPtrLeaf();
self::Classy::returnIntPtrStatic();
[@vm.direct-call.metadata=#lib::NativeClassy.goodHasReceiverPointer] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::goodHasReceiverPointer}(){(core::int) void};
[@vm.direct-call.metadata=#lib::NativeClassy.goodHasReceiverHandle] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::goodHasReceiverHandle}(){(core::int) void};
[@vm.direct-call.metadata=#lib::NativeClassy.goodHasReceiverHandleAndPtr] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::goodHasReceiverHandleAndPtr}(new self::NativeClassy::•()){(self::NativeClassy) void};
[@vm.direct-call.metadata=#lib::NativeClassy.goodHasReceiverHandleAndHandle] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::goodHasReceiverHandleAndHandle}(new self::NativeClassy::•()){(self::NativeClassy) void};
[@vm.direct-call.metadata=#lib::NativeClassy.goodHasReceiverPtrAndHandle] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::goodHasReceiverPtrAndHandle}(new self::NativeClassy::•()){(self::NativeClassy) void};
[@vm.direct-call.metadata=#lib::NativeClassy.meh] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::meh}(){(core::bool) core::String?};
[@vm.direct-call.metadata=#lib::NativeClassy.blah] [@vm.inferred-type.metadata=!? (skip check)] new self::NativeClassy::•().{self::NativeClassy::blah}(){() core::bool};
}
constants {
#C1 = "#lib"
#C2 = "ReturnIntPtr"
#C3 = 1
#C4 = 222
#C5 = "doesntmatter"
#C6 = 2
#C7 = 175
#C8 = 0
#C9 = "Native field is nullptr."
#C10 = true
#C11 = 13
#C12 = 37
}