git.gammaspectra.live/P2Pool/go-json@v0.99.0/internal/encoder/optype.go (about)

     1  // Code generated by internal/cmd/generator. DO NOT EDIT!
     2  package encoder
     3  
     4  import (
     5  	"strings"
     6  )
     7  
     8  type CodeType int
     9  
    10  const (
    11  	CodeOp          CodeType = 0
    12  	CodeArrayHead   CodeType = 1
    13  	CodeArrayElem   CodeType = 2
    14  	CodeSliceHead   CodeType = 3
    15  	CodeSliceElem   CodeType = 4
    16  	CodeMapHead     CodeType = 5
    17  	CodeMapKey      CodeType = 6
    18  	CodeMapValue    CodeType = 7
    19  	CodeMapEnd      CodeType = 8
    20  	CodeRecursive   CodeType = 9
    21  	CodeStructField CodeType = 10
    22  	CodeStructEnd   CodeType = 11
    23  )
    24  
    25  var opTypeStrings = [400]string{
    26  	"End",
    27  	"Interface",
    28  	"Ptr",
    29  	"SliceElem",
    30  	"SliceEnd",
    31  	"ArrayElem",
    32  	"ArrayEnd",
    33  	"MapKey",
    34  	"MapValue",
    35  	"MapEnd",
    36  	"Recursive",
    37  	"RecursivePtr",
    38  	"RecursiveEnd",
    39  	"InterfaceEnd",
    40  	"Int",
    41  	"Uint",
    42  	"Float32",
    43  	"Float64",
    44  	"Bool",
    45  	"String",
    46  	"Bytes",
    47  	"Number",
    48  	"Array",
    49  	"Map",
    50  	"Slice",
    51  	"Struct",
    52  	"MarshalJSON",
    53  	"MarshalText",
    54  	"IntString",
    55  	"UintString",
    56  	"Float32String",
    57  	"Float64String",
    58  	"BoolString",
    59  	"StringString",
    60  	"NumberString",
    61  	"IntPtr",
    62  	"UintPtr",
    63  	"Float32Ptr",
    64  	"Float64Ptr",
    65  	"BoolPtr",
    66  	"StringPtr",
    67  	"BytesPtr",
    68  	"NumberPtr",
    69  	"ArrayPtr",
    70  	"MapPtr",
    71  	"SlicePtr",
    72  	"MarshalJSONPtr",
    73  	"MarshalTextPtr",
    74  	"InterfacePtr",
    75  	"IntPtrString",
    76  	"UintPtrString",
    77  	"Float32PtrString",
    78  	"Float64PtrString",
    79  	"BoolPtrString",
    80  	"StringPtrString",
    81  	"NumberPtrString",
    82  	"StructHeadInt",
    83  	"StructHeadOmitEmptyInt",
    84  	"StructPtrHeadInt",
    85  	"StructPtrHeadOmitEmptyInt",
    86  	"StructHeadUint",
    87  	"StructHeadOmitEmptyUint",
    88  	"StructPtrHeadUint",
    89  	"StructPtrHeadOmitEmptyUint",
    90  	"StructHeadFloat32",
    91  	"StructHeadOmitEmptyFloat32",
    92  	"StructPtrHeadFloat32",
    93  	"StructPtrHeadOmitEmptyFloat32",
    94  	"StructHeadFloat64",
    95  	"StructHeadOmitEmptyFloat64",
    96  	"StructPtrHeadFloat64",
    97  	"StructPtrHeadOmitEmptyFloat64",
    98  	"StructHeadBool",
    99  	"StructHeadOmitEmptyBool",
   100  	"StructPtrHeadBool",
   101  	"StructPtrHeadOmitEmptyBool",
   102  	"StructHeadString",
   103  	"StructHeadOmitEmptyString",
   104  	"StructPtrHeadString",
   105  	"StructPtrHeadOmitEmptyString",
   106  	"StructHeadBytes",
   107  	"StructHeadOmitEmptyBytes",
   108  	"StructPtrHeadBytes",
   109  	"StructPtrHeadOmitEmptyBytes",
   110  	"StructHeadNumber",
   111  	"StructHeadOmitEmptyNumber",
   112  	"StructPtrHeadNumber",
   113  	"StructPtrHeadOmitEmptyNumber",
   114  	"StructHeadArray",
   115  	"StructHeadOmitEmptyArray",
   116  	"StructPtrHeadArray",
   117  	"StructPtrHeadOmitEmptyArray",
   118  	"StructHeadMap",
   119  	"StructHeadOmitEmptyMap",
   120  	"StructPtrHeadMap",
   121  	"StructPtrHeadOmitEmptyMap",
   122  	"StructHeadSlice",
   123  	"StructHeadOmitEmptySlice",
   124  	"StructPtrHeadSlice",
   125  	"StructPtrHeadOmitEmptySlice",
   126  	"StructHeadStruct",
   127  	"StructHeadOmitEmptyStruct",
   128  	"StructPtrHeadStruct",
   129  	"StructPtrHeadOmitEmptyStruct",
   130  	"StructHeadMarshalJSON",
   131  	"StructHeadOmitEmptyMarshalJSON",
   132  	"StructPtrHeadMarshalJSON",
   133  	"StructPtrHeadOmitEmptyMarshalJSON",
   134  	"StructHeadMarshalText",
   135  	"StructHeadOmitEmptyMarshalText",
   136  	"StructPtrHeadMarshalText",
   137  	"StructPtrHeadOmitEmptyMarshalText",
   138  	"StructHeadIntString",
   139  	"StructHeadOmitEmptyIntString",
   140  	"StructPtrHeadIntString",
   141  	"StructPtrHeadOmitEmptyIntString",
   142  	"StructHeadUintString",
   143  	"StructHeadOmitEmptyUintString",
   144  	"StructPtrHeadUintString",
   145  	"StructPtrHeadOmitEmptyUintString",
   146  	"StructHeadFloat32String",
   147  	"StructHeadOmitEmptyFloat32String",
   148  	"StructPtrHeadFloat32String",
   149  	"StructPtrHeadOmitEmptyFloat32String",
   150  	"StructHeadFloat64String",
   151  	"StructHeadOmitEmptyFloat64String",
   152  	"StructPtrHeadFloat64String",
   153  	"StructPtrHeadOmitEmptyFloat64String",
   154  	"StructHeadBoolString",
   155  	"StructHeadOmitEmptyBoolString",
   156  	"StructPtrHeadBoolString",
   157  	"StructPtrHeadOmitEmptyBoolString",
   158  	"StructHeadStringString",
   159  	"StructHeadOmitEmptyStringString",
   160  	"StructPtrHeadStringString",
   161  	"StructPtrHeadOmitEmptyStringString",
   162  	"StructHeadNumberString",
   163  	"StructHeadOmitEmptyNumberString",
   164  	"StructPtrHeadNumberString",
   165  	"StructPtrHeadOmitEmptyNumberString",
   166  	"StructHeadIntPtr",
   167  	"StructHeadOmitEmptyIntPtr",
   168  	"StructPtrHeadIntPtr",
   169  	"StructPtrHeadOmitEmptyIntPtr",
   170  	"StructHeadUintPtr",
   171  	"StructHeadOmitEmptyUintPtr",
   172  	"StructPtrHeadUintPtr",
   173  	"StructPtrHeadOmitEmptyUintPtr",
   174  	"StructHeadFloat32Ptr",
   175  	"StructHeadOmitEmptyFloat32Ptr",
   176  	"StructPtrHeadFloat32Ptr",
   177  	"StructPtrHeadOmitEmptyFloat32Ptr",
   178  	"StructHeadFloat64Ptr",
   179  	"StructHeadOmitEmptyFloat64Ptr",
   180  	"StructPtrHeadFloat64Ptr",
   181  	"StructPtrHeadOmitEmptyFloat64Ptr",
   182  	"StructHeadBoolPtr",
   183  	"StructHeadOmitEmptyBoolPtr",
   184  	"StructPtrHeadBoolPtr",
   185  	"StructPtrHeadOmitEmptyBoolPtr",
   186  	"StructHeadStringPtr",
   187  	"StructHeadOmitEmptyStringPtr",
   188  	"StructPtrHeadStringPtr",
   189  	"StructPtrHeadOmitEmptyStringPtr",
   190  	"StructHeadBytesPtr",
   191  	"StructHeadOmitEmptyBytesPtr",
   192  	"StructPtrHeadBytesPtr",
   193  	"StructPtrHeadOmitEmptyBytesPtr",
   194  	"StructHeadNumberPtr",
   195  	"StructHeadOmitEmptyNumberPtr",
   196  	"StructPtrHeadNumberPtr",
   197  	"StructPtrHeadOmitEmptyNumberPtr",
   198  	"StructHeadArrayPtr",
   199  	"StructHeadOmitEmptyArrayPtr",
   200  	"StructPtrHeadArrayPtr",
   201  	"StructPtrHeadOmitEmptyArrayPtr",
   202  	"StructHeadMapPtr",
   203  	"StructHeadOmitEmptyMapPtr",
   204  	"StructPtrHeadMapPtr",
   205  	"StructPtrHeadOmitEmptyMapPtr",
   206  	"StructHeadSlicePtr",
   207  	"StructHeadOmitEmptySlicePtr",
   208  	"StructPtrHeadSlicePtr",
   209  	"StructPtrHeadOmitEmptySlicePtr",
   210  	"StructHeadMarshalJSONPtr",
   211  	"StructHeadOmitEmptyMarshalJSONPtr",
   212  	"StructPtrHeadMarshalJSONPtr",
   213  	"StructPtrHeadOmitEmptyMarshalJSONPtr",
   214  	"StructHeadMarshalTextPtr",
   215  	"StructHeadOmitEmptyMarshalTextPtr",
   216  	"StructPtrHeadMarshalTextPtr",
   217  	"StructPtrHeadOmitEmptyMarshalTextPtr",
   218  	"StructHeadInterfacePtr",
   219  	"StructHeadOmitEmptyInterfacePtr",
   220  	"StructPtrHeadInterfacePtr",
   221  	"StructPtrHeadOmitEmptyInterfacePtr",
   222  	"StructHeadIntPtrString",
   223  	"StructHeadOmitEmptyIntPtrString",
   224  	"StructPtrHeadIntPtrString",
   225  	"StructPtrHeadOmitEmptyIntPtrString",
   226  	"StructHeadUintPtrString",
   227  	"StructHeadOmitEmptyUintPtrString",
   228  	"StructPtrHeadUintPtrString",
   229  	"StructPtrHeadOmitEmptyUintPtrString",
   230  	"StructHeadFloat32PtrString",
   231  	"StructHeadOmitEmptyFloat32PtrString",
   232  	"StructPtrHeadFloat32PtrString",
   233  	"StructPtrHeadOmitEmptyFloat32PtrString",
   234  	"StructHeadFloat64PtrString",
   235  	"StructHeadOmitEmptyFloat64PtrString",
   236  	"StructPtrHeadFloat64PtrString",
   237  	"StructPtrHeadOmitEmptyFloat64PtrString",
   238  	"StructHeadBoolPtrString",
   239  	"StructHeadOmitEmptyBoolPtrString",
   240  	"StructPtrHeadBoolPtrString",
   241  	"StructPtrHeadOmitEmptyBoolPtrString",
   242  	"StructHeadStringPtrString",
   243  	"StructHeadOmitEmptyStringPtrString",
   244  	"StructPtrHeadStringPtrString",
   245  	"StructPtrHeadOmitEmptyStringPtrString",
   246  	"StructHeadNumberPtrString",
   247  	"StructHeadOmitEmptyNumberPtrString",
   248  	"StructPtrHeadNumberPtrString",
   249  	"StructPtrHeadOmitEmptyNumberPtrString",
   250  	"StructHead",
   251  	"StructHeadOmitEmpty",
   252  	"StructPtrHead",
   253  	"StructPtrHeadOmitEmpty",
   254  	"StructFieldInt",
   255  	"StructFieldOmitEmptyInt",
   256  	"StructEndInt",
   257  	"StructEndOmitEmptyInt",
   258  	"StructFieldUint",
   259  	"StructFieldOmitEmptyUint",
   260  	"StructEndUint",
   261  	"StructEndOmitEmptyUint",
   262  	"StructFieldFloat32",
   263  	"StructFieldOmitEmptyFloat32",
   264  	"StructEndFloat32",
   265  	"StructEndOmitEmptyFloat32",
   266  	"StructFieldFloat64",
   267  	"StructFieldOmitEmptyFloat64",
   268  	"StructEndFloat64",
   269  	"StructEndOmitEmptyFloat64",
   270  	"StructFieldBool",
   271  	"StructFieldOmitEmptyBool",
   272  	"StructEndBool",
   273  	"StructEndOmitEmptyBool",
   274  	"StructFieldString",
   275  	"StructFieldOmitEmptyString",
   276  	"StructEndString",
   277  	"StructEndOmitEmptyString",
   278  	"StructFieldBytes",
   279  	"StructFieldOmitEmptyBytes",
   280  	"StructEndBytes",
   281  	"StructEndOmitEmptyBytes",
   282  	"StructFieldNumber",
   283  	"StructFieldOmitEmptyNumber",
   284  	"StructEndNumber",
   285  	"StructEndOmitEmptyNumber",
   286  	"StructFieldArray",
   287  	"StructFieldOmitEmptyArray",
   288  	"StructEndArray",
   289  	"StructEndOmitEmptyArray",
   290  	"StructFieldMap",
   291  	"StructFieldOmitEmptyMap",
   292  	"StructEndMap",
   293  	"StructEndOmitEmptyMap",
   294  	"StructFieldSlice",
   295  	"StructFieldOmitEmptySlice",
   296  	"StructEndSlice",
   297  	"StructEndOmitEmptySlice",
   298  	"StructFieldStruct",
   299  	"StructFieldOmitEmptyStruct",
   300  	"StructEndStruct",
   301  	"StructEndOmitEmptyStruct",
   302  	"StructFieldMarshalJSON",
   303  	"StructFieldOmitEmptyMarshalJSON",
   304  	"StructEndMarshalJSON",
   305  	"StructEndOmitEmptyMarshalJSON",
   306  	"StructFieldMarshalText",
   307  	"StructFieldOmitEmptyMarshalText",
   308  	"StructEndMarshalText",
   309  	"StructEndOmitEmptyMarshalText",
   310  	"StructFieldIntString",
   311  	"StructFieldOmitEmptyIntString",
   312  	"StructEndIntString",
   313  	"StructEndOmitEmptyIntString",
   314  	"StructFieldUintString",
   315  	"StructFieldOmitEmptyUintString",
   316  	"StructEndUintString",
   317  	"StructEndOmitEmptyUintString",
   318  	"StructFieldFloat32String",
   319  	"StructFieldOmitEmptyFloat32String",
   320  	"StructEndFloat32String",
   321  	"StructEndOmitEmptyFloat32String",
   322  	"StructFieldFloat64String",
   323  	"StructFieldOmitEmptyFloat64String",
   324  	"StructEndFloat64String",
   325  	"StructEndOmitEmptyFloat64String",
   326  	"StructFieldBoolString",
   327  	"StructFieldOmitEmptyBoolString",
   328  	"StructEndBoolString",
   329  	"StructEndOmitEmptyBoolString",
   330  	"StructFieldStringString",
   331  	"StructFieldOmitEmptyStringString",
   332  	"StructEndStringString",
   333  	"StructEndOmitEmptyStringString",
   334  	"StructFieldNumberString",
   335  	"StructFieldOmitEmptyNumberString",
   336  	"StructEndNumberString",
   337  	"StructEndOmitEmptyNumberString",
   338  	"StructFieldIntPtr",
   339  	"StructFieldOmitEmptyIntPtr",
   340  	"StructEndIntPtr",
   341  	"StructEndOmitEmptyIntPtr",
   342  	"StructFieldUintPtr",
   343  	"StructFieldOmitEmptyUintPtr",
   344  	"StructEndUintPtr",
   345  	"StructEndOmitEmptyUintPtr",
   346  	"StructFieldFloat32Ptr",
   347  	"StructFieldOmitEmptyFloat32Ptr",
   348  	"StructEndFloat32Ptr",
   349  	"StructEndOmitEmptyFloat32Ptr",
   350  	"StructFieldFloat64Ptr",
   351  	"StructFieldOmitEmptyFloat64Ptr",
   352  	"StructEndFloat64Ptr",
   353  	"StructEndOmitEmptyFloat64Ptr",
   354  	"StructFieldBoolPtr",
   355  	"StructFieldOmitEmptyBoolPtr",
   356  	"StructEndBoolPtr",
   357  	"StructEndOmitEmptyBoolPtr",
   358  	"StructFieldStringPtr",
   359  	"StructFieldOmitEmptyStringPtr",
   360  	"StructEndStringPtr",
   361  	"StructEndOmitEmptyStringPtr",
   362  	"StructFieldBytesPtr",
   363  	"StructFieldOmitEmptyBytesPtr",
   364  	"StructEndBytesPtr",
   365  	"StructEndOmitEmptyBytesPtr",
   366  	"StructFieldNumberPtr",
   367  	"StructFieldOmitEmptyNumberPtr",
   368  	"StructEndNumberPtr",
   369  	"StructEndOmitEmptyNumberPtr",
   370  	"StructFieldArrayPtr",
   371  	"StructFieldOmitEmptyArrayPtr",
   372  	"StructEndArrayPtr",
   373  	"StructEndOmitEmptyArrayPtr",
   374  	"StructFieldMapPtr",
   375  	"StructFieldOmitEmptyMapPtr",
   376  	"StructEndMapPtr",
   377  	"StructEndOmitEmptyMapPtr",
   378  	"StructFieldSlicePtr",
   379  	"StructFieldOmitEmptySlicePtr",
   380  	"StructEndSlicePtr",
   381  	"StructEndOmitEmptySlicePtr",
   382  	"StructFieldMarshalJSONPtr",
   383  	"StructFieldOmitEmptyMarshalJSONPtr",
   384  	"StructEndMarshalJSONPtr",
   385  	"StructEndOmitEmptyMarshalJSONPtr",
   386  	"StructFieldMarshalTextPtr",
   387  	"StructFieldOmitEmptyMarshalTextPtr",
   388  	"StructEndMarshalTextPtr",
   389  	"StructEndOmitEmptyMarshalTextPtr",
   390  	"StructFieldInterfacePtr",
   391  	"StructFieldOmitEmptyInterfacePtr",
   392  	"StructEndInterfacePtr",
   393  	"StructEndOmitEmptyInterfacePtr",
   394  	"StructFieldIntPtrString",
   395  	"StructFieldOmitEmptyIntPtrString",
   396  	"StructEndIntPtrString",
   397  	"StructEndOmitEmptyIntPtrString",
   398  	"StructFieldUintPtrString",
   399  	"StructFieldOmitEmptyUintPtrString",
   400  	"StructEndUintPtrString",
   401  	"StructEndOmitEmptyUintPtrString",
   402  	"StructFieldFloat32PtrString",
   403  	"StructFieldOmitEmptyFloat32PtrString",
   404  	"StructEndFloat32PtrString",
   405  	"StructEndOmitEmptyFloat32PtrString",
   406  	"StructFieldFloat64PtrString",
   407  	"StructFieldOmitEmptyFloat64PtrString",
   408  	"StructEndFloat64PtrString",
   409  	"StructEndOmitEmptyFloat64PtrString",
   410  	"StructFieldBoolPtrString",
   411  	"StructFieldOmitEmptyBoolPtrString",
   412  	"StructEndBoolPtrString",
   413  	"StructEndOmitEmptyBoolPtrString",
   414  	"StructFieldStringPtrString",
   415  	"StructFieldOmitEmptyStringPtrString",
   416  	"StructEndStringPtrString",
   417  	"StructEndOmitEmptyStringPtrString",
   418  	"StructFieldNumberPtrString",
   419  	"StructFieldOmitEmptyNumberPtrString",
   420  	"StructEndNumberPtrString",
   421  	"StructEndOmitEmptyNumberPtrString",
   422  	"StructField",
   423  	"StructFieldOmitEmpty",
   424  	"StructEnd",
   425  	"StructEndOmitEmpty",
   426  }
   427  
   428  type OpType uint16
   429  
   430  const (
   431  	OpEnd                                    OpType = 0
   432  	OpInterface                              OpType = 1
   433  	OpPtr                                    OpType = 2
   434  	OpSliceElem                              OpType = 3
   435  	OpSliceEnd                               OpType = 4
   436  	OpArrayElem                              OpType = 5
   437  	OpArrayEnd                               OpType = 6
   438  	OpMapKey                                 OpType = 7
   439  	OpMapValue                               OpType = 8
   440  	OpMapEnd                                 OpType = 9
   441  	OpRecursive                              OpType = 10
   442  	OpRecursivePtr                           OpType = 11
   443  	OpRecursiveEnd                           OpType = 12
   444  	OpInterfaceEnd                           OpType = 13
   445  	OpInt                                    OpType = 14
   446  	OpUint                                   OpType = 15
   447  	OpFloat32                                OpType = 16
   448  	OpFloat64                                OpType = 17
   449  	OpBool                                   OpType = 18
   450  	OpString                                 OpType = 19
   451  	OpBytes                                  OpType = 20
   452  	OpNumber                                 OpType = 21
   453  	OpArray                                  OpType = 22
   454  	OpMap                                    OpType = 23
   455  	OpSlice                                  OpType = 24
   456  	OpStruct                                 OpType = 25
   457  	OpMarshalJSON                            OpType = 26
   458  	OpMarshalText                            OpType = 27
   459  	OpIntString                              OpType = 28
   460  	OpUintString                             OpType = 29
   461  	OpFloat32String                          OpType = 30
   462  	OpFloat64String                          OpType = 31
   463  	OpBoolString                             OpType = 32
   464  	OpStringString                           OpType = 33
   465  	OpNumberString                           OpType = 34
   466  	OpIntPtr                                 OpType = 35
   467  	OpUintPtr                                OpType = 36
   468  	OpFloat32Ptr                             OpType = 37
   469  	OpFloat64Ptr                             OpType = 38
   470  	OpBoolPtr                                OpType = 39
   471  	OpStringPtr                              OpType = 40
   472  	OpBytesPtr                               OpType = 41
   473  	OpNumberPtr                              OpType = 42
   474  	OpArrayPtr                               OpType = 43
   475  	OpMapPtr                                 OpType = 44
   476  	OpSlicePtr                               OpType = 45
   477  	OpMarshalJSONPtr                         OpType = 46
   478  	OpMarshalTextPtr                         OpType = 47
   479  	OpInterfacePtr                           OpType = 48
   480  	OpIntPtrString                           OpType = 49
   481  	OpUintPtrString                          OpType = 50
   482  	OpFloat32PtrString                       OpType = 51
   483  	OpFloat64PtrString                       OpType = 52
   484  	OpBoolPtrString                          OpType = 53
   485  	OpStringPtrString                        OpType = 54
   486  	OpNumberPtrString                        OpType = 55
   487  	OpStructHeadInt                          OpType = 56
   488  	OpStructHeadOmitEmptyInt                 OpType = 57
   489  	OpStructPtrHeadInt                       OpType = 58
   490  	OpStructPtrHeadOmitEmptyInt              OpType = 59
   491  	OpStructHeadUint                         OpType = 60
   492  	OpStructHeadOmitEmptyUint                OpType = 61
   493  	OpStructPtrHeadUint                      OpType = 62
   494  	OpStructPtrHeadOmitEmptyUint             OpType = 63
   495  	OpStructHeadFloat32                      OpType = 64
   496  	OpStructHeadOmitEmptyFloat32             OpType = 65
   497  	OpStructPtrHeadFloat32                   OpType = 66
   498  	OpStructPtrHeadOmitEmptyFloat32          OpType = 67
   499  	OpStructHeadFloat64                      OpType = 68
   500  	OpStructHeadOmitEmptyFloat64             OpType = 69
   501  	OpStructPtrHeadFloat64                   OpType = 70
   502  	OpStructPtrHeadOmitEmptyFloat64          OpType = 71
   503  	OpStructHeadBool                         OpType = 72
   504  	OpStructHeadOmitEmptyBool                OpType = 73
   505  	OpStructPtrHeadBool                      OpType = 74
   506  	OpStructPtrHeadOmitEmptyBool             OpType = 75
   507  	OpStructHeadString                       OpType = 76
   508  	OpStructHeadOmitEmptyString              OpType = 77
   509  	OpStructPtrHeadString                    OpType = 78
   510  	OpStructPtrHeadOmitEmptyString           OpType = 79
   511  	OpStructHeadBytes                        OpType = 80
   512  	OpStructHeadOmitEmptyBytes               OpType = 81
   513  	OpStructPtrHeadBytes                     OpType = 82
   514  	OpStructPtrHeadOmitEmptyBytes            OpType = 83
   515  	OpStructHeadNumber                       OpType = 84
   516  	OpStructHeadOmitEmptyNumber              OpType = 85
   517  	OpStructPtrHeadNumber                    OpType = 86
   518  	OpStructPtrHeadOmitEmptyNumber           OpType = 87
   519  	OpStructHeadArray                        OpType = 88
   520  	OpStructHeadOmitEmptyArray               OpType = 89
   521  	OpStructPtrHeadArray                     OpType = 90
   522  	OpStructPtrHeadOmitEmptyArray            OpType = 91
   523  	OpStructHeadMap                          OpType = 92
   524  	OpStructHeadOmitEmptyMap                 OpType = 93
   525  	OpStructPtrHeadMap                       OpType = 94
   526  	OpStructPtrHeadOmitEmptyMap              OpType = 95
   527  	OpStructHeadSlice                        OpType = 96
   528  	OpStructHeadOmitEmptySlice               OpType = 97
   529  	OpStructPtrHeadSlice                     OpType = 98
   530  	OpStructPtrHeadOmitEmptySlice            OpType = 99
   531  	OpStructHeadStruct                       OpType = 100
   532  	OpStructHeadOmitEmptyStruct              OpType = 101
   533  	OpStructPtrHeadStruct                    OpType = 102
   534  	OpStructPtrHeadOmitEmptyStruct           OpType = 103
   535  	OpStructHeadMarshalJSON                  OpType = 104
   536  	OpStructHeadOmitEmptyMarshalJSON         OpType = 105
   537  	OpStructPtrHeadMarshalJSON               OpType = 106
   538  	OpStructPtrHeadOmitEmptyMarshalJSON      OpType = 107
   539  	OpStructHeadMarshalText                  OpType = 108
   540  	OpStructHeadOmitEmptyMarshalText         OpType = 109
   541  	OpStructPtrHeadMarshalText               OpType = 110
   542  	OpStructPtrHeadOmitEmptyMarshalText      OpType = 111
   543  	OpStructHeadIntString                    OpType = 112
   544  	OpStructHeadOmitEmptyIntString           OpType = 113
   545  	OpStructPtrHeadIntString                 OpType = 114
   546  	OpStructPtrHeadOmitEmptyIntString        OpType = 115
   547  	OpStructHeadUintString                   OpType = 116
   548  	OpStructHeadOmitEmptyUintString          OpType = 117
   549  	OpStructPtrHeadUintString                OpType = 118
   550  	OpStructPtrHeadOmitEmptyUintString       OpType = 119
   551  	OpStructHeadFloat32String                OpType = 120
   552  	OpStructHeadOmitEmptyFloat32String       OpType = 121
   553  	OpStructPtrHeadFloat32String             OpType = 122
   554  	OpStructPtrHeadOmitEmptyFloat32String    OpType = 123
   555  	OpStructHeadFloat64String                OpType = 124
   556  	OpStructHeadOmitEmptyFloat64String       OpType = 125
   557  	OpStructPtrHeadFloat64String             OpType = 126
   558  	OpStructPtrHeadOmitEmptyFloat64String    OpType = 127
   559  	OpStructHeadBoolString                   OpType = 128
   560  	OpStructHeadOmitEmptyBoolString          OpType = 129
   561  	OpStructPtrHeadBoolString                OpType = 130
   562  	OpStructPtrHeadOmitEmptyBoolString       OpType = 131
   563  	OpStructHeadStringString                 OpType = 132
   564  	OpStructHeadOmitEmptyStringString        OpType = 133
   565  	OpStructPtrHeadStringString              OpType = 134
   566  	OpStructPtrHeadOmitEmptyStringString     OpType = 135
   567  	OpStructHeadNumberString                 OpType = 136
   568  	OpStructHeadOmitEmptyNumberString        OpType = 137
   569  	OpStructPtrHeadNumberString              OpType = 138
   570  	OpStructPtrHeadOmitEmptyNumberString     OpType = 139
   571  	OpStructHeadIntPtr                       OpType = 140
   572  	OpStructHeadOmitEmptyIntPtr              OpType = 141
   573  	OpStructPtrHeadIntPtr                    OpType = 142
   574  	OpStructPtrHeadOmitEmptyIntPtr           OpType = 143
   575  	OpStructHeadUintPtr                      OpType = 144
   576  	OpStructHeadOmitEmptyUintPtr             OpType = 145
   577  	OpStructPtrHeadUintPtr                   OpType = 146
   578  	OpStructPtrHeadOmitEmptyUintPtr          OpType = 147
   579  	OpStructHeadFloat32Ptr                   OpType = 148
   580  	OpStructHeadOmitEmptyFloat32Ptr          OpType = 149
   581  	OpStructPtrHeadFloat32Ptr                OpType = 150
   582  	OpStructPtrHeadOmitEmptyFloat32Ptr       OpType = 151
   583  	OpStructHeadFloat64Ptr                   OpType = 152
   584  	OpStructHeadOmitEmptyFloat64Ptr          OpType = 153
   585  	OpStructPtrHeadFloat64Ptr                OpType = 154
   586  	OpStructPtrHeadOmitEmptyFloat64Ptr       OpType = 155
   587  	OpStructHeadBoolPtr                      OpType = 156
   588  	OpStructHeadOmitEmptyBoolPtr             OpType = 157
   589  	OpStructPtrHeadBoolPtr                   OpType = 158
   590  	OpStructPtrHeadOmitEmptyBoolPtr          OpType = 159
   591  	OpStructHeadStringPtr                    OpType = 160
   592  	OpStructHeadOmitEmptyStringPtr           OpType = 161
   593  	OpStructPtrHeadStringPtr                 OpType = 162
   594  	OpStructPtrHeadOmitEmptyStringPtr        OpType = 163
   595  	OpStructHeadBytesPtr                     OpType = 164
   596  	OpStructHeadOmitEmptyBytesPtr            OpType = 165
   597  	OpStructPtrHeadBytesPtr                  OpType = 166
   598  	OpStructPtrHeadOmitEmptyBytesPtr         OpType = 167
   599  	OpStructHeadNumberPtr                    OpType = 168
   600  	OpStructHeadOmitEmptyNumberPtr           OpType = 169
   601  	OpStructPtrHeadNumberPtr                 OpType = 170
   602  	OpStructPtrHeadOmitEmptyNumberPtr        OpType = 171
   603  	OpStructHeadArrayPtr                     OpType = 172
   604  	OpStructHeadOmitEmptyArrayPtr            OpType = 173
   605  	OpStructPtrHeadArrayPtr                  OpType = 174
   606  	OpStructPtrHeadOmitEmptyArrayPtr         OpType = 175
   607  	OpStructHeadMapPtr                       OpType = 176
   608  	OpStructHeadOmitEmptyMapPtr              OpType = 177
   609  	OpStructPtrHeadMapPtr                    OpType = 178
   610  	OpStructPtrHeadOmitEmptyMapPtr           OpType = 179
   611  	OpStructHeadSlicePtr                     OpType = 180
   612  	OpStructHeadOmitEmptySlicePtr            OpType = 181
   613  	OpStructPtrHeadSlicePtr                  OpType = 182
   614  	OpStructPtrHeadOmitEmptySlicePtr         OpType = 183
   615  	OpStructHeadMarshalJSONPtr               OpType = 184
   616  	OpStructHeadOmitEmptyMarshalJSONPtr      OpType = 185
   617  	OpStructPtrHeadMarshalJSONPtr            OpType = 186
   618  	OpStructPtrHeadOmitEmptyMarshalJSONPtr   OpType = 187
   619  	OpStructHeadMarshalTextPtr               OpType = 188
   620  	OpStructHeadOmitEmptyMarshalTextPtr      OpType = 189
   621  	OpStructPtrHeadMarshalTextPtr            OpType = 190
   622  	OpStructPtrHeadOmitEmptyMarshalTextPtr   OpType = 191
   623  	OpStructHeadInterfacePtr                 OpType = 192
   624  	OpStructHeadOmitEmptyInterfacePtr        OpType = 193
   625  	OpStructPtrHeadInterfacePtr              OpType = 194
   626  	OpStructPtrHeadOmitEmptyInterfacePtr     OpType = 195
   627  	OpStructHeadIntPtrString                 OpType = 196
   628  	OpStructHeadOmitEmptyIntPtrString        OpType = 197
   629  	OpStructPtrHeadIntPtrString              OpType = 198
   630  	OpStructPtrHeadOmitEmptyIntPtrString     OpType = 199
   631  	OpStructHeadUintPtrString                OpType = 200
   632  	OpStructHeadOmitEmptyUintPtrString       OpType = 201
   633  	OpStructPtrHeadUintPtrString             OpType = 202
   634  	OpStructPtrHeadOmitEmptyUintPtrString    OpType = 203
   635  	OpStructHeadFloat32PtrString             OpType = 204
   636  	OpStructHeadOmitEmptyFloat32PtrString    OpType = 205
   637  	OpStructPtrHeadFloat32PtrString          OpType = 206
   638  	OpStructPtrHeadOmitEmptyFloat32PtrString OpType = 207
   639  	OpStructHeadFloat64PtrString             OpType = 208
   640  	OpStructHeadOmitEmptyFloat64PtrString    OpType = 209
   641  	OpStructPtrHeadFloat64PtrString          OpType = 210
   642  	OpStructPtrHeadOmitEmptyFloat64PtrString OpType = 211
   643  	OpStructHeadBoolPtrString                OpType = 212
   644  	OpStructHeadOmitEmptyBoolPtrString       OpType = 213
   645  	OpStructPtrHeadBoolPtrString             OpType = 214
   646  	OpStructPtrHeadOmitEmptyBoolPtrString    OpType = 215
   647  	OpStructHeadStringPtrString              OpType = 216
   648  	OpStructHeadOmitEmptyStringPtrString     OpType = 217
   649  	OpStructPtrHeadStringPtrString           OpType = 218
   650  	OpStructPtrHeadOmitEmptyStringPtrString  OpType = 219
   651  	OpStructHeadNumberPtrString              OpType = 220
   652  	OpStructHeadOmitEmptyNumberPtrString     OpType = 221
   653  	OpStructPtrHeadNumberPtrString           OpType = 222
   654  	OpStructPtrHeadOmitEmptyNumberPtrString  OpType = 223
   655  	OpStructHead                             OpType = 224
   656  	OpStructHeadOmitEmpty                    OpType = 225
   657  	OpStructPtrHead                          OpType = 226
   658  	OpStructPtrHeadOmitEmpty                 OpType = 227
   659  	OpStructFieldInt                         OpType = 228
   660  	OpStructFieldOmitEmptyInt                OpType = 229
   661  	OpStructEndInt                           OpType = 230
   662  	OpStructEndOmitEmptyInt                  OpType = 231
   663  	OpStructFieldUint                        OpType = 232
   664  	OpStructFieldOmitEmptyUint               OpType = 233
   665  	OpStructEndUint                          OpType = 234
   666  	OpStructEndOmitEmptyUint                 OpType = 235
   667  	OpStructFieldFloat32                     OpType = 236
   668  	OpStructFieldOmitEmptyFloat32            OpType = 237
   669  	OpStructEndFloat32                       OpType = 238
   670  	OpStructEndOmitEmptyFloat32              OpType = 239
   671  	OpStructFieldFloat64                     OpType = 240
   672  	OpStructFieldOmitEmptyFloat64            OpType = 241
   673  	OpStructEndFloat64                       OpType = 242
   674  	OpStructEndOmitEmptyFloat64              OpType = 243
   675  	OpStructFieldBool                        OpType = 244
   676  	OpStructFieldOmitEmptyBool               OpType = 245
   677  	OpStructEndBool                          OpType = 246
   678  	OpStructEndOmitEmptyBool                 OpType = 247
   679  	OpStructFieldString                      OpType = 248
   680  	OpStructFieldOmitEmptyString             OpType = 249
   681  	OpStructEndString                        OpType = 250
   682  	OpStructEndOmitEmptyString               OpType = 251
   683  	OpStructFieldBytes                       OpType = 252
   684  	OpStructFieldOmitEmptyBytes              OpType = 253
   685  	OpStructEndBytes                         OpType = 254
   686  	OpStructEndOmitEmptyBytes                OpType = 255
   687  	OpStructFieldNumber                      OpType = 256
   688  	OpStructFieldOmitEmptyNumber             OpType = 257
   689  	OpStructEndNumber                        OpType = 258
   690  	OpStructEndOmitEmptyNumber               OpType = 259
   691  	OpStructFieldArray                       OpType = 260
   692  	OpStructFieldOmitEmptyArray              OpType = 261
   693  	OpStructEndArray                         OpType = 262
   694  	OpStructEndOmitEmptyArray                OpType = 263
   695  	OpStructFieldMap                         OpType = 264
   696  	OpStructFieldOmitEmptyMap                OpType = 265
   697  	OpStructEndMap                           OpType = 266
   698  	OpStructEndOmitEmptyMap                  OpType = 267
   699  	OpStructFieldSlice                       OpType = 268
   700  	OpStructFieldOmitEmptySlice              OpType = 269
   701  	OpStructEndSlice                         OpType = 270
   702  	OpStructEndOmitEmptySlice                OpType = 271
   703  	OpStructFieldStruct                      OpType = 272
   704  	OpStructFieldOmitEmptyStruct             OpType = 273
   705  	OpStructEndStruct                        OpType = 274
   706  	OpStructEndOmitEmptyStruct               OpType = 275
   707  	OpStructFieldMarshalJSON                 OpType = 276
   708  	OpStructFieldOmitEmptyMarshalJSON        OpType = 277
   709  	OpStructEndMarshalJSON                   OpType = 278
   710  	OpStructEndOmitEmptyMarshalJSON          OpType = 279
   711  	OpStructFieldMarshalText                 OpType = 280
   712  	OpStructFieldOmitEmptyMarshalText        OpType = 281
   713  	OpStructEndMarshalText                   OpType = 282
   714  	OpStructEndOmitEmptyMarshalText          OpType = 283
   715  	OpStructFieldIntString                   OpType = 284
   716  	OpStructFieldOmitEmptyIntString          OpType = 285
   717  	OpStructEndIntString                     OpType = 286
   718  	OpStructEndOmitEmptyIntString            OpType = 287
   719  	OpStructFieldUintString                  OpType = 288
   720  	OpStructFieldOmitEmptyUintString         OpType = 289
   721  	OpStructEndUintString                    OpType = 290
   722  	OpStructEndOmitEmptyUintString           OpType = 291
   723  	OpStructFieldFloat32String               OpType = 292
   724  	OpStructFieldOmitEmptyFloat32String      OpType = 293
   725  	OpStructEndFloat32String                 OpType = 294
   726  	OpStructEndOmitEmptyFloat32String        OpType = 295
   727  	OpStructFieldFloat64String               OpType = 296
   728  	OpStructFieldOmitEmptyFloat64String      OpType = 297
   729  	OpStructEndFloat64String                 OpType = 298
   730  	OpStructEndOmitEmptyFloat64String        OpType = 299
   731  	OpStructFieldBoolString                  OpType = 300
   732  	OpStructFieldOmitEmptyBoolString         OpType = 301
   733  	OpStructEndBoolString                    OpType = 302
   734  	OpStructEndOmitEmptyBoolString           OpType = 303
   735  	OpStructFieldStringString                OpType = 304
   736  	OpStructFieldOmitEmptyStringString       OpType = 305
   737  	OpStructEndStringString                  OpType = 306
   738  	OpStructEndOmitEmptyStringString         OpType = 307
   739  	OpStructFieldNumberString                OpType = 308
   740  	OpStructFieldOmitEmptyNumberString       OpType = 309
   741  	OpStructEndNumberString                  OpType = 310
   742  	OpStructEndOmitEmptyNumberString         OpType = 311
   743  	OpStructFieldIntPtr                      OpType = 312
   744  	OpStructFieldOmitEmptyIntPtr             OpType = 313
   745  	OpStructEndIntPtr                        OpType = 314
   746  	OpStructEndOmitEmptyIntPtr               OpType = 315
   747  	OpStructFieldUintPtr                     OpType = 316
   748  	OpStructFieldOmitEmptyUintPtr            OpType = 317
   749  	OpStructEndUintPtr                       OpType = 318
   750  	OpStructEndOmitEmptyUintPtr              OpType = 319
   751  	OpStructFieldFloat32Ptr                  OpType = 320
   752  	OpStructFieldOmitEmptyFloat32Ptr         OpType = 321
   753  	OpStructEndFloat32Ptr                    OpType = 322
   754  	OpStructEndOmitEmptyFloat32Ptr           OpType = 323
   755  	OpStructFieldFloat64Ptr                  OpType = 324
   756  	OpStructFieldOmitEmptyFloat64Ptr         OpType = 325
   757  	OpStructEndFloat64Ptr                    OpType = 326
   758  	OpStructEndOmitEmptyFloat64Ptr           OpType = 327
   759  	OpStructFieldBoolPtr                     OpType = 328
   760  	OpStructFieldOmitEmptyBoolPtr            OpType = 329
   761  	OpStructEndBoolPtr                       OpType = 330
   762  	OpStructEndOmitEmptyBoolPtr              OpType = 331
   763  	OpStructFieldStringPtr                   OpType = 332
   764  	OpStructFieldOmitEmptyStringPtr          OpType = 333
   765  	OpStructEndStringPtr                     OpType = 334
   766  	OpStructEndOmitEmptyStringPtr            OpType = 335
   767  	OpStructFieldBytesPtr                    OpType = 336
   768  	OpStructFieldOmitEmptyBytesPtr           OpType = 337
   769  	OpStructEndBytesPtr                      OpType = 338
   770  	OpStructEndOmitEmptyBytesPtr             OpType = 339
   771  	OpStructFieldNumberPtr                   OpType = 340
   772  	OpStructFieldOmitEmptyNumberPtr          OpType = 341
   773  	OpStructEndNumberPtr                     OpType = 342
   774  	OpStructEndOmitEmptyNumberPtr            OpType = 343
   775  	OpStructFieldArrayPtr                    OpType = 344
   776  	OpStructFieldOmitEmptyArrayPtr           OpType = 345
   777  	OpStructEndArrayPtr                      OpType = 346
   778  	OpStructEndOmitEmptyArrayPtr             OpType = 347
   779  	OpStructFieldMapPtr                      OpType = 348
   780  	OpStructFieldOmitEmptyMapPtr             OpType = 349
   781  	OpStructEndMapPtr                        OpType = 350
   782  	OpStructEndOmitEmptyMapPtr               OpType = 351
   783  	OpStructFieldSlicePtr                    OpType = 352
   784  	OpStructFieldOmitEmptySlicePtr           OpType = 353
   785  	OpStructEndSlicePtr                      OpType = 354
   786  	OpStructEndOmitEmptySlicePtr             OpType = 355
   787  	OpStructFieldMarshalJSONPtr              OpType = 356
   788  	OpStructFieldOmitEmptyMarshalJSONPtr     OpType = 357
   789  	OpStructEndMarshalJSONPtr                OpType = 358
   790  	OpStructEndOmitEmptyMarshalJSONPtr       OpType = 359
   791  	OpStructFieldMarshalTextPtr              OpType = 360
   792  	OpStructFieldOmitEmptyMarshalTextPtr     OpType = 361
   793  	OpStructEndMarshalTextPtr                OpType = 362
   794  	OpStructEndOmitEmptyMarshalTextPtr       OpType = 363
   795  	OpStructFieldInterfacePtr                OpType = 364
   796  	OpStructFieldOmitEmptyInterfacePtr       OpType = 365
   797  	OpStructEndInterfacePtr                  OpType = 366
   798  	OpStructEndOmitEmptyInterfacePtr         OpType = 367
   799  	OpStructFieldIntPtrString                OpType = 368
   800  	OpStructFieldOmitEmptyIntPtrString       OpType = 369
   801  	OpStructEndIntPtrString                  OpType = 370
   802  	OpStructEndOmitEmptyIntPtrString         OpType = 371
   803  	OpStructFieldUintPtrString               OpType = 372
   804  	OpStructFieldOmitEmptyUintPtrString      OpType = 373
   805  	OpStructEndUintPtrString                 OpType = 374
   806  	OpStructEndOmitEmptyUintPtrString        OpType = 375
   807  	OpStructFieldFloat32PtrString            OpType = 376
   808  	OpStructFieldOmitEmptyFloat32PtrString   OpType = 377
   809  	OpStructEndFloat32PtrString              OpType = 378
   810  	OpStructEndOmitEmptyFloat32PtrString     OpType = 379
   811  	OpStructFieldFloat64PtrString            OpType = 380
   812  	OpStructFieldOmitEmptyFloat64PtrString   OpType = 381
   813  	OpStructEndFloat64PtrString              OpType = 382
   814  	OpStructEndOmitEmptyFloat64PtrString     OpType = 383
   815  	OpStructFieldBoolPtrString               OpType = 384
   816  	OpStructFieldOmitEmptyBoolPtrString      OpType = 385
   817  	OpStructEndBoolPtrString                 OpType = 386
   818  	OpStructEndOmitEmptyBoolPtrString        OpType = 387
   819  	OpStructFieldStringPtrString             OpType = 388
   820  	OpStructFieldOmitEmptyStringPtrString    OpType = 389
   821  	OpStructEndStringPtrString               OpType = 390
   822  	OpStructEndOmitEmptyStringPtrString      OpType = 391
   823  	OpStructFieldNumberPtrString             OpType = 392
   824  	OpStructFieldOmitEmptyNumberPtrString    OpType = 393
   825  	OpStructEndNumberPtrString               OpType = 394
   826  	OpStructEndOmitEmptyNumberPtrString      OpType = 395
   827  	OpStructField                            OpType = 396
   828  	OpStructFieldOmitEmpty                   OpType = 397
   829  	OpStructEnd                              OpType = 398
   830  	OpStructEndOmitEmpty                     OpType = 399
   831  )
   832  
   833  func (t OpType) String() string {
   834  	if int(t) >= 400 {
   835  		return ""
   836  	}
   837  	return opTypeStrings[int(t)]
   838  }
   839  
   840  func (t OpType) CodeType() CodeType {
   841  	if strings.Contains(t.String(), "Struct") {
   842  		if strings.Contains(t.String(), "End") {
   843  			return CodeStructEnd
   844  		}
   845  		return CodeStructField
   846  	}
   847  	switch t {
   848  	case OpArray, OpArrayPtr:
   849  		return CodeArrayHead
   850  	case OpArrayElem:
   851  		return CodeArrayElem
   852  	case OpSlice, OpSlicePtr:
   853  		return CodeSliceHead
   854  	case OpSliceElem:
   855  		return CodeSliceElem
   856  	case OpMap, OpMapPtr:
   857  		return CodeMapHead
   858  	case OpMapKey:
   859  		return CodeMapKey
   860  	case OpMapValue:
   861  		return CodeMapValue
   862  	case OpMapEnd:
   863  		return CodeMapEnd
   864  	}
   865  
   866  	return CodeOp
   867  }
   868  
   869  func (t OpType) HeadToPtrHead() OpType {
   870  	if strings.Index(t.String(), "PtrHead") > 0 {
   871  		return t
   872  	}
   873  
   874  	idx := strings.Index(t.String(), "Head")
   875  	if idx == -1 {
   876  		return t
   877  	}
   878  	suffix := "PtrHead" + t.String()[idx+len("Head"):]
   879  
   880  	const toPtrOffset = 2
   881  	if strings.Contains(OpType(int(t)+toPtrOffset).String(), suffix) {
   882  		return OpType(int(t) + toPtrOffset)
   883  	}
   884  	return t
   885  }
   886  
   887  func (t OpType) HeadToOmitEmptyHead() OpType {
   888  	const toOmitEmptyOffset = 1
   889  	if strings.Contains(OpType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") {
   890  		return OpType(int(t) + toOmitEmptyOffset)
   891  	}
   892  
   893  	return t
   894  }
   895  
   896  func (t OpType) PtrHeadToHead() OpType {
   897  	idx := strings.Index(t.String(), "PtrHead")
   898  	if idx == -1 {
   899  		return t
   900  	}
   901  	suffix := t.String()[idx+len("Ptr"):]
   902  
   903  	const toPtrOffset = 2
   904  	if strings.Contains(OpType(int(t)-toPtrOffset).String(), suffix) {
   905  		return OpType(int(t) - toPtrOffset)
   906  	}
   907  	return t
   908  }
   909  
   910  func (t OpType) FieldToEnd() OpType {
   911  	idx := strings.Index(t.String(), "Field")
   912  	if idx == -1 {
   913  		return t
   914  	}
   915  	suffix := t.String()[idx+len("Field"):]
   916  	if suffix == "" || suffix == "OmitEmpty" {
   917  		return t
   918  	}
   919  	const toEndOffset = 2
   920  	if strings.Contains(OpType(int(t)+toEndOffset).String(), "End"+suffix) {
   921  		return OpType(int(t) + toEndOffset)
   922  	}
   923  	return t
   924  }
   925  
   926  func (t OpType) FieldToOmitEmptyField() OpType {
   927  	const toOmitEmptyOffset = 1
   928  	if strings.Contains(OpType(int(t)+toOmitEmptyOffset).String(), "OmitEmpty") {
   929  		return OpType(int(t) + toOmitEmptyOffset)
   930  	}
   931  	return t
   932  }