| main = <No Member>; |
| // |
| // Problems in component: |
| // |
| // org-dartlang-test:///structs.dart:6:14: Error: Field 'zz' requires exactly one annotation to declare its native type, which cannot be Void. dart:ffi Structs and Unions cannot have regular Dart fields. |
| // external Z zz; |
| // ^ |
| // |
| library from "org-dartlang-test:///structs.dart" as str { |
| // |
| // Problems in library: |
| // |
| // org-dartlang-test:///structs.dart:6:12: Error: 'Z' isn't a type. |
| // external Z zz; |
| // ^ |
| // |
| // org-dartlang-test:///structs.dart:6:12: Error: Type 'Z' not found. |
| // external Z zz; |
| // ^ |
| // |
| |
| import "dart:ffi"; |
| |
| @#C6 |
| final class A extends dart.ffi::Struct { |
| synthetic constructor •() → str::A |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(synthesized dart.core::Object #typedDataBase, synthesized dart.core::int #offsetInBytes) → str::A |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes) |
| ; |
| constructor #fromTypedData(synthesized dart.typed_data::TypedData #typedData, synthesized dart.core::int #offset, synthesized dart.core::int #sizeInBytes) → str::A |
| : super dart.ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes) |
| ; |
| get yy() → str::Y |
| return new str::Y::#fromTypedDataBase(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, str::A::yy#offsetOf.{dart.core::num::+}(this.{dart.ffi::_Compound::_offsetInBytes}{dart.core::int}){(dart.core::num) → dart.core::num}); |
| set yy(synthesized str::Y #externalFieldValue) → void |
| return dart.ffi::_memCopy(this.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, str::A::yy#offsetOf.{dart.core::num::+}(this.{dart.ffi::_Compound::_offsetInBytes}{dart.core::int}){(dart.core::num) → dart.core::num}, #externalFieldValue.{dart.ffi::_Compound::_typedDataBase}{dart.core::Object}, #externalFieldValue.{dart.ffi::_Compound::_offsetInBytes}{dart.core::int}, #C8.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}); |
| @#C10 |
| static get yy#offsetOf() → dart.core::int |
| return #C8.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| @#C10 |
| static get #sizeOf() → dart.core::int* |
| return #C8.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| final class Y extends dart.ffi::Struct { |
| synthetic constructor •() → str::Y |
| : super dart.ffi::Struct::•() |
| ; |
| constructor #fromTypedDataBase(synthesized dart.core::Object #typedDataBase, synthesized dart.core::int #offsetInBytes) → str::Y |
| : super dart.ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes) |
| ; |
| constructor #fromTypedData(synthesized dart.typed_data::TypedData #typedData, synthesized dart.core::int #offset, synthesized dart.core::int #sizeInBytes) → str::Y |
| : super dart.ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes) |
| ; |
| external get zz() → invalid-type; |
| external set zz(synthesized invalid-type #externalFieldValue) → void; |
| @#C10 |
| static get #sizeOf() → dart.core::int* |
| return #C8.{dart.core::List::[]}(dart.ffi::_abi()){(dart.core::int) → dart.core::int*}; |
| } |
| } |
| constants { |
| #C1 = "vm:ffi:struct-fields" |
| #C2 = TypeLiteralConstant(str::Y) |
| #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, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7, #C7] |
| #C9 = "vm:prefer-inline" |
| #C10 = dart.core::pragma {name:#C9, options:#C4} |
| } |