| main = b::main; |
| library from "org-dartlang-test:///a.dart" as a { |
| |
| import "dart:ffi"; |
| |
| @#C7 |
| class StructA extends dart.ffi::Struct { |
| synthetic constructor •() → a::StructA |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → a::StructA |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase) |
| ; |
| get a1() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set a1(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get a2() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C12.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set a2(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C12.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get a3() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C14.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set a3(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C14.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get blah() → a::NestedStruct |
| return new a::NestedStruct::#fromTypedDataBase( block { |
| dart.core::Object #typedDataBase = this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}; |
| dart.core::int #offset = #C17.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } =>#typedDataBase is dart.ffi::Pointer<dynamic> ?{dart.core::Object} dart.ffi::_fromAddress<a::NestedStruct>(#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}, #C17.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}){([dart.core::int, dart.core::int?]) → dart.typed_data::Uint8List}); |
| set blah(a::NestedStruct #externalFieldValue) → void |
| return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C17.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C8, #C17.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}); |
| @#C19 |
| static get #sizeOf() → dart.core::int* |
| return #C21.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| @#C24 |
| class NestedStruct extends dart.ffi::Struct { |
| synthetic constructor •() → a::NestedStruct |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → a::NestedStruct |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase) |
| ; |
| get n1() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set n1(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get n2() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C12.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set n2(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C12.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| get n3() → dart.ffi::Pointer<dart.ffi::Void> |
| return dart.ffi::_fromAddress<dart.ffi::Void>(dart.ffi::_loadAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C14.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*})); |
| set n3(dart.ffi::Pointer<dart.ffi::Void> #externalFieldValue) → void |
| return dart.ffi::_storeAbiSpecificInt<dart.ffi::IntPtr>(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C14.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::Pointer::address}{dart.core::int}); |
| @#C19 |
| static get #sizeOf() → dart.core::int* |
| return #C17.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| } |
| library from "org-dartlang-test:///b.dart" as b { |
| |
| import "dart:ffi"; |
| import "dart:isolate"; |
| import "dart:async"; |
| import "org-dartlang-test:///a.dart"; |
| |
| @#C28 |
| class StructB extends dart.ffi::Struct { |
| synthetic constructor •() → b::StructB |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(dart.core::Object #typedDataBase) → b::StructB |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase) |
| ; |
| get b1() → a::StructA |
| return new a::StructA::#fromTypedDataBase( block { |
| dart.core::Object #typedDataBase = this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}; |
| dart.core::int #offset = #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } =>#typedDataBase is dart.ffi::Pointer<dynamic> ?{dart.core::Object} dart.ffi::_fromAddress<a::StructA>(#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}, #C21.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}){([dart.core::int, dart.core::int?]) → dart.typed_data::Uint8List}); |
| set b1(a::StructA #externalFieldValue) → void |
| return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C9.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}, #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #C8, #C21.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}); |
| @#C19 |
| static get #sizeOf() → dart.core::int* |
| return #C21.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| static method periodic() → void { |
| dart.core::print(b::StructB::#sizeOf); |
| } |
| static method main() → void { |
| dart.async::Timer::periodic(#C30, (dart.async::Timer _) → void => b::periodic()); |
| } |
| } |
| constants { |
| #C1 = "vm:ffi:struct-fields" |
| #C2 = TypeLiteralConstant(dart.ffi::Pointer<dart.ffi::NativeType>) |
| #C3 = TypeLiteralConstant(a::NestedStruct) |
| #C4 = <dart.core::Type>[#C2, #C2, #C2, #C3] |
| #C5 = null |
| #C6 = dart.ffi::_FfiStructLayout {fieldTypes:#C4, packing:#C5} |
| #C7 = dart.core::pragma {name:#C1, options:#C6} |
| #C8 = 0 |
| #C9 = <dart.core::int*>[#C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8, #C8] |
| #C10 = 4 |
| #C11 = 8 |
| #C12 = <dart.core::int*>[#C10, #C11, #C10, #C11, #C11, #C11, #C10, #C11, #C11, #C10, #C11, #C10, #C11, #C10, #C11, #C11, #C11, #C11, #C10, #C11] |
| #C13 = 16 |
| #C14 = <dart.core::int*>[#C11, #C13, #C11, #C13, #C13, #C13, #C11, #C13, #C13, #C11, #C13, #C11, #C13, #C11, #C13, #C13, #C13, #C13, #C11, #C13] |
| #C15 = 12 |
| #C16 = 24 |
| #C17 = <dart.core::int*>[#C15, #C16, #C15, #C16, #C16, #C16, #C15, #C16, #C16, #C15, #C16, #C15, #C16, #C15, #C16, #C16, #C16, #C16, #C15, #C16] |
| #C18 = "vm:prefer-inline" |
| #C19 = dart.core::pragma {name:#C18, options:#C5} |
| #C20 = 48 |
| #C21 = <dart.core::int*>[#C16, #C20, #C16, #C20, #C20, #C20, #C16, #C20, #C20, #C16, #C20, #C16, #C20, #C16, #C20, #C20, #C20, #C20, #C16, #C20] |
| #C22 = <dart.core::Type>[#C2, #C2, #C2] |
| #C23 = dart.ffi::_FfiStructLayout {fieldTypes:#C22, packing:#C5} |
| #C24 = dart.core::pragma {name:#C1, options:#C23} |
| #C25 = TypeLiteralConstant(a::StructA) |
| #C26 = <dart.core::Type>[#C25] |
| #C27 = dart.ffi::_FfiStructLayout {fieldTypes:#C26, packing:#C5} |
| #C28 = dart.core::pragma {name:#C1, options:#C27} |
| #C29 = 1000000 |
| #C30 = dart.core::Duration {_duration:#C29} |
| } |
| |
| |
| Constructor coverage from constants: |
| org-dartlang-test:///b.dart: |
| - Duration. (from org-dartlang-sdk:///sdk/lib/core/duration.dart) |
| - Duration._microseconds (from org-dartlang-sdk:///sdk/lib/core/duration.dart) |
| - Object. (from org-dartlang-sdk:///sdk/lib/core/object.dart) |
| |