| main = <No Member>; |
| library from "org-dartlang-test:///lib.dart" as lib { |
| |
| import "dart:ffi"; |
| |
| @#C6 |
| class COMObject extends dart.ffi::Struct { |
| synthetic constructor •() → lib::COMObject |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → lib::COMObject |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase) |
| ; |
| get lpVtbl() → dart.ffi::Pointer<dart.ffi::IntPtr> |
| return dart.ffi::_fromAddress<dart.ffi::IntPtr>(dart.ffi::_loadIntPtr(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set lpVtbl(dart.ffi::Pointer<dart.ffi::IntPtr> #externalFieldValue) → void |
| return dart.ffi::_storeIntPtr(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get vtable() → dart.ffi::Pointer<dart.ffi::IntPtr> |
| return dart.ffi::Pointer::fromAddress<dart.ffi::IntPtr>(dart.ffi::IntPtrPointer|get#value(this.{lib::COMObject::lpVtbl}{dart.ffi::Pointer<dart.ffi::IntPtr>})); |
| @#C10 |
| static get #sizeOf() → dart.core::int* |
| return (#C13).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| } |
| library from "org-dartlang-test:///main.dart" as main { |
| |
| import "dart:ffi"; |
| import "org-dartlang-test:///lib.dart"; |
| |
| @#C17 |
| class X extends dart.ffi::Struct { |
| synthetic constructor •() → main::X |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → main::X |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase) |
| ; |
| get xx() → lib::COMObject |
| return new lib::COMObject::#fromTypedDataBase( block { |
| dart.core::Object #typedDataBase = this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}; |
| dart.core::int #offset = (#C8).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } =>#typedDataBase is dart.ffi::Pointer<dynamic> ?{dart.core::Object} dart.ffi::_fromAddress<lib::COMObject>(#typedDataBase.{dart.ffi::Pointer::address}{dart.core::int}.{dart.core::num::+}(#offset){(dart.core::num) → dart.core::num}) : let dart.typed_data::TypedData #typedData = dart._internal::unsafeCast<dart.typed_data::TypedData>(#typedDataBase) in #typedData.{dart.typed_data::TypedData::buffer}{dart.typed_data::ByteBuffer}.{dart.typed_data::ByteBuffer::asUint8List}(#typedData.{dart.typed_data::TypedData::offsetInBytes}{dart.core::int}.{dart.core::num::+}(#offset){(dart.core::num) → dart.core::num}, (#C13).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}){([dart.core::int, dart.core::int?]) → dart.typed_data::Uint8List}); |
| set xx(lib::COMObject #externalFieldValue) → void |
| return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, (#C8).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C7, (#C13).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}); |
| @#C10 |
| static get #sizeOf() → dart.core::int* |
| return (#C13).{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| } |
| constants { |
| #C1 = "vm:ffi:struct-fields" |
| #C2 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>) |
| #C3 = <dart.core::Type>[#C2] |
| #C4 = null |
| #C5 = dart.ffi::_FfiStructLayout {fieldTypes:#C3, packing:#C4} |
| #C6 = dart.core::pragma {name:#C1, options:#C5} |
| #C7 = 0 |
| #C8 = <dart.core::int*>[#C7, #C7, #C7] |
| #C9 = "vm:prefer-inline" |
| #C10 = dart.core::pragma {name:#C9, options:#C4} |
| #C11 = 8 |
| #C12 = 4 |
| #C13 = <dart.core::int*>[#C11, #C12, #C12] |
| #C14 = TypeLiteralConstant(lib::COMObject) |
| #C15 = <dart.core::Type>[#C14] |
| #C16 = dart.ffi::_FfiStructLayout {fieldTypes:#C15, packing:#C4} |
| #C17 = dart.core::pragma {name:#C1, options:#C16} |
| } |