[fidl] Update conformance tests
Mechanical regen after I1c76185508d72e71effe9b20d0322b897613a4c9
Change-Id: Iab964082e4cbd2dfaf6bea953a11cbe77570f4b7
diff --git a/src/syscall/zx/fidl/conformance/impl.go b/src/syscall/zx/fidl/conformance/impl.go
index db46295..527e6bd 100644
--- a/src/syscall/zx/fidl/conformance/impl.go
+++ b/src/syscall/zx/fidl/conformance/impl.go
@@ -16,6 +16,225 @@
_bindings "syscall/zx/fidl"
)
+type UnionWithBoundStringStruct struct {
+ _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ V UnionWithBoundString `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mUnionWithBoundStringStruct = _bindings.CreateLazyMarshaler(UnionWithBoundStringStruct{})
+
+func (msg *UnionWithBoundStringStruct) Marshaler() _bindings.Marshaler {
+ return _mUnionWithBoundStringStruct
+}
+
+type SingleVariantUnionStruct struct {
+ _ struct{} `fidl:"s,8,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ U SingleVariantUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mSingleVariantUnionStruct = _bindings.CreateLazyMarshaler(SingleVariantUnionStruct{})
+
+func (msg *SingleVariantUnionStruct) Marshaler() _bindings.Marshaler {
+ return _mSingleVariantUnionStruct
+}
+
+type Length2StringWrapper struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Length2String string `fidl:"0,2" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mLength2StringWrapper = _bindings.CreateLazyMarshaler(Length2StringWrapper{})
+
+func (msg *Length2StringWrapper) Marshaler() _bindings.Marshaler {
+ return _mLength2StringWrapper
+}
+
+type StringWrapper struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Str string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mStringWrapper = _bindings.CreateLazyMarshaler(StringWrapper{})
+
+func (msg *StringWrapper) Marshaler() _bindings.Marshaler {
+ return _mStringWrapper
+}
+
+type TestXUnionInTable struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Value XUnionInTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mTestXUnionInTable = _bindings.CreateLazyMarshaler(TestXUnionInTable{})
+
+func (msg *TestXUnionInTable) Marshaler() _bindings.Marshaler {
+ return _mTestXUnionInTable
+}
+
+type InterfaceConfig struct {
+ _ struct{} `fidl:"s,48,8" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
+ Name string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ IpAddressConfig IpAddressConfig `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+}
+
+var _mInterfaceConfig = _bindings.CreateLazyMarshaler(InterfaceConfig{})
+
+func (msg *InterfaceConfig) Marshaler() _bindings.Marshaler {
+ return _mInterfaceConfig
+}
+
+type TestAddEthernetDeviceRequest struct {
+ _ struct{} `fidl:"s,72,8" fidl_size_v1:"64" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"64" fidl_alignment_v1_no_ee:"8"`
+ TopologicalPath string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Config InterfaceConfig `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ ThisShouldBeAHandle uint32 `fidl:"64" fidl_offset_v1:"56" fidl_offset_v1_no_ee:"56"`
+}
+
+var _mTestAddEthernetDeviceRequest = _bindings.CreateLazyMarshaler(TestAddEthernetDeviceRequest{})
+
+func (msg *TestAddEthernetDeviceRequest) Marshaler() _bindings.Marshaler {
+ return _mTestAddEthernetDeviceRequest
+}
+
+type NodeAttributes struct {
+ _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
+ Mode uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Id uint64 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ ContentSize uint64 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ StorageSize uint64 `fidl:"24" fidl_offset_v1:"24" fidl_offset_v1_no_ee:"24"`
+ LinkCount uint64 `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
+ CreationTime uint64 `fidl:"40" fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
+ ModificationTime uint64 `fidl:"48" fidl_offset_v1:"48" fidl_offset_v1_no_ee:"48"`
+}
+
+var _mNodeAttributes = _bindings.CreateLazyMarshaler(NodeAttributes{})
+
+func (msg *NodeAttributes) Marshaler() _bindings.Marshaler {
+ return _mNodeAttributes
+}
+
+type FileGetAttrResponse struct {
+ _ struct{} `fidl:"s,64,8" fidl_size_v1:"64" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"64" fidl_alignment_v1_no_ee:"8"`
+ S int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Attributes NodeAttributes `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+}
+
+var _mFileGetAttrResponse = _bindings.CreateLazyMarshaler(FileGetAttrResponse{})
+
+func (msg *FileGetAttrResponse) Marshaler() _bindings.Marshaler {
+ return _mFileGetAttrResponse
+}
+
+type StructOfSimpleTable struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Table SimpleTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mStructOfSimpleTable = _bindings.CreateLazyMarshaler(StructOfSimpleTable{})
+
+func (msg *StructOfSimpleTable) Marshaler() _bindings.Marshaler {
+ return _mStructOfSimpleTable
+}
+
+type SimpleTableThenUint64 struct {
+ _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ Table SimpleTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Number uint64 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+}
+
+var _mSimpleTableThenUint64 = _bindings.CreateLazyMarshaler(SimpleTableThenUint64{})
+
+func (msg *SimpleTableThenUint64) Marshaler() _bindings.Marshaler {
+ return _mSimpleTableThenUint64
+}
+
+type StructOfTableWithStringAndVector struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Table TableWithStringAndVector `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mStructOfTableWithStringAndVector = _bindings.CreateLazyMarshaler(StructOfTableWithStringAndVector{})
+
+func (msg *StructOfTableWithStringAndVector) Marshaler() _bindings.Marshaler {
+ return _mStructOfTableWithStringAndVector
+}
+
+type Int64Struct struct {
+ _ struct{} `fidl:"s,8,8" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"8" fidl_alignment_v1_no_ee:"8"`
+ X int64 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mInt64Struct = _bindings.CreateLazyMarshaler(Int64Struct{})
+
+func (msg *Int64Struct) Marshaler() _bindings.Marshaler {
+ return _mInt64Struct
+}
+
+type TestInlineXUnionInStruct struct {
+ _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
+ Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Xu SampleXUnion `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ After string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
+}
+
+var _mTestInlineXUnionInStruct = _bindings.CreateLazyMarshaler(TestInlineXUnionInStruct{})
+
+func (msg *TestInlineXUnionInStruct) Marshaler() _bindings.Marshaler {
+ return _mTestInlineXUnionInStruct
+}
+
+type TestOptionalXUnionInStruct struct {
+ _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
+ Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Xu *SampleXUnion `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ After string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
+}
+
+var _mTestOptionalXUnionInStruct = _bindings.CreateLazyMarshaler(TestOptionalXUnionInStruct{})
+
+func (msg *TestOptionalXUnionInStruct) Marshaler() _bindings.Marshaler {
+ return _mTestOptionalXUnionInStruct
+}
+
+type TestStrictXUnionInStruct struct {
+ _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ Xu SampleStrictXUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mTestStrictXUnionInStruct = _bindings.CreateLazyMarshaler(TestStrictXUnionInStruct{})
+
+func (msg *TestStrictXUnionInStruct) Marshaler() _bindings.Marshaler {
+ return _mTestStrictXUnionInStruct
+}
+
+type TestFlexibleXUnionInStruct struct {
+ _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ Xu SampleXUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mTestFlexibleXUnionInStruct = _bindings.CreateLazyMarshaler(TestFlexibleXUnionInStruct{})
+
+func (msg *TestFlexibleXUnionInStruct) Marshaler() _bindings.Marshaler {
+ return _mTestFlexibleXUnionInStruct
+}
+
+type StructWithOptionals struct {
+ _ struct{} `fidl:"s,104,8" fidl_size_v1:"128" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"128" fidl_alignment_v1_no_ee:"8"`
+ S EmptyStruct `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ S2 *EmptyStruct `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ T TableWithEmptyStruct `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ Xu XUnionWithEmptyStruct `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
+ Xu2 *XUnionWithEmptyStruct `fidl:"56" fidl_offset_v1:"56" fidl_offset_v1_no_ee:"56"`
+ U UnionWithEmptyStruct `fidl:"80" fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
+ U2 *UnionWithEmptyStruct `fidl:"96" fidl_offset_v1:"104" fidl_offset_v1_no_ee:"104"`
+}
+
+var _mStructWithOptionals = _bindings.CreateLazyMarshaler(StructWithOptionals{})
+
+func (msg *StructWithOptionals) Marshaler() _bindings.Marshaler {
+ return _mStructWithOptionals
+}
+
type EmptyStruct struct {
_ struct{} `fidl:"s,1,1" fidl_size_v1:"1" fidl_alignment_v1:"1" fidl_size_v1_no_ee:"1" fidl_alignment_v1_no_ee:"1"`
}
@@ -67,109 +286,6 @@
return _mUint64Uint32Uint16Uint8
}
-type UnionWithBoundStringStruct struct {
- _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- V UnionWithBoundString `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
-}
-
-var _mUnionWithBoundStringStruct = _bindings.CreateLazyMarshaler(UnionWithBoundStringStruct{})
-
-func (msg *UnionWithBoundStringStruct) Marshaler() _bindings.Marshaler {
- return _mUnionWithBoundStringStruct
-}
-
-type SingleVariantUnionStruct struct {
- _ struct{} `fidl:"s,8,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- U SingleVariantUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
-}
-
-var _mSingleVariantUnionStruct = _bindings.CreateLazyMarshaler(SingleVariantUnionStruct{})
-
-func (msg *SingleVariantUnionStruct) Marshaler() _bindings.Marshaler {
- return _mSingleVariantUnionStruct
-}
-
-type SandwichUnionSize8Alignment4 struct {
- _ struct{} `fidl:"s,16,4" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
- Before uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Value UnionSize8Alignment4 `fidl:"4" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- After uint32 `fidl:"12" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
-}
-
-var _mSandwichUnionSize8Alignment4 = _bindings.CreateLazyMarshaler(SandwichUnionSize8Alignment4{})
-
-func (msg *SandwichUnionSize8Alignment4) Marshaler() _bindings.Marshaler {
- return _mSandwichUnionSize8Alignment4
-}
-
-type SandwichUnionSize12Alignment4 struct {
- _ struct{} `fidl:"s,20,4" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
- Before uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Value UnionSize12Alignment4 `fidl:"4" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- After uint32 `fidl:"16" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
-}
-
-var _mSandwichUnionSize12Alignment4 = _bindings.CreateLazyMarshaler(SandwichUnionSize12Alignment4{})
-
-func (msg *SandwichUnionSize12Alignment4) Marshaler() _bindings.Marshaler {
- return _mSandwichUnionSize12Alignment4
-}
-
-type StructSize16Alignment8 struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- F1 uint64 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- F2 uint64 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
-}
-
-var _mStructSize16Alignment8 = _bindings.CreateLazyMarshaler(StructSize16Alignment8{})
-
-func (msg *StructSize16Alignment8) Marshaler() _bindings.Marshaler {
- return _mStructSize16Alignment8
-}
-
-type SandwichUnionSize24Alignment8 struct {
- _ struct{} `fidl:"s,40,8" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
- Before uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Value UnionSize24Alignment8 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- After uint32 `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
-}
-
-var _mSandwichUnionSize24Alignment8 = _bindings.CreateLazyMarshaler(SandwichUnionSize24Alignment8{})
-
-func (msg *SandwichUnionSize24Alignment8) Marshaler() _bindings.Marshaler {
- return _mSandwichUnionSize24Alignment8
-}
-
-type SandwichUnionSize36Alignment4 struct {
- _ struct{} `fidl:"s,44,4" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
- Before uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Value UnionSize36Alignment4 `fidl:"4" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- After uint32 `fidl:"40" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
-}
-
-var _mSandwichUnionSize36Alignment4 = _bindings.CreateLazyMarshaler(SandwichUnionSize36Alignment4{})
-
-func (msg *SandwichUnionSize36Alignment4) Marshaler() _bindings.Marshaler {
- return _mSandwichUnionSize36Alignment4
-}
-
-type StructWithOptionals struct {
- _ struct{} `fidl:"s,104,8" fidl_size_v1:"128" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"128" fidl_alignment_v1_no_ee:"8"`
- S EmptyStruct `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- S2 *EmptyStruct `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- T TableWithEmptyStruct `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- Xu XUnionWithEmptyStruct `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
- Xu2 *XUnionWithEmptyStruct `fidl:"56" fidl_offset_v1:"56" fidl_offset_v1_no_ee:"56"`
- U UnionWithEmptyStruct `fidl:"80" fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
- U2 *UnionWithEmptyStruct `fidl:"96" fidl_offset_v1:"104" fidl_offset_v1_no_ee:"104"`
-}
-
-var _mStructWithOptionals = _bindings.CreateLazyMarshaler(StructWithOptionals{})
-
-func (msg *StructWithOptionals) Marshaler() _bindings.Marshaler {
- return _mStructWithOptionals
-}
-
type ThreeByte struct {
_ struct{} `fidl:"s,3,1" fidl_size_v1:"3" fidl_alignment_v1:"1" fidl_size_v1_no_ee:"3" fidl_alignment_v1_no_ee:"1"`
Elem1 uint8 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
@@ -265,97 +381,48 @@
return _mFiveByteInArray
}
-type StructOfSimpleTable struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Table SimpleTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type StructWithInt struct {
+ _ struct{} `fidl:"s,4,4" fidl_size_v1:"4" fidl_alignment_v1:"4" fidl_size_v1_no_ee:"4" fidl_alignment_v1_no_ee:"4"`
+ X int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
}
-var _mStructOfSimpleTable = _bindings.CreateLazyMarshaler(StructOfSimpleTable{})
+var _mStructWithInt = _bindings.CreateLazyMarshaler(StructWithInt{})
-func (msg *StructOfSimpleTable) Marshaler() _bindings.Marshaler {
- return _mStructOfSimpleTable
+func (msg *StructWithInt) Marshaler() _bindings.Marshaler {
+ return _mStructWithInt
}
-type SimpleTableThenUint64 struct {
- _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Table SimpleTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Number uint64 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+type StructWithArrays struct {
+ _ struct{} `fidl:"s,120,8" fidl_size_v1:"120" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"120" fidl_alignment_v1_no_ee:"8"`
+ ArrInt [2]int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ ArrString [2]string `fidl:"8," fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ ArrNullableString [2]*string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
+ ArrStruct [2]StructWithInt `fidl:"72" fidl_offset_v1:"72" fidl_offset_v1_no_ee:"72"`
+ ArrNullableStruct [2]*StructWithInt `fidl:"80" fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
+ ArrArrInt [2][3]int32 `fidl:"96" fidl_offset_v1:"96" fidl_offset_v1_no_ee:"96"`
}
-var _mSimpleTableThenUint64 = _bindings.CreateLazyMarshaler(SimpleTableThenUint64{})
+var _mStructWithArrays = _bindings.CreateLazyMarshaler(StructWithArrays{})
-func (msg *SimpleTableThenUint64) Marshaler() _bindings.Marshaler {
- return _mSimpleTableThenUint64
+func (msg *StructWithArrays) Marshaler() _bindings.Marshaler {
+ return _mStructWithArrays
}
-type StructOfTableWithStringAndVector struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Table TableWithStringAndVector `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type StructWithVectors struct {
+ _ struct{} `fidl:"s,112,8" fidl_size_v1:"112" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"112" fidl_alignment_v1_no_ee:"8"`
+ VecEmpty []int32 `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ VecInt []int32 `fidl:"16," fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ VecString []string `fidl:"32,," fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
+ VecNullableString []*string `fidl:"48,," fidl_offset_v1:"48" fidl_offset_v1_no_ee:"48"`
+ VecStruct []StructWithInt `fidl:"64," fidl_offset_v1:"64" fidl_offset_v1_no_ee:"64"`
+ VecNullableStruct []*StructWithInt `fidl:"80," fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
+ VecVecInt [][]int32 `fidl:"96,," fidl_offset_v1:"96" fidl_offset_v1_no_ee:"96"`
}
-var _mStructOfTableWithStringAndVector = _bindings.CreateLazyMarshaler(StructOfTableWithStringAndVector{})
+var _mStructWithVectors = _bindings.CreateLazyMarshaler(StructWithVectors{})
-func (msg *StructOfTableWithStringAndVector) Marshaler() _bindings.Marshaler {
- return _mStructOfTableWithStringAndVector
-}
-
-type Int64Struct struct {
- _ struct{} `fidl:"s,8,8" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"8" fidl_alignment_v1_no_ee:"8"`
- X int64 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
-}
-
-var _mInt64Struct = _bindings.CreateLazyMarshaler(Int64Struct{})
-
-func (msg *Int64Struct) Marshaler() _bindings.Marshaler {
- return _mInt64Struct
-}
-
-type TestInlineXUnionInStruct struct {
- _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
- Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Xu SampleXUnion `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- After string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
-}
-
-var _mTestInlineXUnionInStruct = _bindings.CreateLazyMarshaler(TestInlineXUnionInStruct{})
-
-func (msg *TestInlineXUnionInStruct) Marshaler() _bindings.Marshaler {
- return _mTestInlineXUnionInStruct
-}
-
-type TestOptionalXUnionInStruct struct {
- _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
- Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Xu *SampleXUnion `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- After string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
-}
-
-var _mTestOptionalXUnionInStruct = _bindings.CreateLazyMarshaler(TestOptionalXUnionInStruct{})
-
-func (msg *TestOptionalXUnionInStruct) Marshaler() _bindings.Marshaler {
- return _mTestOptionalXUnionInStruct
-}
-
-type TestStrictXUnionInStruct struct {
- _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Xu SampleStrictXUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
-}
-
-var _mTestStrictXUnionInStruct = _bindings.CreateLazyMarshaler(TestStrictXUnionInStruct{})
-
-func (msg *TestStrictXUnionInStruct) Marshaler() _bindings.Marshaler {
- return _mTestStrictXUnionInStruct
-}
-
-type TestFlexibleXUnionInStruct struct {
- _ struct{} `fidl:"s,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Xu SampleXUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
-}
-
-var _mTestFlexibleXUnionInStruct = _bindings.CreateLazyMarshaler(TestFlexibleXUnionInStruct{})
-
-func (msg *TestFlexibleXUnionInStruct) Marshaler() _bindings.Marshaler {
- return _mTestFlexibleXUnionInStruct
+func (msg *StructWithVectors) Marshaler() _bindings.Marshaler {
+ return _mStructWithVectors
}
type MyBool struct {
@@ -826,135 +893,162 @@
return _mArrayStruct
}
-type StructWithInt struct {
- _ struct{} `fidl:"s,4,4" fidl_size_v1:"4" fidl_alignment_v1:"4" fidl_size_v1_no_ee:"4" fidl_alignment_v1_no_ee:"4"`
- X int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type TransformerEmptyStruct struct {
+ _ struct{} `fidl:"s,1,1" fidl_size_v1:"1" fidl_alignment_v1:"1" fidl_size_v1_no_ee:"1" fidl_alignment_v1_no_ee:"1"`
}
-var _mStructWithInt = _bindings.CreateLazyMarshaler(StructWithInt{})
+var _mTransformerEmptyStruct = _bindings.CreateLazyMarshaler(TransformerEmptyStruct{})
-func (msg *StructWithInt) Marshaler() _bindings.Marshaler {
- return _mStructWithInt
+func (msg *TransformerEmptyStruct) Marshaler() _bindings.Marshaler {
+ return _mTransformerEmptyStruct
}
-type StructWithArrays struct {
- _ struct{} `fidl:"s,120,8" fidl_size_v1:"120" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"120" fidl_alignment_v1_no_ee:"8"`
- ArrInt [2]int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- ArrString [2]string `fidl:"8," fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- ArrNullableString [2]*string `fidl:"40," fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
- ArrStruct [2]StructWithInt `fidl:"72" fidl_offset_v1:"72" fidl_offset_v1_no_ee:"72"`
- ArrNullableStruct [2]*StructWithInt `fidl:"80" fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
- ArrArrInt [2][3]int32 `fidl:"96" fidl_offset_v1:"96" fidl_offset_v1_no_ee:"96"`
+type EmptyStructUnionStruct struct {
+ _ struct{} `fidl:"s,8,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ U EmptyStructUnion `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
}
-var _mStructWithArrays = _bindings.CreateLazyMarshaler(StructWithArrays{})
+var _mEmptyStructUnionStruct = _bindings.CreateLazyMarshaler(EmptyStructUnionStruct{})
-func (msg *StructWithArrays) Marshaler() _bindings.Marshaler {
- return _mStructWithArrays
+func (msg *EmptyStructUnionStruct) Marshaler() _bindings.Marshaler {
+ return _mEmptyStructUnionStruct
}
-type StructWithVectors struct {
- _ struct{} `fidl:"s,112,8" fidl_size_v1:"112" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"112" fidl_alignment_v1_no_ee:"8"`
- VecEmpty []int32 `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- VecInt []int32 `fidl:"16," fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- VecString []string `fidl:"32,," fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
- VecNullableString []*string `fidl:"48,," fidl_offset_v1:"48" fidl_offset_v1_no_ee:"48"`
- VecStruct []StructWithInt `fidl:"64," fidl_offset_v1:"64" fidl_offset_v1_no_ee:"64"`
- VecNullableStruct []*StructWithInt `fidl:"80," fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
- VecVecInt [][]int32 `fidl:"96,," fidl_offset_v1:"96" fidl_offset_v1_no_ee:"96"`
+type Size8Align8 struct {
+ _ struct{} `fidl:"s,8,8" fidl_size_v1:"8" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"8" fidl_alignment_v1_no_ee:"8"`
+ Data uint64 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
}
-var _mStructWithVectors = _bindings.CreateLazyMarshaler(StructWithVectors{})
+var _mSize8Align8 = _bindings.CreateLazyMarshaler(Size8Align8{})
-func (msg *StructWithVectors) Marshaler() _bindings.Marshaler {
- return _mStructWithVectors
+func (msg *Size8Align8) Marshaler() _bindings.Marshaler {
+ return _mSize8Align8
}
-type Length2StringWrapper struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Length2String string `fidl:"0,2" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type NoCodingTablesStressor struct {
+ _ struct{} `fidl:"s,208,8" fidl_size_v1:"160" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"160" fidl_alignment_v1_no_ee:"8"`
+ F1 uint64 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ F2 uint64 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ U1 UnionSize36Align4 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ F3 uint64 `fidl:"56" fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
+ F4 uint64 `fidl:"64" fidl_offset_v1:"48" fidl_offset_v1_no_ee:"48"`
+ U2 UnionSize36Align4 `fidl:"72" fidl_offset_v1:"56" fidl_offset_v1_no_ee:"56"`
+ F5 uint64 `fidl:"112" fidl_offset_v1:"80" fidl_offset_v1_no_ee:"80"`
+ F6 uint64 `fidl:"120" fidl_offset_v1:"88" fidl_offset_v1_no_ee:"88"`
+ U3 UnionSize36Align4 `fidl:"128" fidl_offset_v1:"96" fidl_offset_v1_no_ee:"96"`
+ F7 uint64 `fidl:"168" fidl_offset_v1:"120" fidl_offset_v1_no_ee:"120"`
+ P1 *Size8Align8 `fidl:"176" fidl_offset_v1:"128" fidl_offset_v1_no_ee:"128"`
+ F8 uint64 `fidl:"184" fidl_offset_v1:"136" fidl_offset_v1_no_ee:"136"`
+ P2 *Size8Align8 `fidl:"192" fidl_offset_v1:"144" fidl_offset_v1_no_ee:"144"`
+ F9 uint64 `fidl:"200" fidl_offset_v1:"152" fidl_offset_v1_no_ee:"152"`
}
-var _mLength2StringWrapper = _bindings.CreateLazyMarshaler(Length2StringWrapper{})
+var _mNoCodingTablesStressor = _bindings.CreateLazyMarshaler(NoCodingTablesStressor{})
-func (msg *Length2StringWrapper) Marshaler() _bindings.Marshaler {
- return _mLength2StringWrapper
+func (msg *NoCodingTablesStressor) Marshaler() _bindings.Marshaler {
+ return _mNoCodingTablesStressor
}
-type StringWrapper struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Str string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type OutOfLineSandwich1 struct {
+ _ struct{} `fidl:"s,48,8" fidl_size_v1:"48" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"48" fidl_alignment_v1_no_ee:"8"`
+ Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ V []Sandwich1 `fidl:"16,1" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ After string `fidl:"32," fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
}
-var _mStringWrapper = _bindings.CreateLazyMarshaler(StringWrapper{})
+var _mOutOfLineSandwich1 = _bindings.CreateLazyMarshaler(OutOfLineSandwich1{})
-func (msg *StringWrapper) Marshaler() _bindings.Marshaler {
- return _mStringWrapper
+func (msg *OutOfLineSandwich1) Marshaler() _bindings.Marshaler {
+ return _mOutOfLineSandwich1
}
-type TestXUnionInTable struct {
- _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Value XUnionInTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+type OutOfLineSandwich1WithOptUnion struct {
+ _ struct{} `fidl:"s,48,8" fidl_size_v1:"48" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"48" fidl_alignment_v1_no_ee:"8"`
+ Before string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ V []Sandwich1WithOptUnion `fidl:"16,1" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ After string `fidl:"32," fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
}
-var _mTestXUnionInTable = _bindings.CreateLazyMarshaler(TestXUnionInTable{})
+var _mOutOfLineSandwich1WithOptUnion = _bindings.CreateLazyMarshaler(OutOfLineSandwich1WithOptUnion{})
-func (msg *TestXUnionInTable) Marshaler() _bindings.Marshaler {
- return _mTestXUnionInTable
+func (msg *OutOfLineSandwich1WithOptUnion) Marshaler() _bindings.Marshaler {
+ return _mOutOfLineSandwich1WithOptUnion
}
-type InterfaceConfig struct {
- _ struct{} `fidl:"s,48,8" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
- Name string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- IpAddressConfig IpAddressConfig `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+type Regression4 struct {
+ _ struct{} `fidl:"s,32,8" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"32" fidl_alignment_v1_no_ee:"8"`
+ F1 uint8 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ F2 uint32 `fidl:"4" fidl_offset_v1:"4" fidl_offset_v1_no_ee:"4"`
+ S1 StructSize3Align1 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ F3 uint8 `fidl:"11" fidl_offset_v1:"11" fidl_offset_v1_no_ee:"11"`
+ F4 uint16 `fidl:"12" fidl_offset_v1:"12" fidl_offset_v1_no_ee:"12"`
+ F5 uint64 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
+ F6 uint8 `fidl:"24" fidl_offset_v1:"24" fidl_offset_v1_no_ee:"24"`
}
-var _mInterfaceConfig = _bindings.CreateLazyMarshaler(InterfaceConfig{})
+var _mRegression4 = _bindings.CreateLazyMarshaler(Regression4{})
-func (msg *InterfaceConfig) Marshaler() _bindings.Marshaler {
- return _mInterfaceConfig
+func (msg *Regression4) Marshaler() _bindings.Marshaler {
+ return _mRegression4
}
-type TestAddEthernetDeviceRequest struct {
- _ struct{} `fidl:"s,72,8" fidl_size_v1:"64" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"64" fidl_alignment_v1_no_ee:"8"`
- TopologicalPath string `fidl:"0," fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Config InterfaceConfig `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- ThisShouldBeAHandle uint32 `fidl:"64" fidl_offset_v1:"56" fidl_offset_v1_no_ee:"56"`
+type Sandwich4Align8 struct {
+ _ struct{} `fidl:"s,56,8" fidl_size_v1:"48" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"48" fidl_alignment_v1_no_ee:"8"`
+ Sandwich4 Sandwich4 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Alignment8Enforcement uint64 `fidl:"48" fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
}
-var _mTestAddEthernetDeviceRequest = _bindings.CreateLazyMarshaler(TestAddEthernetDeviceRequest{})
+var _mSandwich4Align8 = _bindings.CreateLazyMarshaler(Sandwich4Align8{})
-func (msg *TestAddEthernetDeviceRequest) Marshaler() _bindings.Marshaler {
- return _mTestAddEthernetDeviceRequest
+func (msg *Sandwich4Align8) Marshaler() _bindings.Marshaler {
+ return _mSandwich4Align8
}
-type NodeAttributes struct {
- _ struct{} `fidl:"s,56,8" fidl_size_v1:"56" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"56" fidl_alignment_v1_no_ee:"8"`
- Mode uint32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Id uint64 `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
- ContentSize uint64 `fidl:"16" fidl_offset_v1:"16" fidl_offset_v1_no_ee:"16"`
- StorageSize uint64 `fidl:"24" fidl_offset_v1:"24" fidl_offset_v1_no_ee:"24"`
- LinkCount uint64 `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
- CreationTime uint64 `fidl:"40" fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
- ModificationTime uint64 `fidl:"48" fidl_offset_v1:"48" fidl_offset_v1_no_ee:"48"`
+type Sandwich4Align8WithPointer struct {
+ _ struct{} `fidl:"s,56,8" fidl_size_v1:"48" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"48" fidl_alignment_v1_no_ee:"8"`
+ Sandwich4 Sandwich4 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ Alignment8Enforcement *Size8Align8 `fidl:"48" fidl_offset_v1:"40" fidl_offset_v1_no_ee:"40"`
}
-var _mNodeAttributes = _bindings.CreateLazyMarshaler(NodeAttributes{})
+var _mSandwich4Align8WithPointer = _bindings.CreateLazyMarshaler(Sandwich4Align8WithPointer{})
-func (msg *NodeAttributes) Marshaler() _bindings.Marshaler {
- return _mNodeAttributes
+func (msg *Sandwich4Align8WithPointer) Marshaler() _bindings.Marshaler {
+ return _mSandwich4Align8WithPointer
}
-type FileGetAttrResponse struct {
- _ struct{} `fidl:"s,64,8" fidl_size_v1:"64" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"64" fidl_alignment_v1_no_ee:"8"`
- S int32 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
- Attributes NodeAttributes `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+type Sandwich9 struct {
+ _ struct{} `fidl:"s,40,8" fidl_size_v1:"40" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"40" fidl_alignment_v1_no_ee:"8"`
+ Before uint16 `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+ TheUnion UnionWithVectorOfVectors `fidl:"8" fidl_offset_v1:"8" fidl_offset_v1_no_ee:"8"`
+ After uint16 `fidl:"32" fidl_offset_v1:"32" fidl_offset_v1_no_ee:"32"`
}
-var _mFileGetAttrResponse = _bindings.CreateLazyMarshaler(FileGetAttrResponse{})
+var _mSandwich9 = _bindings.CreateLazyMarshaler(Sandwich9{})
-func (msg *FileGetAttrResponse) Marshaler() _bindings.Marshaler {
- return _mFileGetAttrResponse
+func (msg *Sandwich9) Marshaler() _bindings.Marshaler {
+ return _mSandwich9
+}
+
+type SimpleTableArrayStruct struct {
+ _ struct{} `fidl:"s,32,8" fidl_size_v1:"32" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"32" fidl_alignment_v1_no_ee:"8"`
+ TheArray [2]TransformerSimpleTable `fidl:"0" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mSimpleTableArrayStruct = _bindings.CreateLazyMarshaler(SimpleTableArrayStruct{})
+
+func (msg *SimpleTableArrayStruct) Marshaler() _bindings.Marshaler {
+ return _mSimpleTableArrayStruct
+}
+
+type StringUnionVector struct {
+ _ struct{} `fidl:"s,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ TheVector []*StringUnion `fidl:"0,3" fidl_offset_v1:"0" fidl_offset_v1_no_ee:"0"`
+}
+
+var _mStringUnionVector = _bindings.CreateLazyMarshaler(StringUnionVector{})
+
+func (msg *StringUnionVector) Marshaler() _bindings.Marshaler {
+ return _mStringUnionVector
}
type I_unionWithBoundStringTag uint32
@@ -1011,294 +1105,43 @@
return _u
}
-type I_unionSize8Alignment4Tag uint32
+type I_ipAddressConfigTag uint32
const (
- _ I_unionSize8Alignment4Tag = iota
- UnionSize8Alignment4Unused1
- UnionSize8Alignment4Unused2
- UnionSize8Alignment4Variant
+ _ I_ipAddressConfigTag = iota
+ IpAddressConfigPaddingSize24Align4
+ IpAddressConfigDhcp
)
-type UnionSize8Alignment4 struct {
- I_unionSize8Alignment4Tag `fidl:"u,8,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Unused1 uint8 `fidl:"1"`
- Unused2 uint8 `fidl:"2"`
- Variant uint32 `fidl:"3"`
+type IpAddressConfig struct {
+ I_ipAddressConfigTag `fidl:"u,28,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ PaddingSize24Align4 [6]uint32 `fidl:"1"`
+ Dhcp bool `fidl:"2"`
}
-func (u *UnionSize8Alignment4) Which() I_unionSize8Alignment4Tag {
- return u.I_unionSize8Alignment4Tag
+func (u *IpAddressConfig) Which() I_ipAddressConfigTag {
+ return u.I_ipAddressConfigTag
}
-func (u *UnionSize8Alignment4) SetUnused1(unused1 uint8) {
- u.I_unionSize8Alignment4Tag = UnionSize8Alignment4Unused1
- u.Unused1 = unused1
+func (u *IpAddressConfig) SetPaddingSize24Align4(paddingSize24Align4 [6]uint32) {
+ u.I_ipAddressConfigTag = IpAddressConfigPaddingSize24Align4
+ u.PaddingSize24Align4 = paddingSize24Align4
}
-func UnionSize8Alignment4WithUnused1(unused1 uint8) UnionSize8Alignment4 {
- var _u UnionSize8Alignment4
- _u.SetUnused1(unused1)
+func IpAddressConfigWithPaddingSize24Align4(paddingSize24Align4 [6]uint32) IpAddressConfig {
+ var _u IpAddressConfig
+ _u.SetPaddingSize24Align4(paddingSize24Align4)
return _u
}
-func (u *UnionSize8Alignment4) SetUnused2(unused2 uint8) {
- u.I_unionSize8Alignment4Tag = UnionSize8Alignment4Unused2
- u.Unused2 = unused2
+func (u *IpAddressConfig) SetDhcp(dhcp bool) {
+ u.I_ipAddressConfigTag = IpAddressConfigDhcp
+ u.Dhcp = dhcp
}
-func UnionSize8Alignment4WithUnused2(unused2 uint8) UnionSize8Alignment4 {
- var _u UnionSize8Alignment4
- _u.SetUnused2(unused2)
- return _u
-}
-
-func (u *UnionSize8Alignment4) SetVariant(variant uint32) {
- u.I_unionSize8Alignment4Tag = UnionSize8Alignment4Variant
- u.Variant = variant
-}
-
-func UnionSize8Alignment4WithVariant(variant uint32) UnionSize8Alignment4 {
- var _u UnionSize8Alignment4
- _u.SetVariant(variant)
- return _u
-}
-
-type I_unionSize12Alignment4Tag uint32
-
-const (
- _ I_unionSize12Alignment4Tag = iota
- UnionSize12Alignment4Unused1
- UnionSize12Alignment4Unused2
- UnionSize12Alignment4Unused3
- UnionSize12Alignment4Variant
-)
-
-type UnionSize12Alignment4 struct {
- I_unionSize12Alignment4Tag `fidl:"u,12,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Unused1 uint8 `fidl:"1"`
- Unused2 uint8 `fidl:"2"`
- Unused3 uint8 `fidl:"3"`
- Variant [6]uint8 `fidl:"4"`
-}
-
-func (u *UnionSize12Alignment4) Which() I_unionSize12Alignment4Tag {
- return u.I_unionSize12Alignment4Tag
-}
-
-func (u *UnionSize12Alignment4) SetUnused1(unused1 uint8) {
- u.I_unionSize12Alignment4Tag = UnionSize12Alignment4Unused1
- u.Unused1 = unused1
-}
-
-func UnionSize12Alignment4WithUnused1(unused1 uint8) UnionSize12Alignment4 {
- var _u UnionSize12Alignment4
- _u.SetUnused1(unused1)
- return _u
-}
-
-func (u *UnionSize12Alignment4) SetUnused2(unused2 uint8) {
- u.I_unionSize12Alignment4Tag = UnionSize12Alignment4Unused2
- u.Unused2 = unused2
-}
-
-func UnionSize12Alignment4WithUnused2(unused2 uint8) UnionSize12Alignment4 {
- var _u UnionSize12Alignment4
- _u.SetUnused2(unused2)
- return _u
-}
-
-func (u *UnionSize12Alignment4) SetUnused3(unused3 uint8) {
- u.I_unionSize12Alignment4Tag = UnionSize12Alignment4Unused3
- u.Unused3 = unused3
-}
-
-func UnionSize12Alignment4WithUnused3(unused3 uint8) UnionSize12Alignment4 {
- var _u UnionSize12Alignment4
- _u.SetUnused3(unused3)
- return _u
-}
-
-func (u *UnionSize12Alignment4) SetVariant(variant [6]uint8) {
- u.I_unionSize12Alignment4Tag = UnionSize12Alignment4Variant
- u.Variant = variant
-}
-
-func UnionSize12Alignment4WithVariant(variant [6]uint8) UnionSize12Alignment4 {
- var _u UnionSize12Alignment4
- _u.SetVariant(variant)
- return _u
-}
-
-type I_unionSize24Alignment8Tag uint32
-
-const (
- _ I_unionSize24Alignment8Tag = iota
- UnionSize24Alignment8Unused1
- UnionSize24Alignment8Unused2
- UnionSize24Alignment8Unused3
- UnionSize24Alignment8Variant
-)
-
-type UnionSize24Alignment8 struct {
- I_unionSize24Alignment8Tag `fidl:"u,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Unused1 uint8 `fidl:"1"`
- Unused2 uint8 `fidl:"2"`
- Unused3 uint8 `fidl:"3"`
- Variant StructSize16Alignment8 `fidl:"4"`
-}
-
-func (u *UnionSize24Alignment8) Which() I_unionSize24Alignment8Tag {
- return u.I_unionSize24Alignment8Tag
-}
-
-func (u *UnionSize24Alignment8) SetUnused1(unused1 uint8) {
- u.I_unionSize24Alignment8Tag = UnionSize24Alignment8Unused1
- u.Unused1 = unused1
-}
-
-func UnionSize24Alignment8WithUnused1(unused1 uint8) UnionSize24Alignment8 {
- var _u UnionSize24Alignment8
- _u.SetUnused1(unused1)
- return _u
-}
-
-func (u *UnionSize24Alignment8) SetUnused2(unused2 uint8) {
- u.I_unionSize24Alignment8Tag = UnionSize24Alignment8Unused2
- u.Unused2 = unused2
-}
-
-func UnionSize24Alignment8WithUnused2(unused2 uint8) UnionSize24Alignment8 {
- var _u UnionSize24Alignment8
- _u.SetUnused2(unused2)
- return _u
-}
-
-func (u *UnionSize24Alignment8) SetUnused3(unused3 uint8) {
- u.I_unionSize24Alignment8Tag = UnionSize24Alignment8Unused3
- u.Unused3 = unused3
-}
-
-func UnionSize24Alignment8WithUnused3(unused3 uint8) UnionSize24Alignment8 {
- var _u UnionSize24Alignment8
- _u.SetUnused3(unused3)
- return _u
-}
-
-func (u *UnionSize24Alignment8) SetVariant(variant StructSize16Alignment8) {
- u.I_unionSize24Alignment8Tag = UnionSize24Alignment8Variant
- u.Variant = variant
-}
-
-func UnionSize24Alignment8WithVariant(variant StructSize16Alignment8) UnionSize24Alignment8 {
- var _u UnionSize24Alignment8
- _u.SetVariant(variant)
- return _u
-}
-
-type I_unionSize36Alignment4Tag uint32
-
-const (
- _ I_unionSize36Alignment4Tag = iota
- UnionSize36Alignment4Unused1
- UnionSize36Alignment4Unused2
- UnionSize36Alignment4Unused3
- UnionSize36Alignment4Variant
-)
-
-type UnionSize36Alignment4 struct {
- I_unionSize36Alignment4Tag `fidl:"u,36,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- Unused1 uint8 `fidl:"1"`
- Unused2 uint8 `fidl:"2"`
- Unused3 uint8 `fidl:"3"`
- Variant [32]uint8 `fidl:"4"`
-}
-
-func (u *UnionSize36Alignment4) Which() I_unionSize36Alignment4Tag {
- return u.I_unionSize36Alignment4Tag
-}
-
-func (u *UnionSize36Alignment4) SetUnused1(unused1 uint8) {
- u.I_unionSize36Alignment4Tag = UnionSize36Alignment4Unused1
- u.Unused1 = unused1
-}
-
-func UnionSize36Alignment4WithUnused1(unused1 uint8) UnionSize36Alignment4 {
- var _u UnionSize36Alignment4
- _u.SetUnused1(unused1)
- return _u
-}
-
-func (u *UnionSize36Alignment4) SetUnused2(unused2 uint8) {
- u.I_unionSize36Alignment4Tag = UnionSize36Alignment4Unused2
- u.Unused2 = unused2
-}
-
-func UnionSize36Alignment4WithUnused2(unused2 uint8) UnionSize36Alignment4 {
- var _u UnionSize36Alignment4
- _u.SetUnused2(unused2)
- return _u
-}
-
-func (u *UnionSize36Alignment4) SetUnused3(unused3 uint8) {
- u.I_unionSize36Alignment4Tag = UnionSize36Alignment4Unused3
- u.Unused3 = unused3
-}
-
-func UnionSize36Alignment4WithUnused3(unused3 uint8) UnionSize36Alignment4 {
- var _u UnionSize36Alignment4
- _u.SetUnused3(unused3)
- return _u
-}
-
-func (u *UnionSize36Alignment4) SetVariant(variant [32]uint8) {
- u.I_unionSize36Alignment4Tag = UnionSize36Alignment4Variant
- u.Variant = variant
-}
-
-func UnionSize36Alignment4WithVariant(variant [32]uint8) UnionSize36Alignment4 {
- var _u UnionSize36Alignment4
- _u.SetVariant(variant)
- return _u
-}
-
-type I_unionWithEmptyStructTag uint32
-
-const (
- _ I_unionWithEmptyStructTag = iota
- UnionWithEmptyStructS
- UnionWithEmptyStructForceAlignmentOf8
-)
-
-type UnionWithEmptyStruct struct {
- I_unionWithEmptyStructTag `fidl:"u,16,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- S EmptyStruct `fidl:"1"`
- ForceAlignmentOf8 uint64 `fidl:"2"`
-}
-
-func (u *UnionWithEmptyStruct) Which() I_unionWithEmptyStructTag {
- return u.I_unionWithEmptyStructTag
-}
-
-func (u *UnionWithEmptyStruct) SetS(s EmptyStruct) {
- u.I_unionWithEmptyStructTag = UnionWithEmptyStructS
- u.S = s
-}
-
-func UnionWithEmptyStructWithS(s EmptyStruct) UnionWithEmptyStruct {
- var _u UnionWithEmptyStruct
- _u.SetS(s)
- return _u
-}
-
-func (u *UnionWithEmptyStruct) SetForceAlignmentOf8(forceAlignmentOf8 uint64) {
- u.I_unionWithEmptyStructTag = UnionWithEmptyStructForceAlignmentOf8
- u.ForceAlignmentOf8 = forceAlignmentOf8
-}
-
-func UnionWithEmptyStructWithForceAlignmentOf8(forceAlignmentOf8 uint64) UnionWithEmptyStruct {
- var _u UnionWithEmptyStruct
- _u.SetForceAlignmentOf8(forceAlignmentOf8)
+func IpAddressConfigWithDhcp(dhcp bool) IpAddressConfig {
+ var _u IpAddressConfig
+ _u.SetDhcp(dhcp)
return _u
}
@@ -1368,6 +1211,46 @@
return _u
}
+type I_unionWithEmptyStructTag uint32
+
+const (
+ _ I_unionWithEmptyStructTag = iota
+ UnionWithEmptyStructS
+ UnionWithEmptyStructForceAlignmentOf8
+)
+
+type UnionWithEmptyStruct struct {
+ I_unionWithEmptyStructTag `fidl:"u,16,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ S EmptyStruct `fidl:"1"`
+ ForceAlignmentOf8 uint64 `fidl:"2"`
+}
+
+func (u *UnionWithEmptyStruct) Which() I_unionWithEmptyStructTag {
+ return u.I_unionWithEmptyStructTag
+}
+
+func (u *UnionWithEmptyStruct) SetS(s EmptyStruct) {
+ u.I_unionWithEmptyStructTag = UnionWithEmptyStructS
+ u.S = s
+}
+
+func UnionWithEmptyStructWithS(s EmptyStruct) UnionWithEmptyStruct {
+ var _u UnionWithEmptyStruct
+ _u.SetS(s)
+ return _u
+}
+
+func (u *UnionWithEmptyStruct) SetForceAlignmentOf8(forceAlignmentOf8 uint64) {
+ u.I_unionWithEmptyStructTag = UnionWithEmptyStructForceAlignmentOf8
+ u.ForceAlignmentOf8 = forceAlignmentOf8
+}
+
+func UnionWithEmptyStructWithForceAlignmentOf8(forceAlignmentOf8 uint64) UnionWithEmptyStruct {
+ var _u UnionWithEmptyStruct
+ _u.SetForceAlignmentOf8(forceAlignmentOf8)
+ return _u
+}
+
type I_unionSize8Align4Tag uint32
const (
@@ -1835,12 +1718,14 @@
_ I_stringUnionTag = iota
StringUnionUnused
StringUnionS
+ StringUnionU8
)
type StringUnion struct {
I_stringUnionTag `fidl:"u,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
Unused uint8 `fidl:"1"`
S string `fidl:"2,"`
+ U8 uint8 `fidl:"3"`
}
func (u *StringUnion) Which() I_stringUnionTag {
@@ -1869,80 +1754,81 @@
return _u
}
-type I_ipAddressConfigTag uint32
-
-const (
- _ I_ipAddressConfigTag = iota
- IpAddressConfigPaddingSize24Align4
- IpAddressConfigDhcp
-)
-
-type IpAddressConfig struct {
- I_ipAddressConfigTag `fidl:"u,28,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- PaddingSize24Align4 [6]uint32 `fidl:"1"`
- Dhcp bool `fidl:"2"`
+func (u *StringUnion) SetU8(u8 uint8) {
+ u.I_stringUnionTag = StringUnionU8
+ u.U8 = u8
}
-func (u *IpAddressConfig) Which() I_ipAddressConfigTag {
- return u.I_ipAddressConfigTag
-}
-
-func (u *IpAddressConfig) SetPaddingSize24Align4(paddingSize24Align4 [6]uint32) {
- u.I_ipAddressConfigTag = IpAddressConfigPaddingSize24Align4
- u.PaddingSize24Align4 = paddingSize24Align4
-}
-
-func IpAddressConfigWithPaddingSize24Align4(paddingSize24Align4 [6]uint32) IpAddressConfig {
- var _u IpAddressConfig
- _u.SetPaddingSize24Align4(paddingSize24Align4)
+func StringUnionWithU8(u8 uint8) StringUnion {
+ var _u StringUnion
+ _u.SetU8(u8)
return _u
}
-func (u *IpAddressConfig) SetDhcp(dhcp bool) {
- u.I_ipAddressConfigTag = IpAddressConfigDhcp
- u.Dhcp = dhcp
+type I_emptyStructUnionTag uint32
+
+const (
+ _ I_emptyStructUnionTag = iota
+ EmptyStructUnionUnused
+ EmptyStructUnionEs
+)
+
+type EmptyStructUnion struct {
+ I_emptyStructUnionTag `fidl:"u,8,4" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ Unused uint8 `fidl:"1"`
+ Es TransformerEmptyStruct `fidl:"2"`
}
-func IpAddressConfigWithDhcp(dhcp bool) IpAddressConfig {
- var _u IpAddressConfig
- _u.SetDhcp(dhcp)
+func (u *EmptyStructUnion) Which() I_emptyStructUnionTag {
+ return u.I_emptyStructUnionTag
+}
+
+func (u *EmptyStructUnion) SetUnused(unused uint8) {
+ u.I_emptyStructUnionTag = EmptyStructUnionUnused
+ u.Unused = unused
+}
+
+func EmptyStructUnionWithUnused(unused uint8) EmptyStructUnion {
+ var _u EmptyStructUnion
+ _u.SetUnused(unused)
return _u
}
-type I_xUnionWithEmptyStructTag uint32
+func (u *EmptyStructUnion) SetEs(es TransformerEmptyStruct) {
+ u.I_emptyStructUnionTag = EmptyStructUnionEs
+ u.Es = es
+}
+
+func EmptyStructUnionWithEs(es TransformerEmptyStruct) EmptyStructUnion {
+ var _u EmptyStructUnion
+ _u.SetEs(es)
+ return _u
+}
+
+type I_unionWithVectorOfVectorsTag uint32
const (
- XUnionWithEmptyStruct_unknownData = 0 // 0x00000000
- XUnionWithEmptyStructS = 1956241662 // 0x7499e0fe
+ _ I_unionWithVectorOfVectorsTag = iota
+ UnionWithVectorOfVectorsV
)
-type XUnionWithEmptyStruct struct {
- I_xUnionWithEmptyStructTag `fidl:"x,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
- I_unknownData []byte
- S EmptyStruct `fidl:"1956241662"`
+type UnionWithVectorOfVectors struct {
+ I_unionWithVectorOfVectorsTag `fidl:"u,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ V [][]*StructSize3Align1 `fidl:"1,,"`
}
-func (_m *XUnionWithEmptyStruct) Which() I_xUnionWithEmptyStructTag {
- switch _m.I_xUnionWithEmptyStructTag {
- case 1956241662:
- return XUnionWithEmptyStructS
- default:
- return XUnionWithEmptyStruct_unknownData
- }
+func (u *UnionWithVectorOfVectors) Which() I_unionWithVectorOfVectorsTag {
+ return u.I_unionWithVectorOfVectorsTag
}
-func (_m *XUnionWithEmptyStruct) Ordinal() uint32 {
- return uint32(_m.I_xUnionWithEmptyStructTag)
+func (u *UnionWithVectorOfVectors) SetV(v [][]*StructSize3Align1) {
+ u.I_unionWithVectorOfVectorsTag = UnionWithVectorOfVectorsV
+ u.V = v
}
-func (_m *XUnionWithEmptyStruct) SetS(s EmptyStruct) {
- _m.I_xUnionWithEmptyStructTag = XUnionWithEmptyStructS
- _m.S = s
-}
-
-func XUnionWithEmptyStructWithS(s EmptyStruct) XUnionWithEmptyStruct {
- var _u XUnionWithEmptyStruct
- _u.SetS(s)
+func UnionWithVectorOfVectorsWithV(v [][]*StructSize3Align1) UnionWithVectorOfVectors {
+ var _u UnionWithVectorOfVectors
+ _u.SetV(v)
return _u
}
@@ -2069,6 +1955,43 @@
return _u
}
+type I_xUnionWithEmptyStructTag uint32
+
+const (
+ XUnionWithEmptyStruct_unknownData = 0 // 0x00000000
+ XUnionWithEmptyStructS = 1956241662 // 0x7499e0fe
+)
+
+type XUnionWithEmptyStruct struct {
+ I_xUnionWithEmptyStructTag `fidl:"x,24,8" fidl_size_v1:"24" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"24" fidl_alignment_v1_no_ee:"8"`
+ I_unknownData []byte
+ S EmptyStruct `fidl:"1956241662"`
+}
+
+func (_m *XUnionWithEmptyStruct) Which() I_xUnionWithEmptyStructTag {
+ switch _m.I_xUnionWithEmptyStructTag {
+ case 1956241662:
+ return XUnionWithEmptyStructS
+ default:
+ return XUnionWithEmptyStruct_unknownData
+ }
+}
+
+func (_m *XUnionWithEmptyStruct) Ordinal() uint32 {
+ return uint32(_m.I_xUnionWithEmptyStructTag)
+}
+
+func (_m *XUnionWithEmptyStruct) SetS(s EmptyStruct) {
+ _m.I_xUnionWithEmptyStructTag = XUnionWithEmptyStructS
+ _m.S = s
+}
+
+func XUnionWithEmptyStructWithS(s EmptyStruct) XUnionWithEmptyStruct {
+ var _u XUnionWithEmptyStruct
+ _u.SetS(s)
+ return _u
+}
+
type I_xUnionWithStructTag uint32
const (
@@ -2195,34 +2118,86 @@
return _u
}
-type TableWithEmptyStruct struct {
- _ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- S EmptyStruct `fidl:"1"`
- SPresent bool
+type XUnionInTable struct {
+ _ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Before string `fidl:"1,"`
+ BeforePresent bool
+ Xu SampleXUnion `fidl:"2"`
+ XuPresent bool
+ After string `fidl:"3,"`
+ AfterPresent bool
}
-func (u *TableWithEmptyStruct) SetS(s EmptyStruct) {
- u.S = s
- u.SPresent = true
+func (u *XUnionInTable) SetBefore(before string) {
+ u.Before = before
+ u.BeforePresent = true
}
-func (u *TableWithEmptyStruct) GetS() EmptyStruct {
- return u.S
+func (u *XUnionInTable) GetBefore() string {
+ return u.Before
}
-func (u *TableWithEmptyStruct) GetSWithDefault(_default EmptyStruct) EmptyStruct {
- if !u.HasS() {
+func (u *XUnionInTable) GetBeforeWithDefault(_default string) string {
+ if !u.HasBefore() {
return _default
}
- return u.S
+ return u.Before
}
-func (u *TableWithEmptyStruct) HasS() bool {
- return u.SPresent
+func (u *XUnionInTable) HasBefore() bool {
+ return u.BeforePresent
}
-func (u *TableWithEmptyStruct) ClearS() {
- u.SPresent = false
+func (u *XUnionInTable) ClearBefore() {
+ u.BeforePresent = false
+}
+
+func (u *XUnionInTable) SetXu(xu SampleXUnion) {
+ u.Xu = xu
+ u.XuPresent = true
+}
+
+func (u *XUnionInTable) GetXu() SampleXUnion {
+ return u.Xu
+}
+
+func (u *XUnionInTable) GetXuWithDefault(_default SampleXUnion) SampleXUnion {
+ if !u.HasXu() {
+ return _default
+ }
+ return u.Xu
+}
+
+func (u *XUnionInTable) HasXu() bool {
+ return u.XuPresent
+}
+
+func (u *XUnionInTable) ClearXu() {
+ u.XuPresent = false
+}
+
+func (u *XUnionInTable) SetAfter(after string) {
+ u.After = after
+ u.AfterPresent = true
+}
+
+func (u *XUnionInTable) GetAfter() string {
+ return u.After
+}
+
+func (u *XUnionInTable) GetAfterWithDefault(_default string) string {
+ if !u.HasAfter() {
+ return _default
+ }
+ return u.After
+}
+
+func (u *XUnionInTable) HasAfter() bool {
+ return u.AfterPresent
+}
+
+func (u *XUnionInTable) ClearAfter() {
+ u.AfterPresent = false
}
type SimpleTable struct {
@@ -2363,6 +2338,36 @@
u.BazPresent = false
}
+type TableWithEmptyStruct struct {
+ _ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ S EmptyStruct `fidl:"1"`
+ SPresent bool
+}
+
+func (u *TableWithEmptyStruct) SetS(s EmptyStruct) {
+ u.S = s
+ u.SPresent = true
+}
+
+func (u *TableWithEmptyStruct) GetS() EmptyStruct {
+ return u.S
+}
+
+func (u *TableWithEmptyStruct) GetSWithDefault(_default EmptyStruct) EmptyStruct {
+ if !u.HasS() {
+ return _default
+ }
+ return u.S
+}
+
+func (u *TableWithEmptyStruct) HasS() bool {
+ return u.SPresent
+}
+
+func (u *TableWithEmptyStruct) ClearS() {
+ u.SPresent = false
+}
+
type TableStructWithReservedSandwich struct {
_ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
S1 StructSize3Align1 `fidl:"2"`
@@ -2639,86 +2644,34 @@
u.S2Present = false
}
-type XUnionInTable struct {
- _ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
- Before string `fidl:"1,"`
- BeforePresent bool
- Xu SampleXUnion `fidl:"2"`
- XuPresent bool
- After string `fidl:"3,"`
- AfterPresent bool
+type TransformerSimpleTable struct {
+ _ struct{} `fidl:"t,16,8" fidl_size_v1:"16" fidl_alignment_v1:"8" fidl_size_v1_no_ee:"16" fidl_alignment_v1_no_ee:"8"`
+ Value uint32 `fidl:"1"`
+ ValuePresent bool
}
-func (u *XUnionInTable) SetBefore(before string) {
- u.Before = before
- u.BeforePresent = true
+func (u *TransformerSimpleTable) SetValue(value uint32) {
+ u.Value = value
+ u.ValuePresent = true
}
-func (u *XUnionInTable) GetBefore() string {
- return u.Before
+func (u *TransformerSimpleTable) GetValue() uint32 {
+ return u.Value
}
-func (u *XUnionInTable) GetBeforeWithDefault(_default string) string {
- if !u.HasBefore() {
+func (u *TransformerSimpleTable) GetValueWithDefault(_default uint32) uint32 {
+ if !u.HasValue() {
return _default
}
- return u.Before
+ return u.Value
}
-func (u *XUnionInTable) HasBefore() bool {
- return u.BeforePresent
+func (u *TransformerSimpleTable) HasValue() bool {
+ return u.ValuePresent
}
-func (u *XUnionInTable) ClearBefore() {
- u.BeforePresent = false
-}
-
-func (u *XUnionInTable) SetXu(xu SampleXUnion) {
- u.Xu = xu
- u.XuPresent = true
-}
-
-func (u *XUnionInTable) GetXu() SampleXUnion {
- return u.Xu
-}
-
-func (u *XUnionInTable) GetXuWithDefault(_default SampleXUnion) SampleXUnion {
- if !u.HasXu() {
- return _default
- }
- return u.Xu
-}
-
-func (u *XUnionInTable) HasXu() bool {
- return u.XuPresent
-}
-
-func (u *XUnionInTable) ClearXu() {
- u.XuPresent = false
-}
-
-func (u *XUnionInTable) SetAfter(after string) {
- u.After = after
- u.AfterPresent = true
-}
-
-func (u *XUnionInTable) GetAfter() string {
- return u.After
-}
-
-func (u *XUnionInTable) GetAfterWithDefault(_default string) string {
- if !u.HasAfter() {
- return _default
- }
- return u.After
-}
-
-func (u *XUnionInTable) HasAfter() bool {
- return u.AfterPresent
-}
-
-func (u *XUnionInTable) ClearAfter() {
- u.AfterPresent = false
+func (u *TransformerSimpleTable) ClearValue() {
+ u.ValuePresent = false
}
type EthernetDeviceInterface _bindings.ChannelProxy
diff --git a/src/syscall/zx/fidl/fidl_test/conformance_test.go b/src/syscall/zx/fidl/fidl_test/conformance_test.go
index abee77b..1a4febc 100644
--- a/src/syscall/zx/fidl/fidl_test/conformance_test.go
+++ b/src/syscall/zx/fidl/fidl_test/conformance_test.go
@@ -3995,6 +3995,1373 @@
}
{
+ v1 := conformance.TransformerEmptyStruct{}
+
+ encodeSuccessCase{
+ name: "TransformerEmptyStruct",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.TransformerEmptyStruct{}
+
+ encodeSuccessCase{
+ name: "TransformerEmptyStruct_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.EmptyStructUnionStruct{}
+ v2 := conformance.EmptyStructUnion{}
+ v3 := conformance.TransformerEmptyStruct{}
+ v2.SetEs(v3)
+ v1.U = v2
+
+ encodeSuccessCase{
+ name: "EmptyStructUnion",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.EmptyStructUnionStruct{}
+ v2 := conformance.EmptyStructUnion{}
+ v3 := conformance.TransformerEmptyStruct{}
+ v2.SetEs(v3)
+ v1.U = v2
+
+ encodeSuccessCase{
+ name: "EmptyStructUnion_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.NoCodingTablesStressor{}
+ var v2 uint64 = 1229782938247303441
+ v1.F1 = v2
+ var v3 uint64 = 2459565876494606882
+ v1.F2 = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 51
+ var v6 uint8 = 51
+ var v7 uint8 = 51
+ var v8 uint8 = 51
+ var v9 uint8 = 51
+ var v10 uint8 = 51
+ var v11 uint8 = 51
+ var v12 uint8 = 51
+ var v13 uint8 = 51
+ var v14 uint8 = 51
+ var v15 uint8 = 51
+ var v16 uint8 = 51
+ var v17 uint8 = 51
+ var v18 uint8 = 51
+ var v19 uint8 = 51
+ var v20 uint8 = 51
+ var v21 uint8 = 51
+ var v22 uint8 = 51
+ var v23 uint8 = 51
+ var v24 uint8 = 51
+ var v25 uint8 = 51
+ var v26 uint8 = 51
+ var v27 uint8 = 51
+ var v28 uint8 = 51
+ var v29 uint8 = 51
+ var v30 uint8 = 51
+ var v31 uint8 = 51
+ var v32 uint8 = 51
+ var v33 uint8 = 51
+ var v34 uint8 = 51
+ var v35 uint8 = 51
+ var v36 uint8 = 51
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v1.U1 = v4
+ var v38 uint64 = 4919131752989213764
+ v1.F3 = v38
+ var v39 uint64 = 6148914691236517205
+ v1.F4 = v39
+ v40 := conformance.UnionSize36Align4{}
+ var v41 uint8 = 102
+ var v42 uint8 = 102
+ var v43 uint8 = 102
+ var v44 uint8 = 102
+ var v45 uint8 = 102
+ var v46 uint8 = 102
+ var v47 uint8 = 102
+ var v48 uint8 = 102
+ var v49 uint8 = 102
+ var v50 uint8 = 102
+ var v51 uint8 = 102
+ var v52 uint8 = 102
+ var v53 uint8 = 102
+ var v54 uint8 = 102
+ var v55 uint8 = 102
+ var v56 uint8 = 102
+ var v57 uint8 = 102
+ var v58 uint8 = 102
+ var v59 uint8 = 102
+ var v60 uint8 = 102
+ var v61 uint8 = 102
+ var v62 uint8 = 102
+ var v63 uint8 = 102
+ var v64 uint8 = 102
+ var v65 uint8 = 102
+ var v66 uint8 = 102
+ var v67 uint8 = 102
+ var v68 uint8 = 102
+ var v69 uint8 = 102
+ var v70 uint8 = 102
+ var v71 uint8 = 102
+ var v72 uint8 = 102
+ v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
+ v40.SetVariant(v73)
+ v1.U2 = v40
+ var v74 uint64 = 8608480567731124087
+ v1.F5 = v74
+ var v75 uint64 = 9838263505978427528
+ v1.F6 = v75
+ v76 := conformance.UnionSize36Align4{}
+ var v77 uint8 = 153
+ var v78 uint8 = 153
+ var v79 uint8 = 153
+ var v80 uint8 = 153
+ var v81 uint8 = 153
+ var v82 uint8 = 153
+ var v83 uint8 = 153
+ var v84 uint8 = 153
+ var v85 uint8 = 153
+ var v86 uint8 = 153
+ var v87 uint8 = 153
+ var v88 uint8 = 153
+ var v89 uint8 = 153
+ var v90 uint8 = 153
+ var v91 uint8 = 153
+ var v92 uint8 = 153
+ var v93 uint8 = 153
+ var v94 uint8 = 153
+ var v95 uint8 = 153
+ var v96 uint8 = 153
+ var v97 uint8 = 153
+ var v98 uint8 = 153
+ var v99 uint8 = 153
+ var v100 uint8 = 153
+ var v101 uint8 = 153
+ var v102 uint8 = 153
+ var v103 uint8 = 153
+ var v104 uint8 = 153
+ var v105 uint8 = 153
+ var v106 uint8 = 153
+ var v107 uint8 = 153
+ var v108 uint8 = 153
+ v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
+ v76.SetVariant(v109)
+ v1.U3 = v76
+ var v110 uint64 = 12297829382473034410
+ v1.F7 = v110
+ v111 := &conformance.Size8Align8{}
+ var v112 uint64 = 17216961135462248174
+ v111.Data = v112
+ v1.P1 = v111
+ var v113 uint64 = 13527612320720337851
+ v1.F8 = v113
+ v114 := &conformance.Size8Align8{}
+ var v115 uint64 = 17216961135462248174
+ v114.Data = v115
+ v1.P2 = v114
+ var v116 uint64 = 15987178197214944733
+ v1.F9 = v116
+
+ encodeSuccessCase{
+ name: "NoCodingTablesStressor",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x03, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
+ 0x03, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
+ 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x03, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.NoCodingTablesStressor{}
+ var v2 uint64 = 1229782938247303441
+ v1.F1 = v2
+ var v3 uint64 = 2459565876494606882
+ v1.F2 = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 51
+ var v6 uint8 = 51
+ var v7 uint8 = 51
+ var v8 uint8 = 51
+ var v9 uint8 = 51
+ var v10 uint8 = 51
+ var v11 uint8 = 51
+ var v12 uint8 = 51
+ var v13 uint8 = 51
+ var v14 uint8 = 51
+ var v15 uint8 = 51
+ var v16 uint8 = 51
+ var v17 uint8 = 51
+ var v18 uint8 = 51
+ var v19 uint8 = 51
+ var v20 uint8 = 51
+ var v21 uint8 = 51
+ var v22 uint8 = 51
+ var v23 uint8 = 51
+ var v24 uint8 = 51
+ var v25 uint8 = 51
+ var v26 uint8 = 51
+ var v27 uint8 = 51
+ var v28 uint8 = 51
+ var v29 uint8 = 51
+ var v30 uint8 = 51
+ var v31 uint8 = 51
+ var v32 uint8 = 51
+ var v33 uint8 = 51
+ var v34 uint8 = 51
+ var v35 uint8 = 51
+ var v36 uint8 = 51
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v1.U1 = v4
+ var v38 uint64 = 4919131752989213764
+ v1.F3 = v38
+ var v39 uint64 = 6148914691236517205
+ v1.F4 = v39
+ v40 := conformance.UnionSize36Align4{}
+ var v41 uint8 = 102
+ var v42 uint8 = 102
+ var v43 uint8 = 102
+ var v44 uint8 = 102
+ var v45 uint8 = 102
+ var v46 uint8 = 102
+ var v47 uint8 = 102
+ var v48 uint8 = 102
+ var v49 uint8 = 102
+ var v50 uint8 = 102
+ var v51 uint8 = 102
+ var v52 uint8 = 102
+ var v53 uint8 = 102
+ var v54 uint8 = 102
+ var v55 uint8 = 102
+ var v56 uint8 = 102
+ var v57 uint8 = 102
+ var v58 uint8 = 102
+ var v59 uint8 = 102
+ var v60 uint8 = 102
+ var v61 uint8 = 102
+ var v62 uint8 = 102
+ var v63 uint8 = 102
+ var v64 uint8 = 102
+ var v65 uint8 = 102
+ var v66 uint8 = 102
+ var v67 uint8 = 102
+ var v68 uint8 = 102
+ var v69 uint8 = 102
+ var v70 uint8 = 102
+ var v71 uint8 = 102
+ var v72 uint8 = 102
+ v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
+ v40.SetVariant(v73)
+ v1.U2 = v40
+ var v74 uint64 = 8608480567731124087
+ v1.F5 = v74
+ var v75 uint64 = 9838263505978427528
+ v1.F6 = v75
+ v76 := conformance.UnionSize36Align4{}
+ var v77 uint8 = 153
+ var v78 uint8 = 153
+ var v79 uint8 = 153
+ var v80 uint8 = 153
+ var v81 uint8 = 153
+ var v82 uint8 = 153
+ var v83 uint8 = 153
+ var v84 uint8 = 153
+ var v85 uint8 = 153
+ var v86 uint8 = 153
+ var v87 uint8 = 153
+ var v88 uint8 = 153
+ var v89 uint8 = 153
+ var v90 uint8 = 153
+ var v91 uint8 = 153
+ var v92 uint8 = 153
+ var v93 uint8 = 153
+ var v94 uint8 = 153
+ var v95 uint8 = 153
+ var v96 uint8 = 153
+ var v97 uint8 = 153
+ var v98 uint8 = 153
+ var v99 uint8 = 153
+ var v100 uint8 = 153
+ var v101 uint8 = 153
+ var v102 uint8 = 153
+ var v103 uint8 = 153
+ var v104 uint8 = 153
+ var v105 uint8 = 153
+ var v106 uint8 = 153
+ var v107 uint8 = 153
+ var v108 uint8 = 153
+ v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
+ v76.SetVariant(v109)
+ v1.U3 = v76
+ var v110 uint64 = 12297829382473034410
+ v1.F7 = v110
+ v111 := &conformance.Size8Align8{}
+ var v112 uint64 = 17216961135462248174
+ v111.Data = v112
+ v1.P1 = v111
+ var v113 uint64 = 13527612320720337851
+ v1.F8 = v113
+ v114 := &conformance.Size8Align8{}
+ var v115 uint64 = 17216961135462248174
+ v114.Data = v115
+ v1.P2 = v114
+ var v116 uint64 = 15987178197214944733
+ v1.F9 = v116
+
+ encodeSuccessCase{
+ name: "NoCodingTablesStressor_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.TheUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.TheUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := &conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.OptUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionPresent",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := &conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.OptUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionPresent_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ var v5 uint32 = 134678021
+ v3.After = v5
+ v6 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v6
+ v7 := "hard transitions suck!"
+ v1.After = v7
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionAbsent",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ var v5 uint32 = 134678021
+ v3.After = v5
+ v6 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v6
+ v7 := "hard transitions suck!"
+ v1.After = v7
+
+ encodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionAbsent_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Regression4{}
+ var v2 uint8 = 1
+ v1.F1 = v2
+ var v3 uint32 = 2
+ v1.F2 = v3
+ v4 := conformance.StructSize3Align1{}
+ var v5 uint8 = 9
+ var v6 uint8 = 10
+ var v7 uint8 = 11
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v1.S1 = v4
+ var v9 uint8 = 3
+ v1.F3 = v9
+ var v10 uint16 = 4
+ v1.F4 = v10
+ var v11 uint64 = 5
+ v1.F5 = v11
+ var v12 uint8 = 6
+ v1.F6 = v12
+
+ encodeSuccessCase{
+ name: "Regression4",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Regression4{}
+ var v2 uint8 = 1
+ v1.F1 = v2
+ var v3 uint32 = 2
+ v1.F2 = v3
+ v4 := conformance.StructSize3Align1{}
+ var v5 uint8 = 9
+ var v6 uint8 = 10
+ var v7 uint8 = 11
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v1.S1 = v4
+ var v9 uint8 = 3
+ v1.F3 = v9
+ var v10 uint16 = 4
+ v1.F4 = v10
+ var v11 uint64 = 5
+ v1.F5 = v11
+ var v12 uint8 = 6
+ v1.F6 = v12
+
+ encodeSuccessCase{
+ name: "Regression4_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ var v39 uint64 = 1157159078456920585
+ v1.Alignment8Enforcement = v39
+
+ encodeSuccessCase{
+ name: "Sandwich4Align8",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ var v39 uint64 = 1157159078456920585
+ v1.Alignment8Enforcement = v39
+
+ encodeSuccessCase{
+ name: "Sandwich4Align8_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8WithPointer{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ v39 := &conformance.Size8Align8{}
+ var v40 uint64 = 1157159078456920585
+ v39.Data = v40
+ v1.Alignment8Enforcement = v39
+
+ encodeSuccessCase{
+ name: "Sandwich4Align8WithPointer",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8WithPointer{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ v39 := &conformance.Size8Align8{}
+ var v40 uint64 = 1157159078456920585
+ v39.Data = v40
+ v1.Alignment8Enforcement = v39
+
+ encodeSuccessCase{
+ name: "Sandwich4Align8WithPointer_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich8{}
+ var v2 uint64 = 67305985
+ v1.Before = v2
+ v3 := conformance.UnionOfUnion{}
+ v4 := conformance.UnionSize8Align4{}
+ var v5 uint32 = 202050057
+ v4.SetVariant(v5)
+ v3.SetSize8align4(v4)
+ v1.UnionOfUnion = v3
+ var v6 uint32 = 134678021
+ v1.After = v6
+
+ encodeSuccessCase{
+ name: "Sandwich8Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich8{}
+ var v2 uint64 = 67305985
+ v1.Before = v2
+ v3 := conformance.UnionOfUnion{}
+ v4 := conformance.UnionSize8Align4{}
+ var v5 uint32 = 202050057
+ v4.SetVariant(v5)
+ v3.SetSize8align4(v4)
+ v1.UnionOfUnion = v3
+ var v6 uint32 = 134678021
+ v1.After = v6
+
+ encodeSuccessCase{
+ name: "Sandwich8Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich9{}
+ var v2 uint16 = 513
+ v1.Before = v2
+ v3 := conformance.UnionWithVectorOfVectors{}
+ v4 := &conformance.StructSize3Align1{}
+ var v5 uint8 = 16
+ var v6 uint8 = 17
+ var v7 uint8 = 18
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v9 := &conformance.StructSize3Align1{}
+ var v10 uint8 = 19
+ var v11 uint8 = 20
+ var v12 uint8 = 21
+ v13 := [3]uint8{v10, v11, v12}
+ v9.ThreeBytes = v13
+ v14 := []*conformance.StructSize3Align1{v4, v9}
+ v15 := [][]*conformance.StructSize3Align1{v14}
+ v3.SetV(v15)
+ v1.TheUnion = v3
+ var v16 uint16 = 4625
+ v1.After = v16
+
+ encodeSuccessCase{
+ name: "Sandwich9Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich9{}
+ var v2 uint16 = 513
+ v1.Before = v2
+ v3 := conformance.UnionWithVectorOfVectors{}
+ v4 := &conformance.StructSize3Align1{}
+ var v5 uint8 = 16
+ var v6 uint8 = 17
+ var v7 uint8 = 18
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v9 := &conformance.StructSize3Align1{}
+ var v10 uint8 = 19
+ var v11 uint8 = 20
+ var v12 uint8 = 21
+ v13 := [3]uint8{v10, v11, v12}
+ v9.ThreeBytes = v13
+ v14 := []*conformance.StructSize3Align1{v4, v9}
+ v15 := [][]*conformance.StructSize3Align1{v14}
+ v3.SetV(v15)
+ v1.TheUnion = v3
+ var v16 uint16 = 4625
+ v1.After = v16
+
+ encodeSuccessCase{
+ name: "Sandwich9Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.SimpleTableArrayStruct{}
+ v2 := conformance.TransformerSimpleTable{}
+ var v3 uint32 = 2745344416
+ v2.SetValue(v3)
+ v4 := conformance.TransformerSimpleTable{}
+ var v5 uint32 = 3014832560
+ v4.SetValue(v5)
+ v6 := [2]conformance.TransformerSimpleTable{v2, v4}
+ v1.TheArray = v6
+
+ encodeSuccessCase{
+ name: "SimpleTableArrayStruct",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.SimpleTableArrayStruct{}
+ v2 := conformance.TransformerSimpleTable{}
+ var v3 uint32 = 2745344416
+ v2.SetValue(v3)
+ v4 := conformance.TransformerSimpleTable{}
+ var v5 uint32 = 3014832560
+ v4.SetValue(v5)
+ v6 := [2]conformance.TransformerSimpleTable{v2, v4}
+ v1.TheArray = v6
+
+ encodeSuccessCase{
+ name: "SimpleTableArrayStruct_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.StringUnionVector{}
+ v2 := &conformance.StringUnion{}
+ v3 := "hello"
+ v2.SetS(v3)
+ v4 := &conformance.StringUnion{}
+ var v5 uint8 = 170
+ v4.SetU8(v5)
+ v6 := &conformance.StringUnion{}
+ var v7 uint8 = 187
+ v6.SetU8(v7)
+ v8 := []*conformance.StringUnion{v2, v4, v6}
+ v1.TheVector = v8
+
+ encodeSuccessCase{
+ name: "StringUnionVector",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.StringUnionVector{}
+ v2 := &conformance.StringUnion{}
+ v3 := "hello"
+ v2.SetS(v3)
+ v4 := &conformance.StringUnion{}
+ var v5 uint8 = 170
+ v4.SetU8(v5)
+ v6 := &conformance.StringUnion{}
+ var v7 uint8 = 187
+ v6.SetU8(v7)
+ v8 := []*conformance.StringUnion{v2, v4, v6}
+ v1.TheVector = v8
+
+ encodeSuccessCase{
+ name: "StringUnionVector_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
+ 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
v1 := conformance.UnionWithBoundStringStruct{}
v2 := conformance.UnionWithBoundString{}
v3 := "abcd"
@@ -4060,318 +5427,6 @@
}.check(t)
}
- {
- v1 := conformance.SandwichUnionSize8Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize8Alignment4{}
- var v4 uint32 = 4
- v3.SetVariant(v4)
- v1.Value = v3
- var v5 uint32 = 20
- v1.After = v5
-
- encodeSuccessCase{
- name: "UnionSize8Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize8Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize8Alignment4{}
- var v4 uint32 = 4
- v3.SetVariant(v4)
- v1.Value = v3
- var v5 uint32 = 20
- v1.After = v5
-
- encodeSuccessCase{
- name: "UnionSize8Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize12Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize12Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
- v3.SetVariant(v10)
- v1.Value = v3
- var v11 uint32 = 20
- v1.After = v11
-
- encodeSuccessCase{
- name: "UnionSize12Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize12Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize12Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
- v3.SetVariant(v10)
- v1.Value = v3
- var v11 uint32 = 20
- v1.After = v11
-
- encodeSuccessCase{
- name: "UnionSize12Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize24Alignment8{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize24Alignment8{}
- v4 := conformance.StructSize16Alignment8{}
- var v5 uint64 = 1
- v4.F1 = v5
- var v6 uint64 = 2
- v4.F2 = v6
- v3.SetVariant(v4)
- v1.Value = v3
- var v7 uint32 = 20
- v1.After = v7
-
- encodeSuccessCase{
- name: "UnionSize24Alignment8",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize24Alignment8{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize24Alignment8{}
- v4 := conformance.StructSize16Alignment8{}
- var v5 uint64 = 1
- v4.F1 = v5
- var v6 uint64 = 2
- v4.F2 = v6
- v3.SetVariant(v4)
- v1.Value = v3
- var v7 uint32 = 20
- v1.After = v7
-
- encodeSuccessCase{
- name: "UnionSize24Alignment8_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize36Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize36Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- var v10 uint8 = 7
- var v11 uint8 = 8
- var v12 uint8 = 9
- var v13 uint8 = 10
- var v14 uint8 = 11
- var v15 uint8 = 12
- var v16 uint8 = 13
- var v17 uint8 = 14
- var v18 uint8 = 15
- var v19 uint8 = 16
- var v20 uint8 = 17
- var v21 uint8 = 18
- var v22 uint8 = 19
- var v23 uint8 = 20
- var v24 uint8 = 21
- var v25 uint8 = 22
- var v26 uint8 = 23
- var v27 uint8 = 24
- var v28 uint8 = 25
- var v29 uint8 = 26
- var v30 uint8 = 27
- var v31 uint8 = 28
- var v32 uint8 = 29
- var v33 uint8 = 30
- var v34 uint8 = 31
- var v35 uint8 = 32
- v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
- v3.SetVariant(v36)
- v1.Value = v3
- var v37 uint32 = 20
- v1.After = v37
-
- encodeSuccessCase{
- name: "UnionSize36Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
- 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
- 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
- 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize36Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize36Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- var v10 uint8 = 7
- var v11 uint8 = 8
- var v12 uint8 = 9
- var v13 uint8 = 10
- var v14 uint8 = 11
- var v15 uint8 = 12
- var v16 uint8 = 13
- var v17 uint8 = 14
- var v18 uint8 = 15
- var v19 uint8 = 16
- var v20 uint8 = 17
- var v21 uint8 = 18
- var v22 uint8 = 19
- var v23 uint8 = 20
- var v24 uint8 = 21
- var v25 uint8 = 22
- var v26 uint8 = 23
- var v27 uint8 = 24
- var v28 uint8 = 25
- var v29 uint8 = 26
- var v30 uint8 = 27
- var v31 uint8 = 28
- var v32 uint8 = 29
- var v33 uint8 = 30
- var v34 uint8 = 31
- var v35 uint8 = 32
- v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
- v3.SetVariant(v36)
- v1.Value = v3
- var v37 uint32 = 20
- v1.After = v37
-
- encodeSuccessCase{
- name: "UnionSize36Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
- 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
- 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
- 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
- },
- }.check(t)
- }
-
}
func TestAllDecodeSuccessCases(t *testing.T) {
@@ -8352,6 +9407,1373 @@
}
{
+ v1 := conformance.TransformerEmptyStruct{}
+
+ decodeSuccessCase{
+ name: "TransformerEmptyStruct",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.TransformerEmptyStruct{}
+
+ decodeSuccessCase{
+ name: "TransformerEmptyStruct_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.EmptyStructUnionStruct{}
+ v2 := conformance.EmptyStructUnion{}
+ v3 := conformance.TransformerEmptyStruct{}
+ v2.SetEs(v3)
+ v1.U = v2
+
+ decodeSuccessCase{
+ name: "EmptyStructUnion",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.EmptyStructUnionStruct{}
+ v2 := conformance.EmptyStructUnion{}
+ v3 := conformance.TransformerEmptyStruct{}
+ v2.SetEs(v3)
+ v1.U = v2
+
+ decodeSuccessCase{
+ name: "EmptyStructUnion_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.NoCodingTablesStressor{}
+ var v2 uint64 = 1229782938247303441
+ v1.F1 = v2
+ var v3 uint64 = 2459565876494606882
+ v1.F2 = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 51
+ var v6 uint8 = 51
+ var v7 uint8 = 51
+ var v8 uint8 = 51
+ var v9 uint8 = 51
+ var v10 uint8 = 51
+ var v11 uint8 = 51
+ var v12 uint8 = 51
+ var v13 uint8 = 51
+ var v14 uint8 = 51
+ var v15 uint8 = 51
+ var v16 uint8 = 51
+ var v17 uint8 = 51
+ var v18 uint8 = 51
+ var v19 uint8 = 51
+ var v20 uint8 = 51
+ var v21 uint8 = 51
+ var v22 uint8 = 51
+ var v23 uint8 = 51
+ var v24 uint8 = 51
+ var v25 uint8 = 51
+ var v26 uint8 = 51
+ var v27 uint8 = 51
+ var v28 uint8 = 51
+ var v29 uint8 = 51
+ var v30 uint8 = 51
+ var v31 uint8 = 51
+ var v32 uint8 = 51
+ var v33 uint8 = 51
+ var v34 uint8 = 51
+ var v35 uint8 = 51
+ var v36 uint8 = 51
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v1.U1 = v4
+ var v38 uint64 = 4919131752989213764
+ v1.F3 = v38
+ var v39 uint64 = 6148914691236517205
+ v1.F4 = v39
+ v40 := conformance.UnionSize36Align4{}
+ var v41 uint8 = 102
+ var v42 uint8 = 102
+ var v43 uint8 = 102
+ var v44 uint8 = 102
+ var v45 uint8 = 102
+ var v46 uint8 = 102
+ var v47 uint8 = 102
+ var v48 uint8 = 102
+ var v49 uint8 = 102
+ var v50 uint8 = 102
+ var v51 uint8 = 102
+ var v52 uint8 = 102
+ var v53 uint8 = 102
+ var v54 uint8 = 102
+ var v55 uint8 = 102
+ var v56 uint8 = 102
+ var v57 uint8 = 102
+ var v58 uint8 = 102
+ var v59 uint8 = 102
+ var v60 uint8 = 102
+ var v61 uint8 = 102
+ var v62 uint8 = 102
+ var v63 uint8 = 102
+ var v64 uint8 = 102
+ var v65 uint8 = 102
+ var v66 uint8 = 102
+ var v67 uint8 = 102
+ var v68 uint8 = 102
+ var v69 uint8 = 102
+ var v70 uint8 = 102
+ var v71 uint8 = 102
+ var v72 uint8 = 102
+ v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
+ v40.SetVariant(v73)
+ v1.U2 = v40
+ var v74 uint64 = 8608480567731124087
+ v1.F5 = v74
+ var v75 uint64 = 9838263505978427528
+ v1.F6 = v75
+ v76 := conformance.UnionSize36Align4{}
+ var v77 uint8 = 153
+ var v78 uint8 = 153
+ var v79 uint8 = 153
+ var v80 uint8 = 153
+ var v81 uint8 = 153
+ var v82 uint8 = 153
+ var v83 uint8 = 153
+ var v84 uint8 = 153
+ var v85 uint8 = 153
+ var v86 uint8 = 153
+ var v87 uint8 = 153
+ var v88 uint8 = 153
+ var v89 uint8 = 153
+ var v90 uint8 = 153
+ var v91 uint8 = 153
+ var v92 uint8 = 153
+ var v93 uint8 = 153
+ var v94 uint8 = 153
+ var v95 uint8 = 153
+ var v96 uint8 = 153
+ var v97 uint8 = 153
+ var v98 uint8 = 153
+ var v99 uint8 = 153
+ var v100 uint8 = 153
+ var v101 uint8 = 153
+ var v102 uint8 = 153
+ var v103 uint8 = 153
+ var v104 uint8 = 153
+ var v105 uint8 = 153
+ var v106 uint8 = 153
+ var v107 uint8 = 153
+ var v108 uint8 = 153
+ v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
+ v76.SetVariant(v109)
+ v1.U3 = v76
+ var v110 uint64 = 12297829382473034410
+ v1.F7 = v110
+ v111 := &conformance.Size8Align8{}
+ var v112 uint64 = 17216961135462248174
+ v111.Data = v112
+ v1.P1 = v111
+ var v113 uint64 = 13527612320720337851
+ v1.F8 = v113
+ v114 := &conformance.Size8Align8{}
+ var v115 uint64 = 17216961135462248174
+ v114.Data = v115
+ v1.P2 = v114
+ var v116 uint64 = 15987178197214944733
+ v1.F9 = v116
+
+ decodeSuccessCase{
+ name: "NoCodingTablesStressor",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x03, 0x00, 0x00, 0x00, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
+ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
+ 0x03, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
+ 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x03, 0x00, 0x00, 0x00, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.NoCodingTablesStressor{}
+ var v2 uint64 = 1229782938247303441
+ v1.F1 = v2
+ var v3 uint64 = 2459565876494606882
+ v1.F2 = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 51
+ var v6 uint8 = 51
+ var v7 uint8 = 51
+ var v8 uint8 = 51
+ var v9 uint8 = 51
+ var v10 uint8 = 51
+ var v11 uint8 = 51
+ var v12 uint8 = 51
+ var v13 uint8 = 51
+ var v14 uint8 = 51
+ var v15 uint8 = 51
+ var v16 uint8 = 51
+ var v17 uint8 = 51
+ var v18 uint8 = 51
+ var v19 uint8 = 51
+ var v20 uint8 = 51
+ var v21 uint8 = 51
+ var v22 uint8 = 51
+ var v23 uint8 = 51
+ var v24 uint8 = 51
+ var v25 uint8 = 51
+ var v26 uint8 = 51
+ var v27 uint8 = 51
+ var v28 uint8 = 51
+ var v29 uint8 = 51
+ var v30 uint8 = 51
+ var v31 uint8 = 51
+ var v32 uint8 = 51
+ var v33 uint8 = 51
+ var v34 uint8 = 51
+ var v35 uint8 = 51
+ var v36 uint8 = 51
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v1.U1 = v4
+ var v38 uint64 = 4919131752989213764
+ v1.F3 = v38
+ var v39 uint64 = 6148914691236517205
+ v1.F4 = v39
+ v40 := conformance.UnionSize36Align4{}
+ var v41 uint8 = 102
+ var v42 uint8 = 102
+ var v43 uint8 = 102
+ var v44 uint8 = 102
+ var v45 uint8 = 102
+ var v46 uint8 = 102
+ var v47 uint8 = 102
+ var v48 uint8 = 102
+ var v49 uint8 = 102
+ var v50 uint8 = 102
+ var v51 uint8 = 102
+ var v52 uint8 = 102
+ var v53 uint8 = 102
+ var v54 uint8 = 102
+ var v55 uint8 = 102
+ var v56 uint8 = 102
+ var v57 uint8 = 102
+ var v58 uint8 = 102
+ var v59 uint8 = 102
+ var v60 uint8 = 102
+ var v61 uint8 = 102
+ var v62 uint8 = 102
+ var v63 uint8 = 102
+ var v64 uint8 = 102
+ var v65 uint8 = 102
+ var v66 uint8 = 102
+ var v67 uint8 = 102
+ var v68 uint8 = 102
+ var v69 uint8 = 102
+ var v70 uint8 = 102
+ var v71 uint8 = 102
+ var v72 uint8 = 102
+ v73 := [32]uint8{v41, v42, v43, v44, v45, v46, v47, v48, v49, v50, v51, v52, v53, v54, v55, v56, v57, v58, v59, v60, v61, v62, v63, v64, v65, v66, v67, v68, v69, v70, v71, v72}
+ v40.SetVariant(v73)
+ v1.U2 = v40
+ var v74 uint64 = 8608480567731124087
+ v1.F5 = v74
+ var v75 uint64 = 9838263505978427528
+ v1.F6 = v75
+ v76 := conformance.UnionSize36Align4{}
+ var v77 uint8 = 153
+ var v78 uint8 = 153
+ var v79 uint8 = 153
+ var v80 uint8 = 153
+ var v81 uint8 = 153
+ var v82 uint8 = 153
+ var v83 uint8 = 153
+ var v84 uint8 = 153
+ var v85 uint8 = 153
+ var v86 uint8 = 153
+ var v87 uint8 = 153
+ var v88 uint8 = 153
+ var v89 uint8 = 153
+ var v90 uint8 = 153
+ var v91 uint8 = 153
+ var v92 uint8 = 153
+ var v93 uint8 = 153
+ var v94 uint8 = 153
+ var v95 uint8 = 153
+ var v96 uint8 = 153
+ var v97 uint8 = 153
+ var v98 uint8 = 153
+ var v99 uint8 = 153
+ var v100 uint8 = 153
+ var v101 uint8 = 153
+ var v102 uint8 = 153
+ var v103 uint8 = 153
+ var v104 uint8 = 153
+ var v105 uint8 = 153
+ var v106 uint8 = 153
+ var v107 uint8 = 153
+ var v108 uint8 = 153
+ v109 := [32]uint8{v77, v78, v79, v80, v81, v82, v83, v84, v85, v86, v87, v88, v89, v90, v91, v92, v93, v94, v95, v96, v97, v98, v99, v100, v101, v102, v103, v104, v105, v106, v107, v108}
+ v76.SetVariant(v109)
+ v1.U3 = v76
+ var v110 uint64 = 12297829382473034410
+ v1.F7 = v110
+ v111 := &conformance.Size8Align8{}
+ var v112 uint64 = 17216961135462248174
+ v111.Data = v112
+ v1.P1 = v111
+ var v113 uint64 = 13527612320720337851
+ v1.F8 = v113
+ v114 := &conformance.Size8Align8{}
+ var v115 uint64 = 17216961135462248174
+ v114.Data = v115
+ v1.P2 = v114
+ var v116 uint64 = 15987178197214944733
+ v1.F9 = v116
+
+ decodeSuccessCase{
+ name: "NoCodingTablesStressor_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
+ 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
+ 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55, 0x55,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
+ 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88, 0x88,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0xbb,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd, 0xdd,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee, 0xee,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.TheUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x05, 0x06, 0x07, 0x08,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.TheUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := &conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.OptUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionPresent",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ v5 := &conformance.UnionSize8Align4{}
+ var v6 uint32 = 202050057
+ v5.SetVariant(v6)
+ v3.OptUnion = v5
+ var v7 uint32 = 134678021
+ v3.After = v7
+ v8 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v8
+ v9 := "hard transitions suck!"
+ v1.After = v9
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionPresent_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ var v5 uint32 = 134678021
+ v3.After = v5
+ v6 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v6
+ v7 := "hard transitions suck!"
+ v1.After = v7
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionAbsent",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.OutOfLineSandwich1WithOptUnion{}
+ v2 := "soft migrations rock!"
+ v1.Before = v2
+ v3 := conformance.Sandwich1WithOptUnion{}
+ var v4 uint32 = 67305985
+ v3.Before = v4
+ var v5 uint32 = 134678021
+ v3.After = v5
+ v6 := []conformance.Sandwich1WithOptUnion{v3}
+ v1.V = v6
+ v7 := "hard transitions suck!"
+ v1.After = v7
+
+ decodeSuccessCase{
+ name: "OutOfLineSandwich1WithOptUnionAbsent_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x73, 0x6f, 0x66, 0x74, 0x20, 0x6d, 0x69, 0x67,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20,
+ 0x72, 0x6f, 0x63, 0x6b, 0x21, 0x00, 0x00, 0x00,
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x68, 0x61, 0x72, 0x64, 0x20, 0x74, 0x72, 0x61,
+ 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x20, 0x73, 0x75, 0x63, 0x6b, 0x21, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Regression4{}
+ var v2 uint8 = 1
+ v1.F1 = v2
+ var v3 uint32 = 2
+ v1.F2 = v3
+ v4 := conformance.StructSize3Align1{}
+ var v5 uint8 = 9
+ var v6 uint8 = 10
+ var v7 uint8 = 11
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v1.S1 = v4
+ var v9 uint8 = 3
+ v1.F3 = v9
+ var v10 uint16 = 4
+ v1.F4 = v10
+ var v11 uint64 = 5
+ v1.F5 = v11
+ var v12 uint8 = 6
+ v1.F6 = v12
+
+ decodeSuccessCase{
+ name: "Regression4",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Regression4{}
+ var v2 uint8 = 1
+ v1.F1 = v2
+ var v3 uint32 = 2
+ v1.F2 = v3
+ v4 := conformance.StructSize3Align1{}
+ var v5 uint8 = 9
+ var v6 uint8 = 10
+ var v7 uint8 = 11
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v1.S1 = v4
+ var v9 uint8 = 3
+ v1.F3 = v9
+ var v10 uint16 = 4
+ v1.F4 = v10
+ var v11 uint64 = 5
+ v1.F5 = v11
+ var v12 uint8 = 6
+ v1.F6 = v12
+
+ decodeSuccessCase{
+ name: "Regression4_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x03, 0x04, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ var v39 uint64 = 1157159078456920585
+ v1.Alignment8Enforcement = v39
+
+ decodeSuccessCase{
+ name: "Sandwich4Align8",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ var v39 uint64 = 1157159078456920585
+ v1.Alignment8Enforcement = v39
+
+ decodeSuccessCase{
+ name: "Sandwich4Align8_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8WithPointer{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ v39 := &conformance.Size8Align8{}
+ var v40 uint64 = 1157159078456920585
+ v39.Data = v40
+ v1.Alignment8Enforcement = v39
+
+ decodeSuccessCase{
+ name: "Sandwich4Align8WithPointer",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x03, 0x00, 0x00, 0x00,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich4Align8WithPointer{}
+ v2 := conformance.Sandwich4{}
+ var v3 uint32 = 67305985
+ v2.Before = v3
+ v4 := conformance.UnionSize36Align4{}
+ var v5 uint8 = 160
+ var v6 uint8 = 161
+ var v7 uint8 = 162
+ var v8 uint8 = 163
+ var v9 uint8 = 164
+ var v10 uint8 = 165
+ var v11 uint8 = 166
+ var v12 uint8 = 167
+ var v13 uint8 = 168
+ var v14 uint8 = 169
+ var v15 uint8 = 170
+ var v16 uint8 = 171
+ var v17 uint8 = 172
+ var v18 uint8 = 173
+ var v19 uint8 = 174
+ var v20 uint8 = 175
+ var v21 uint8 = 176
+ var v22 uint8 = 177
+ var v23 uint8 = 178
+ var v24 uint8 = 179
+ var v25 uint8 = 180
+ var v26 uint8 = 181
+ var v27 uint8 = 182
+ var v28 uint8 = 183
+ var v29 uint8 = 184
+ var v30 uint8 = 185
+ var v31 uint8 = 186
+ var v32 uint8 = 187
+ var v33 uint8 = 188
+ var v34 uint8 = 189
+ var v35 uint8 = 190
+ var v36 uint8 = 191
+ v37 := [32]uint8{v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35, v36}
+ v4.SetVariant(v37)
+ v2.TheUnion = v4
+ var v38 uint32 = 134678021
+ v2.After = v38
+ v1.Sandwich4 = v2
+ v39 := &conformance.Size8Align8{}
+ var v40 uint64 = 1157159078456920585
+ v39.Data = v40
+ v1.Alignment8Enforcement = v39
+
+ decodeSuccessCase{
+ name: "Sandwich4Align8WithPointer_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
+ 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
+ 0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich8{}
+ var v2 uint64 = 67305985
+ v1.Before = v2
+ v3 := conformance.UnionOfUnion{}
+ v4 := conformance.UnionSize8Align4{}
+ var v5 uint32 = 202050057
+ v4.SetVariant(v5)
+ v3.SetSize8align4(v4)
+ v1.UnionOfUnion = v3
+ var v6 uint32 = 134678021
+ v1.After = v6
+
+ decodeSuccessCase{
+ name: "Sandwich8Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x09, 0x0a, 0x0b, 0x0c,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich8{}
+ var v2 uint64 = 67305985
+ v1.Before = v2
+ v3 := conformance.UnionOfUnion{}
+ v4 := conformance.UnionSize8Align4{}
+ var v5 uint32 = 202050057
+ v4.SetVariant(v5)
+ v3.SetSize8align4(v4)
+ v1.UnionOfUnion = v3
+ var v6 uint32 = 134678021
+ v1.After = v6
+
+ decodeSuccessCase{
+ name: "Sandwich8Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x03, 0x04, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x06, 0x07, 0x08, 0x00, 0x00, 0x00, 0x00,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x09, 0x0a, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich9{}
+ var v2 uint16 = 513
+ v1.Before = v2
+ v3 := conformance.UnionWithVectorOfVectors{}
+ v4 := &conformance.StructSize3Align1{}
+ var v5 uint8 = 16
+ var v6 uint8 = 17
+ var v7 uint8 = 18
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v9 := &conformance.StructSize3Align1{}
+ var v10 uint8 = 19
+ var v11 uint8 = 20
+ var v12 uint8 = 21
+ v13 := [3]uint8{v10, v11, v12}
+ v9.ThreeBytes = v13
+ v14 := []*conformance.StructSize3Align1{v4, v9}
+ v15 := [][]*conformance.StructSize3Align1{v14}
+ v3.SetV(v15)
+ v1.TheUnion = v3
+ var v16 uint16 = 4625
+ v1.After = v16
+
+ decodeSuccessCase{
+ name: "Sandwich9Case1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.Sandwich9{}
+ var v2 uint16 = 513
+ v1.Before = v2
+ v3 := conformance.UnionWithVectorOfVectors{}
+ v4 := &conformance.StructSize3Align1{}
+ var v5 uint8 = 16
+ var v6 uint8 = 17
+ var v7 uint8 = 18
+ v8 := [3]uint8{v5, v6, v7}
+ v4.ThreeBytes = v8
+ v9 := &conformance.StructSize3Align1{}
+ var v10 uint8 = 19
+ var v11 uint8 = 20
+ var v12 uint8 = 21
+ v13 := [3]uint8{v10, v11, v12}
+ v9.ThreeBytes = v13
+ v14 := []*conformance.StructSize3Align1{v4, v9}
+ v15 := [][]*conformance.StructSize3Align1{v14}
+ v3.SetV(v15)
+ v1.TheUnion = v3
+ var v16 uint16 = 4625
+ v1.After = v16
+
+ decodeSuccessCase{
+ name: "Sandwich9Case1_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x10, 0x11, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x13, 0x14, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.SimpleTableArrayStruct{}
+ v2 := conformance.TransformerSimpleTable{}
+ var v3 uint32 = 2745344416
+ v2.SetValue(v3)
+ v4 := conformance.TransformerSimpleTable{}
+ var v5 uint32 = 3014832560
+ v4.SetValue(v5)
+ v6 := [2]conformance.TransformerSimpleTable{v2, v4}
+ v1.TheArray = v6
+
+ decodeSuccessCase{
+ name: "SimpleTableArrayStruct",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.SimpleTableArrayStruct{}
+ v2 := conformance.TransformerSimpleTable{}
+ var v3 uint32 = 2745344416
+ v2.SetValue(v3)
+ v4 := conformance.TransformerSimpleTable{}
+ var v5 uint32 = 3014832560
+ v4.SetValue(v5)
+ v6 := [2]conformance.TransformerSimpleTable{v2, v4}
+ v1.TheArray = v6
+
+ decodeSuccessCase{
+ name: "SimpleTableArrayStruct_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xa0, 0xa1, 0xa2, 0xa3, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xb0, 0xb1, 0xb2, 0xb3, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.StringUnionVector{}
+ v2 := &conformance.StringUnion{}
+ v3 := "hello"
+ v2.SetS(v3)
+ v4 := &conformance.StringUnion{}
+ var v5 uint8 = 170
+ v4.SetU8(v5)
+ v6 := &conformance.StringUnion{}
+ var v7 uint8 = 187
+ v6.SetU8(v7)
+ v8 := []*conformance.StringUnion{v2, v4, v6}
+ v1.TheVector = v8
+
+ decodeSuccessCase{
+ name: "StringUnionVector",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: false,
+ EncodeUnionsAsXUnionBytes: false,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
+ v1 := conformance.StringUnionVector{}
+ v2 := &conformance.StringUnion{}
+ v3 := "hello"
+ v2.SetS(v3)
+ v4 := &conformance.StringUnion{}
+ var v5 uint8 = 170
+ v4.SetU8(v5)
+ v6 := &conformance.StringUnion{}
+ var v7 uint8 = 187
+ v6.SetU8(v7)
+ v8 := []*conformance.StringUnion{v2, v4, v6}
+ v1.TheVector = v8
+
+ decodeSuccessCase{
+ name: "StringUnionVector_v1",
+ context: fidl.MarshalerContext{
+ DecodeUnionsFromXUnionBytes: true,
+ EncodeUnionsAsXUnionBytes: true,
+ },
+ input: &v1,
+ bytes: []byte{
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+ 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x00, 0x00, 0x00,
+ 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0xbb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ },
+ }.check(t)
+ }
+
+ {
v1 := conformance.UnionWithBoundStringStruct{}
v2 := conformance.UnionWithBoundString{}
v3 := "abcd"
@@ -8417,318 +10839,6 @@
}.check(t)
}
- {
- v1 := conformance.SandwichUnionSize8Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize8Alignment4{}
- var v4 uint32 = 4
- v3.SetVariant(v4)
- v1.Value = v3
- var v5 uint32 = 20
- v1.After = v5
-
- decodeSuccessCase{
- name: "UnionSize8Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize8Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize8Alignment4{}
- var v4 uint32 = 4
- v3.SetVariant(v4)
- v1.Value = v3
- var v5 uint32 = 20
- v1.After = v5
-
- decodeSuccessCase{
- name: "UnionSize8Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize12Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize12Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
- v3.SetVariant(v10)
- v1.Value = v3
- var v11 uint32 = 20
- v1.After = v11
-
- decodeSuccessCase{
- name: "UnionSize12Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize12Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize12Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- v10 := [6]uint8{v4, v5, v6, v7, v8, v9}
- v3.SetVariant(v10)
- v1.Value = v3
- var v11 uint32 = 20
- v1.After = v11
-
- decodeSuccessCase{
- name: "UnionSize12Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize24Alignment8{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize24Alignment8{}
- v4 := conformance.StructSize16Alignment8{}
- var v5 uint64 = 1
- v4.F1 = v5
- var v6 uint64 = 2
- v4.F2 = v6
- v3.SetVariant(v4)
- v1.Value = v3
- var v7 uint32 = 20
- v1.After = v7
-
- decodeSuccessCase{
- name: "UnionSize24Alignment8",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize24Alignment8{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize24Alignment8{}
- v4 := conformance.StructSize16Alignment8{}
- var v5 uint64 = 1
- v4.F1 = v5
- var v6 uint64 = 2
- v4.F2 = v6
- v3.SetVariant(v4)
- v1.Value = v3
- var v7 uint32 = 20
- v1.After = v7
-
- decodeSuccessCase{
- name: "UnionSize24Alignment8_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize36Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize36Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- var v10 uint8 = 7
- var v11 uint8 = 8
- var v12 uint8 = 9
- var v13 uint8 = 10
- var v14 uint8 = 11
- var v15 uint8 = 12
- var v16 uint8 = 13
- var v17 uint8 = 14
- var v18 uint8 = 15
- var v19 uint8 = 16
- var v20 uint8 = 17
- var v21 uint8 = 18
- var v22 uint8 = 19
- var v23 uint8 = 20
- var v24 uint8 = 21
- var v25 uint8 = 22
- var v26 uint8 = 23
- var v27 uint8 = 24
- var v28 uint8 = 25
- var v29 uint8 = 26
- var v30 uint8 = 27
- var v31 uint8 = 28
- var v32 uint8 = 29
- var v33 uint8 = 30
- var v34 uint8 = 31
- var v35 uint8 = 32
- v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
- v3.SetVariant(v36)
- v1.Value = v3
- var v37 uint32 = 20
- v1.After = v37
-
- decodeSuccessCase{
- name: "UnionSize36Alignment4",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: false,
- EncodeUnionsAsXUnionBytes: false,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
- 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
- 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
- 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- },
- }.check(t)
- }
-
- {
- v1 := conformance.SandwichUnionSize36Alignment4{}
- var v2 uint32 = 10
- v1.Before = v2
- v3 := conformance.UnionSize36Alignment4{}
- var v4 uint8 = 1
- var v5 uint8 = 2
- var v6 uint8 = 3
- var v7 uint8 = 4
- var v8 uint8 = 5
- var v9 uint8 = 6
- var v10 uint8 = 7
- var v11 uint8 = 8
- var v12 uint8 = 9
- var v13 uint8 = 10
- var v14 uint8 = 11
- var v15 uint8 = 12
- var v16 uint8 = 13
- var v17 uint8 = 14
- var v18 uint8 = 15
- var v19 uint8 = 16
- var v20 uint8 = 17
- var v21 uint8 = 18
- var v22 uint8 = 19
- var v23 uint8 = 20
- var v24 uint8 = 21
- var v25 uint8 = 22
- var v26 uint8 = 23
- var v27 uint8 = 24
- var v28 uint8 = 25
- var v29 uint8 = 26
- var v30 uint8 = 27
- var v31 uint8 = 28
- var v32 uint8 = 29
- var v33 uint8 = 30
- var v34 uint8 = 31
- var v35 uint8 = 32
- v36 := [32]uint8{v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v32, v33, v34, v35}
- v3.SetVariant(v36)
- v1.Value = v3
- var v37 uint32 = 20
- v1.After = v37
-
- decodeSuccessCase{
- name: "UnionSize36Alignment4_v1",
- context: fidl.MarshalerContext{
- DecodeUnionsFromXUnionBytes: true,
- EncodeUnionsAsXUnionBytes: true,
- },
- input: &v1,
- bytes: []byte{
- 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
- 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10,
- 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18,
- 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20,
- },
- }.check(t)
- }
-
}
func TestAllEncodeFailureCases(t *testing.T) {