go-json/encode_optype.go

1095 lines
42 KiB
Go

// Code generated by cmd/generator. DO NOT EDIT!
package json
import (
"strings"
)
type codeType int
const (
codeOp codeType = 0
codeArrayHead codeType = 1
codeArrayElem codeType = 2
codeSliceHead codeType = 3
codeSliceElem codeType = 4
codeMapHead codeType = 5
codeMapKey codeType = 6
codeMapValue codeType = 7
codeMapEnd codeType = 8
codeStructFieldRecursive codeType = 9
codeStructField codeType = 10
codeStructEnd codeType = 11
)
var opTypeStrings = [403]string{
"End",
"Interface",
"Ptr",
"RootSliceHead",
"SliceElem",
"RootSliceElem",
"SliceEnd",
"ArrayElem",
"ArrayEnd",
"MapKey",
"MapValue",
"MapEnd",
"StructFieldRecursiveEnd",
"StructAnonymousEnd",
"Int",
"Uint",
"Float32",
"Float64",
"Bool",
"String",
"Bytes",
"Array",
"Map",
"Slice",
"Struct",
"MarshalJSON",
"MarshalText",
"Recursive",
"IntString",
"UintString",
"IntPtr",
"UintPtr",
"Float32Ptr",
"Float64Ptr",
"BoolPtr",
"StringPtr",
"BytesPtr",
"ArrayPtr",
"SlicePtr",
"MapPtr",
"MarshalJSONPtr",
"MarshalTextPtr",
"InterfacePtr",
"StructFieldHeadInt",
"StructFieldHeadOmitEmptyInt",
"StructFieldHeadStringTagInt",
"StructFieldPtrHeadInt",
"StructFieldPtrHeadOmitEmptyInt",
"StructFieldPtrHeadStringTagInt",
"StructFieldHeadUint",
"StructFieldHeadOmitEmptyUint",
"StructFieldHeadStringTagUint",
"StructFieldPtrHeadUint",
"StructFieldPtrHeadOmitEmptyUint",
"StructFieldPtrHeadStringTagUint",
"StructFieldHeadFloat32",
"StructFieldHeadOmitEmptyFloat32",
"StructFieldHeadStringTagFloat32",
"StructFieldPtrHeadFloat32",
"StructFieldPtrHeadOmitEmptyFloat32",
"StructFieldPtrHeadStringTagFloat32",
"StructFieldHeadFloat64",
"StructFieldHeadOmitEmptyFloat64",
"StructFieldHeadStringTagFloat64",
"StructFieldPtrHeadFloat64",
"StructFieldPtrHeadOmitEmptyFloat64",
"StructFieldPtrHeadStringTagFloat64",
"StructFieldHeadBool",
"StructFieldHeadOmitEmptyBool",
"StructFieldHeadStringTagBool",
"StructFieldPtrHeadBool",
"StructFieldPtrHeadOmitEmptyBool",
"StructFieldPtrHeadStringTagBool",
"StructFieldHeadString",
"StructFieldHeadOmitEmptyString",
"StructFieldHeadStringTagString",
"StructFieldPtrHeadString",
"StructFieldPtrHeadOmitEmptyString",
"StructFieldPtrHeadStringTagString",
"StructFieldHeadBytes",
"StructFieldHeadOmitEmptyBytes",
"StructFieldHeadStringTagBytes",
"StructFieldPtrHeadBytes",
"StructFieldPtrHeadOmitEmptyBytes",
"StructFieldPtrHeadStringTagBytes",
"StructFieldHeadArray",
"StructFieldHeadOmitEmptyArray",
"StructFieldHeadStringTagArray",
"StructFieldPtrHeadArray",
"StructFieldPtrHeadOmitEmptyArray",
"StructFieldPtrHeadStringTagArray",
"StructFieldHeadMap",
"StructFieldHeadOmitEmptyMap",
"StructFieldHeadStringTagMap",
"StructFieldPtrHeadMap",
"StructFieldPtrHeadOmitEmptyMap",
"StructFieldPtrHeadStringTagMap",
"StructFieldHeadSlice",
"StructFieldHeadOmitEmptySlice",
"StructFieldHeadStringTagSlice",
"StructFieldPtrHeadSlice",
"StructFieldPtrHeadOmitEmptySlice",
"StructFieldPtrHeadStringTagSlice",
"StructFieldHeadStruct",
"StructFieldHeadOmitEmptyStruct",
"StructFieldHeadStringTagStruct",
"StructFieldPtrHeadStruct",
"StructFieldPtrHeadOmitEmptyStruct",
"StructFieldPtrHeadStringTagStruct",
"StructFieldHeadMarshalJSON",
"StructFieldHeadOmitEmptyMarshalJSON",
"StructFieldHeadStringTagMarshalJSON",
"StructFieldPtrHeadMarshalJSON",
"StructFieldPtrHeadOmitEmptyMarshalJSON",
"StructFieldPtrHeadStringTagMarshalJSON",
"StructFieldHeadMarshalText",
"StructFieldHeadOmitEmptyMarshalText",
"StructFieldHeadStringTagMarshalText",
"StructFieldPtrHeadMarshalText",
"StructFieldPtrHeadOmitEmptyMarshalText",
"StructFieldPtrHeadStringTagMarshalText",
"StructFieldHeadRecursive",
"StructFieldHeadOmitEmptyRecursive",
"StructFieldHeadStringTagRecursive",
"StructFieldPtrHeadRecursive",
"StructFieldPtrHeadOmitEmptyRecursive",
"StructFieldPtrHeadStringTagRecursive",
"StructFieldHeadIntString",
"StructFieldHeadOmitEmptyIntString",
"StructFieldHeadStringTagIntString",
"StructFieldPtrHeadIntString",
"StructFieldPtrHeadOmitEmptyIntString",
"StructFieldPtrHeadStringTagIntString",
"StructFieldHeadUintString",
"StructFieldHeadOmitEmptyUintString",
"StructFieldHeadStringTagUintString",
"StructFieldPtrHeadUintString",
"StructFieldPtrHeadOmitEmptyUintString",
"StructFieldPtrHeadStringTagUintString",
"StructFieldHeadIntPtr",
"StructFieldHeadOmitEmptyIntPtr",
"StructFieldHeadStringTagIntPtr",
"StructFieldPtrHeadIntPtr",
"StructFieldPtrHeadOmitEmptyIntPtr",
"StructFieldPtrHeadStringTagIntPtr",
"StructFieldHeadUintPtr",
"StructFieldHeadOmitEmptyUintPtr",
"StructFieldHeadStringTagUintPtr",
"StructFieldPtrHeadUintPtr",
"StructFieldPtrHeadOmitEmptyUintPtr",
"StructFieldPtrHeadStringTagUintPtr",
"StructFieldHeadFloat32Ptr",
"StructFieldHeadOmitEmptyFloat32Ptr",
"StructFieldHeadStringTagFloat32Ptr",
"StructFieldPtrHeadFloat32Ptr",
"StructFieldPtrHeadOmitEmptyFloat32Ptr",
"StructFieldPtrHeadStringTagFloat32Ptr",
"StructFieldHeadFloat64Ptr",
"StructFieldHeadOmitEmptyFloat64Ptr",
"StructFieldHeadStringTagFloat64Ptr",
"StructFieldPtrHeadFloat64Ptr",
"StructFieldPtrHeadOmitEmptyFloat64Ptr",
"StructFieldPtrHeadStringTagFloat64Ptr",
"StructFieldHeadBoolPtr",
"StructFieldHeadOmitEmptyBoolPtr",
"StructFieldHeadStringTagBoolPtr",
"StructFieldPtrHeadBoolPtr",
"StructFieldPtrHeadOmitEmptyBoolPtr",
"StructFieldPtrHeadStringTagBoolPtr",
"StructFieldHeadStringPtr",
"StructFieldHeadOmitEmptyStringPtr",
"StructFieldHeadStringTagStringPtr",
"StructFieldPtrHeadStringPtr",
"StructFieldPtrHeadOmitEmptyStringPtr",
"StructFieldPtrHeadStringTagStringPtr",
"StructFieldHeadBytesPtr",
"StructFieldHeadOmitEmptyBytesPtr",
"StructFieldHeadStringTagBytesPtr",
"StructFieldPtrHeadBytesPtr",
"StructFieldPtrHeadOmitEmptyBytesPtr",
"StructFieldPtrHeadStringTagBytesPtr",
"StructFieldHeadArrayPtr",
"StructFieldHeadOmitEmptyArrayPtr",
"StructFieldHeadStringTagArrayPtr",
"StructFieldPtrHeadArrayPtr",
"StructFieldPtrHeadOmitEmptyArrayPtr",
"StructFieldPtrHeadStringTagArrayPtr",
"StructFieldHeadSlicePtr",
"StructFieldHeadOmitEmptySlicePtr",
"StructFieldHeadStringTagSlicePtr",
"StructFieldPtrHeadSlicePtr",
"StructFieldPtrHeadOmitEmptySlicePtr",
"StructFieldPtrHeadStringTagSlicePtr",
"StructFieldHeadMapPtr",
"StructFieldHeadOmitEmptyMapPtr",
"StructFieldHeadStringTagMapPtr",
"StructFieldPtrHeadMapPtr",
"StructFieldPtrHeadOmitEmptyMapPtr",
"StructFieldPtrHeadStringTagMapPtr",
"StructFieldHeadMarshalJSONPtr",
"StructFieldHeadOmitEmptyMarshalJSONPtr",
"StructFieldHeadStringTagMarshalJSONPtr",
"StructFieldPtrHeadMarshalJSONPtr",
"StructFieldPtrHeadOmitEmptyMarshalJSONPtr",
"StructFieldPtrHeadStringTagMarshalJSONPtr",
"StructFieldHeadMarshalTextPtr",
"StructFieldHeadOmitEmptyMarshalTextPtr",
"StructFieldHeadStringTagMarshalTextPtr",
"StructFieldPtrHeadMarshalTextPtr",
"StructFieldPtrHeadOmitEmptyMarshalTextPtr",
"StructFieldPtrHeadStringTagMarshalTextPtr",
"StructFieldHeadInterfacePtr",
"StructFieldHeadOmitEmptyInterfacePtr",
"StructFieldHeadStringTagInterfacePtr",
"StructFieldPtrHeadInterfacePtr",
"StructFieldPtrHeadOmitEmptyInterfacePtr",
"StructFieldPtrHeadStringTagInterfacePtr",
"StructFieldHead",
"StructFieldHeadOmitEmpty",
"StructFieldHeadStringTag",
"StructFieldPtrHead",
"StructFieldPtrHeadOmitEmpty",
"StructFieldPtrHeadStringTag",
"StructFieldInt",
"StructFieldOmitEmptyInt",
"StructFieldStringTagInt",
"StructFieldUint",
"StructFieldOmitEmptyUint",
"StructFieldStringTagUint",
"StructFieldFloat32",
"StructFieldOmitEmptyFloat32",
"StructFieldStringTagFloat32",
"StructFieldFloat64",
"StructFieldOmitEmptyFloat64",
"StructFieldStringTagFloat64",
"StructFieldBool",
"StructFieldOmitEmptyBool",
"StructFieldStringTagBool",
"StructFieldString",
"StructFieldOmitEmptyString",
"StructFieldStringTagString",
"StructFieldBytes",
"StructFieldOmitEmptyBytes",
"StructFieldStringTagBytes",
"StructFieldArray",
"StructFieldOmitEmptyArray",
"StructFieldStringTagArray",
"StructFieldMap",
"StructFieldOmitEmptyMap",
"StructFieldStringTagMap",
"StructFieldSlice",
"StructFieldOmitEmptySlice",
"StructFieldStringTagSlice",
"StructFieldStruct",
"StructFieldOmitEmptyStruct",
"StructFieldStringTagStruct",
"StructFieldMarshalJSON",
"StructFieldOmitEmptyMarshalJSON",
"StructFieldStringTagMarshalJSON",
"StructFieldMarshalText",
"StructFieldOmitEmptyMarshalText",
"StructFieldStringTagMarshalText",
"StructFieldRecursive",
"StructFieldOmitEmptyRecursive",
"StructFieldStringTagRecursive",
"StructFieldIntString",
"StructFieldOmitEmptyIntString",
"StructFieldStringTagIntString",
"StructFieldUintString",
"StructFieldOmitEmptyUintString",
"StructFieldStringTagUintString",
"StructFieldIntPtr",
"StructFieldOmitEmptyIntPtr",
"StructFieldStringTagIntPtr",
"StructFieldUintPtr",
"StructFieldOmitEmptyUintPtr",
"StructFieldStringTagUintPtr",
"StructFieldFloat32Ptr",
"StructFieldOmitEmptyFloat32Ptr",
"StructFieldStringTagFloat32Ptr",
"StructFieldFloat64Ptr",
"StructFieldOmitEmptyFloat64Ptr",
"StructFieldStringTagFloat64Ptr",
"StructFieldBoolPtr",
"StructFieldOmitEmptyBoolPtr",
"StructFieldStringTagBoolPtr",
"StructFieldStringPtr",
"StructFieldOmitEmptyStringPtr",
"StructFieldStringTagStringPtr",
"StructFieldBytesPtr",
"StructFieldOmitEmptyBytesPtr",
"StructFieldStringTagBytesPtr",
"StructFieldArrayPtr",
"StructFieldOmitEmptyArrayPtr",
"StructFieldStringTagArrayPtr",
"StructFieldSlicePtr",
"StructFieldOmitEmptySlicePtr",
"StructFieldStringTagSlicePtr",
"StructFieldMapPtr",
"StructFieldOmitEmptyMapPtr",
"StructFieldStringTagMapPtr",
"StructFieldMarshalJSONPtr",
"StructFieldOmitEmptyMarshalJSONPtr",
"StructFieldStringTagMarshalJSONPtr",
"StructFieldMarshalTextPtr",
"StructFieldOmitEmptyMarshalTextPtr",
"StructFieldStringTagMarshalTextPtr",
"StructFieldInterfacePtr",
"StructFieldOmitEmptyInterfacePtr",
"StructFieldStringTagInterfacePtr",
"StructField",
"StructFieldOmitEmpty",
"StructFieldStringTag",
"StructEndInt",
"StructEndOmitEmptyInt",
"StructEndStringTagInt",
"StructEndUint",
"StructEndOmitEmptyUint",
"StructEndStringTagUint",
"StructEndFloat32",
"StructEndOmitEmptyFloat32",
"StructEndStringTagFloat32",
"StructEndFloat64",
"StructEndOmitEmptyFloat64",
"StructEndStringTagFloat64",
"StructEndBool",
"StructEndOmitEmptyBool",
"StructEndStringTagBool",
"StructEndString",
"StructEndOmitEmptyString",
"StructEndStringTagString",
"StructEndBytes",
"StructEndOmitEmptyBytes",
"StructEndStringTagBytes",
"StructEndArray",
"StructEndOmitEmptyArray",
"StructEndStringTagArray",
"StructEndMap",
"StructEndOmitEmptyMap",
"StructEndStringTagMap",
"StructEndSlice",
"StructEndOmitEmptySlice",
"StructEndStringTagSlice",
"StructEndStruct",
"StructEndOmitEmptyStruct",
"StructEndStringTagStruct",
"StructEndMarshalJSON",
"StructEndOmitEmptyMarshalJSON",
"StructEndStringTagMarshalJSON",
"StructEndMarshalText",
"StructEndOmitEmptyMarshalText",
"StructEndStringTagMarshalText",
"StructEndRecursive",
"StructEndOmitEmptyRecursive",
"StructEndStringTagRecursive",
"StructEndIntString",
"StructEndOmitEmptyIntString",
"StructEndStringTagIntString",
"StructEndUintString",
"StructEndOmitEmptyUintString",
"StructEndStringTagUintString",
"StructEndIntPtr",
"StructEndOmitEmptyIntPtr",
"StructEndStringTagIntPtr",
"StructEndUintPtr",
"StructEndOmitEmptyUintPtr",
"StructEndStringTagUintPtr",
"StructEndFloat32Ptr",
"StructEndOmitEmptyFloat32Ptr",
"StructEndStringTagFloat32Ptr",
"StructEndFloat64Ptr",
"StructEndOmitEmptyFloat64Ptr",
"StructEndStringTagFloat64Ptr",
"StructEndBoolPtr",
"StructEndOmitEmptyBoolPtr",
"StructEndStringTagBoolPtr",
"StructEndStringPtr",
"StructEndOmitEmptyStringPtr",
"StructEndStringTagStringPtr",
"StructEndBytesPtr",
"StructEndOmitEmptyBytesPtr",
"StructEndStringTagBytesPtr",
"StructEndArrayPtr",
"StructEndOmitEmptyArrayPtr",
"StructEndStringTagArrayPtr",
"StructEndSlicePtr",
"StructEndOmitEmptySlicePtr",
"StructEndStringTagSlicePtr",
"StructEndMapPtr",
"StructEndOmitEmptyMapPtr",
"StructEndStringTagMapPtr",
"StructEndMarshalJSONPtr",
"StructEndOmitEmptyMarshalJSONPtr",
"StructEndStringTagMarshalJSONPtr",
"StructEndMarshalTextPtr",
"StructEndOmitEmptyMarshalTextPtr",
"StructEndStringTagMarshalTextPtr",
"StructEndInterfacePtr",
"StructEndOmitEmptyInterfacePtr",
"StructEndStringTagInterfacePtr",
"StructEnd",
"StructEndOmitEmpty",
"StructEndStringTag",
}
type opType int
const (
opEnd opType = 0
opInterface opType = 1
opPtr opType = 2
opRootSliceHead opType = 3
opSliceElem opType = 4
opRootSliceElem opType = 5
opSliceEnd opType = 6
opArrayElem opType = 7
opArrayEnd opType = 8
opMapKey opType = 9
opMapValue opType = 10
opMapEnd opType = 11
opStructFieldRecursiveEnd opType = 12
opStructAnonymousEnd opType = 13
opInt opType = 14
opUint opType = 15
opFloat32 opType = 16
opFloat64 opType = 17
opBool opType = 18
opString opType = 19
opBytes opType = 20
opArray opType = 21
opMap opType = 22
opSlice opType = 23
opStruct opType = 24
opMarshalJSON opType = 25
opMarshalText opType = 26
opRecursive opType = 27
opIntString opType = 28
opUintString opType = 29
opIntPtr opType = 30
opUintPtr opType = 31
opFloat32Ptr opType = 32
opFloat64Ptr opType = 33
opBoolPtr opType = 34
opStringPtr opType = 35
opBytesPtr opType = 36
opArrayPtr opType = 37
opSlicePtr opType = 38
opMapPtr opType = 39
opMarshalJSONPtr opType = 40
opMarshalTextPtr opType = 41
opInterfacePtr opType = 42
opStructFieldHeadInt opType = 43
opStructFieldHeadOmitEmptyInt opType = 44
opStructFieldHeadStringTagInt opType = 45
opStructFieldPtrHeadInt opType = 46
opStructFieldPtrHeadOmitEmptyInt opType = 47
opStructFieldPtrHeadStringTagInt opType = 48
opStructFieldHeadUint opType = 49
opStructFieldHeadOmitEmptyUint opType = 50
opStructFieldHeadStringTagUint opType = 51
opStructFieldPtrHeadUint opType = 52
opStructFieldPtrHeadOmitEmptyUint opType = 53
opStructFieldPtrHeadStringTagUint opType = 54
opStructFieldHeadFloat32 opType = 55
opStructFieldHeadOmitEmptyFloat32 opType = 56
opStructFieldHeadStringTagFloat32 opType = 57
opStructFieldPtrHeadFloat32 opType = 58
opStructFieldPtrHeadOmitEmptyFloat32 opType = 59
opStructFieldPtrHeadStringTagFloat32 opType = 60
opStructFieldHeadFloat64 opType = 61
opStructFieldHeadOmitEmptyFloat64 opType = 62
opStructFieldHeadStringTagFloat64 opType = 63
opStructFieldPtrHeadFloat64 opType = 64
opStructFieldPtrHeadOmitEmptyFloat64 opType = 65
opStructFieldPtrHeadStringTagFloat64 opType = 66
opStructFieldHeadBool opType = 67
opStructFieldHeadOmitEmptyBool opType = 68
opStructFieldHeadStringTagBool opType = 69
opStructFieldPtrHeadBool opType = 70
opStructFieldPtrHeadOmitEmptyBool opType = 71
opStructFieldPtrHeadStringTagBool opType = 72
opStructFieldHeadString opType = 73
opStructFieldHeadOmitEmptyString opType = 74
opStructFieldHeadStringTagString opType = 75
opStructFieldPtrHeadString opType = 76
opStructFieldPtrHeadOmitEmptyString opType = 77
opStructFieldPtrHeadStringTagString opType = 78
opStructFieldHeadBytes opType = 79
opStructFieldHeadOmitEmptyBytes opType = 80
opStructFieldHeadStringTagBytes opType = 81
opStructFieldPtrHeadBytes opType = 82
opStructFieldPtrHeadOmitEmptyBytes opType = 83
opStructFieldPtrHeadStringTagBytes opType = 84
opStructFieldHeadArray opType = 85
opStructFieldHeadOmitEmptyArray opType = 86
opStructFieldHeadStringTagArray opType = 87
opStructFieldPtrHeadArray opType = 88
opStructFieldPtrHeadOmitEmptyArray opType = 89
opStructFieldPtrHeadStringTagArray opType = 90
opStructFieldHeadMap opType = 91
opStructFieldHeadOmitEmptyMap opType = 92
opStructFieldHeadStringTagMap opType = 93
opStructFieldPtrHeadMap opType = 94
opStructFieldPtrHeadOmitEmptyMap opType = 95
opStructFieldPtrHeadStringTagMap opType = 96
opStructFieldHeadSlice opType = 97
opStructFieldHeadOmitEmptySlice opType = 98
opStructFieldHeadStringTagSlice opType = 99
opStructFieldPtrHeadSlice opType = 100
opStructFieldPtrHeadOmitEmptySlice opType = 101
opStructFieldPtrHeadStringTagSlice opType = 102
opStructFieldHeadStruct opType = 103
opStructFieldHeadOmitEmptyStruct opType = 104
opStructFieldHeadStringTagStruct opType = 105
opStructFieldPtrHeadStruct opType = 106
opStructFieldPtrHeadOmitEmptyStruct opType = 107
opStructFieldPtrHeadStringTagStruct opType = 108
opStructFieldHeadMarshalJSON opType = 109
opStructFieldHeadOmitEmptyMarshalJSON opType = 110
opStructFieldHeadStringTagMarshalJSON opType = 111
opStructFieldPtrHeadMarshalJSON opType = 112
opStructFieldPtrHeadOmitEmptyMarshalJSON opType = 113
opStructFieldPtrHeadStringTagMarshalJSON opType = 114
opStructFieldHeadMarshalText opType = 115
opStructFieldHeadOmitEmptyMarshalText opType = 116
opStructFieldHeadStringTagMarshalText opType = 117
opStructFieldPtrHeadMarshalText opType = 118
opStructFieldPtrHeadOmitEmptyMarshalText opType = 119
opStructFieldPtrHeadStringTagMarshalText opType = 120
opStructFieldHeadRecursive opType = 121
opStructFieldHeadOmitEmptyRecursive opType = 122
opStructFieldHeadStringTagRecursive opType = 123
opStructFieldPtrHeadRecursive opType = 124
opStructFieldPtrHeadOmitEmptyRecursive opType = 125
opStructFieldPtrHeadStringTagRecursive opType = 126
opStructFieldHeadIntString opType = 127
opStructFieldHeadOmitEmptyIntString opType = 128
opStructFieldHeadStringTagIntString opType = 129
opStructFieldPtrHeadIntString opType = 130
opStructFieldPtrHeadOmitEmptyIntString opType = 131
opStructFieldPtrHeadStringTagIntString opType = 132
opStructFieldHeadUintString opType = 133
opStructFieldHeadOmitEmptyUintString opType = 134
opStructFieldHeadStringTagUintString opType = 135
opStructFieldPtrHeadUintString opType = 136
opStructFieldPtrHeadOmitEmptyUintString opType = 137
opStructFieldPtrHeadStringTagUintString opType = 138
opStructFieldHeadIntPtr opType = 139
opStructFieldHeadOmitEmptyIntPtr opType = 140
opStructFieldHeadStringTagIntPtr opType = 141
opStructFieldPtrHeadIntPtr opType = 142
opStructFieldPtrHeadOmitEmptyIntPtr opType = 143
opStructFieldPtrHeadStringTagIntPtr opType = 144
opStructFieldHeadUintPtr opType = 145
opStructFieldHeadOmitEmptyUintPtr opType = 146
opStructFieldHeadStringTagUintPtr opType = 147
opStructFieldPtrHeadUintPtr opType = 148
opStructFieldPtrHeadOmitEmptyUintPtr opType = 149
opStructFieldPtrHeadStringTagUintPtr opType = 150
opStructFieldHeadFloat32Ptr opType = 151
opStructFieldHeadOmitEmptyFloat32Ptr opType = 152
opStructFieldHeadStringTagFloat32Ptr opType = 153
opStructFieldPtrHeadFloat32Ptr opType = 154
opStructFieldPtrHeadOmitEmptyFloat32Ptr opType = 155
opStructFieldPtrHeadStringTagFloat32Ptr opType = 156
opStructFieldHeadFloat64Ptr opType = 157
opStructFieldHeadOmitEmptyFloat64Ptr opType = 158
opStructFieldHeadStringTagFloat64Ptr opType = 159
opStructFieldPtrHeadFloat64Ptr opType = 160
opStructFieldPtrHeadOmitEmptyFloat64Ptr opType = 161
opStructFieldPtrHeadStringTagFloat64Ptr opType = 162
opStructFieldHeadBoolPtr opType = 163
opStructFieldHeadOmitEmptyBoolPtr opType = 164
opStructFieldHeadStringTagBoolPtr opType = 165
opStructFieldPtrHeadBoolPtr opType = 166
opStructFieldPtrHeadOmitEmptyBoolPtr opType = 167
opStructFieldPtrHeadStringTagBoolPtr opType = 168
opStructFieldHeadStringPtr opType = 169
opStructFieldHeadOmitEmptyStringPtr opType = 170
opStructFieldHeadStringTagStringPtr opType = 171
opStructFieldPtrHeadStringPtr opType = 172
opStructFieldPtrHeadOmitEmptyStringPtr opType = 173
opStructFieldPtrHeadStringTagStringPtr opType = 174
opStructFieldHeadBytesPtr opType = 175
opStructFieldHeadOmitEmptyBytesPtr opType = 176
opStructFieldHeadStringTagBytesPtr opType = 177
opStructFieldPtrHeadBytesPtr opType = 178
opStructFieldPtrHeadOmitEmptyBytesPtr opType = 179
opStructFieldPtrHeadStringTagBytesPtr opType = 180
opStructFieldHeadArrayPtr opType = 181
opStructFieldHeadOmitEmptyArrayPtr opType = 182
opStructFieldHeadStringTagArrayPtr opType = 183
opStructFieldPtrHeadArrayPtr opType = 184
opStructFieldPtrHeadOmitEmptyArrayPtr opType = 185
opStructFieldPtrHeadStringTagArrayPtr opType = 186
opStructFieldHeadSlicePtr opType = 187
opStructFieldHeadOmitEmptySlicePtr opType = 188
opStructFieldHeadStringTagSlicePtr opType = 189
opStructFieldPtrHeadSlicePtr opType = 190
opStructFieldPtrHeadOmitEmptySlicePtr opType = 191
opStructFieldPtrHeadStringTagSlicePtr opType = 192
opStructFieldHeadMapPtr opType = 193
opStructFieldHeadOmitEmptyMapPtr opType = 194
opStructFieldHeadStringTagMapPtr opType = 195
opStructFieldPtrHeadMapPtr opType = 196
opStructFieldPtrHeadOmitEmptyMapPtr opType = 197
opStructFieldPtrHeadStringTagMapPtr opType = 198
opStructFieldHeadMarshalJSONPtr opType = 199
opStructFieldHeadOmitEmptyMarshalJSONPtr opType = 200
opStructFieldHeadStringTagMarshalJSONPtr opType = 201
opStructFieldPtrHeadMarshalJSONPtr opType = 202
opStructFieldPtrHeadOmitEmptyMarshalJSONPtr opType = 203
opStructFieldPtrHeadStringTagMarshalJSONPtr opType = 204
opStructFieldHeadMarshalTextPtr opType = 205
opStructFieldHeadOmitEmptyMarshalTextPtr opType = 206
opStructFieldHeadStringTagMarshalTextPtr opType = 207
opStructFieldPtrHeadMarshalTextPtr opType = 208
opStructFieldPtrHeadOmitEmptyMarshalTextPtr opType = 209
opStructFieldPtrHeadStringTagMarshalTextPtr opType = 210
opStructFieldHeadInterfacePtr opType = 211
opStructFieldHeadOmitEmptyInterfacePtr opType = 212
opStructFieldHeadStringTagInterfacePtr opType = 213
opStructFieldPtrHeadInterfacePtr opType = 214
opStructFieldPtrHeadOmitEmptyInterfacePtr opType = 215
opStructFieldPtrHeadStringTagInterfacePtr opType = 216
opStructFieldHead opType = 217
opStructFieldHeadOmitEmpty opType = 218
opStructFieldHeadStringTag opType = 219
opStructFieldPtrHead opType = 220
opStructFieldPtrHeadOmitEmpty opType = 221
opStructFieldPtrHeadStringTag opType = 222
opStructFieldInt opType = 223
opStructFieldOmitEmptyInt opType = 224
opStructFieldStringTagInt opType = 225
opStructFieldUint opType = 226
opStructFieldOmitEmptyUint opType = 227
opStructFieldStringTagUint opType = 228
opStructFieldFloat32 opType = 229
opStructFieldOmitEmptyFloat32 opType = 230
opStructFieldStringTagFloat32 opType = 231
opStructFieldFloat64 opType = 232
opStructFieldOmitEmptyFloat64 opType = 233
opStructFieldStringTagFloat64 opType = 234
opStructFieldBool opType = 235
opStructFieldOmitEmptyBool opType = 236
opStructFieldStringTagBool opType = 237
opStructFieldString opType = 238
opStructFieldOmitEmptyString opType = 239
opStructFieldStringTagString opType = 240
opStructFieldBytes opType = 241
opStructFieldOmitEmptyBytes opType = 242
opStructFieldStringTagBytes opType = 243
opStructFieldArray opType = 244
opStructFieldOmitEmptyArray opType = 245
opStructFieldStringTagArray opType = 246
opStructFieldMap opType = 247
opStructFieldOmitEmptyMap opType = 248
opStructFieldStringTagMap opType = 249
opStructFieldSlice opType = 250
opStructFieldOmitEmptySlice opType = 251
opStructFieldStringTagSlice opType = 252
opStructFieldStruct opType = 253
opStructFieldOmitEmptyStruct opType = 254
opStructFieldStringTagStruct opType = 255
opStructFieldMarshalJSON opType = 256
opStructFieldOmitEmptyMarshalJSON opType = 257
opStructFieldStringTagMarshalJSON opType = 258
opStructFieldMarshalText opType = 259
opStructFieldOmitEmptyMarshalText opType = 260
opStructFieldStringTagMarshalText opType = 261
opStructFieldRecursive opType = 262
opStructFieldOmitEmptyRecursive opType = 263
opStructFieldStringTagRecursive opType = 264
opStructFieldIntString opType = 265
opStructFieldOmitEmptyIntString opType = 266
opStructFieldStringTagIntString opType = 267
opStructFieldUintString opType = 268
opStructFieldOmitEmptyUintString opType = 269
opStructFieldStringTagUintString opType = 270
opStructFieldIntPtr opType = 271
opStructFieldOmitEmptyIntPtr opType = 272
opStructFieldStringTagIntPtr opType = 273
opStructFieldUintPtr opType = 274
opStructFieldOmitEmptyUintPtr opType = 275
opStructFieldStringTagUintPtr opType = 276
opStructFieldFloat32Ptr opType = 277
opStructFieldOmitEmptyFloat32Ptr opType = 278
opStructFieldStringTagFloat32Ptr opType = 279
opStructFieldFloat64Ptr opType = 280
opStructFieldOmitEmptyFloat64Ptr opType = 281
opStructFieldStringTagFloat64Ptr opType = 282
opStructFieldBoolPtr opType = 283
opStructFieldOmitEmptyBoolPtr opType = 284
opStructFieldStringTagBoolPtr opType = 285
opStructFieldStringPtr opType = 286
opStructFieldOmitEmptyStringPtr opType = 287
opStructFieldStringTagStringPtr opType = 288
opStructFieldBytesPtr opType = 289
opStructFieldOmitEmptyBytesPtr opType = 290
opStructFieldStringTagBytesPtr opType = 291
opStructFieldArrayPtr opType = 292
opStructFieldOmitEmptyArrayPtr opType = 293
opStructFieldStringTagArrayPtr opType = 294
opStructFieldSlicePtr opType = 295
opStructFieldOmitEmptySlicePtr opType = 296
opStructFieldStringTagSlicePtr opType = 297
opStructFieldMapPtr opType = 298
opStructFieldOmitEmptyMapPtr opType = 299
opStructFieldStringTagMapPtr opType = 300
opStructFieldMarshalJSONPtr opType = 301
opStructFieldOmitEmptyMarshalJSONPtr opType = 302
opStructFieldStringTagMarshalJSONPtr opType = 303
opStructFieldMarshalTextPtr opType = 304
opStructFieldOmitEmptyMarshalTextPtr opType = 305
opStructFieldStringTagMarshalTextPtr opType = 306
opStructFieldInterfacePtr opType = 307
opStructFieldOmitEmptyInterfacePtr opType = 308
opStructFieldStringTagInterfacePtr opType = 309
opStructField opType = 310
opStructFieldOmitEmpty opType = 311
opStructFieldStringTag opType = 312
opStructEndInt opType = 313
opStructEndOmitEmptyInt opType = 314
opStructEndStringTagInt opType = 315
opStructEndUint opType = 316
opStructEndOmitEmptyUint opType = 317
opStructEndStringTagUint opType = 318
opStructEndFloat32 opType = 319
opStructEndOmitEmptyFloat32 opType = 320
opStructEndStringTagFloat32 opType = 321
opStructEndFloat64 opType = 322
opStructEndOmitEmptyFloat64 opType = 323
opStructEndStringTagFloat64 opType = 324
opStructEndBool opType = 325
opStructEndOmitEmptyBool opType = 326
opStructEndStringTagBool opType = 327
opStructEndString opType = 328
opStructEndOmitEmptyString opType = 329
opStructEndStringTagString opType = 330
opStructEndBytes opType = 331
opStructEndOmitEmptyBytes opType = 332
opStructEndStringTagBytes opType = 333
opStructEndArray opType = 334
opStructEndOmitEmptyArray opType = 335
opStructEndStringTagArray opType = 336
opStructEndMap opType = 337
opStructEndOmitEmptyMap opType = 338
opStructEndStringTagMap opType = 339
opStructEndSlice opType = 340
opStructEndOmitEmptySlice opType = 341
opStructEndStringTagSlice opType = 342
opStructEndStruct opType = 343
opStructEndOmitEmptyStruct opType = 344
opStructEndStringTagStruct opType = 345
opStructEndMarshalJSON opType = 346
opStructEndOmitEmptyMarshalJSON opType = 347
opStructEndStringTagMarshalJSON opType = 348
opStructEndMarshalText opType = 349
opStructEndOmitEmptyMarshalText opType = 350
opStructEndStringTagMarshalText opType = 351
opStructEndRecursive opType = 352
opStructEndOmitEmptyRecursive opType = 353
opStructEndStringTagRecursive opType = 354
opStructEndIntString opType = 355
opStructEndOmitEmptyIntString opType = 356
opStructEndStringTagIntString opType = 357
opStructEndUintString opType = 358
opStructEndOmitEmptyUintString opType = 359
opStructEndStringTagUintString opType = 360
opStructEndIntPtr opType = 361
opStructEndOmitEmptyIntPtr opType = 362
opStructEndStringTagIntPtr opType = 363
opStructEndUintPtr opType = 364
opStructEndOmitEmptyUintPtr opType = 365
opStructEndStringTagUintPtr opType = 366
opStructEndFloat32Ptr opType = 367
opStructEndOmitEmptyFloat32Ptr opType = 368
opStructEndStringTagFloat32Ptr opType = 369
opStructEndFloat64Ptr opType = 370
opStructEndOmitEmptyFloat64Ptr opType = 371
opStructEndStringTagFloat64Ptr opType = 372
opStructEndBoolPtr opType = 373
opStructEndOmitEmptyBoolPtr opType = 374
opStructEndStringTagBoolPtr opType = 375
opStructEndStringPtr opType = 376
opStructEndOmitEmptyStringPtr opType = 377
opStructEndStringTagStringPtr opType = 378
opStructEndBytesPtr opType = 379
opStructEndOmitEmptyBytesPtr opType = 380
opStructEndStringTagBytesPtr opType = 381
opStructEndArrayPtr opType = 382
opStructEndOmitEmptyArrayPtr opType = 383
opStructEndStringTagArrayPtr opType = 384
opStructEndSlicePtr opType = 385
opStructEndOmitEmptySlicePtr opType = 386
opStructEndStringTagSlicePtr opType = 387
opStructEndMapPtr opType = 388
opStructEndOmitEmptyMapPtr opType = 389
opStructEndStringTagMapPtr opType = 390
opStructEndMarshalJSONPtr opType = 391
opStructEndOmitEmptyMarshalJSONPtr opType = 392
opStructEndStringTagMarshalJSONPtr opType = 393
opStructEndMarshalTextPtr opType = 394
opStructEndOmitEmptyMarshalTextPtr opType = 395
opStructEndStringTagMarshalTextPtr opType = 396
opStructEndInterfacePtr opType = 397
opStructEndOmitEmptyInterfacePtr opType = 398
opStructEndStringTagInterfacePtr opType = 399
opStructEnd opType = 400
opStructEndOmitEmpty opType = 401
opStructEndStringTag opType = 402
)
func (t opType) String() string {
if int(t) >= 403 {
return ""
}
return opTypeStrings[int(t)]
}
func (t opType) codeType() codeType {
if strings.Contains(t.String(), "Struct") {
if strings.Contains(t.String(), "End") {
return codeStructEnd
}
return codeStructField
}
if t.String() == "Array" || t.String() == "ArrayPtr" {
return codeArrayHead
}
if strings.Contains(t.String(), "ArrayElem") {
return codeArrayElem
}
if t.String() == "Slice" || t.String() == "SlicePtr" {
return codeSliceHead
}
if strings.Contains(t.String(), "SliceElem") {
return codeSliceElem
}
if t.String() == "Map" || t.String() == "MapPtr" {
return codeMapHead
}
if strings.Contains(t.String(), "MapKey") {
return codeMapKey
}
if strings.Contains(t.String(), "MapValue") {
return codeMapValue
}
if strings.Contains(t.String(), "MapEnd") {
return codeMapEnd
}
return codeOp
}
func (t opType) headToPtrHead() opType {
if strings.Index(t.String(), "PtrHead") > 0 {
return t
}
idx := strings.Index(t.String(), "Field")
if idx == -1 {
return t
}
suffix := "Ptr" + t.String()[idx+len("Field"):]
const toPtrOffset = 3
if strings.Contains(opType(int(t)+toPtrOffset).String(), suffix) {
return opType(int(t) + toPtrOffset)
}
return t
}
func (t opType) headToOmitEmptyHead() opType {
const toOmitEmptyOffset = 1
if strings.Contains(opType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") {
return opType(int(t) + toOmitEmptyOffset)
}
return t
}
func (t opType) headToStringTagHead() opType {
const toStringTagOffset = 2
if strings.Contains(opType(int(t)+toStringTagOffset).String(), "StringTag") {
return opType(int(t) + toStringTagOffset)
}
return t
}
func (t opType) ptrHeadToHead() opType {
idx := strings.Index(t.String(), "Ptr")
if idx == -1 {
return t
}
suffix := t.String()[idx+len("Ptr"):]
const toPtrOffset = 3
if strings.Contains(opType(int(t)-toPtrOffset).String(), suffix) {
return opType(int(t) - toPtrOffset)
}
return t
}
func (t opType) fieldToEnd() opType {
switch t {
case opStructFieldInt:
return opStructEndInt
case opStructFieldOmitEmptyInt:
return opStructEndOmitEmptyInt
case opStructFieldStringTagInt:
return opStructEndStringTagInt
case opStructFieldUint:
return opStructEndUint
case opStructFieldOmitEmptyUint:
return opStructEndOmitEmptyUint
case opStructFieldStringTagUint:
return opStructEndStringTagUint
case opStructFieldFloat32:
return opStructEndFloat32
case opStructFieldOmitEmptyFloat32:
return opStructEndOmitEmptyFloat32
case opStructFieldStringTagFloat32:
return opStructEndStringTagFloat32
case opStructFieldFloat64:
return opStructEndFloat64
case opStructFieldOmitEmptyFloat64:
return opStructEndOmitEmptyFloat64
case opStructFieldStringTagFloat64:
return opStructEndStringTagFloat64
case opStructFieldBool:
return opStructEndBool
case opStructFieldOmitEmptyBool:
return opStructEndOmitEmptyBool
case opStructFieldStringTagBool:
return opStructEndStringTagBool
case opStructFieldString:
return opStructEndString
case opStructFieldOmitEmptyString:
return opStructEndOmitEmptyString
case opStructFieldStringTagString:
return opStructEndStringTagString
case opStructFieldBytes:
return opStructEndBytes
case opStructFieldOmitEmptyBytes:
return opStructEndOmitEmptyBytes
case opStructFieldStringTagBytes:
return opStructEndStringTagBytes
case opStructFieldMarshalJSON:
return opStructEndMarshalJSON
case opStructFieldOmitEmptyMarshalJSON:
return opStructEndOmitEmptyMarshalJSON
case opStructFieldStringTagMarshalJSON:
return opStructEndStringTagMarshalJSON
case opStructFieldMarshalText:
return opStructEndMarshalText
case opStructFieldOmitEmptyMarshalText:
return opStructEndOmitEmptyMarshalText
case opStructFieldStringTagMarshalText:
return opStructEndStringTagMarshalText
case opStructFieldIntString:
return opStructEndIntString
case opStructFieldOmitEmptyIntString:
return opStructEndOmitEmptyIntString
case opStructFieldStringTagIntString:
return opStructEndStringTagIntString
case opStructFieldUintString:
return opStructEndUintString
case opStructFieldOmitEmptyUintString:
return opStructEndOmitEmptyUintString
case opStructFieldStringTagUintString:
return opStructEndStringTagUintString
case opStructFieldIntPtr:
return opStructEndIntPtr
case opStructFieldOmitEmptyIntPtr:
return opStructEndOmitEmptyIntPtr
case opStructFieldStringTagIntPtr:
return opStructEndStringTagIntPtr
case opStructFieldUintPtr:
return opStructEndUintPtr
case opStructFieldOmitEmptyUintPtr:
return opStructEndOmitEmptyUintPtr
case opStructFieldStringTagUintPtr:
return opStructEndStringTagUintPtr
case opStructFieldFloat32Ptr:
return opStructEndFloat32Ptr
case opStructFieldOmitEmptyFloat32Ptr:
return opStructEndOmitEmptyFloat32Ptr
case opStructFieldStringTagFloat32Ptr:
return opStructEndStringTagFloat32Ptr
case opStructFieldFloat64Ptr:
return opStructEndFloat64Ptr
case opStructFieldOmitEmptyFloat64Ptr:
return opStructEndOmitEmptyFloat64Ptr
case opStructFieldStringTagFloat64Ptr:
return opStructEndStringTagFloat64Ptr
case opStructFieldBoolPtr:
return opStructEndBoolPtr
case opStructFieldOmitEmptyBoolPtr:
return opStructEndOmitEmptyBoolPtr
case opStructFieldStringTagBoolPtr:
return opStructEndStringTagBoolPtr
case opStructFieldStringPtr:
return opStructEndStringPtr
case opStructFieldOmitEmptyStringPtr:
return opStructEndOmitEmptyStringPtr
case opStructFieldStringTagStringPtr:
return opStructEndStringTagStringPtr
case opStructFieldBytesPtr:
return opStructEndBytesPtr
case opStructFieldOmitEmptyBytesPtr:
return opStructEndOmitEmptyBytesPtr
case opStructFieldStringTagBytesPtr:
return opStructEndStringTagBytesPtr
case opStructFieldArrayPtr:
return opStructEndArrayPtr
case opStructFieldOmitEmptyArrayPtr:
return opStructEndOmitEmptyArrayPtr
case opStructFieldStringTagArrayPtr:
return opStructEndStringTagArrayPtr
case opStructFieldSlicePtr:
return opStructEndSlicePtr
case opStructFieldOmitEmptySlicePtr:
return opStructEndOmitEmptySlicePtr
case opStructFieldStringTagSlicePtr:
return opStructEndStringTagSlicePtr
case opStructFieldMapPtr:
return opStructEndMapPtr
case opStructFieldOmitEmptyMapPtr:
return opStructEndOmitEmptyMapPtr
case opStructFieldStringTagMapPtr:
return opStructEndStringTagMapPtr
case opStructFieldMarshalJSONPtr:
return opStructEndMarshalJSONPtr
case opStructFieldOmitEmptyMarshalJSONPtr:
return opStructEndOmitEmptyMarshalJSONPtr
case opStructFieldStringTagMarshalJSONPtr:
return opStructEndStringTagMarshalJSONPtr
case opStructFieldMarshalTextPtr:
return opStructEndMarshalTextPtr
case opStructFieldOmitEmptyMarshalTextPtr:
return opStructEndOmitEmptyMarshalTextPtr
case opStructFieldStringTagMarshalTextPtr:
return opStructEndStringTagMarshalTextPtr
case opStructFieldInterfacePtr:
return opStructEndInterfacePtr
case opStructFieldOmitEmptyInterfacePtr:
return opStructEndOmitEmptyInterfacePtr
case opStructFieldStringTagInterfacePtr:
return opStructEndStringTagInterfacePtr
}
return t
}
func (t opType) fieldToOmitEmptyField() opType {
const toOmitEmptyOffset = 1
if strings.Contains(opType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") {
return opType(int(t) + toOmitEmptyOffset)
}
return t
}
func (t opType) fieldToStringTagField() opType {
const toStringTagOffset = 2
if strings.Contains(opType(int(t)+toStringTagOffset).String(), "StringTag") {
return opType(int(t) + toStringTagOffset)
}
return t
}