blob: e75c3710059cd28b67262e2fc6dd40b22e54a8b4 [file] [log] [blame]
// Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// This file has been automatically generated. Please do not edit it manually.
// Generated by tests/ffi/generator/address_of_test_generator.dart.
//
// SharedObjects=ffi_test_functions
// VMOptions=
// VMOptions=--deterministic --optimization-counter-threshold=90
// VMOptions=--use-slow-path
// VMOptions=--use-slow-path --stacktrace-every=100
// ignore_for_file: unused_import
import 'dart:ffi';
import 'dart:typed_data';
import 'package:expect/expect.dart';
import 'address_of_generated_shared.dart';
import 'address_of_shared.dart';
import 'dylib_utils.dart';
final ffiTestFunctions = dlopenPlatformSpecific('ffi_test_functions');
void main() {
// Force dlopen so @Native lookups in DynamicLibrary.process() succeed.
dlopenGlobalPlatformSpecific('ffi_test_functions');
for (int i = 0; i < 100; ++i) {
testAddressOfInt8StructField();
testAddressOfInt16StructField();
testAddressOfInt32StructField();
testAddressOfInt64StructField();
testAddressOfUint8StructField();
testAddressOfUint16StructField();
testAddressOfUint32StructField();
testAddressOfUint64StructField();
testAddressOfFloatStructField();
testAddressOfDoubleStructField();
testAddressOfBoolStructField();
testAddressOfStructPointerMany();
}
}
final class Int8Struct extends Struct {
@Int8()
external int a0;
@Int8()
external int a1;
@Int8()
external int a2;
@Int8()
external int a3;
@Int8()
external int a4;
@Int8()
external int a5;
@Int8()
external int a6;
@Int8()
external int a7;
@Int8()
external int a8;
@Int8()
external int a9;
@Int8()
external int a10;
@Int8()
external int a11;
@Int8()
external int a12;
@Int8()
external int a13;
@Int8()
external int a14;
@Int8()
external int a15;
@Int8()
external int a16;
@Int8()
external int a17;
@Int8()
external int a18;
@Int8()
external int a19;
}
Int8Struct makeInt8Struct(int length) {
assert(length == 20);
final typedData = makeInt8List(length);
final struct = Struct.create<Int8Struct>(typedData);
return struct;
}
void testAddressOfInt8StructField() {
const length = 20;
final struct = makeInt8Struct(length);
final expectedResult = makeExpectedResultInt8(0, length);
final result = takeInt8PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Int16Struct extends Struct {
@Int16()
external int a0;
@Int16()
external int a1;
@Int16()
external int a2;
@Int16()
external int a3;
@Int16()
external int a4;
@Int16()
external int a5;
@Int16()
external int a6;
@Int16()
external int a7;
@Int16()
external int a8;
@Int16()
external int a9;
@Int16()
external int a10;
@Int16()
external int a11;
@Int16()
external int a12;
@Int16()
external int a13;
@Int16()
external int a14;
@Int16()
external int a15;
@Int16()
external int a16;
@Int16()
external int a17;
@Int16()
external int a18;
@Int16()
external int a19;
}
Int16Struct makeInt16Struct(int length) {
assert(length == 20);
final typedData = makeInt16List(length);
final struct = Struct.create<Int16Struct>(typedData);
return struct;
}
void testAddressOfInt16StructField() {
const length = 20;
final struct = makeInt16Struct(length);
final expectedResult = makeExpectedResultInt16(0, length);
final result = takeInt16PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Int32Struct extends Struct {
@Int32()
external int a0;
@Int32()
external int a1;
@Int32()
external int a2;
@Int32()
external int a3;
@Int32()
external int a4;
@Int32()
external int a5;
@Int32()
external int a6;
@Int32()
external int a7;
@Int32()
external int a8;
@Int32()
external int a9;
@Int32()
external int a10;
@Int32()
external int a11;
@Int32()
external int a12;
@Int32()
external int a13;
@Int32()
external int a14;
@Int32()
external int a15;
@Int32()
external int a16;
@Int32()
external int a17;
@Int32()
external int a18;
@Int32()
external int a19;
}
Int32Struct makeInt32Struct(int length) {
assert(length == 20);
final typedData = makeInt32List(length);
final struct = Struct.create<Int32Struct>(typedData);
return struct;
}
void testAddressOfInt32StructField() {
const length = 20;
final struct = makeInt32Struct(length);
final expectedResult = makeExpectedResultInt32(0, length);
final result = takeInt32PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Int64Struct extends Struct {
@Int64()
external int a0;
@Int64()
external int a1;
@Int64()
external int a2;
@Int64()
external int a3;
@Int64()
external int a4;
@Int64()
external int a5;
@Int64()
external int a6;
@Int64()
external int a7;
@Int64()
external int a8;
@Int64()
external int a9;
@Int64()
external int a10;
@Int64()
external int a11;
@Int64()
external int a12;
@Int64()
external int a13;
@Int64()
external int a14;
@Int64()
external int a15;
@Int64()
external int a16;
@Int64()
external int a17;
@Int64()
external int a18;
@Int64()
external int a19;
}
Int64Struct makeInt64Struct(int length) {
assert(length == 20);
final typedData = makeInt64List(length);
final struct = Struct.create<Int64Struct>(typedData);
return struct;
}
void testAddressOfInt64StructField() {
const length = 20;
final struct = makeInt64Struct(length);
final expectedResult = makeExpectedResultInt64(0, length);
final result = takeInt64PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Uint8Struct extends Struct {
@Uint8()
external int a0;
@Uint8()
external int a1;
@Uint8()
external int a2;
@Uint8()
external int a3;
@Uint8()
external int a4;
@Uint8()
external int a5;
@Uint8()
external int a6;
@Uint8()
external int a7;
@Uint8()
external int a8;
@Uint8()
external int a9;
@Uint8()
external int a10;
@Uint8()
external int a11;
@Uint8()
external int a12;
@Uint8()
external int a13;
@Uint8()
external int a14;
@Uint8()
external int a15;
@Uint8()
external int a16;
@Uint8()
external int a17;
@Uint8()
external int a18;
@Uint8()
external int a19;
}
Uint8Struct makeUint8Struct(int length) {
assert(length == 20);
final typedData = makeUint8List(length);
final struct = Struct.create<Uint8Struct>(typedData);
return struct;
}
void testAddressOfUint8StructField() {
const length = 20;
final struct = makeUint8Struct(length);
final expectedResult = makeExpectedResultUint8(0, length);
final result = takeUint8PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Uint16Struct extends Struct {
@Uint16()
external int a0;
@Uint16()
external int a1;
@Uint16()
external int a2;
@Uint16()
external int a3;
@Uint16()
external int a4;
@Uint16()
external int a5;
@Uint16()
external int a6;
@Uint16()
external int a7;
@Uint16()
external int a8;
@Uint16()
external int a9;
@Uint16()
external int a10;
@Uint16()
external int a11;
@Uint16()
external int a12;
@Uint16()
external int a13;
@Uint16()
external int a14;
@Uint16()
external int a15;
@Uint16()
external int a16;
@Uint16()
external int a17;
@Uint16()
external int a18;
@Uint16()
external int a19;
}
Uint16Struct makeUint16Struct(int length) {
assert(length == 20);
final typedData = makeUint16List(length);
final struct = Struct.create<Uint16Struct>(typedData);
return struct;
}
void testAddressOfUint16StructField() {
const length = 20;
final struct = makeUint16Struct(length);
final expectedResult = makeExpectedResultUint16(0, length);
final result = takeUint16PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Uint32Struct extends Struct {
@Uint32()
external int a0;
@Uint32()
external int a1;
@Uint32()
external int a2;
@Uint32()
external int a3;
@Uint32()
external int a4;
@Uint32()
external int a5;
@Uint32()
external int a6;
@Uint32()
external int a7;
@Uint32()
external int a8;
@Uint32()
external int a9;
@Uint32()
external int a10;
@Uint32()
external int a11;
@Uint32()
external int a12;
@Uint32()
external int a13;
@Uint32()
external int a14;
@Uint32()
external int a15;
@Uint32()
external int a16;
@Uint32()
external int a17;
@Uint32()
external int a18;
@Uint32()
external int a19;
}
Uint32Struct makeUint32Struct(int length) {
assert(length == 20);
final typedData = makeUint32List(length);
final struct = Struct.create<Uint32Struct>(typedData);
return struct;
}
void testAddressOfUint32StructField() {
const length = 20;
final struct = makeUint32Struct(length);
final expectedResult = makeExpectedResultUint32(0, length);
final result = takeUint32PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Uint64Struct extends Struct {
@Uint64()
external int a0;
@Uint64()
external int a1;
@Uint64()
external int a2;
@Uint64()
external int a3;
@Uint64()
external int a4;
@Uint64()
external int a5;
@Uint64()
external int a6;
@Uint64()
external int a7;
@Uint64()
external int a8;
@Uint64()
external int a9;
@Uint64()
external int a10;
@Uint64()
external int a11;
@Uint64()
external int a12;
@Uint64()
external int a13;
@Uint64()
external int a14;
@Uint64()
external int a15;
@Uint64()
external int a16;
@Uint64()
external int a17;
@Uint64()
external int a18;
@Uint64()
external int a19;
}
Uint64Struct makeUint64Struct(int length) {
assert(length == 20);
final typedData = makeUint64List(length);
final struct = Struct.create<Uint64Struct>(typedData);
return struct;
}
void testAddressOfUint64StructField() {
const length = 20;
final struct = makeUint64Struct(length);
final expectedResult = makeExpectedResultUint64(0, length);
final result = takeUint64PointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class FloatStruct extends Struct {
@Float()
external double a0;
@Float()
external double a1;
@Float()
external double a2;
@Float()
external double a3;
@Float()
external double a4;
@Float()
external double a5;
@Float()
external double a6;
@Float()
external double a7;
@Float()
external double a8;
@Float()
external double a9;
@Float()
external double a10;
@Float()
external double a11;
@Float()
external double a12;
@Float()
external double a13;
@Float()
external double a14;
@Float()
external double a15;
@Float()
external double a16;
@Float()
external double a17;
@Float()
external double a18;
@Float()
external double a19;
}
FloatStruct makeFloatStruct(int length) {
assert(length == 20);
final typedData = makeFloat32List(length);
final struct = Struct.create<FloatStruct>(typedData);
return struct;
}
void testAddressOfFloatStructField() {
const length = 20;
final struct = makeFloatStruct(length);
final expectedResult = makeExpectedResultFloat(0, length);
final result = takeFloatPointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.approxEquals(expectedResult, result);
}
final class DoubleStruct extends Struct {
@Double()
external double a0;
@Double()
external double a1;
@Double()
external double a2;
@Double()
external double a3;
@Double()
external double a4;
@Double()
external double a5;
@Double()
external double a6;
@Double()
external double a7;
@Double()
external double a8;
@Double()
external double a9;
@Double()
external double a10;
@Double()
external double a11;
@Double()
external double a12;
@Double()
external double a13;
@Double()
external double a14;
@Double()
external double a15;
@Double()
external double a16;
@Double()
external double a17;
@Double()
external double a18;
@Double()
external double a19;
}
DoubleStruct makeDoubleStruct(int length) {
assert(length == 20);
final typedData = makeFloat64List(length);
final struct = Struct.create<DoubleStruct>(typedData);
return struct;
}
void testAddressOfDoubleStructField() {
const length = 20;
final struct = makeDoubleStruct(length);
final expectedResult = makeExpectedResultDouble(0, length);
final result = takeDoublePointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.approxEquals(expectedResult, result);
}
final class BoolStruct extends Struct {
@Bool()
external bool a0;
@Bool()
external bool a1;
@Bool()
external bool a2;
@Bool()
external bool a3;
@Bool()
external bool a4;
@Bool()
external bool a5;
@Bool()
external bool a6;
@Bool()
external bool a7;
@Bool()
external bool a8;
@Bool()
external bool a9;
@Bool()
external bool a10;
@Bool()
external bool a11;
@Bool()
external bool a12;
@Bool()
external bool a13;
@Bool()
external bool a14;
@Bool()
external bool a15;
@Bool()
external bool a16;
@Bool()
external bool a17;
@Bool()
external bool a18;
@Bool()
external bool a19;
}
BoolStruct makeBoolStruct(int length) {
assert(length == 20);
final typedData = makeBoolList(length);
final struct = Struct.create<BoolStruct>(typedData);
return struct;
}
void testAddressOfBoolStructField() {
const length = 20;
final struct = makeBoolStruct(length);
final expectedResult = makeExpectedResultBool(0, length);
final result = takeBoolPointerMany(
struct.a0.address,
struct.a1.address,
struct.a2.address,
struct.a3.address,
struct.a4.address,
struct.a5.address,
struct.a6.address,
struct.a7.address,
struct.a8.address,
struct.a9.address,
struct.a10.address,
struct.a11.address,
struct.a12.address,
struct.a13.address,
struct.a14.address,
struct.a15.address,
struct.a16.address,
struct.a17.address,
struct.a18.address,
struct.a19.address,
);
Expect.equals(expectedResult, result);
}
final class Struct2BytesInt extends Struct {
@Int16()
external int a0;
String toString() => "(${a0})";
}
@Native<
Int16 Function(
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
Pointer<Struct2BytesInt>,
)>(symbol: 'TakeStruct2BytesIntPointerMany', isLeaf: true)
external int takeStruct2BytesIntPointerMany(
Pointer<Struct2BytesInt> pointer0,
Pointer<Struct2BytesInt> pointer1,
Pointer<Struct2BytesInt> pointer2,
Pointer<Struct2BytesInt> pointer3,
Pointer<Struct2BytesInt> pointer4,
Pointer<Struct2BytesInt> pointer5,
Pointer<Struct2BytesInt> pointer6,
Pointer<Struct2BytesInt> pointer7,
Pointer<Struct2BytesInt> pointer8,
Pointer<Struct2BytesInt> pointer9,
Pointer<Struct2BytesInt> pointer10,
Pointer<Struct2BytesInt> pointer11,
Pointer<Struct2BytesInt> pointer12,
Pointer<Struct2BytesInt> pointer13,
Pointer<Struct2BytesInt> pointer14,
Pointer<Struct2BytesInt> pointer15,
Pointer<Struct2BytesInt> pointer16,
Pointer<Struct2BytesInt> pointer17,
Pointer<Struct2BytesInt> pointer18,
Pointer<Struct2BytesInt> pointer19,
);
void testAddressOfStructPointerMany() {
const length = 20;
final typedData = makeInt16List(length);
final struct0 = Struct.create<Struct2BytesInt>(typedData, 0);
final struct1 = Struct.create<Struct2BytesInt>(typedData, 1);
final struct2 = Struct.create<Struct2BytesInt>(typedData, 2);
final struct3 = Struct.create<Struct2BytesInt>(typedData, 3);
final struct4 = Struct.create<Struct2BytesInt>(typedData, 4);
final struct5 = Struct.create<Struct2BytesInt>(typedData, 5);
final struct6 = Struct.create<Struct2BytesInt>(typedData, 6);
final struct7 = Struct.create<Struct2BytesInt>(typedData, 7);
final struct8 = Struct.create<Struct2BytesInt>(typedData, 8);
final struct9 = Struct.create<Struct2BytesInt>(typedData, 9);
final struct10 = Struct.create<Struct2BytesInt>(typedData, 10);
final struct11 = Struct.create<Struct2BytesInt>(typedData, 11);
final struct12 = Struct.create<Struct2BytesInt>(typedData, 12);
final struct13 = Struct.create<Struct2BytesInt>(typedData, 13);
final struct14 = Struct.create<Struct2BytesInt>(typedData, 14);
final struct15 = Struct.create<Struct2BytesInt>(typedData, 15);
final struct16 = Struct.create<Struct2BytesInt>(typedData, 16);
final struct17 = Struct.create<Struct2BytesInt>(typedData, 17);
final struct18 = Struct.create<Struct2BytesInt>(typedData, 18);
final struct19 = Struct.create<Struct2BytesInt>(typedData, 19);
final expectedResult = makeExpectedResultInt16(0, length);
final result = takeStruct2BytesIntPointerMany(
struct0.address,
struct1.address,
struct2.address,
struct3.address,
struct4.address,
struct5.address,
struct6.address,
struct7.address,
struct8.address,
struct9.address,
struct10.address,
struct11.address,
struct12.address,
struct13.address,
struct14.address,
struct15.address,
struct16.address,
struct17.address,
struct18.address,
struct19.address,
);
Expect.equals(expectedResult, result);
}
final class Union2BytesInt extends Union {
@Int16()
external int a0;
String toString() => "(${a0})";
}
@Native<
Int16 Function(
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
Pointer<Union2BytesInt>,
)>(symbol: 'TakeUnion2BytesIntPointerMany', isLeaf: true)
external int takeUnion2BytesIntPointerMany(
Pointer<Union2BytesInt> pointer0,
Pointer<Union2BytesInt> pointer1,
Pointer<Union2BytesInt> pointer2,
Pointer<Union2BytesInt> pointer3,
Pointer<Union2BytesInt> pointer4,
Pointer<Union2BytesInt> pointer5,
Pointer<Union2BytesInt> pointer6,
Pointer<Union2BytesInt> pointer7,
Pointer<Union2BytesInt> pointer8,
Pointer<Union2BytesInt> pointer9,
Pointer<Union2BytesInt> pointer10,
Pointer<Union2BytesInt> pointer11,
Pointer<Union2BytesInt> pointer12,
Pointer<Union2BytesInt> pointer13,
Pointer<Union2BytesInt> pointer14,
Pointer<Union2BytesInt> pointer15,
Pointer<Union2BytesInt> pointer16,
Pointer<Union2BytesInt> pointer17,
Pointer<Union2BytesInt> pointer18,
Pointer<Union2BytesInt> pointer19,
);
void testAddressOfUnionPointerMany() {
const length = 20;
final typedData = makeInt16List(length);
final struct0 = Union.create<Union2BytesInt>(typedData, 0);
final struct1 = Union.create<Union2BytesInt>(typedData, 1);
final struct2 = Union.create<Union2BytesInt>(typedData, 2);
final struct3 = Union.create<Union2BytesInt>(typedData, 3);
final struct4 = Union.create<Union2BytesInt>(typedData, 4);
final struct5 = Union.create<Union2BytesInt>(typedData, 5);
final struct6 = Union.create<Union2BytesInt>(typedData, 6);
final struct7 = Union.create<Union2BytesInt>(typedData, 7);
final struct8 = Union.create<Union2BytesInt>(typedData, 8);
final struct9 = Union.create<Union2BytesInt>(typedData, 9);
final struct10 = Union.create<Union2BytesInt>(typedData, 10);
final struct11 = Union.create<Union2BytesInt>(typedData, 11);
final struct12 = Union.create<Union2BytesInt>(typedData, 12);
final struct13 = Union.create<Union2BytesInt>(typedData, 13);
final struct14 = Union.create<Union2BytesInt>(typedData, 14);
final struct15 = Union.create<Union2BytesInt>(typedData, 15);
final struct16 = Union.create<Union2BytesInt>(typedData, 16);
final struct17 = Union.create<Union2BytesInt>(typedData, 17);
final struct18 = Union.create<Union2BytesInt>(typedData, 18);
final struct19 = Union.create<Union2BytesInt>(typedData, 19);
final expectedResult = makeExpectedResultInt16(0, length);
final result = takeUnion2BytesIntPointerMany(
struct0.address,
struct1.address,
struct2.address,
struct3.address,
struct4.address,
struct5.address,
struct6.address,
struct7.address,
struct8.address,
struct9.address,
struct10.address,
struct11.address,
struct12.address,
struct13.address,
struct14.address,
struct15.address,
struct16.address,
struct17.address,
struct18.address,
struct19.address,
);
Expect.equals(expectedResult, result);
}