blob: 589c0c45721bf3334039543f1e9a3a933f7b81b2 [file] [log] [blame]
library #lib;
import self as self;
import "dart:core" as core;
import "dart:ffi" as ffi;
import "dart:typed_data" as typ;
import "dart:ffi";
@#C3
@#C8
final class Vec2d extends ffi::Struct {
synthetic constructor •() self::Vec2d
: super ffi::Struct::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::Vec2d
: super ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::Vec2d
: super ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C11
@#C10
get x() core::double
return ffi::_loadDouble(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::Vec2d::x#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num});
@#C11
@#C10
set x(synthesized core::double #externalFieldValue) → void
return ffi::_storeDouble(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::Vec2d::x#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue);
@#C11
@#C10
get y() core::double
return ffi::_loadDouble(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::Vec2d::y#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num});
@#C11
@#C10
set y(synthesized core::double #externalFieldValue) → void
return ffi::_storeDouble(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::Vec2d::y#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue);
@#C10
static synthetic get x#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static synthetic get y#offsetOf() → core::int
return #C15.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C17.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C3
@#C23
final class MyStruct extends ffi::Struct {
synthetic constructor •() self::MyStruct
: super ffi::Struct::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::MyStruct
: super ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::MyStruct
: super ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C24
@#C10
get array() ffi::Array<ffi::Uint8>
return new ffi::Array::_<ffi::Uint8>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #C12, #C19, #C25);
@#C24
@#C10
set array(synthesized ffi::Array<ffi::Uint8> #externalFieldValue) → void
return ffi::_memCopy(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
@#C10
static synthetic get array#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C3
@#C30
final class MyStruct2 extends ffi::Struct {
synthetic constructor •() self::MyStruct2
: super ffi::Struct::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::MyStruct2
: super ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::MyStruct2
: super ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C31
@#C10
get array() ffi::Array<ffi::Uint8>
return new ffi::Array::_<ffi::Uint8>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct2::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #C26, #C19, #C25);
@#C31
@#C10
set array(synthesized ffi::Array<ffi::Uint8> #externalFieldValue) → void
return ffi::_memCopy(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct2::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C32.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
@#C10
static synthetic get array#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C32.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C3
@#C23
final class MyStruct3 extends ffi::Struct {
synthetic constructor •() self::MyStruct3
: super ffi::Struct::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::MyStruct3
: super ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::MyStruct3
: super ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C35
@#C10
get array() ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>
return new ffi::Array::_<ffi::Array<ffi::Array<ffi::Uint8>>>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct3::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #C12, #C19, #C34);
@#C35
@#C10
set array(synthesized ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> #externalFieldValue) → void
return ffi::_memCopy(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct3::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
@#C10
static synthetic get array#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C3
@#C39
final class MyStruct4 extends ffi::Struct {
synthetic constructor •() self::MyStruct4
: super ffi::Struct::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::MyStruct4
: super ffi::Struct::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::MyStruct4
: super ffi::Struct::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C40
@#C10
get array() ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>>
return new ffi::Array::_<ffi::Array<ffi::Array<ffi::Uint8>>>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct4::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #C26, #C19, #C34);
@#C40
@#C10
set array(synthesized ffi::Array<ffi::Array<ffi::Array<ffi::Uint8>>> #externalFieldValue) → void
return ffi::_memCopy(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyStruct4::array#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C41.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
@#C10
static synthetic get array#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C41.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C3
@#C46
final class MyUnion extends ffi::Union {
synthetic constructor •() self::MyUnion
: super ffi::Union::•()
;
constructor #fromTypedDataBase(synthesized core::Object #typedDataBase, synthesized core::int #offsetInBytes) → self::MyUnion
: super ffi::Union::_fromTypedDataBase(#typedDataBase, #offsetInBytes)
;
@#C10
constructor #fromTypedData(synthesized typ::TypedData #typedData, synthesized core::int #offset, synthesized core::int #sizeInBytes) → self::MyUnion
: super ffi::Union::_fromTypedData(#typedData, #offset, #sizeInBytes)
;
@#C10
get vector() self::Vec2d
return new self::Vec2d::#fromTypedDataBase(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyUnion::vector#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num});
@#C10
set vector(synthesized self::Vec2d #externalFieldValue) → void
return ffi::_memCopy(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyUnion::vector#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C17.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
@#C10
get indirectVector() ffi::Pointer<self::Vec2d>
return ffi::_loadPointer<self::Vec2d>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyUnion::indirectVector#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num});
@#C10
set indirectVector(synthesized ffi::Pointer<self::Vec2d> #externalFieldValue) → void
return ffi::_storePointer<self::Vec2d>(this.{ffi::_Compound::_typedDataBase}{core::Object}, self::MyUnion::indirectVector#offsetOf.{core::num::+}(this.{ffi::_Compound::_offsetInBytes}{core::int}){(core::num) → core::num}, #externalFieldValue);
@#C10
static synthetic get vector#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static synthetic get indirectVector#offsetOf() → core::int
return #C13.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
@#C10
static get #sizeOf() → core::int
return #C17.{core::List::[]}(ffi::_abi()){(core::int) → core::int};
}
@#C52
static get aString() ffi::Pointer<ffi::Char>
return ffi::_loadPointer<ffi::Char>(ffi::Native::_addressOf<ffi::Pointer<ffi::Char>>(#C51), #C12);
static set aString(synthesized ffi::Pointer<ffi::Char> #externalFieldValue) → void
ffi::_storePointer<ffi::Char>(ffi::Native::_addressOf<ffi::Pointer<ffi::Char>>(#C51), #C12, #externalFieldValue);
@#C55
static get anInt() core::int
return ffi::_loadInt32(ffi::Native::_addressOf<ffi::Int32>(#C54), #C12);
static set anInt(synthesized core::int #externalFieldValue) → void
ffi::_storeInt32(ffi::Native::_addressOf<ffi::Int32>(#C54), #C12, #externalFieldValue);
@#C58
static get anotherInt() core::int
return ffi::_loadAbiSpecificInt<ffi::Int>(ffi::Native::_addressOf<ffi::Int>(#C57), #C12);
static set anotherInt(synthesized core::int #externalFieldValue) → void
ffi::_storeAbiSpecificInt<ffi::Int>(ffi::Native::_addressOf<ffi::Int>(#C57), #C12, #externalFieldValue);
@#C61
static get vector() self::Vec2d
return new self::Vec2d::#fromTypedDataBase(ffi::Native::_addressOf<self::Vec2d>(#C60), #C12);
@#C64
static get union() self::MyUnion
return new self::MyUnion::#fromTypedDataBase(ffi::Native::_addressOf<self::MyUnion>(#C63), #C12);
static set union(synthesized self::MyUnion #externalFieldValue) → void
ffi::_memCopy(ffi::Native::_addressOf<self::MyUnion>(#C63), #C12, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, self::MyUnion::#sizeOf);
@#C66
@#C69
static get manyNumbers() ffi::Array<ffi::Array<ffi::Array<ffi::Double>>>
return new ffi::Array::_<ffi::Array<ffi::Array<ffi::Double>>>(ffi::Native::_addressOf<ffi::Array<ffi::Array<ffi::Array<ffi::Double>>>>(#C68), #C12, #C26, #C50, #C70);
@#C66
static set manyNumbers(synthesized ffi::Array<ffi::Array<ffi::Array<ffi::Double>>> #externalFieldValue) → void
ffi::_memCopy(ffi::Native::_addressOf<ffi::Array<ffi::Array<ffi::Array<ffi::Double>>>>(#C68), #C12, #externalFieldValue.{ffi::_Compound::_typedDataBase}{core::Object}, #externalFieldValue.{ffi::_Compound::_offsetInBytes}{core::int}, #C72.{core::List::[]}(ffi::_abi()){(core::int) → core::int});
static method main() void {
core::print("first char of string: ${ffi::_loadAbiSpecificInt<ffi::Char>(self::aString, #C12)}");
core::print("global int: {${self::anInt}}");
self::aString = ffi::nullptr;
self::anInt = self::anInt.{core::num::+}(1){(core::num) core::int};
final self::Vec2d vec = self::vector;
core::print("(${vec.{self::Vec2d::x}{core::double}}, ${vec.{self::Vec2d::y}{core::double}})");
self::union.{self::MyUnion::indirectVector} = ffi::Native::_addressOf<self::Vec2d>(#C60);
core::print(ffi::Native::_addressOf<ffi::Int>(#C57));
core::print(ffi::Native::_addressOf<self::Vec2d>(#C60));
core::print(ffi::Native::_addressOf<self::MyUnion>(#C63));
final ffi::Array<ffi::Array<ffi::Array<ffi::Double>>> wholeArray = self::manyNumbers;
ffi::DoubleArray|[]=( block {
synthesized ffi::Array<dynamic> #array = ( block {
synthesized ffi::Array<dynamic> #array = wholeArray!;
synthesized core::int #index = 0!;
#array.{ffi::Array::_checkIndex}(#index){(core::int) → void};
synthesized core::int #singleElementSize = #C14;
synthesized core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened}{core::int}){(core::num) → core::num};
synthesized core::int #offset = #elementSize.{core::num::*}(#index){(core::num) → core::num};
} =>new ffi::Array::_<ffi::Array<ffi::Double>>(#array.{ffi::_Compound::_typedDataBase}{core::Object}, #array.{ffi::_Compound::_offsetInBytes}{core::int}.{core::num::+}(#offset){(core::num) → core::num}, #array.{ffi::Array::_nestedDimensionsFirst}{core::int}, #array.{ffi::Array::_variableLength}{core::bool}, #array.{ffi::Array::_nestedDimensionsRest}{core::List<core::int>}))!;
synthesized core::int #index = 1!;
#array.{ffi::Array::_checkIndex}(#index){(core::int) → void};
synthesized core::int #singleElementSize = #C14;
synthesized core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened}{core::int}){(core::num) → core::num};
synthesized core::int #offset = #elementSize.{core::num::*}(#index){(core::num) → core::num};
} =>new ffi::Array::_<ffi::Double>(#array.{ffi::_Compound::_typedDataBase}{core::Object}, #array.{ffi::_Compound::_offsetInBytes}{core::int}.{core::num::+}(#offset){(core::num) → core::num}, #array.{ffi::Array::_nestedDimensionsFirst}{core::int}, #array.{ffi::Array::_variableLength}{core::bool}, #array.{ffi::Array::_nestedDimensionsRest}{core::List<core::int>}), 2, 123.45);
self::manyNumbers = wholeArray;
ffi::DoubleArray|[]=( block {
synthesized ffi::Array<dynamic> #array = ( block {
synthesized ffi::Array<dynamic> #array = self::manyNumbers!;
synthesized core::int #index = 0!;
#array.{ffi::Array::_checkIndex}(#index){(core::int) → void};
synthesized core::int #singleElementSize = #C14;
synthesized core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened}{core::int}){(core::num) → core::num};
synthesized core::int #offset = #elementSize.{core::num::*}(#index){(core::num) → core::num};
} =>new ffi::Array::_<ffi::Array<ffi::Double>>(#array.{ffi::_Compound::_typedDataBase}{core::Object}, #array.{ffi::_Compound::_offsetInBytes}{core::int}.{core::num::+}(#offset){(core::num) → core::num}, #array.{ffi::Array::_nestedDimensionsFirst}{core::int}, #array.{ffi::Array::_variableLength}{core::bool}, #array.{ffi::Array::_nestedDimensionsRest}{core::List<core::int>}))!;
synthesized core::int #index = 0!;
#array.{ffi::Array::_checkIndex}(#index){(core::int) → void};
synthesized core::int #singleElementSize = #C14;
synthesized core::int #elementSize = #singleElementSize.{core::num::*}(#array.{ffi::Array::_nestedDimensionsFlattened}{core::int}){(core::num) → core::num};
synthesized core::int #offset = #elementSize.{core::num::*}(#index){(core::num) → core::num};
} =>new ffi::Array::_<ffi::Double>(#array.{ffi::_Compound::_typedDataBase}{core::Object}, #array.{ffi::_Compound::_offsetInBytes}{core::int}.{core::num::+}(#offset){(core::num) → core::num}, #array.{ffi::Array::_nestedDimensionsFirst}{core::int}, #array.{ffi::Array::_variableLength}{core::bool}, #array.{ffi::Array::_nestedDimensionsRest}{core::List<core::int>}), 0, 54.321);
}
constants {
#C1 = "vm:deeply-immutable"
#C2 = null
#C3 = core::pragma {name:#C1, options:#C2}
#C4 = "vm:ffi:struct-fields"
#C5 = TypeLiteralConstant(ffi::Double)
#C6 = <core::Type>[#C5, #C5]
#C7 = ffi::_FfiStructLayout {fieldTypes:#C6, packing:#C2}
#C8 = core::pragma {name:#C4, options:#C7}
#C9 = "vm:prefer-inline"
#C10 = core::pragma {name:#C9, options:#C2}
#C11 = ffi::Double {}
#C12 = 0
#C13 = <core::int>[#C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12, #C12]
#C14 = 8
#C15 = <core::int>[#C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14, #C14]
#C16 = 16
#C17 = <core::int>[#C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16, #C16]
#C18 = TypeLiteralConstant(ffi::Uint8)
#C19 = true
#C20 = ffi::_FfiInlineArray {elementType:#C18, length:#C12, variableLength:#C19}
#C21 = <core::Type>[#C20]
#C22 = ffi::_FfiStructLayout {fieldTypes:#C21, packing:#C2}
#C23 = core::pragma {name:#C4, options:#C22}
#C24 = ffi::_ArraySize<ffi::NativeType> {dimension1:#C12, dimension2:#C2, dimension3:#C2, dimension4:#C2, dimension5:#C2, dimensions:#C2, variableDimension:#C12}
#C25 = <core::int>[]
#C26 = 1
#C27 = ffi::_FfiInlineArray {elementType:#C18, length:#C26, variableLength:#C19}
#C28 = <core::Type>[#C27]
#C29 = ffi::_FfiStructLayout {fieldTypes:#C28, packing:#C2}
#C30 = core::pragma {name:#C4, options:#C29}
#C31 = ffi::_ArraySize<ffi::NativeType> {dimension1:#C26, dimension2:#C2, dimension3:#C2, dimension4:#C2, dimension5:#C2, dimensions:#C2, variableDimension:#C26}
#C32 = <core::int>[#C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26, #C26]
#C33 = 2
#C34 = <core::int>[#C26, #C33]
#C35 = ffi::_ArraySize<ffi::NativeType> {dimension1:#C2, dimension2:#C2, dimension3:#C2, dimension4:#C2, dimension5:#C2, dimensions:#C34, variableDimension:#C12}
#C36 = ffi::_FfiInlineArray {elementType:#C18, length:#C33, variableLength:#C19}
#C37 = <core::Type>[#C36]
#C38 = ffi::_FfiStructLayout {fieldTypes:#C37, packing:#C2}
#C39 = core::pragma {name:#C4, options:#C38}
#C40 = ffi::_ArraySize<ffi::NativeType> {dimension1:#C2, dimension2:#C2, dimension3:#C2, dimension4:#C2, dimension5:#C2, dimensions:#C34, variableDimension:#C26}
#C41 = <core::int>[#C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33, #C33]
#C42 = TypeLiteralConstant(self::Vec2d)
#C43 = TypeLiteralConstant(ffi::Pointer<core::Object>)
#C44 = <core::Type>[#C42, #C43]
#C45 = ffi::_FfiStructLayout {fieldTypes:#C44, packing:#C2}
#C46 = core::pragma {name:#C4, options:#C45}
#C47 = "cfe:ffi:native-marker"
#C48 = "aString"
#C49 = "#lib"
#C50 = false
#C51 = ffi::Native<ffi::Pointer<ffi::Char>> {symbol:#C48, assetId:#C49, isLeaf:#C50}
#C52 = core::pragma {name:#C47, options:#C51}
#C53 = "anInt"
#C54 = ffi::Native<ffi::Int32> {symbol:#C53, assetId:#C49, isLeaf:#C50}
#C55 = core::pragma {name:#C47, options:#C54}
#C56 = "anotherInt"
#C57 = ffi::Native<ffi::Int> {symbol:#C56, assetId:#C49, isLeaf:#C50}
#C58 = core::pragma {name:#C47, options:#C57}
#C59 = "vector"
#C60 = ffi::Native<self::Vec2d> {symbol:#C59, assetId:#C49, isLeaf:#C50}
#C61 = core::pragma {name:#C47, options:#C60}
#C62 = "union"
#C63 = ffi::Native<self::MyUnion> {symbol:#C62, assetId:#C49, isLeaf:#C50}
#C64 = core::pragma {name:#C47, options:#C63}
#C65 = 3
#C66 = ffi::_ArraySize<ffi::NativeType> {dimension1:#C26, dimension2:#C33, dimension3:#C65, dimension4:#C2, dimension5:#C2, dimensions:#C2, variableDimension:#C2}
#C67 = "manyNumbers"
#C68 = ffi::Native<ffi::Array<ffi::Array<ffi::Array<ffi::Double>>>> {symbol:#C67, assetId:#C49, isLeaf:#C50}
#C69 = core::pragma {name:#C47, options:#C68}
#C70 = <core::int>[#C33, #C65]
#C71 = 48
#C72 = <core::int>[#C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71, #C71]
}