From 1e4216f0bcaf91acfde2f7018e605b0c87dedc29 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Sun, 23 Aug 2020 00:53:08 +0900 Subject: [PATCH 1/6] Add test case --- encode_test.go | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/encode_test.go b/encode_test.go index 2c3e25d..a6fb37c 100644 --- a/encode_test.go +++ b/encode_test.go @@ -1569,3 +1569,57 @@ func TestAnonymousFields(t *testing.T) { }) } } + +type Optionals struct { + Sr string `json:"sr"` + So string `json:"so,omitempty"` + Sw string `json:"-"` + + Ir int `json:"omitempty"` // actually named omitempty, not an option + Io int `json:"io,omitempty"` + + Slr []string `json:"slr,random"` + Slo []string `json:"slo,omitempty"` + + Mr map[string]interface{} `json:"mr"` + Mo map[string]interface{} `json:",omitempty"` + + Fr float64 `json:"fr"` + Fo float64 `json:"fo,omitempty"` + + Br bool `json:"br"` + Bo bool `json:"bo,omitempty"` + + Ur uint `json:"ur"` + Uo uint `json:"uo,omitempty"` + + Str struct{} `json:"str"` + Sto struct{} `json:"sto,omitempty"` +} + +var optionalsExpected = `{ + "sr": "", + "omitempty": 0, + "slr": null, + "mr": {}, + "fr": 0, + "br": false, + "ur": 0, + "str": {}, + "sto": {} +}` + +func TestOmitEmpty(t *testing.T) { + var o Optionals + o.Sw = "something" + o.Mr = map[string]interface{}{} + o.Mo = map[string]interface{}{} + + got, err := json.MarshalIndent(&o, "", " ") + if err != nil { + t.Fatal(err) + } + if got := string(got); got != optionalsExpected { + t.Errorf(" got: %s\nwant: %s\n", got, optionalsExpected) + } +} From f7a6d6519526e9c5b8ab3e1c8f2c2d26f8a3f575 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Sun, 23 Aug 2020 00:53:38 +0900 Subject: [PATCH 2/6] Fix new line char --- encode_vm.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/encode_vm.go b/encode_vm.go index 80fce44..a308628 100644 --- a/encode_vm.go +++ b/encode_vm.go @@ -223,7 +223,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = header.Data } else { e.encodeIndent(code.indent) - e.encodeBytes([]byte{'[', ']', '\n'}) + e.encodeBytes([]byte{'[', ']'}) code = headerCode.end.next } } @@ -259,7 +259,7 @@ func (e *Encoder) run(code *opcode) error { } else { e.encodeByte('\n') e.encodeIndent(code.indent) - e.encodeBytes([]byte{']', '\n'}) + e.encodeByte(']') code = c.end.next } case opRootSliceElemIndent: @@ -421,7 +421,7 @@ func (e *Encoder) run(code *opcode) error { e.encodeIndent(code.indent) } else { e.encodeIndent(code.indent) - e.encodeBytes([]byte{'{', '}', '\n'}) + e.encodeBytes([]byte{'{', '}'}) code = mapHeadCode.end.next } } @@ -447,7 +447,7 @@ func (e *Encoder) run(code *opcode) error { e.encodeIndent(code.indent) } else { e.encodeIndent(code.indent) - e.encodeBytes([]byte{'{', '}', '\n'}) + e.encodeBytes([]byte{'{', '}'}) code = mapHeadCode.end.next } } @@ -487,7 +487,7 @@ func (e *Encoder) run(code *opcode) error { } else { e.encodeByte('\n') e.encodeIndent(code.indent - 1) - e.encodeBytes([]byte{'}', '\n'}) + e.encodeByte('}') code = c.end.next } case opRootMapKeyIndent: @@ -502,7 +502,7 @@ func (e *Encoder) run(code *opcode) error { } else { e.encodeByte('\n') e.encodeIndent(code.indent - 1) - e.encodeBytes([]byte{'}'}) + e.encodeByte('}') code = c.end.next } case opMapValueIndent: From ff33d8e78d3863b20eac1f0caac893b12afc995e Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Sun, 23 Aug 2020 00:54:19 +0900 Subject: [PATCH 3/6] Fix condition for indent --- encode_vm.go | 102 +++++++++++++++++++++++++-------------------------- 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/encode_vm.go b/encode_vm.go index a308628..ecf6043 100644 --- a/encode_vm.go +++ b/encode_vm.go @@ -4145,7 +4145,7 @@ func (e *Encoder) run(code *opcode) error { code = code.next case opStructFieldIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4156,7 +4156,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldIntIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4167,7 +4167,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldInt8Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4178,7 +4178,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldInt16Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4189,7 +4189,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldInt32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4200,7 +4200,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldInt64Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4211,7 +4211,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldUintIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4222,7 +4222,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldUint8Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4233,7 +4233,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldUint16Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4244,7 +4244,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldUint32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4255,7 +4255,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldUint64Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4266,7 +4266,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldFloat32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4277,7 +4277,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldFloat64Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4295,7 +4295,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldStringIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4306,7 +4306,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldBoolIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4317,7 +4317,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldBytesIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4331,7 +4331,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldMarshalJSONIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-1] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeByte(',') } e.encodeIndent(c.indent) @@ -4611,7 +4611,7 @@ func (e *Encoder) run(code *opcode) error { if p == 0 || *(*uintptr)(unsafe.Pointer(p)) == 0 { code = c.nextField } else { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4625,7 +4625,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToInt(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4639,7 +4639,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToInt8(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4653,7 +4653,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToInt16(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4667,7 +4667,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToInt32(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4681,7 +4681,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToInt64(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4695,7 +4695,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToUint(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4709,7 +4709,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToUint8(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4723,7 +4723,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToUint16(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4737,7 +4737,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToUint32(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4751,7 +4751,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToUint64(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4765,7 +4765,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToFloat32(c.ptr + c.offset) if v != 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4785,7 +4785,7 @@ func (e *Encoder) run(code *opcode) error { Str: strconv.FormatFloat(v, 'g', -1, 64), } } - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4799,7 +4799,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToString(c.ptr + c.offset) if v != "" { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4813,7 +4813,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToBool(c.ptr + c.offset) if v { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -4827,7 +4827,7 @@ func (e *Encoder) run(code *opcode) error { c := code.toStructFieldCode() v := e.ptrToBytes(c.ptr + c.offset) if len(v) > 0 { - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5037,7 +5037,7 @@ func (e *Encoder) run(code *opcode) error { case opStructFieldStringTagIndent: c := code.toStructFieldCode() p := c.ptr + c.offset - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5048,7 +5048,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldStringTagIntIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5059,7 +5059,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagInt8Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5070,7 +5070,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagInt16Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5081,7 +5081,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagInt32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5092,7 +5092,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagInt64Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5103,7 +5103,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagUintIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5114,7 +5114,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagUint8Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5125,7 +5125,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagUint16Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5136,7 +5136,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagUint32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5147,7 +5147,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagUint64Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5158,7 +5158,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagFloat32Indent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5176,7 +5176,7 @@ func (e *Encoder) run(code *opcode) error { Str: strconv.FormatFloat(v, 'g', -1, 64), } } - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5187,7 +5187,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagStringIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5202,7 +5202,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagBoolIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5213,7 +5213,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagBytesIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5229,7 +5229,7 @@ func (e *Encoder) run(code *opcode) error { code.ptr = c.ptr case opStructFieldStringTagMarshalJSONIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) @@ -5256,7 +5256,7 @@ func (e *Encoder) run(code *opcode) error { c.nextField.ptr = c.ptr case opStructFieldStringTagMarshalTextIndent: c := code.toStructFieldCode() - if e.buf[len(e.buf)-2] != '{' { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { e.encodeBytes([]byte{',', '\n'}) } e.encodeIndent(c.indent) From 1e765df4f7d12474387e15b0904f0410fcb1d8f8 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Sun, 23 Aug 2020 00:54:43 +0900 Subject: [PATCH 4/6] Fix indent for empty struct --- encode_vm.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/encode_vm.go b/encode_vm.go index ecf6043..d38ceb6 100644 --- a/encode_vm.go +++ b/encode_vm.go @@ -1253,6 +1253,13 @@ func (e *Encoder) run(code *opcode) error { e.encodeIndent(code.indent) e.encodeNull() code = field.end.next + } else if field.next == field.end { + // not exists fields + e.encodeIndent(code.indent) + e.encodeBytes([]byte{'{', '}'}) + code = field.next + code.ptr = ptr + field.nextField.ptr = ptr } else { e.encodeIndent(code.indent) e.encodeBytes([]byte{'{', '\n'}) From 93ce3f8bd2cc981949dcb43e94675ee8ec1c01b4 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Mon, 24 Aug 2020 01:48:52 +0900 Subject: [PATCH 5/6] Add new operation --- cmd/generator/main.go | 2 +- encode_optype.go | 2730 ++++++++++++++++++++++++++++++++--------- 2 files changed, 2166 insertions(+), 566 deletions(-) diff --git a/cmd/generator/main.go b/cmd/generator/main.go index 69586b6..971dc5b 100644 --- a/cmd/generator/main.go +++ b/cmd/generator/main.go @@ -211,7 +211,7 @@ func (t opType) fieldToStringTagField() opType { "int", "int8", "int16", "int32", "int64", "uint", "uint8", "uint16", "uint32", "uint64", "float32", "float64", "bool", "string", "bytes", - "MarshalJSON", "MarshalText", + "array", "map", "mapLoad", "slice", "struct", "MarshalJSON", "MarshalText", } primitiveTypesUpper := []string{} for _, typ := range primitiveTypes { diff --git a/encode_optype.go b/encode_optype.go index 923f7ea..21c2835 100644 --- a/encode_optype.go +++ b/encode_optype.go @@ -70,571 +70,731 @@ const ( opBool opType = 48 opString opType = 49 opBytes opType = 50 - opMarshalJSON opType = 51 - opMarshalText opType = 52 - opStructFieldHeadInt opType = 53 - opStructFieldHeadInt8 opType = 54 - opStructFieldHeadInt16 opType = 55 - opStructFieldHeadInt32 opType = 56 - opStructFieldHeadInt64 opType = 57 - opStructFieldHeadUint opType = 58 - opStructFieldHeadUint8 opType = 59 - opStructFieldHeadUint16 opType = 60 - opStructFieldHeadUint32 opType = 61 - opStructFieldHeadUint64 opType = 62 - opStructFieldHeadFloat32 opType = 63 - opStructFieldHeadFloat64 opType = 64 - opStructFieldHeadBool opType = 65 - opStructFieldHeadString opType = 66 - opStructFieldHeadBytes opType = 67 - opStructFieldHeadMarshalJSON opType = 68 - opStructFieldHeadMarshalText opType = 69 - opStructFieldHeadOmitEmptyInt opType = 70 - opStructFieldHeadOmitEmptyInt8 opType = 71 - opStructFieldHeadOmitEmptyInt16 opType = 72 - opStructFieldHeadOmitEmptyInt32 opType = 73 - opStructFieldHeadOmitEmptyInt64 opType = 74 - opStructFieldHeadOmitEmptyUint opType = 75 - opStructFieldHeadOmitEmptyUint8 opType = 76 - opStructFieldHeadOmitEmptyUint16 opType = 77 - opStructFieldHeadOmitEmptyUint32 opType = 78 - opStructFieldHeadOmitEmptyUint64 opType = 79 - opStructFieldHeadOmitEmptyFloat32 opType = 80 - opStructFieldHeadOmitEmptyFloat64 opType = 81 - opStructFieldHeadOmitEmptyBool opType = 82 - opStructFieldHeadOmitEmptyString opType = 83 - opStructFieldHeadOmitEmptyBytes opType = 84 - opStructFieldHeadOmitEmptyMarshalJSON opType = 85 - opStructFieldHeadOmitEmptyMarshalText opType = 86 - opStructFieldHeadStringTagInt opType = 87 - opStructFieldHeadStringTagInt8 opType = 88 - opStructFieldHeadStringTagInt16 opType = 89 - opStructFieldHeadStringTagInt32 opType = 90 - opStructFieldHeadStringTagInt64 opType = 91 - opStructFieldHeadStringTagUint opType = 92 - opStructFieldHeadStringTagUint8 opType = 93 - opStructFieldHeadStringTagUint16 opType = 94 - opStructFieldHeadStringTagUint32 opType = 95 - opStructFieldHeadStringTagUint64 opType = 96 - opStructFieldHeadStringTagFloat32 opType = 97 - opStructFieldHeadStringTagFloat64 opType = 98 - opStructFieldHeadStringTagBool opType = 99 - opStructFieldHeadStringTagString opType = 100 - opStructFieldHeadStringTagBytes opType = 101 - opStructFieldHeadStringTagMarshalJSON opType = 102 - opStructFieldHeadStringTagMarshalText opType = 103 - opStructFieldAnonymousHeadInt opType = 104 - opStructFieldAnonymousHeadInt8 opType = 105 - opStructFieldAnonymousHeadInt16 opType = 106 - opStructFieldAnonymousHeadInt32 opType = 107 - opStructFieldAnonymousHeadInt64 opType = 108 - opStructFieldAnonymousHeadUint opType = 109 - opStructFieldAnonymousHeadUint8 opType = 110 - opStructFieldAnonymousHeadUint16 opType = 111 - opStructFieldAnonymousHeadUint32 opType = 112 - opStructFieldAnonymousHeadUint64 opType = 113 - opStructFieldAnonymousHeadFloat32 opType = 114 - opStructFieldAnonymousHeadFloat64 opType = 115 - opStructFieldAnonymousHeadBool opType = 116 - opStructFieldAnonymousHeadString opType = 117 - opStructFieldAnonymousHeadBytes opType = 118 - opStructFieldAnonymousHeadMarshalJSON opType = 119 - opStructFieldAnonymousHeadMarshalText opType = 120 - opStructFieldAnonymousHeadOmitEmptyInt opType = 121 - opStructFieldAnonymousHeadOmitEmptyInt8 opType = 122 - opStructFieldAnonymousHeadOmitEmptyInt16 opType = 123 - opStructFieldAnonymousHeadOmitEmptyInt32 opType = 124 - opStructFieldAnonymousHeadOmitEmptyInt64 opType = 125 - opStructFieldAnonymousHeadOmitEmptyUint opType = 126 - opStructFieldAnonymousHeadOmitEmptyUint8 opType = 127 - opStructFieldAnonymousHeadOmitEmptyUint16 opType = 128 - opStructFieldAnonymousHeadOmitEmptyUint32 opType = 129 - opStructFieldAnonymousHeadOmitEmptyUint64 opType = 130 - opStructFieldAnonymousHeadOmitEmptyFloat32 opType = 131 - opStructFieldAnonymousHeadOmitEmptyFloat64 opType = 132 - opStructFieldAnonymousHeadOmitEmptyBool opType = 133 - opStructFieldAnonymousHeadOmitEmptyString opType = 134 - opStructFieldAnonymousHeadOmitEmptyBytes opType = 135 - opStructFieldAnonymousHeadOmitEmptyMarshalJSON opType = 136 - opStructFieldAnonymousHeadOmitEmptyMarshalText opType = 137 - opStructFieldAnonymousHeadStringTagInt opType = 138 - opStructFieldAnonymousHeadStringTagInt8 opType = 139 - opStructFieldAnonymousHeadStringTagInt16 opType = 140 - opStructFieldAnonymousHeadStringTagInt32 opType = 141 - opStructFieldAnonymousHeadStringTagInt64 opType = 142 - opStructFieldAnonymousHeadStringTagUint opType = 143 - opStructFieldAnonymousHeadStringTagUint8 opType = 144 - opStructFieldAnonymousHeadStringTagUint16 opType = 145 - opStructFieldAnonymousHeadStringTagUint32 opType = 146 - opStructFieldAnonymousHeadStringTagUint64 opType = 147 - opStructFieldAnonymousHeadStringTagFloat32 opType = 148 - opStructFieldAnonymousHeadStringTagFloat64 opType = 149 - opStructFieldAnonymousHeadStringTagBool opType = 150 - opStructFieldAnonymousHeadStringTagString opType = 151 - opStructFieldAnonymousHeadStringTagBytes opType = 152 - opStructFieldAnonymousHeadStringTagMarshalJSON opType = 153 - opStructFieldAnonymousHeadStringTagMarshalText opType = 154 - opStructFieldPtrHeadInt opType = 155 - opStructFieldPtrHeadInt8 opType = 156 - opStructFieldPtrHeadInt16 opType = 157 - opStructFieldPtrHeadInt32 opType = 158 - opStructFieldPtrHeadInt64 opType = 159 - opStructFieldPtrHeadUint opType = 160 - opStructFieldPtrHeadUint8 opType = 161 - opStructFieldPtrHeadUint16 opType = 162 - opStructFieldPtrHeadUint32 opType = 163 - opStructFieldPtrHeadUint64 opType = 164 - opStructFieldPtrHeadFloat32 opType = 165 - opStructFieldPtrHeadFloat64 opType = 166 - opStructFieldPtrHeadBool opType = 167 - opStructFieldPtrHeadString opType = 168 - opStructFieldPtrHeadBytes opType = 169 - opStructFieldPtrHeadMarshalJSON opType = 170 - opStructFieldPtrHeadMarshalText opType = 171 - opStructFieldPtrHeadOmitEmptyInt opType = 172 - opStructFieldPtrHeadOmitEmptyInt8 opType = 173 - opStructFieldPtrHeadOmitEmptyInt16 opType = 174 - opStructFieldPtrHeadOmitEmptyInt32 opType = 175 - opStructFieldPtrHeadOmitEmptyInt64 opType = 176 - opStructFieldPtrHeadOmitEmptyUint opType = 177 - opStructFieldPtrHeadOmitEmptyUint8 opType = 178 - opStructFieldPtrHeadOmitEmptyUint16 opType = 179 - opStructFieldPtrHeadOmitEmptyUint32 opType = 180 - opStructFieldPtrHeadOmitEmptyUint64 opType = 181 - opStructFieldPtrHeadOmitEmptyFloat32 opType = 182 - opStructFieldPtrHeadOmitEmptyFloat64 opType = 183 - opStructFieldPtrHeadOmitEmptyBool opType = 184 - opStructFieldPtrHeadOmitEmptyString opType = 185 - opStructFieldPtrHeadOmitEmptyBytes opType = 186 - opStructFieldPtrHeadOmitEmptyMarshalJSON opType = 187 - opStructFieldPtrHeadOmitEmptyMarshalText opType = 188 - opStructFieldPtrHeadStringTagInt opType = 189 - opStructFieldPtrHeadStringTagInt8 opType = 190 - opStructFieldPtrHeadStringTagInt16 opType = 191 - opStructFieldPtrHeadStringTagInt32 opType = 192 - opStructFieldPtrHeadStringTagInt64 opType = 193 - opStructFieldPtrHeadStringTagUint opType = 194 - opStructFieldPtrHeadStringTagUint8 opType = 195 - opStructFieldPtrHeadStringTagUint16 opType = 196 - opStructFieldPtrHeadStringTagUint32 opType = 197 - opStructFieldPtrHeadStringTagUint64 opType = 198 - opStructFieldPtrHeadStringTagFloat32 opType = 199 - opStructFieldPtrHeadStringTagFloat64 opType = 200 - opStructFieldPtrHeadStringTagBool opType = 201 - opStructFieldPtrHeadStringTagString opType = 202 - opStructFieldPtrHeadStringTagBytes opType = 203 - opStructFieldPtrHeadStringTagMarshalJSON opType = 204 - opStructFieldPtrHeadStringTagMarshalText opType = 205 - opStructFieldPtrAnonymousHeadInt opType = 206 - opStructFieldPtrAnonymousHeadInt8 opType = 207 - opStructFieldPtrAnonymousHeadInt16 opType = 208 - opStructFieldPtrAnonymousHeadInt32 opType = 209 - opStructFieldPtrAnonymousHeadInt64 opType = 210 - opStructFieldPtrAnonymousHeadUint opType = 211 - opStructFieldPtrAnonymousHeadUint8 opType = 212 - opStructFieldPtrAnonymousHeadUint16 opType = 213 - opStructFieldPtrAnonymousHeadUint32 opType = 214 - opStructFieldPtrAnonymousHeadUint64 opType = 215 - opStructFieldPtrAnonymousHeadFloat32 opType = 216 - opStructFieldPtrAnonymousHeadFloat64 opType = 217 - opStructFieldPtrAnonymousHeadBool opType = 218 - opStructFieldPtrAnonymousHeadString opType = 219 - opStructFieldPtrAnonymousHeadBytes opType = 220 - opStructFieldPtrAnonymousHeadMarshalJSON opType = 221 - opStructFieldPtrAnonymousHeadMarshalText opType = 222 - opStructFieldPtrAnonymousHeadOmitEmptyInt opType = 223 - opStructFieldPtrAnonymousHeadOmitEmptyInt8 opType = 224 - opStructFieldPtrAnonymousHeadOmitEmptyInt16 opType = 225 - opStructFieldPtrAnonymousHeadOmitEmptyInt32 opType = 226 - opStructFieldPtrAnonymousHeadOmitEmptyInt64 opType = 227 - opStructFieldPtrAnonymousHeadOmitEmptyUint opType = 228 - opStructFieldPtrAnonymousHeadOmitEmptyUint8 opType = 229 - opStructFieldPtrAnonymousHeadOmitEmptyUint16 opType = 230 - opStructFieldPtrAnonymousHeadOmitEmptyUint32 opType = 231 - opStructFieldPtrAnonymousHeadOmitEmptyUint64 opType = 232 - opStructFieldPtrAnonymousHeadOmitEmptyFloat32 opType = 233 - opStructFieldPtrAnonymousHeadOmitEmptyFloat64 opType = 234 - opStructFieldPtrAnonymousHeadOmitEmptyBool opType = 235 - opStructFieldPtrAnonymousHeadOmitEmptyString opType = 236 - opStructFieldPtrAnonymousHeadOmitEmptyBytes opType = 237 - opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSON opType = 238 - opStructFieldPtrAnonymousHeadOmitEmptyMarshalText opType = 239 - opStructFieldPtrAnonymousHeadStringTagInt opType = 240 - opStructFieldPtrAnonymousHeadStringTagInt8 opType = 241 - opStructFieldPtrAnonymousHeadStringTagInt16 opType = 242 - opStructFieldPtrAnonymousHeadStringTagInt32 opType = 243 - opStructFieldPtrAnonymousHeadStringTagInt64 opType = 244 - opStructFieldPtrAnonymousHeadStringTagUint opType = 245 - opStructFieldPtrAnonymousHeadStringTagUint8 opType = 246 - opStructFieldPtrAnonymousHeadStringTagUint16 opType = 247 - opStructFieldPtrAnonymousHeadStringTagUint32 opType = 248 - opStructFieldPtrAnonymousHeadStringTagUint64 opType = 249 - opStructFieldPtrAnonymousHeadStringTagFloat32 opType = 250 - opStructFieldPtrAnonymousHeadStringTagFloat64 opType = 251 - opStructFieldPtrAnonymousHeadStringTagBool opType = 252 - opStructFieldPtrAnonymousHeadStringTagString opType = 253 - opStructFieldPtrAnonymousHeadStringTagBytes opType = 254 - opStructFieldPtrAnonymousHeadStringTagMarshalJSON opType = 255 - opStructFieldPtrAnonymousHeadStringTagMarshalText opType = 256 - opStructFieldInt opType = 257 - opStructFieldInt8 opType = 258 - opStructFieldInt16 opType = 259 - opStructFieldInt32 opType = 260 - opStructFieldInt64 opType = 261 - opStructFieldUint opType = 262 - opStructFieldUint8 opType = 263 - opStructFieldUint16 opType = 264 - opStructFieldUint32 opType = 265 - opStructFieldUint64 opType = 266 - opStructFieldFloat32 opType = 267 - opStructFieldFloat64 opType = 268 - opStructFieldBool opType = 269 - opStructFieldString opType = 270 - opStructFieldBytes opType = 271 - opStructFieldMarshalJSON opType = 272 - opStructFieldMarshalText opType = 273 - opStructFieldOmitEmptyInt opType = 274 - opStructFieldOmitEmptyInt8 opType = 275 - opStructFieldOmitEmptyInt16 opType = 276 - opStructFieldOmitEmptyInt32 opType = 277 - opStructFieldOmitEmptyInt64 opType = 278 - opStructFieldOmitEmptyUint opType = 279 - opStructFieldOmitEmptyUint8 opType = 280 - opStructFieldOmitEmptyUint16 opType = 281 - opStructFieldOmitEmptyUint32 opType = 282 - opStructFieldOmitEmptyUint64 opType = 283 - opStructFieldOmitEmptyFloat32 opType = 284 - opStructFieldOmitEmptyFloat64 opType = 285 - opStructFieldOmitEmptyBool opType = 286 - opStructFieldOmitEmptyString opType = 287 - opStructFieldOmitEmptyBytes opType = 288 - opStructFieldOmitEmptyMarshalJSON opType = 289 - opStructFieldOmitEmptyMarshalText opType = 290 - opStructFieldStringTagInt opType = 291 - opStructFieldStringTagInt8 opType = 292 - opStructFieldStringTagInt16 opType = 293 - opStructFieldStringTagInt32 opType = 294 - opStructFieldStringTagInt64 opType = 295 - opStructFieldStringTagUint opType = 296 - opStructFieldStringTagUint8 opType = 297 - opStructFieldStringTagUint16 opType = 298 - opStructFieldStringTagUint32 opType = 299 - opStructFieldStringTagUint64 opType = 300 - opStructFieldStringTagFloat32 opType = 301 - opStructFieldStringTagFloat64 opType = 302 - opStructFieldStringTagBool opType = 303 - opStructFieldStringTagString opType = 304 - opStructFieldStringTagBytes opType = 305 - opStructFieldStringTagMarshalJSON opType = 306 - opStructFieldStringTagMarshalText opType = 307 - opEndIndent opType = 308 - opInterfaceIndent opType = 309 - opPtrIndent opType = 310 - opSliceHeadIndent opType = 311 - opRootSliceHeadIndent opType = 312 - opSliceElemIndent opType = 313 - opRootSliceElemIndent opType = 314 - opSliceEndIndent opType = 315 - opArrayHeadIndent opType = 316 - opArrayElemIndent opType = 317 - opArrayEndIndent opType = 318 - opMapHeadIndent opType = 319 - opMapHeadLoadIndent opType = 320 - opRootMapHeadIndent opType = 321 - opMapKeyIndent opType = 322 - opRootMapKeyIndent opType = 323 - opMapValueIndent opType = 324 - opMapEndIndent opType = 325 - opStructFieldHeadIndent opType = 326 - opStructFieldHeadOmitEmptyIndent opType = 327 - opStructFieldHeadStringTagIndent opType = 328 - opStructFieldAnonymousHeadIndent opType = 329 - opStructFieldAnonymousHeadOmitEmptyIndent opType = 330 - opStructFieldPtrAnonymousHeadOmitEmptyIndent opType = 331 - opStructFieldAnonymousHeadStringTagIndent opType = 332 - opStructFieldPtrAnonymousHeadStringTagIndent opType = 333 - opStructFieldPtrHeadIndent opType = 334 - opStructFieldPtrHeadOmitEmptyIndent opType = 335 - opStructFieldPtrHeadStringTagIndent opType = 336 - opStructFieldPtrAnonymousHeadIndent opType = 337 - opStructFieldIndent opType = 338 - opStructFieldOmitEmptyIndent opType = 339 - opStructFieldStringTagIndent opType = 340 - opStructFieldRecursiveIndent opType = 341 - opStructEndIndent opType = 342 - opStructAnonymousEndIndent opType = 343 - opIntIndent opType = 344 - opInt8Indent opType = 345 - opInt16Indent opType = 346 - opInt32Indent opType = 347 - opInt64Indent opType = 348 - opUintIndent opType = 349 - opUint8Indent opType = 350 - opUint16Indent opType = 351 - opUint32Indent opType = 352 - opUint64Indent opType = 353 - opFloat32Indent opType = 354 - opFloat64Indent opType = 355 - opBoolIndent opType = 356 - opStringIndent opType = 357 - opBytesIndent opType = 358 - opMarshalJSONIndent opType = 359 - opMarshalTextIndent opType = 360 - opStructFieldHeadIntIndent opType = 361 - opStructFieldHeadInt8Indent opType = 362 - opStructFieldHeadInt16Indent opType = 363 - opStructFieldHeadInt32Indent opType = 364 - opStructFieldHeadInt64Indent opType = 365 - opStructFieldHeadUintIndent opType = 366 - opStructFieldHeadUint8Indent opType = 367 - opStructFieldHeadUint16Indent opType = 368 - opStructFieldHeadUint32Indent opType = 369 - opStructFieldHeadUint64Indent opType = 370 - opStructFieldHeadFloat32Indent opType = 371 - opStructFieldHeadFloat64Indent opType = 372 - opStructFieldHeadBoolIndent opType = 373 - opStructFieldHeadStringIndent opType = 374 - opStructFieldHeadBytesIndent opType = 375 - opStructFieldHeadMarshalJSONIndent opType = 376 - opStructFieldHeadMarshalTextIndent opType = 377 - opStructFieldHeadOmitEmptyIntIndent opType = 378 - opStructFieldHeadOmitEmptyInt8Indent opType = 379 - opStructFieldHeadOmitEmptyInt16Indent opType = 380 - opStructFieldHeadOmitEmptyInt32Indent opType = 381 - opStructFieldHeadOmitEmptyInt64Indent opType = 382 - opStructFieldHeadOmitEmptyUintIndent opType = 383 - opStructFieldHeadOmitEmptyUint8Indent opType = 384 - opStructFieldHeadOmitEmptyUint16Indent opType = 385 - opStructFieldHeadOmitEmptyUint32Indent opType = 386 - opStructFieldHeadOmitEmptyUint64Indent opType = 387 - opStructFieldHeadOmitEmptyFloat32Indent opType = 388 - opStructFieldHeadOmitEmptyFloat64Indent opType = 389 - opStructFieldHeadOmitEmptyBoolIndent opType = 390 - opStructFieldHeadOmitEmptyStringIndent opType = 391 - opStructFieldHeadOmitEmptyBytesIndent opType = 392 - opStructFieldHeadOmitEmptyMarshalJSONIndent opType = 393 - opStructFieldHeadOmitEmptyMarshalTextIndent opType = 394 - opStructFieldHeadStringTagIntIndent opType = 395 - opStructFieldHeadStringTagInt8Indent opType = 396 - opStructFieldHeadStringTagInt16Indent opType = 397 - opStructFieldHeadStringTagInt32Indent opType = 398 - opStructFieldHeadStringTagInt64Indent opType = 399 - opStructFieldHeadStringTagUintIndent opType = 400 - opStructFieldHeadStringTagUint8Indent opType = 401 - opStructFieldHeadStringTagUint16Indent opType = 402 - opStructFieldHeadStringTagUint32Indent opType = 403 - opStructFieldHeadStringTagUint64Indent opType = 404 - opStructFieldHeadStringTagFloat32Indent opType = 405 - opStructFieldHeadStringTagFloat64Indent opType = 406 - opStructFieldHeadStringTagBoolIndent opType = 407 - opStructFieldHeadStringTagStringIndent opType = 408 - opStructFieldHeadStringTagBytesIndent opType = 409 - opStructFieldHeadStringTagMarshalJSONIndent opType = 410 - opStructFieldHeadStringTagMarshalTextIndent opType = 411 - opStructFieldAnonymousHeadIntIndent opType = 412 - opStructFieldAnonymousHeadInt8Indent opType = 413 - opStructFieldAnonymousHeadInt16Indent opType = 414 - opStructFieldAnonymousHeadInt32Indent opType = 415 - opStructFieldAnonymousHeadInt64Indent opType = 416 - opStructFieldAnonymousHeadUintIndent opType = 417 - opStructFieldAnonymousHeadUint8Indent opType = 418 - opStructFieldAnonymousHeadUint16Indent opType = 419 - opStructFieldAnonymousHeadUint32Indent opType = 420 - opStructFieldAnonymousHeadUint64Indent opType = 421 - opStructFieldAnonymousHeadFloat32Indent opType = 422 - opStructFieldAnonymousHeadFloat64Indent opType = 423 - opStructFieldAnonymousHeadBoolIndent opType = 424 - opStructFieldAnonymousHeadStringIndent opType = 425 - opStructFieldAnonymousHeadBytesIndent opType = 426 - opStructFieldAnonymousHeadMarshalJSONIndent opType = 427 - opStructFieldAnonymousHeadMarshalTextIndent opType = 428 - opStructFieldAnonymousHeadOmitEmptyIntIndent opType = 429 - opStructFieldAnonymousHeadOmitEmptyInt8Indent opType = 430 - opStructFieldAnonymousHeadOmitEmptyInt16Indent opType = 431 - opStructFieldAnonymousHeadOmitEmptyInt32Indent opType = 432 - opStructFieldAnonymousHeadOmitEmptyInt64Indent opType = 433 - opStructFieldAnonymousHeadOmitEmptyUintIndent opType = 434 - opStructFieldAnonymousHeadOmitEmptyUint8Indent opType = 435 - opStructFieldAnonymousHeadOmitEmptyUint16Indent opType = 436 - opStructFieldAnonymousHeadOmitEmptyUint32Indent opType = 437 - opStructFieldAnonymousHeadOmitEmptyUint64Indent opType = 438 - opStructFieldAnonymousHeadOmitEmptyFloat32Indent opType = 439 - opStructFieldAnonymousHeadOmitEmptyFloat64Indent opType = 440 - opStructFieldAnonymousHeadOmitEmptyBoolIndent opType = 441 - opStructFieldAnonymousHeadOmitEmptyStringIndent opType = 442 - opStructFieldAnonymousHeadOmitEmptyBytesIndent opType = 443 - opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent opType = 444 - opStructFieldAnonymousHeadOmitEmptyMarshalTextIndent opType = 445 - opStructFieldAnonymousHeadStringTagIntIndent opType = 446 - opStructFieldAnonymousHeadStringTagInt8Indent opType = 447 - opStructFieldAnonymousHeadStringTagInt16Indent opType = 448 - opStructFieldAnonymousHeadStringTagInt32Indent opType = 449 - opStructFieldAnonymousHeadStringTagInt64Indent opType = 450 - opStructFieldAnonymousHeadStringTagUintIndent opType = 451 - opStructFieldAnonymousHeadStringTagUint8Indent opType = 452 - opStructFieldAnonymousHeadStringTagUint16Indent opType = 453 - opStructFieldAnonymousHeadStringTagUint32Indent opType = 454 - opStructFieldAnonymousHeadStringTagUint64Indent opType = 455 - opStructFieldAnonymousHeadStringTagFloat32Indent opType = 456 - opStructFieldAnonymousHeadStringTagFloat64Indent opType = 457 - opStructFieldAnonymousHeadStringTagBoolIndent opType = 458 - opStructFieldAnonymousHeadStringTagStringIndent opType = 459 - opStructFieldAnonymousHeadStringTagBytesIndent opType = 460 - opStructFieldAnonymousHeadStringTagMarshalJSONIndent opType = 461 - opStructFieldAnonymousHeadStringTagMarshalTextIndent opType = 462 - opStructFieldPtrHeadIntIndent opType = 463 - opStructFieldPtrHeadInt8Indent opType = 464 - opStructFieldPtrHeadInt16Indent opType = 465 - opStructFieldPtrHeadInt32Indent opType = 466 - opStructFieldPtrHeadInt64Indent opType = 467 - opStructFieldPtrHeadUintIndent opType = 468 - opStructFieldPtrHeadUint8Indent opType = 469 - opStructFieldPtrHeadUint16Indent opType = 470 - opStructFieldPtrHeadUint32Indent opType = 471 - opStructFieldPtrHeadUint64Indent opType = 472 - opStructFieldPtrHeadFloat32Indent opType = 473 - opStructFieldPtrHeadFloat64Indent opType = 474 - opStructFieldPtrHeadBoolIndent opType = 475 - opStructFieldPtrHeadStringIndent opType = 476 - opStructFieldPtrHeadBytesIndent opType = 477 - opStructFieldPtrHeadMarshalJSONIndent opType = 478 - opStructFieldPtrHeadMarshalTextIndent opType = 479 - opStructFieldPtrHeadOmitEmptyIntIndent opType = 480 - opStructFieldPtrHeadOmitEmptyInt8Indent opType = 481 - opStructFieldPtrHeadOmitEmptyInt16Indent opType = 482 - opStructFieldPtrHeadOmitEmptyInt32Indent opType = 483 - opStructFieldPtrHeadOmitEmptyInt64Indent opType = 484 - opStructFieldPtrHeadOmitEmptyUintIndent opType = 485 - opStructFieldPtrHeadOmitEmptyUint8Indent opType = 486 - opStructFieldPtrHeadOmitEmptyUint16Indent opType = 487 - opStructFieldPtrHeadOmitEmptyUint32Indent opType = 488 - opStructFieldPtrHeadOmitEmptyUint64Indent opType = 489 - opStructFieldPtrHeadOmitEmptyFloat32Indent opType = 490 - opStructFieldPtrHeadOmitEmptyFloat64Indent opType = 491 - opStructFieldPtrHeadOmitEmptyBoolIndent opType = 492 - opStructFieldPtrHeadOmitEmptyStringIndent opType = 493 - opStructFieldPtrHeadOmitEmptyBytesIndent opType = 494 - opStructFieldPtrHeadOmitEmptyMarshalJSONIndent opType = 495 - opStructFieldPtrHeadOmitEmptyMarshalTextIndent opType = 496 - opStructFieldPtrHeadStringTagIntIndent opType = 497 - opStructFieldPtrHeadStringTagInt8Indent opType = 498 - opStructFieldPtrHeadStringTagInt16Indent opType = 499 - opStructFieldPtrHeadStringTagInt32Indent opType = 500 - opStructFieldPtrHeadStringTagInt64Indent opType = 501 - opStructFieldPtrHeadStringTagUintIndent opType = 502 - opStructFieldPtrHeadStringTagUint8Indent opType = 503 - opStructFieldPtrHeadStringTagUint16Indent opType = 504 - opStructFieldPtrHeadStringTagUint32Indent opType = 505 - opStructFieldPtrHeadStringTagUint64Indent opType = 506 - opStructFieldPtrHeadStringTagFloat32Indent opType = 507 - opStructFieldPtrHeadStringTagFloat64Indent opType = 508 - opStructFieldPtrHeadStringTagBoolIndent opType = 509 - opStructFieldPtrHeadStringTagStringIndent opType = 510 - opStructFieldPtrHeadStringTagBytesIndent opType = 511 - opStructFieldPtrHeadStringTagMarshalJSONIndent opType = 512 - opStructFieldPtrHeadStringTagMarshalTextIndent opType = 513 - opStructFieldPtrAnonymousHeadIntIndent opType = 514 - opStructFieldPtrAnonymousHeadInt8Indent opType = 515 - opStructFieldPtrAnonymousHeadInt16Indent opType = 516 - opStructFieldPtrAnonymousHeadInt32Indent opType = 517 - opStructFieldPtrAnonymousHeadInt64Indent opType = 518 - opStructFieldPtrAnonymousHeadUintIndent opType = 519 - opStructFieldPtrAnonymousHeadUint8Indent opType = 520 - opStructFieldPtrAnonymousHeadUint16Indent opType = 521 - opStructFieldPtrAnonymousHeadUint32Indent opType = 522 - opStructFieldPtrAnonymousHeadUint64Indent opType = 523 - opStructFieldPtrAnonymousHeadFloat32Indent opType = 524 - opStructFieldPtrAnonymousHeadFloat64Indent opType = 525 - opStructFieldPtrAnonymousHeadBoolIndent opType = 526 - opStructFieldPtrAnonymousHeadStringIndent opType = 527 - opStructFieldPtrAnonymousHeadBytesIndent opType = 528 - opStructFieldPtrAnonymousHeadMarshalJSONIndent opType = 529 - opStructFieldPtrAnonymousHeadMarshalTextIndent opType = 530 - opStructFieldPtrAnonymousHeadOmitEmptyIntIndent opType = 531 - opStructFieldPtrAnonymousHeadOmitEmptyInt8Indent opType = 532 - opStructFieldPtrAnonymousHeadOmitEmptyInt16Indent opType = 533 - opStructFieldPtrAnonymousHeadOmitEmptyInt32Indent opType = 534 - opStructFieldPtrAnonymousHeadOmitEmptyInt64Indent opType = 535 - opStructFieldPtrAnonymousHeadOmitEmptyUintIndent opType = 536 - opStructFieldPtrAnonymousHeadOmitEmptyUint8Indent opType = 537 - opStructFieldPtrAnonymousHeadOmitEmptyUint16Indent opType = 538 - opStructFieldPtrAnonymousHeadOmitEmptyUint32Indent opType = 539 - opStructFieldPtrAnonymousHeadOmitEmptyUint64Indent opType = 540 - opStructFieldPtrAnonymousHeadOmitEmptyFloat32Indent opType = 541 - opStructFieldPtrAnonymousHeadOmitEmptyFloat64Indent opType = 542 - opStructFieldPtrAnonymousHeadOmitEmptyBoolIndent opType = 543 - opStructFieldPtrAnonymousHeadOmitEmptyStringIndent opType = 544 - opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent opType = 545 - opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent opType = 546 - opStructFieldPtrAnonymousHeadOmitEmptyMarshalTextIndent opType = 547 - opStructFieldPtrAnonymousHeadStringTagIntIndent opType = 548 - opStructFieldPtrAnonymousHeadStringTagInt8Indent opType = 549 - opStructFieldPtrAnonymousHeadStringTagInt16Indent opType = 550 - opStructFieldPtrAnonymousHeadStringTagInt32Indent opType = 551 - opStructFieldPtrAnonymousHeadStringTagInt64Indent opType = 552 - opStructFieldPtrAnonymousHeadStringTagUintIndent opType = 553 - opStructFieldPtrAnonymousHeadStringTagUint8Indent opType = 554 - opStructFieldPtrAnonymousHeadStringTagUint16Indent opType = 555 - opStructFieldPtrAnonymousHeadStringTagUint32Indent opType = 556 - opStructFieldPtrAnonymousHeadStringTagUint64Indent opType = 557 - opStructFieldPtrAnonymousHeadStringTagFloat32Indent opType = 558 - opStructFieldPtrAnonymousHeadStringTagFloat64Indent opType = 559 - opStructFieldPtrAnonymousHeadStringTagBoolIndent opType = 560 - opStructFieldPtrAnonymousHeadStringTagStringIndent opType = 561 - opStructFieldPtrAnonymousHeadStringTagBytesIndent opType = 562 - opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent opType = 563 - opStructFieldPtrAnonymousHeadStringTagMarshalTextIndent opType = 564 - opStructFieldIntIndent opType = 565 - opStructFieldInt8Indent opType = 566 - opStructFieldInt16Indent opType = 567 - opStructFieldInt32Indent opType = 568 - opStructFieldInt64Indent opType = 569 - opStructFieldUintIndent opType = 570 - opStructFieldUint8Indent opType = 571 - opStructFieldUint16Indent opType = 572 - opStructFieldUint32Indent opType = 573 - opStructFieldUint64Indent opType = 574 - opStructFieldFloat32Indent opType = 575 - opStructFieldFloat64Indent opType = 576 - opStructFieldBoolIndent opType = 577 - opStructFieldStringIndent opType = 578 - opStructFieldBytesIndent opType = 579 - opStructFieldMarshalJSONIndent opType = 580 - opStructFieldMarshalTextIndent opType = 581 - opStructFieldOmitEmptyIntIndent opType = 582 - opStructFieldOmitEmptyInt8Indent opType = 583 - opStructFieldOmitEmptyInt16Indent opType = 584 - opStructFieldOmitEmptyInt32Indent opType = 585 - opStructFieldOmitEmptyInt64Indent opType = 586 - opStructFieldOmitEmptyUintIndent opType = 587 - opStructFieldOmitEmptyUint8Indent opType = 588 - opStructFieldOmitEmptyUint16Indent opType = 589 - opStructFieldOmitEmptyUint32Indent opType = 590 - opStructFieldOmitEmptyUint64Indent opType = 591 - opStructFieldOmitEmptyFloat32Indent opType = 592 - opStructFieldOmitEmptyFloat64Indent opType = 593 - opStructFieldOmitEmptyBoolIndent opType = 594 - opStructFieldOmitEmptyStringIndent opType = 595 - opStructFieldOmitEmptyBytesIndent opType = 596 - opStructFieldOmitEmptyMarshalJSONIndent opType = 597 - opStructFieldOmitEmptyMarshalTextIndent opType = 598 - opStructFieldStringTagIntIndent opType = 599 - opStructFieldStringTagInt8Indent opType = 600 - opStructFieldStringTagInt16Indent opType = 601 - opStructFieldStringTagInt32Indent opType = 602 - opStructFieldStringTagInt64Indent opType = 603 - opStructFieldStringTagUintIndent opType = 604 - opStructFieldStringTagUint8Indent opType = 605 - opStructFieldStringTagUint16Indent opType = 606 - opStructFieldStringTagUint32Indent opType = 607 - opStructFieldStringTagUint64Indent opType = 608 - opStructFieldStringTagFloat32Indent opType = 609 - opStructFieldStringTagFloat64Indent opType = 610 - opStructFieldStringTagBoolIndent opType = 611 - opStructFieldStringTagStringIndent opType = 612 - opStructFieldStringTagBytesIndent opType = 613 - opStructFieldStringTagMarshalJSONIndent opType = 614 - opStructFieldStringTagMarshalTextIndent opType = 615 + opArray opType = 51 + opMap opType = 52 + opMapLoad opType = 53 + opSlice opType = 54 + opStruct opType = 55 + opMarshalJSON opType = 56 + opMarshalText opType = 57 + opStructFieldHeadInt opType = 58 + opStructFieldHeadInt8 opType = 59 + opStructFieldHeadInt16 opType = 60 + opStructFieldHeadInt32 opType = 61 + opStructFieldHeadInt64 opType = 62 + opStructFieldHeadUint opType = 63 + opStructFieldHeadUint8 opType = 64 + opStructFieldHeadUint16 opType = 65 + opStructFieldHeadUint32 opType = 66 + opStructFieldHeadUint64 opType = 67 + opStructFieldHeadFloat32 opType = 68 + opStructFieldHeadFloat64 opType = 69 + opStructFieldHeadBool opType = 70 + opStructFieldHeadString opType = 71 + opStructFieldHeadBytes opType = 72 + opStructFieldHeadArray opType = 73 + opStructFieldHeadMap opType = 74 + opStructFieldHeadMapLoad opType = 75 + opStructFieldHeadSlice opType = 76 + opStructFieldHeadStruct opType = 77 + opStructFieldHeadMarshalJSON opType = 78 + opStructFieldHeadMarshalText opType = 79 + opStructFieldHeadOmitEmptyInt opType = 80 + opStructFieldHeadOmitEmptyInt8 opType = 81 + opStructFieldHeadOmitEmptyInt16 opType = 82 + opStructFieldHeadOmitEmptyInt32 opType = 83 + opStructFieldHeadOmitEmptyInt64 opType = 84 + opStructFieldHeadOmitEmptyUint opType = 85 + opStructFieldHeadOmitEmptyUint8 opType = 86 + opStructFieldHeadOmitEmptyUint16 opType = 87 + opStructFieldHeadOmitEmptyUint32 opType = 88 + opStructFieldHeadOmitEmptyUint64 opType = 89 + opStructFieldHeadOmitEmptyFloat32 opType = 90 + opStructFieldHeadOmitEmptyFloat64 opType = 91 + opStructFieldHeadOmitEmptyBool opType = 92 + opStructFieldHeadOmitEmptyString opType = 93 + opStructFieldHeadOmitEmptyBytes opType = 94 + opStructFieldHeadOmitEmptyArray opType = 95 + opStructFieldHeadOmitEmptyMap opType = 96 + opStructFieldHeadOmitEmptyMapLoad opType = 97 + opStructFieldHeadOmitEmptySlice opType = 98 + opStructFieldHeadOmitEmptyStruct opType = 99 + opStructFieldHeadOmitEmptyMarshalJSON opType = 100 + opStructFieldHeadOmitEmptyMarshalText opType = 101 + opStructFieldHeadStringTagInt opType = 102 + opStructFieldHeadStringTagInt8 opType = 103 + opStructFieldHeadStringTagInt16 opType = 104 + opStructFieldHeadStringTagInt32 opType = 105 + opStructFieldHeadStringTagInt64 opType = 106 + opStructFieldHeadStringTagUint opType = 107 + opStructFieldHeadStringTagUint8 opType = 108 + opStructFieldHeadStringTagUint16 opType = 109 + opStructFieldHeadStringTagUint32 opType = 110 + opStructFieldHeadStringTagUint64 opType = 111 + opStructFieldHeadStringTagFloat32 opType = 112 + opStructFieldHeadStringTagFloat64 opType = 113 + opStructFieldHeadStringTagBool opType = 114 + opStructFieldHeadStringTagString opType = 115 + opStructFieldHeadStringTagBytes opType = 116 + opStructFieldHeadStringTagArray opType = 117 + opStructFieldHeadStringTagMap opType = 118 + opStructFieldHeadStringTagMapLoad opType = 119 + opStructFieldHeadStringTagSlice opType = 120 + opStructFieldHeadStringTagStruct opType = 121 + opStructFieldHeadStringTagMarshalJSON opType = 122 + opStructFieldHeadStringTagMarshalText opType = 123 + opStructFieldAnonymousHeadInt opType = 124 + opStructFieldAnonymousHeadInt8 opType = 125 + opStructFieldAnonymousHeadInt16 opType = 126 + opStructFieldAnonymousHeadInt32 opType = 127 + opStructFieldAnonymousHeadInt64 opType = 128 + opStructFieldAnonymousHeadUint opType = 129 + opStructFieldAnonymousHeadUint8 opType = 130 + opStructFieldAnonymousHeadUint16 opType = 131 + opStructFieldAnonymousHeadUint32 opType = 132 + opStructFieldAnonymousHeadUint64 opType = 133 + opStructFieldAnonymousHeadFloat32 opType = 134 + opStructFieldAnonymousHeadFloat64 opType = 135 + opStructFieldAnonymousHeadBool opType = 136 + opStructFieldAnonymousHeadString opType = 137 + opStructFieldAnonymousHeadBytes opType = 138 + opStructFieldAnonymousHeadArray opType = 139 + opStructFieldAnonymousHeadMap opType = 140 + opStructFieldAnonymousHeadMapLoad opType = 141 + opStructFieldAnonymousHeadSlice opType = 142 + opStructFieldAnonymousHeadStruct opType = 143 + opStructFieldAnonymousHeadMarshalJSON opType = 144 + opStructFieldAnonymousHeadMarshalText opType = 145 + opStructFieldAnonymousHeadOmitEmptyInt opType = 146 + opStructFieldAnonymousHeadOmitEmptyInt8 opType = 147 + opStructFieldAnonymousHeadOmitEmptyInt16 opType = 148 + opStructFieldAnonymousHeadOmitEmptyInt32 opType = 149 + opStructFieldAnonymousHeadOmitEmptyInt64 opType = 150 + opStructFieldAnonymousHeadOmitEmptyUint opType = 151 + opStructFieldAnonymousHeadOmitEmptyUint8 opType = 152 + opStructFieldAnonymousHeadOmitEmptyUint16 opType = 153 + opStructFieldAnonymousHeadOmitEmptyUint32 opType = 154 + opStructFieldAnonymousHeadOmitEmptyUint64 opType = 155 + opStructFieldAnonymousHeadOmitEmptyFloat32 opType = 156 + opStructFieldAnonymousHeadOmitEmptyFloat64 opType = 157 + opStructFieldAnonymousHeadOmitEmptyBool opType = 158 + opStructFieldAnonymousHeadOmitEmptyString opType = 159 + opStructFieldAnonymousHeadOmitEmptyBytes opType = 160 + opStructFieldAnonymousHeadOmitEmptyArray opType = 161 + opStructFieldAnonymousHeadOmitEmptyMap opType = 162 + opStructFieldAnonymousHeadOmitEmptyMapLoad opType = 163 + opStructFieldAnonymousHeadOmitEmptySlice opType = 164 + opStructFieldAnonymousHeadOmitEmptyStruct opType = 165 + opStructFieldAnonymousHeadOmitEmptyMarshalJSON opType = 166 + opStructFieldAnonymousHeadOmitEmptyMarshalText opType = 167 + opStructFieldAnonymousHeadStringTagInt opType = 168 + opStructFieldAnonymousHeadStringTagInt8 opType = 169 + opStructFieldAnonymousHeadStringTagInt16 opType = 170 + opStructFieldAnonymousHeadStringTagInt32 opType = 171 + opStructFieldAnonymousHeadStringTagInt64 opType = 172 + opStructFieldAnonymousHeadStringTagUint opType = 173 + opStructFieldAnonymousHeadStringTagUint8 opType = 174 + opStructFieldAnonymousHeadStringTagUint16 opType = 175 + opStructFieldAnonymousHeadStringTagUint32 opType = 176 + opStructFieldAnonymousHeadStringTagUint64 opType = 177 + opStructFieldAnonymousHeadStringTagFloat32 opType = 178 + opStructFieldAnonymousHeadStringTagFloat64 opType = 179 + opStructFieldAnonymousHeadStringTagBool opType = 180 + opStructFieldAnonymousHeadStringTagString opType = 181 + opStructFieldAnonymousHeadStringTagBytes opType = 182 + opStructFieldAnonymousHeadStringTagArray opType = 183 + opStructFieldAnonymousHeadStringTagMap opType = 184 + opStructFieldAnonymousHeadStringTagMapLoad opType = 185 + opStructFieldAnonymousHeadStringTagSlice opType = 186 + opStructFieldAnonymousHeadStringTagStruct opType = 187 + opStructFieldAnonymousHeadStringTagMarshalJSON opType = 188 + opStructFieldAnonymousHeadStringTagMarshalText opType = 189 + opStructFieldPtrHeadInt opType = 190 + opStructFieldPtrHeadInt8 opType = 191 + opStructFieldPtrHeadInt16 opType = 192 + opStructFieldPtrHeadInt32 opType = 193 + opStructFieldPtrHeadInt64 opType = 194 + opStructFieldPtrHeadUint opType = 195 + opStructFieldPtrHeadUint8 opType = 196 + opStructFieldPtrHeadUint16 opType = 197 + opStructFieldPtrHeadUint32 opType = 198 + opStructFieldPtrHeadUint64 opType = 199 + opStructFieldPtrHeadFloat32 opType = 200 + opStructFieldPtrHeadFloat64 opType = 201 + opStructFieldPtrHeadBool opType = 202 + opStructFieldPtrHeadString opType = 203 + opStructFieldPtrHeadBytes opType = 204 + opStructFieldPtrHeadArray opType = 205 + opStructFieldPtrHeadMap opType = 206 + opStructFieldPtrHeadMapLoad opType = 207 + opStructFieldPtrHeadSlice opType = 208 + opStructFieldPtrHeadStruct opType = 209 + opStructFieldPtrHeadMarshalJSON opType = 210 + opStructFieldPtrHeadMarshalText opType = 211 + opStructFieldPtrHeadOmitEmptyInt opType = 212 + opStructFieldPtrHeadOmitEmptyInt8 opType = 213 + opStructFieldPtrHeadOmitEmptyInt16 opType = 214 + opStructFieldPtrHeadOmitEmptyInt32 opType = 215 + opStructFieldPtrHeadOmitEmptyInt64 opType = 216 + opStructFieldPtrHeadOmitEmptyUint opType = 217 + opStructFieldPtrHeadOmitEmptyUint8 opType = 218 + opStructFieldPtrHeadOmitEmptyUint16 opType = 219 + opStructFieldPtrHeadOmitEmptyUint32 opType = 220 + opStructFieldPtrHeadOmitEmptyUint64 opType = 221 + opStructFieldPtrHeadOmitEmptyFloat32 opType = 222 + opStructFieldPtrHeadOmitEmptyFloat64 opType = 223 + opStructFieldPtrHeadOmitEmptyBool opType = 224 + opStructFieldPtrHeadOmitEmptyString opType = 225 + opStructFieldPtrHeadOmitEmptyBytes opType = 226 + opStructFieldPtrHeadOmitEmptyArray opType = 227 + opStructFieldPtrHeadOmitEmptyMap opType = 228 + opStructFieldPtrHeadOmitEmptyMapLoad opType = 229 + opStructFieldPtrHeadOmitEmptySlice opType = 230 + opStructFieldPtrHeadOmitEmptyStruct opType = 231 + opStructFieldPtrHeadOmitEmptyMarshalJSON opType = 232 + opStructFieldPtrHeadOmitEmptyMarshalText opType = 233 + opStructFieldPtrHeadStringTagInt opType = 234 + opStructFieldPtrHeadStringTagInt8 opType = 235 + opStructFieldPtrHeadStringTagInt16 opType = 236 + opStructFieldPtrHeadStringTagInt32 opType = 237 + opStructFieldPtrHeadStringTagInt64 opType = 238 + opStructFieldPtrHeadStringTagUint opType = 239 + opStructFieldPtrHeadStringTagUint8 opType = 240 + opStructFieldPtrHeadStringTagUint16 opType = 241 + opStructFieldPtrHeadStringTagUint32 opType = 242 + opStructFieldPtrHeadStringTagUint64 opType = 243 + opStructFieldPtrHeadStringTagFloat32 opType = 244 + opStructFieldPtrHeadStringTagFloat64 opType = 245 + opStructFieldPtrHeadStringTagBool opType = 246 + opStructFieldPtrHeadStringTagString opType = 247 + opStructFieldPtrHeadStringTagBytes opType = 248 + opStructFieldPtrHeadStringTagArray opType = 249 + opStructFieldPtrHeadStringTagMap opType = 250 + opStructFieldPtrHeadStringTagMapLoad opType = 251 + opStructFieldPtrHeadStringTagSlice opType = 252 + opStructFieldPtrHeadStringTagStruct opType = 253 + opStructFieldPtrHeadStringTagMarshalJSON opType = 254 + opStructFieldPtrHeadStringTagMarshalText opType = 255 + opStructFieldPtrAnonymousHeadInt opType = 256 + opStructFieldPtrAnonymousHeadInt8 opType = 257 + opStructFieldPtrAnonymousHeadInt16 opType = 258 + opStructFieldPtrAnonymousHeadInt32 opType = 259 + opStructFieldPtrAnonymousHeadInt64 opType = 260 + opStructFieldPtrAnonymousHeadUint opType = 261 + opStructFieldPtrAnonymousHeadUint8 opType = 262 + opStructFieldPtrAnonymousHeadUint16 opType = 263 + opStructFieldPtrAnonymousHeadUint32 opType = 264 + opStructFieldPtrAnonymousHeadUint64 opType = 265 + opStructFieldPtrAnonymousHeadFloat32 opType = 266 + opStructFieldPtrAnonymousHeadFloat64 opType = 267 + opStructFieldPtrAnonymousHeadBool opType = 268 + opStructFieldPtrAnonymousHeadString opType = 269 + opStructFieldPtrAnonymousHeadBytes opType = 270 + opStructFieldPtrAnonymousHeadArray opType = 271 + opStructFieldPtrAnonymousHeadMap opType = 272 + opStructFieldPtrAnonymousHeadMapLoad opType = 273 + opStructFieldPtrAnonymousHeadSlice opType = 274 + opStructFieldPtrAnonymousHeadStruct opType = 275 + opStructFieldPtrAnonymousHeadMarshalJSON opType = 276 + opStructFieldPtrAnonymousHeadMarshalText opType = 277 + opStructFieldPtrAnonymousHeadOmitEmptyInt opType = 278 + opStructFieldPtrAnonymousHeadOmitEmptyInt8 opType = 279 + opStructFieldPtrAnonymousHeadOmitEmptyInt16 opType = 280 + opStructFieldPtrAnonymousHeadOmitEmptyInt32 opType = 281 + opStructFieldPtrAnonymousHeadOmitEmptyInt64 opType = 282 + opStructFieldPtrAnonymousHeadOmitEmptyUint opType = 283 + opStructFieldPtrAnonymousHeadOmitEmptyUint8 opType = 284 + opStructFieldPtrAnonymousHeadOmitEmptyUint16 opType = 285 + opStructFieldPtrAnonymousHeadOmitEmptyUint32 opType = 286 + opStructFieldPtrAnonymousHeadOmitEmptyUint64 opType = 287 + opStructFieldPtrAnonymousHeadOmitEmptyFloat32 opType = 288 + opStructFieldPtrAnonymousHeadOmitEmptyFloat64 opType = 289 + opStructFieldPtrAnonymousHeadOmitEmptyBool opType = 290 + opStructFieldPtrAnonymousHeadOmitEmptyString opType = 291 + opStructFieldPtrAnonymousHeadOmitEmptyBytes opType = 292 + opStructFieldPtrAnonymousHeadOmitEmptyArray opType = 293 + opStructFieldPtrAnonymousHeadOmitEmptyMap opType = 294 + opStructFieldPtrAnonymousHeadOmitEmptyMapLoad opType = 295 + opStructFieldPtrAnonymousHeadOmitEmptySlice opType = 296 + opStructFieldPtrAnonymousHeadOmitEmptyStruct opType = 297 + opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSON opType = 298 + opStructFieldPtrAnonymousHeadOmitEmptyMarshalText opType = 299 + opStructFieldPtrAnonymousHeadStringTagInt opType = 300 + opStructFieldPtrAnonymousHeadStringTagInt8 opType = 301 + opStructFieldPtrAnonymousHeadStringTagInt16 opType = 302 + opStructFieldPtrAnonymousHeadStringTagInt32 opType = 303 + opStructFieldPtrAnonymousHeadStringTagInt64 opType = 304 + opStructFieldPtrAnonymousHeadStringTagUint opType = 305 + opStructFieldPtrAnonymousHeadStringTagUint8 opType = 306 + opStructFieldPtrAnonymousHeadStringTagUint16 opType = 307 + opStructFieldPtrAnonymousHeadStringTagUint32 opType = 308 + opStructFieldPtrAnonymousHeadStringTagUint64 opType = 309 + opStructFieldPtrAnonymousHeadStringTagFloat32 opType = 310 + opStructFieldPtrAnonymousHeadStringTagFloat64 opType = 311 + opStructFieldPtrAnonymousHeadStringTagBool opType = 312 + opStructFieldPtrAnonymousHeadStringTagString opType = 313 + opStructFieldPtrAnonymousHeadStringTagBytes opType = 314 + opStructFieldPtrAnonymousHeadStringTagArray opType = 315 + opStructFieldPtrAnonymousHeadStringTagMap opType = 316 + opStructFieldPtrAnonymousHeadStringTagMapLoad opType = 317 + opStructFieldPtrAnonymousHeadStringTagSlice opType = 318 + opStructFieldPtrAnonymousHeadStringTagStruct opType = 319 + opStructFieldPtrAnonymousHeadStringTagMarshalJSON opType = 320 + opStructFieldPtrAnonymousHeadStringTagMarshalText opType = 321 + opStructFieldInt opType = 322 + opStructFieldInt8 opType = 323 + opStructFieldInt16 opType = 324 + opStructFieldInt32 opType = 325 + opStructFieldInt64 opType = 326 + opStructFieldUint opType = 327 + opStructFieldUint8 opType = 328 + opStructFieldUint16 opType = 329 + opStructFieldUint32 opType = 330 + opStructFieldUint64 opType = 331 + opStructFieldFloat32 opType = 332 + opStructFieldFloat64 opType = 333 + opStructFieldBool opType = 334 + opStructFieldString opType = 335 + opStructFieldBytes opType = 336 + opStructFieldArray opType = 337 + opStructFieldMap opType = 338 + opStructFieldMapLoad opType = 339 + opStructFieldSlice opType = 340 + opStructFieldStruct opType = 341 + opStructFieldMarshalJSON opType = 342 + opStructFieldMarshalText opType = 343 + opStructFieldOmitEmptyInt opType = 344 + opStructFieldOmitEmptyInt8 opType = 345 + opStructFieldOmitEmptyInt16 opType = 346 + opStructFieldOmitEmptyInt32 opType = 347 + opStructFieldOmitEmptyInt64 opType = 348 + opStructFieldOmitEmptyUint opType = 349 + opStructFieldOmitEmptyUint8 opType = 350 + opStructFieldOmitEmptyUint16 opType = 351 + opStructFieldOmitEmptyUint32 opType = 352 + opStructFieldOmitEmptyUint64 opType = 353 + opStructFieldOmitEmptyFloat32 opType = 354 + opStructFieldOmitEmptyFloat64 opType = 355 + opStructFieldOmitEmptyBool opType = 356 + opStructFieldOmitEmptyString opType = 357 + opStructFieldOmitEmptyBytes opType = 358 + opStructFieldOmitEmptyArray opType = 359 + opStructFieldOmitEmptyMap opType = 360 + opStructFieldOmitEmptyMapLoad opType = 361 + opStructFieldOmitEmptySlice opType = 362 + opStructFieldOmitEmptyStruct opType = 363 + opStructFieldOmitEmptyMarshalJSON opType = 364 + opStructFieldOmitEmptyMarshalText opType = 365 + opStructFieldStringTagInt opType = 366 + opStructFieldStringTagInt8 opType = 367 + opStructFieldStringTagInt16 opType = 368 + opStructFieldStringTagInt32 opType = 369 + opStructFieldStringTagInt64 opType = 370 + opStructFieldStringTagUint opType = 371 + opStructFieldStringTagUint8 opType = 372 + opStructFieldStringTagUint16 opType = 373 + opStructFieldStringTagUint32 opType = 374 + opStructFieldStringTagUint64 opType = 375 + opStructFieldStringTagFloat32 opType = 376 + opStructFieldStringTagFloat64 opType = 377 + opStructFieldStringTagBool opType = 378 + opStructFieldStringTagString opType = 379 + opStructFieldStringTagBytes opType = 380 + opStructFieldStringTagArray opType = 381 + opStructFieldStringTagMap opType = 382 + opStructFieldStringTagMapLoad opType = 383 + opStructFieldStringTagSlice opType = 384 + opStructFieldStringTagStruct opType = 385 + opStructFieldStringTagMarshalJSON opType = 386 + opStructFieldStringTagMarshalText opType = 387 + opEndIndent opType = 388 + opInterfaceIndent opType = 389 + opPtrIndent opType = 390 + opSliceHeadIndent opType = 391 + opRootSliceHeadIndent opType = 392 + opSliceElemIndent opType = 393 + opRootSliceElemIndent opType = 394 + opSliceEndIndent opType = 395 + opArrayHeadIndent opType = 396 + opArrayElemIndent opType = 397 + opArrayEndIndent opType = 398 + opMapHeadIndent opType = 399 + opMapHeadLoadIndent opType = 400 + opRootMapHeadIndent opType = 401 + opMapKeyIndent opType = 402 + opRootMapKeyIndent opType = 403 + opMapValueIndent opType = 404 + opMapEndIndent opType = 405 + opStructFieldHeadIndent opType = 406 + opStructFieldHeadOmitEmptyIndent opType = 407 + opStructFieldHeadStringTagIndent opType = 408 + opStructFieldAnonymousHeadIndent opType = 409 + opStructFieldAnonymousHeadOmitEmptyIndent opType = 410 + opStructFieldPtrAnonymousHeadOmitEmptyIndent opType = 411 + opStructFieldAnonymousHeadStringTagIndent opType = 412 + opStructFieldPtrAnonymousHeadStringTagIndent opType = 413 + opStructFieldPtrHeadIndent opType = 414 + opStructFieldPtrHeadOmitEmptyIndent opType = 415 + opStructFieldPtrHeadStringTagIndent opType = 416 + opStructFieldPtrAnonymousHeadIndent opType = 417 + opStructFieldIndent opType = 418 + opStructFieldOmitEmptyIndent opType = 419 + opStructFieldStringTagIndent opType = 420 + opStructFieldRecursiveIndent opType = 421 + opStructEndIndent opType = 422 + opStructAnonymousEndIndent opType = 423 + opIntIndent opType = 424 + opInt8Indent opType = 425 + opInt16Indent opType = 426 + opInt32Indent opType = 427 + opInt64Indent opType = 428 + opUintIndent opType = 429 + opUint8Indent opType = 430 + opUint16Indent opType = 431 + opUint32Indent opType = 432 + opUint64Indent opType = 433 + opFloat32Indent opType = 434 + opFloat64Indent opType = 435 + opBoolIndent opType = 436 + opStringIndent opType = 437 + opBytesIndent opType = 438 + opArrayIndent opType = 439 + opMapIndent opType = 440 + opMapLoadIndent opType = 441 + opSliceIndent opType = 442 + opStructIndent opType = 443 + opMarshalJSONIndent opType = 444 + opMarshalTextIndent opType = 445 + opStructFieldHeadIntIndent opType = 446 + opStructFieldHeadInt8Indent opType = 447 + opStructFieldHeadInt16Indent opType = 448 + opStructFieldHeadInt32Indent opType = 449 + opStructFieldHeadInt64Indent opType = 450 + opStructFieldHeadUintIndent opType = 451 + opStructFieldHeadUint8Indent opType = 452 + opStructFieldHeadUint16Indent opType = 453 + opStructFieldHeadUint32Indent opType = 454 + opStructFieldHeadUint64Indent opType = 455 + opStructFieldHeadFloat32Indent opType = 456 + opStructFieldHeadFloat64Indent opType = 457 + opStructFieldHeadBoolIndent opType = 458 + opStructFieldHeadStringIndent opType = 459 + opStructFieldHeadBytesIndent opType = 460 + opStructFieldHeadArrayIndent opType = 461 + opStructFieldHeadMapIndent opType = 462 + opStructFieldHeadMapLoadIndent opType = 463 + opStructFieldHeadSliceIndent opType = 464 + opStructFieldHeadStructIndent opType = 465 + opStructFieldHeadMarshalJSONIndent opType = 466 + opStructFieldHeadMarshalTextIndent opType = 467 + opStructFieldHeadOmitEmptyIntIndent opType = 468 + opStructFieldHeadOmitEmptyInt8Indent opType = 469 + opStructFieldHeadOmitEmptyInt16Indent opType = 470 + opStructFieldHeadOmitEmptyInt32Indent opType = 471 + opStructFieldHeadOmitEmptyInt64Indent opType = 472 + opStructFieldHeadOmitEmptyUintIndent opType = 473 + opStructFieldHeadOmitEmptyUint8Indent opType = 474 + opStructFieldHeadOmitEmptyUint16Indent opType = 475 + opStructFieldHeadOmitEmptyUint32Indent opType = 476 + opStructFieldHeadOmitEmptyUint64Indent opType = 477 + opStructFieldHeadOmitEmptyFloat32Indent opType = 478 + opStructFieldHeadOmitEmptyFloat64Indent opType = 479 + opStructFieldHeadOmitEmptyBoolIndent opType = 480 + opStructFieldHeadOmitEmptyStringIndent opType = 481 + opStructFieldHeadOmitEmptyBytesIndent opType = 482 + opStructFieldHeadOmitEmptyArrayIndent opType = 483 + opStructFieldHeadOmitEmptyMapIndent opType = 484 + opStructFieldHeadOmitEmptyMapLoadIndent opType = 485 + opStructFieldHeadOmitEmptySliceIndent opType = 486 + opStructFieldHeadOmitEmptyStructIndent opType = 487 + opStructFieldHeadOmitEmptyMarshalJSONIndent opType = 488 + opStructFieldHeadOmitEmptyMarshalTextIndent opType = 489 + opStructFieldHeadStringTagIntIndent opType = 490 + opStructFieldHeadStringTagInt8Indent opType = 491 + opStructFieldHeadStringTagInt16Indent opType = 492 + opStructFieldHeadStringTagInt32Indent opType = 493 + opStructFieldHeadStringTagInt64Indent opType = 494 + opStructFieldHeadStringTagUintIndent opType = 495 + opStructFieldHeadStringTagUint8Indent opType = 496 + opStructFieldHeadStringTagUint16Indent opType = 497 + opStructFieldHeadStringTagUint32Indent opType = 498 + opStructFieldHeadStringTagUint64Indent opType = 499 + opStructFieldHeadStringTagFloat32Indent opType = 500 + opStructFieldHeadStringTagFloat64Indent opType = 501 + opStructFieldHeadStringTagBoolIndent opType = 502 + opStructFieldHeadStringTagStringIndent opType = 503 + opStructFieldHeadStringTagBytesIndent opType = 504 + opStructFieldHeadStringTagArrayIndent opType = 505 + opStructFieldHeadStringTagMapIndent opType = 506 + opStructFieldHeadStringTagMapLoadIndent opType = 507 + opStructFieldHeadStringTagSliceIndent opType = 508 + opStructFieldHeadStringTagStructIndent opType = 509 + opStructFieldHeadStringTagMarshalJSONIndent opType = 510 + opStructFieldHeadStringTagMarshalTextIndent opType = 511 + opStructFieldAnonymousHeadIntIndent opType = 512 + opStructFieldAnonymousHeadInt8Indent opType = 513 + opStructFieldAnonymousHeadInt16Indent opType = 514 + opStructFieldAnonymousHeadInt32Indent opType = 515 + opStructFieldAnonymousHeadInt64Indent opType = 516 + opStructFieldAnonymousHeadUintIndent opType = 517 + opStructFieldAnonymousHeadUint8Indent opType = 518 + opStructFieldAnonymousHeadUint16Indent opType = 519 + opStructFieldAnonymousHeadUint32Indent opType = 520 + opStructFieldAnonymousHeadUint64Indent opType = 521 + opStructFieldAnonymousHeadFloat32Indent opType = 522 + opStructFieldAnonymousHeadFloat64Indent opType = 523 + opStructFieldAnonymousHeadBoolIndent opType = 524 + opStructFieldAnonymousHeadStringIndent opType = 525 + opStructFieldAnonymousHeadBytesIndent opType = 526 + opStructFieldAnonymousHeadArrayIndent opType = 527 + opStructFieldAnonymousHeadMapIndent opType = 528 + opStructFieldAnonymousHeadMapLoadIndent opType = 529 + opStructFieldAnonymousHeadSliceIndent opType = 530 + opStructFieldAnonymousHeadStructIndent opType = 531 + opStructFieldAnonymousHeadMarshalJSONIndent opType = 532 + opStructFieldAnonymousHeadMarshalTextIndent opType = 533 + opStructFieldAnonymousHeadOmitEmptyIntIndent opType = 534 + opStructFieldAnonymousHeadOmitEmptyInt8Indent opType = 535 + opStructFieldAnonymousHeadOmitEmptyInt16Indent opType = 536 + opStructFieldAnonymousHeadOmitEmptyInt32Indent opType = 537 + opStructFieldAnonymousHeadOmitEmptyInt64Indent opType = 538 + opStructFieldAnonymousHeadOmitEmptyUintIndent opType = 539 + opStructFieldAnonymousHeadOmitEmptyUint8Indent opType = 540 + opStructFieldAnonymousHeadOmitEmptyUint16Indent opType = 541 + opStructFieldAnonymousHeadOmitEmptyUint32Indent opType = 542 + opStructFieldAnonymousHeadOmitEmptyUint64Indent opType = 543 + opStructFieldAnonymousHeadOmitEmptyFloat32Indent opType = 544 + opStructFieldAnonymousHeadOmitEmptyFloat64Indent opType = 545 + opStructFieldAnonymousHeadOmitEmptyBoolIndent opType = 546 + opStructFieldAnonymousHeadOmitEmptyStringIndent opType = 547 + opStructFieldAnonymousHeadOmitEmptyBytesIndent opType = 548 + opStructFieldAnonymousHeadOmitEmptyArrayIndent opType = 549 + opStructFieldAnonymousHeadOmitEmptyMapIndent opType = 550 + opStructFieldAnonymousHeadOmitEmptyMapLoadIndent opType = 551 + opStructFieldAnonymousHeadOmitEmptySliceIndent opType = 552 + opStructFieldAnonymousHeadOmitEmptyStructIndent opType = 553 + opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent opType = 554 + opStructFieldAnonymousHeadOmitEmptyMarshalTextIndent opType = 555 + opStructFieldAnonymousHeadStringTagIntIndent opType = 556 + opStructFieldAnonymousHeadStringTagInt8Indent opType = 557 + opStructFieldAnonymousHeadStringTagInt16Indent opType = 558 + opStructFieldAnonymousHeadStringTagInt32Indent opType = 559 + opStructFieldAnonymousHeadStringTagInt64Indent opType = 560 + opStructFieldAnonymousHeadStringTagUintIndent opType = 561 + opStructFieldAnonymousHeadStringTagUint8Indent opType = 562 + opStructFieldAnonymousHeadStringTagUint16Indent opType = 563 + opStructFieldAnonymousHeadStringTagUint32Indent opType = 564 + opStructFieldAnonymousHeadStringTagUint64Indent opType = 565 + opStructFieldAnonymousHeadStringTagFloat32Indent opType = 566 + opStructFieldAnonymousHeadStringTagFloat64Indent opType = 567 + opStructFieldAnonymousHeadStringTagBoolIndent opType = 568 + opStructFieldAnonymousHeadStringTagStringIndent opType = 569 + opStructFieldAnonymousHeadStringTagBytesIndent opType = 570 + opStructFieldAnonymousHeadStringTagArrayIndent opType = 571 + opStructFieldAnonymousHeadStringTagMapIndent opType = 572 + opStructFieldAnonymousHeadStringTagMapLoadIndent opType = 573 + opStructFieldAnonymousHeadStringTagSliceIndent opType = 574 + opStructFieldAnonymousHeadStringTagStructIndent opType = 575 + opStructFieldAnonymousHeadStringTagMarshalJSONIndent opType = 576 + opStructFieldAnonymousHeadStringTagMarshalTextIndent opType = 577 + opStructFieldPtrHeadIntIndent opType = 578 + opStructFieldPtrHeadInt8Indent opType = 579 + opStructFieldPtrHeadInt16Indent opType = 580 + opStructFieldPtrHeadInt32Indent opType = 581 + opStructFieldPtrHeadInt64Indent opType = 582 + opStructFieldPtrHeadUintIndent opType = 583 + opStructFieldPtrHeadUint8Indent opType = 584 + opStructFieldPtrHeadUint16Indent opType = 585 + opStructFieldPtrHeadUint32Indent opType = 586 + opStructFieldPtrHeadUint64Indent opType = 587 + opStructFieldPtrHeadFloat32Indent opType = 588 + opStructFieldPtrHeadFloat64Indent opType = 589 + opStructFieldPtrHeadBoolIndent opType = 590 + opStructFieldPtrHeadStringIndent opType = 591 + opStructFieldPtrHeadBytesIndent opType = 592 + opStructFieldPtrHeadArrayIndent opType = 593 + opStructFieldPtrHeadMapIndent opType = 594 + opStructFieldPtrHeadMapLoadIndent opType = 595 + opStructFieldPtrHeadSliceIndent opType = 596 + opStructFieldPtrHeadStructIndent opType = 597 + opStructFieldPtrHeadMarshalJSONIndent opType = 598 + opStructFieldPtrHeadMarshalTextIndent opType = 599 + opStructFieldPtrHeadOmitEmptyIntIndent opType = 600 + opStructFieldPtrHeadOmitEmptyInt8Indent opType = 601 + opStructFieldPtrHeadOmitEmptyInt16Indent opType = 602 + opStructFieldPtrHeadOmitEmptyInt32Indent opType = 603 + opStructFieldPtrHeadOmitEmptyInt64Indent opType = 604 + opStructFieldPtrHeadOmitEmptyUintIndent opType = 605 + opStructFieldPtrHeadOmitEmptyUint8Indent opType = 606 + opStructFieldPtrHeadOmitEmptyUint16Indent opType = 607 + opStructFieldPtrHeadOmitEmptyUint32Indent opType = 608 + opStructFieldPtrHeadOmitEmptyUint64Indent opType = 609 + opStructFieldPtrHeadOmitEmptyFloat32Indent opType = 610 + opStructFieldPtrHeadOmitEmptyFloat64Indent opType = 611 + opStructFieldPtrHeadOmitEmptyBoolIndent opType = 612 + opStructFieldPtrHeadOmitEmptyStringIndent opType = 613 + opStructFieldPtrHeadOmitEmptyBytesIndent opType = 614 + opStructFieldPtrHeadOmitEmptyArrayIndent opType = 615 + opStructFieldPtrHeadOmitEmptyMapIndent opType = 616 + opStructFieldPtrHeadOmitEmptyMapLoadIndent opType = 617 + opStructFieldPtrHeadOmitEmptySliceIndent opType = 618 + opStructFieldPtrHeadOmitEmptyStructIndent opType = 619 + opStructFieldPtrHeadOmitEmptyMarshalJSONIndent opType = 620 + opStructFieldPtrHeadOmitEmptyMarshalTextIndent opType = 621 + opStructFieldPtrHeadStringTagIntIndent opType = 622 + opStructFieldPtrHeadStringTagInt8Indent opType = 623 + opStructFieldPtrHeadStringTagInt16Indent opType = 624 + opStructFieldPtrHeadStringTagInt32Indent opType = 625 + opStructFieldPtrHeadStringTagInt64Indent opType = 626 + opStructFieldPtrHeadStringTagUintIndent opType = 627 + opStructFieldPtrHeadStringTagUint8Indent opType = 628 + opStructFieldPtrHeadStringTagUint16Indent opType = 629 + opStructFieldPtrHeadStringTagUint32Indent opType = 630 + opStructFieldPtrHeadStringTagUint64Indent opType = 631 + opStructFieldPtrHeadStringTagFloat32Indent opType = 632 + opStructFieldPtrHeadStringTagFloat64Indent opType = 633 + opStructFieldPtrHeadStringTagBoolIndent opType = 634 + opStructFieldPtrHeadStringTagStringIndent opType = 635 + opStructFieldPtrHeadStringTagBytesIndent opType = 636 + opStructFieldPtrHeadStringTagArrayIndent opType = 637 + opStructFieldPtrHeadStringTagMapIndent opType = 638 + opStructFieldPtrHeadStringTagMapLoadIndent opType = 639 + opStructFieldPtrHeadStringTagSliceIndent opType = 640 + opStructFieldPtrHeadStringTagStructIndent opType = 641 + opStructFieldPtrHeadStringTagMarshalJSONIndent opType = 642 + opStructFieldPtrHeadStringTagMarshalTextIndent opType = 643 + opStructFieldPtrAnonymousHeadIntIndent opType = 644 + opStructFieldPtrAnonymousHeadInt8Indent opType = 645 + opStructFieldPtrAnonymousHeadInt16Indent opType = 646 + opStructFieldPtrAnonymousHeadInt32Indent opType = 647 + opStructFieldPtrAnonymousHeadInt64Indent opType = 648 + opStructFieldPtrAnonymousHeadUintIndent opType = 649 + opStructFieldPtrAnonymousHeadUint8Indent opType = 650 + opStructFieldPtrAnonymousHeadUint16Indent opType = 651 + opStructFieldPtrAnonymousHeadUint32Indent opType = 652 + opStructFieldPtrAnonymousHeadUint64Indent opType = 653 + opStructFieldPtrAnonymousHeadFloat32Indent opType = 654 + opStructFieldPtrAnonymousHeadFloat64Indent opType = 655 + opStructFieldPtrAnonymousHeadBoolIndent opType = 656 + opStructFieldPtrAnonymousHeadStringIndent opType = 657 + opStructFieldPtrAnonymousHeadBytesIndent opType = 658 + opStructFieldPtrAnonymousHeadArrayIndent opType = 659 + opStructFieldPtrAnonymousHeadMapIndent opType = 660 + opStructFieldPtrAnonymousHeadMapLoadIndent opType = 661 + opStructFieldPtrAnonymousHeadSliceIndent opType = 662 + opStructFieldPtrAnonymousHeadStructIndent opType = 663 + opStructFieldPtrAnonymousHeadMarshalJSONIndent opType = 664 + opStructFieldPtrAnonymousHeadMarshalTextIndent opType = 665 + opStructFieldPtrAnonymousHeadOmitEmptyIntIndent opType = 666 + opStructFieldPtrAnonymousHeadOmitEmptyInt8Indent opType = 667 + opStructFieldPtrAnonymousHeadOmitEmptyInt16Indent opType = 668 + opStructFieldPtrAnonymousHeadOmitEmptyInt32Indent opType = 669 + opStructFieldPtrAnonymousHeadOmitEmptyInt64Indent opType = 670 + opStructFieldPtrAnonymousHeadOmitEmptyUintIndent opType = 671 + opStructFieldPtrAnonymousHeadOmitEmptyUint8Indent opType = 672 + opStructFieldPtrAnonymousHeadOmitEmptyUint16Indent opType = 673 + opStructFieldPtrAnonymousHeadOmitEmptyUint32Indent opType = 674 + opStructFieldPtrAnonymousHeadOmitEmptyUint64Indent opType = 675 + opStructFieldPtrAnonymousHeadOmitEmptyFloat32Indent opType = 676 + opStructFieldPtrAnonymousHeadOmitEmptyFloat64Indent opType = 677 + opStructFieldPtrAnonymousHeadOmitEmptyBoolIndent opType = 678 + opStructFieldPtrAnonymousHeadOmitEmptyStringIndent opType = 679 + opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent opType = 680 + opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent opType = 681 + opStructFieldPtrAnonymousHeadOmitEmptyMapIndent opType = 682 + opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent opType = 683 + opStructFieldPtrAnonymousHeadOmitEmptySliceIndent opType = 684 + opStructFieldPtrAnonymousHeadOmitEmptyStructIndent opType = 685 + opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent opType = 686 + opStructFieldPtrAnonymousHeadOmitEmptyMarshalTextIndent opType = 687 + opStructFieldPtrAnonymousHeadStringTagIntIndent opType = 688 + opStructFieldPtrAnonymousHeadStringTagInt8Indent opType = 689 + opStructFieldPtrAnonymousHeadStringTagInt16Indent opType = 690 + opStructFieldPtrAnonymousHeadStringTagInt32Indent opType = 691 + opStructFieldPtrAnonymousHeadStringTagInt64Indent opType = 692 + opStructFieldPtrAnonymousHeadStringTagUintIndent opType = 693 + opStructFieldPtrAnonymousHeadStringTagUint8Indent opType = 694 + opStructFieldPtrAnonymousHeadStringTagUint16Indent opType = 695 + opStructFieldPtrAnonymousHeadStringTagUint32Indent opType = 696 + opStructFieldPtrAnonymousHeadStringTagUint64Indent opType = 697 + opStructFieldPtrAnonymousHeadStringTagFloat32Indent opType = 698 + opStructFieldPtrAnonymousHeadStringTagFloat64Indent opType = 699 + opStructFieldPtrAnonymousHeadStringTagBoolIndent opType = 700 + opStructFieldPtrAnonymousHeadStringTagStringIndent opType = 701 + opStructFieldPtrAnonymousHeadStringTagBytesIndent opType = 702 + opStructFieldPtrAnonymousHeadStringTagArrayIndent opType = 703 + opStructFieldPtrAnonymousHeadStringTagMapIndent opType = 704 + opStructFieldPtrAnonymousHeadStringTagMapLoadIndent opType = 705 + opStructFieldPtrAnonymousHeadStringTagSliceIndent opType = 706 + opStructFieldPtrAnonymousHeadStringTagStructIndent opType = 707 + opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent opType = 708 + opStructFieldPtrAnonymousHeadStringTagMarshalTextIndent opType = 709 + opStructFieldIntIndent opType = 710 + opStructFieldInt8Indent opType = 711 + opStructFieldInt16Indent opType = 712 + opStructFieldInt32Indent opType = 713 + opStructFieldInt64Indent opType = 714 + opStructFieldUintIndent opType = 715 + opStructFieldUint8Indent opType = 716 + opStructFieldUint16Indent opType = 717 + opStructFieldUint32Indent opType = 718 + opStructFieldUint64Indent opType = 719 + opStructFieldFloat32Indent opType = 720 + opStructFieldFloat64Indent opType = 721 + opStructFieldBoolIndent opType = 722 + opStructFieldStringIndent opType = 723 + opStructFieldBytesIndent opType = 724 + opStructFieldArrayIndent opType = 725 + opStructFieldMapIndent opType = 726 + opStructFieldMapLoadIndent opType = 727 + opStructFieldSliceIndent opType = 728 + opStructFieldStructIndent opType = 729 + opStructFieldMarshalJSONIndent opType = 730 + opStructFieldMarshalTextIndent opType = 731 + opStructFieldOmitEmptyIntIndent opType = 732 + opStructFieldOmitEmptyInt8Indent opType = 733 + opStructFieldOmitEmptyInt16Indent opType = 734 + opStructFieldOmitEmptyInt32Indent opType = 735 + opStructFieldOmitEmptyInt64Indent opType = 736 + opStructFieldOmitEmptyUintIndent opType = 737 + opStructFieldOmitEmptyUint8Indent opType = 738 + opStructFieldOmitEmptyUint16Indent opType = 739 + opStructFieldOmitEmptyUint32Indent opType = 740 + opStructFieldOmitEmptyUint64Indent opType = 741 + opStructFieldOmitEmptyFloat32Indent opType = 742 + opStructFieldOmitEmptyFloat64Indent opType = 743 + opStructFieldOmitEmptyBoolIndent opType = 744 + opStructFieldOmitEmptyStringIndent opType = 745 + opStructFieldOmitEmptyBytesIndent opType = 746 + opStructFieldOmitEmptyArrayIndent opType = 747 + opStructFieldOmitEmptyMapIndent opType = 748 + opStructFieldOmitEmptyMapLoadIndent opType = 749 + opStructFieldOmitEmptySliceIndent opType = 750 + opStructFieldOmitEmptyStructIndent opType = 751 + opStructFieldOmitEmptyMarshalJSONIndent opType = 752 + opStructFieldOmitEmptyMarshalTextIndent opType = 753 + opStructFieldStringTagIntIndent opType = 754 + opStructFieldStringTagInt8Indent opType = 755 + opStructFieldStringTagInt16Indent opType = 756 + opStructFieldStringTagInt32Indent opType = 757 + opStructFieldStringTagInt64Indent opType = 758 + opStructFieldStringTagUintIndent opType = 759 + opStructFieldStringTagUint8Indent opType = 760 + opStructFieldStringTagUint16Indent opType = 761 + opStructFieldStringTagUint32Indent opType = 762 + opStructFieldStringTagUint64Indent opType = 763 + opStructFieldStringTagFloat32Indent opType = 764 + opStructFieldStringTagFloat64Indent opType = 765 + opStructFieldStringTagBoolIndent opType = 766 + opStructFieldStringTagStringIndent opType = 767 + opStructFieldStringTagBytesIndent opType = 768 + opStructFieldStringTagArrayIndent opType = 769 + opStructFieldStringTagMapIndent opType = 770 + opStructFieldStringTagMapLoadIndent opType = 771 + opStructFieldStringTagSliceIndent opType = 772 + opStructFieldStringTagStructIndent opType = 773 + opStructFieldStringTagMarshalJSONIndent opType = 774 + opStructFieldStringTagMarshalTextIndent opType = 775 ) func (t opType) String() string { @@ -741,6 +901,16 @@ func (t opType) String() string { return "String" case opBytes: return "Bytes" + case opArray: + return "Array" + case opMap: + return "Map" + case opMapLoad: + return "MapLoad" + case opSlice: + return "Slice" + case opStruct: + return "Struct" case opMarshalJSON: return "MarshalJSON" case opMarshalText: @@ -775,6 +945,16 @@ func (t opType) String() string { return "StructFieldHeadString" case opStructFieldHeadBytes: return "StructFieldHeadBytes" + case opStructFieldHeadArray: + return "StructFieldHeadArray" + case opStructFieldHeadMap: + return "StructFieldHeadMap" + case opStructFieldHeadMapLoad: + return "StructFieldHeadMapLoad" + case opStructFieldHeadSlice: + return "StructFieldHeadSlice" + case opStructFieldHeadStruct: + return "StructFieldHeadStruct" case opStructFieldHeadMarshalJSON: return "StructFieldHeadMarshalJSON" case opStructFieldHeadMarshalText: @@ -809,6 +989,16 @@ func (t opType) String() string { return "StructFieldHeadOmitEmptyString" case opStructFieldHeadOmitEmptyBytes: return "StructFieldHeadOmitEmptyBytes" + case opStructFieldHeadOmitEmptyArray: + return "StructFieldHeadOmitEmptyArray" + case opStructFieldHeadOmitEmptyMap: + return "StructFieldHeadOmitEmptyMap" + case opStructFieldHeadOmitEmptyMapLoad: + return "StructFieldHeadOmitEmptyMapLoad" + case opStructFieldHeadOmitEmptySlice: + return "StructFieldHeadOmitEmptySlice" + case opStructFieldHeadOmitEmptyStruct: + return "StructFieldHeadOmitEmptyStruct" case opStructFieldHeadOmitEmptyMarshalJSON: return "StructFieldHeadOmitEmptyMarshalJSON" case opStructFieldHeadOmitEmptyMarshalText: @@ -843,6 +1033,16 @@ func (t opType) String() string { return "StructFieldHeadStringTagString" case opStructFieldHeadStringTagBytes: return "StructFieldHeadStringTagBytes" + case opStructFieldHeadStringTagArray: + return "StructFieldHeadStringTagArray" + case opStructFieldHeadStringTagMap: + return "StructFieldHeadStringTagMap" + case opStructFieldHeadStringTagMapLoad: + return "StructFieldHeadStringTagMapLoad" + case opStructFieldHeadStringTagSlice: + return "StructFieldHeadStringTagSlice" + case opStructFieldHeadStringTagStruct: + return "StructFieldHeadStringTagStruct" case opStructFieldHeadStringTagMarshalJSON: return "StructFieldHeadStringTagMarshalJSON" case opStructFieldHeadStringTagMarshalText: @@ -877,6 +1077,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadString" case opStructFieldAnonymousHeadBytes: return "StructFieldAnonymousHeadBytes" + case opStructFieldAnonymousHeadArray: + return "StructFieldAnonymousHeadArray" + case opStructFieldAnonymousHeadMap: + return "StructFieldAnonymousHeadMap" + case opStructFieldAnonymousHeadMapLoad: + return "StructFieldAnonymousHeadMapLoad" + case opStructFieldAnonymousHeadSlice: + return "StructFieldAnonymousHeadSlice" + case opStructFieldAnonymousHeadStruct: + return "StructFieldAnonymousHeadStruct" case opStructFieldAnonymousHeadMarshalJSON: return "StructFieldAnonymousHeadMarshalJSON" case opStructFieldAnonymousHeadMarshalText: @@ -911,6 +1121,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadOmitEmptyString" case opStructFieldAnonymousHeadOmitEmptyBytes: return "StructFieldAnonymousHeadOmitEmptyBytes" + case opStructFieldAnonymousHeadOmitEmptyArray: + return "StructFieldAnonymousHeadOmitEmptyArray" + case opStructFieldAnonymousHeadOmitEmptyMap: + return "StructFieldAnonymousHeadOmitEmptyMap" + case opStructFieldAnonymousHeadOmitEmptyMapLoad: + return "StructFieldAnonymousHeadOmitEmptyMapLoad" + case opStructFieldAnonymousHeadOmitEmptySlice: + return "StructFieldAnonymousHeadOmitEmptySlice" + case opStructFieldAnonymousHeadOmitEmptyStruct: + return "StructFieldAnonymousHeadOmitEmptyStruct" case opStructFieldAnonymousHeadOmitEmptyMarshalJSON: return "StructFieldAnonymousHeadOmitEmptyMarshalJSON" case opStructFieldAnonymousHeadOmitEmptyMarshalText: @@ -945,6 +1165,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadStringTagString" case opStructFieldAnonymousHeadStringTagBytes: return "StructFieldAnonymousHeadStringTagBytes" + case opStructFieldAnonymousHeadStringTagArray: + return "StructFieldAnonymousHeadStringTagArray" + case opStructFieldAnonymousHeadStringTagMap: + return "StructFieldAnonymousHeadStringTagMap" + case opStructFieldAnonymousHeadStringTagMapLoad: + return "StructFieldAnonymousHeadStringTagMapLoad" + case opStructFieldAnonymousHeadStringTagSlice: + return "StructFieldAnonymousHeadStringTagSlice" + case opStructFieldAnonymousHeadStringTagStruct: + return "StructFieldAnonymousHeadStringTagStruct" case opStructFieldAnonymousHeadStringTagMarshalJSON: return "StructFieldAnonymousHeadStringTagMarshalJSON" case opStructFieldAnonymousHeadStringTagMarshalText: @@ -979,6 +1209,16 @@ func (t opType) String() string { return "StructFieldPtrHeadString" case opStructFieldPtrHeadBytes: return "StructFieldPtrHeadBytes" + case opStructFieldPtrHeadArray: + return "StructFieldPtrHeadArray" + case opStructFieldPtrHeadMap: + return "StructFieldPtrHeadMap" + case opStructFieldPtrHeadMapLoad: + return "StructFieldPtrHeadMapLoad" + case opStructFieldPtrHeadSlice: + return "StructFieldPtrHeadSlice" + case opStructFieldPtrHeadStruct: + return "StructFieldPtrHeadStruct" case opStructFieldPtrHeadMarshalJSON: return "StructFieldPtrHeadMarshalJSON" case opStructFieldPtrHeadMarshalText: @@ -1013,6 +1253,16 @@ func (t opType) String() string { return "StructFieldPtrHeadOmitEmptyString" case opStructFieldPtrHeadOmitEmptyBytes: return "StructFieldPtrHeadOmitEmptyBytes" + case opStructFieldPtrHeadOmitEmptyArray: + return "StructFieldPtrHeadOmitEmptyArray" + case opStructFieldPtrHeadOmitEmptyMap: + return "StructFieldPtrHeadOmitEmptyMap" + case opStructFieldPtrHeadOmitEmptyMapLoad: + return "StructFieldPtrHeadOmitEmptyMapLoad" + case opStructFieldPtrHeadOmitEmptySlice: + return "StructFieldPtrHeadOmitEmptySlice" + case opStructFieldPtrHeadOmitEmptyStruct: + return "StructFieldPtrHeadOmitEmptyStruct" case opStructFieldPtrHeadOmitEmptyMarshalJSON: return "StructFieldPtrHeadOmitEmptyMarshalJSON" case opStructFieldPtrHeadOmitEmptyMarshalText: @@ -1047,6 +1297,16 @@ func (t opType) String() string { return "StructFieldPtrHeadStringTagString" case opStructFieldPtrHeadStringTagBytes: return "StructFieldPtrHeadStringTagBytes" + case opStructFieldPtrHeadStringTagArray: + return "StructFieldPtrHeadStringTagArray" + case opStructFieldPtrHeadStringTagMap: + return "StructFieldPtrHeadStringTagMap" + case opStructFieldPtrHeadStringTagMapLoad: + return "StructFieldPtrHeadStringTagMapLoad" + case opStructFieldPtrHeadStringTagSlice: + return "StructFieldPtrHeadStringTagSlice" + case opStructFieldPtrHeadStringTagStruct: + return "StructFieldPtrHeadStringTagStruct" case opStructFieldPtrHeadStringTagMarshalJSON: return "StructFieldPtrHeadStringTagMarshalJSON" case opStructFieldPtrHeadStringTagMarshalText: @@ -1081,6 +1341,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadString" case opStructFieldPtrAnonymousHeadBytes: return "StructFieldPtrAnonymousHeadBytes" + case opStructFieldPtrAnonymousHeadArray: + return "StructFieldPtrAnonymousHeadArray" + case opStructFieldPtrAnonymousHeadMap: + return "StructFieldPtrAnonymousHeadMap" + case opStructFieldPtrAnonymousHeadMapLoad: + return "StructFieldPtrAnonymousHeadMapLoad" + case opStructFieldPtrAnonymousHeadSlice: + return "StructFieldPtrAnonymousHeadSlice" + case opStructFieldPtrAnonymousHeadStruct: + return "StructFieldPtrAnonymousHeadStruct" case opStructFieldPtrAnonymousHeadMarshalJSON: return "StructFieldPtrAnonymousHeadMarshalJSON" case opStructFieldPtrAnonymousHeadMarshalText: @@ -1115,6 +1385,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadOmitEmptyString" case opStructFieldPtrAnonymousHeadOmitEmptyBytes: return "StructFieldPtrAnonymousHeadOmitEmptyBytes" + case opStructFieldPtrAnonymousHeadOmitEmptyArray: + return "StructFieldPtrAnonymousHeadOmitEmptyArray" + case opStructFieldPtrAnonymousHeadOmitEmptyMap: + return "StructFieldPtrAnonymousHeadOmitEmptyMap" + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoad: + return "StructFieldPtrAnonymousHeadOmitEmptyMapLoad" + case opStructFieldPtrAnonymousHeadOmitEmptySlice: + return "StructFieldPtrAnonymousHeadOmitEmptySlice" + case opStructFieldPtrAnonymousHeadOmitEmptyStruct: + return "StructFieldPtrAnonymousHeadOmitEmptyStruct" case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSON: return "StructFieldPtrAnonymousHeadOmitEmptyMarshalJSON" case opStructFieldPtrAnonymousHeadOmitEmptyMarshalText: @@ -1149,6 +1429,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadStringTagString" case opStructFieldPtrAnonymousHeadStringTagBytes: return "StructFieldPtrAnonymousHeadStringTagBytes" + case opStructFieldPtrAnonymousHeadStringTagArray: + return "StructFieldPtrAnonymousHeadStringTagArray" + case opStructFieldPtrAnonymousHeadStringTagMap: + return "StructFieldPtrAnonymousHeadStringTagMap" + case opStructFieldPtrAnonymousHeadStringTagMapLoad: + return "StructFieldPtrAnonymousHeadStringTagMapLoad" + case opStructFieldPtrAnonymousHeadStringTagSlice: + return "StructFieldPtrAnonymousHeadStringTagSlice" + case opStructFieldPtrAnonymousHeadStringTagStruct: + return "StructFieldPtrAnonymousHeadStringTagStruct" case opStructFieldPtrAnonymousHeadStringTagMarshalJSON: return "StructFieldPtrAnonymousHeadStringTagMarshalJSON" case opStructFieldPtrAnonymousHeadStringTagMarshalText: @@ -1183,6 +1473,16 @@ func (t opType) String() string { return "StructFieldString" case opStructFieldBytes: return "StructFieldBytes" + case opStructFieldArray: + return "StructFieldArray" + case opStructFieldMap: + return "StructFieldMap" + case opStructFieldMapLoad: + return "StructFieldMapLoad" + case opStructFieldSlice: + return "StructFieldSlice" + case opStructFieldStruct: + return "StructFieldStruct" case opStructFieldMarshalJSON: return "StructFieldMarshalJSON" case opStructFieldMarshalText: @@ -1217,6 +1517,16 @@ func (t opType) String() string { return "StructFieldOmitEmptyString" case opStructFieldOmitEmptyBytes: return "StructFieldOmitEmptyBytes" + case opStructFieldOmitEmptyArray: + return "StructFieldOmitEmptyArray" + case opStructFieldOmitEmptyMap: + return "StructFieldOmitEmptyMap" + case opStructFieldOmitEmptyMapLoad: + return "StructFieldOmitEmptyMapLoad" + case opStructFieldOmitEmptySlice: + return "StructFieldOmitEmptySlice" + case opStructFieldOmitEmptyStruct: + return "StructFieldOmitEmptyStruct" case opStructFieldOmitEmptyMarshalJSON: return "StructFieldOmitEmptyMarshalJSON" case opStructFieldOmitEmptyMarshalText: @@ -1251,6 +1561,16 @@ func (t opType) String() string { return "StructFieldStringTagString" case opStructFieldStringTagBytes: return "StructFieldStringTagBytes" + case opStructFieldStringTagArray: + return "StructFieldStringTagArray" + case opStructFieldStringTagMap: + return "StructFieldStringTagMap" + case opStructFieldStringTagMapLoad: + return "StructFieldStringTagMapLoad" + case opStructFieldStringTagSlice: + return "StructFieldStringTagSlice" + case opStructFieldStringTagStruct: + return "StructFieldStringTagStruct" case opStructFieldStringTagMarshalJSON: return "StructFieldStringTagMarshalJSON" case opStructFieldStringTagMarshalText: @@ -1357,6 +1677,16 @@ func (t opType) String() string { return "StringIndent" case opBytesIndent: return "BytesIndent" + case opArrayIndent: + return "ArrayIndent" + case opMapIndent: + return "MapIndent" + case opMapLoadIndent: + return "MapLoadIndent" + case opSliceIndent: + return "SliceIndent" + case opStructIndent: + return "StructIndent" case opMarshalJSONIndent: return "MarshalJSONIndent" case opMarshalTextIndent: @@ -1391,6 +1721,16 @@ func (t opType) String() string { return "StructFieldHeadStringIndent" case opStructFieldHeadBytesIndent: return "StructFieldHeadBytesIndent" + case opStructFieldHeadArrayIndent: + return "StructFieldHeadArrayIndent" + case opStructFieldHeadMapIndent: + return "StructFieldHeadMapIndent" + case opStructFieldHeadMapLoadIndent: + return "StructFieldHeadMapLoadIndent" + case opStructFieldHeadSliceIndent: + return "StructFieldHeadSliceIndent" + case opStructFieldHeadStructIndent: + return "StructFieldHeadStructIndent" case opStructFieldHeadMarshalJSONIndent: return "StructFieldHeadMarshalJSONIndent" case opStructFieldHeadMarshalTextIndent: @@ -1425,6 +1765,16 @@ func (t opType) String() string { return "StructFieldHeadOmitEmptyStringIndent" case opStructFieldHeadOmitEmptyBytesIndent: return "StructFieldHeadOmitEmptyBytesIndent" + case opStructFieldHeadOmitEmptyArrayIndent: + return "StructFieldHeadOmitEmptyArrayIndent" + case opStructFieldHeadOmitEmptyMapIndent: + return "StructFieldHeadOmitEmptyMapIndent" + case opStructFieldHeadOmitEmptyMapLoadIndent: + return "StructFieldHeadOmitEmptyMapLoadIndent" + case opStructFieldHeadOmitEmptySliceIndent: + return "StructFieldHeadOmitEmptySliceIndent" + case opStructFieldHeadOmitEmptyStructIndent: + return "StructFieldHeadOmitEmptyStructIndent" case opStructFieldHeadOmitEmptyMarshalJSONIndent: return "StructFieldHeadOmitEmptyMarshalJSONIndent" case opStructFieldHeadOmitEmptyMarshalTextIndent: @@ -1459,6 +1809,16 @@ func (t opType) String() string { return "StructFieldHeadStringTagStringIndent" case opStructFieldHeadStringTagBytesIndent: return "StructFieldHeadStringTagBytesIndent" + case opStructFieldHeadStringTagArrayIndent: + return "StructFieldHeadStringTagArrayIndent" + case opStructFieldHeadStringTagMapIndent: + return "StructFieldHeadStringTagMapIndent" + case opStructFieldHeadStringTagMapLoadIndent: + return "StructFieldHeadStringTagMapLoadIndent" + case opStructFieldHeadStringTagSliceIndent: + return "StructFieldHeadStringTagSliceIndent" + case opStructFieldHeadStringTagStructIndent: + return "StructFieldHeadStringTagStructIndent" case opStructFieldHeadStringTagMarshalJSONIndent: return "StructFieldHeadStringTagMarshalJSONIndent" case opStructFieldHeadStringTagMarshalTextIndent: @@ -1493,6 +1853,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadStringIndent" case opStructFieldAnonymousHeadBytesIndent: return "StructFieldAnonymousHeadBytesIndent" + case opStructFieldAnonymousHeadArrayIndent: + return "StructFieldAnonymousHeadArrayIndent" + case opStructFieldAnonymousHeadMapIndent: + return "StructFieldAnonymousHeadMapIndent" + case opStructFieldAnonymousHeadMapLoadIndent: + return "StructFieldAnonymousHeadMapLoadIndent" + case opStructFieldAnonymousHeadSliceIndent: + return "StructFieldAnonymousHeadSliceIndent" + case opStructFieldAnonymousHeadStructIndent: + return "StructFieldAnonymousHeadStructIndent" case opStructFieldAnonymousHeadMarshalJSONIndent: return "StructFieldAnonymousHeadMarshalJSONIndent" case opStructFieldAnonymousHeadMarshalTextIndent: @@ -1527,6 +1897,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadOmitEmptyStringIndent" case opStructFieldAnonymousHeadOmitEmptyBytesIndent: return "StructFieldAnonymousHeadOmitEmptyBytesIndent" + case opStructFieldAnonymousHeadOmitEmptyArrayIndent: + return "StructFieldAnonymousHeadOmitEmptyArrayIndent" + case opStructFieldAnonymousHeadOmitEmptyMapIndent: + return "StructFieldAnonymousHeadOmitEmptyMapIndent" + case opStructFieldAnonymousHeadOmitEmptyMapLoadIndent: + return "StructFieldAnonymousHeadOmitEmptyMapLoadIndent" + case opStructFieldAnonymousHeadOmitEmptySliceIndent: + return "StructFieldAnonymousHeadOmitEmptySliceIndent" + case opStructFieldAnonymousHeadOmitEmptyStructIndent: + return "StructFieldAnonymousHeadOmitEmptyStructIndent" case opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent: return "StructFieldAnonymousHeadOmitEmptyMarshalJSONIndent" case opStructFieldAnonymousHeadOmitEmptyMarshalTextIndent: @@ -1561,6 +1941,16 @@ func (t opType) String() string { return "StructFieldAnonymousHeadStringTagStringIndent" case opStructFieldAnonymousHeadStringTagBytesIndent: return "StructFieldAnonymousHeadStringTagBytesIndent" + case opStructFieldAnonymousHeadStringTagArrayIndent: + return "StructFieldAnonymousHeadStringTagArrayIndent" + case opStructFieldAnonymousHeadStringTagMapIndent: + return "StructFieldAnonymousHeadStringTagMapIndent" + case opStructFieldAnonymousHeadStringTagMapLoadIndent: + return "StructFieldAnonymousHeadStringTagMapLoadIndent" + case opStructFieldAnonymousHeadStringTagSliceIndent: + return "StructFieldAnonymousHeadStringTagSliceIndent" + case opStructFieldAnonymousHeadStringTagStructIndent: + return "StructFieldAnonymousHeadStringTagStructIndent" case opStructFieldAnonymousHeadStringTagMarshalJSONIndent: return "StructFieldAnonymousHeadStringTagMarshalJSONIndent" case opStructFieldAnonymousHeadStringTagMarshalTextIndent: @@ -1595,6 +1985,16 @@ func (t opType) String() string { return "StructFieldPtrHeadStringIndent" case opStructFieldPtrHeadBytesIndent: return "StructFieldPtrHeadBytesIndent" + case opStructFieldPtrHeadArrayIndent: + return "StructFieldPtrHeadArrayIndent" + case opStructFieldPtrHeadMapIndent: + return "StructFieldPtrHeadMapIndent" + case opStructFieldPtrHeadMapLoadIndent: + return "StructFieldPtrHeadMapLoadIndent" + case opStructFieldPtrHeadSliceIndent: + return "StructFieldPtrHeadSliceIndent" + case opStructFieldPtrHeadStructIndent: + return "StructFieldPtrHeadStructIndent" case opStructFieldPtrHeadMarshalJSONIndent: return "StructFieldPtrHeadMarshalJSONIndent" case opStructFieldPtrHeadMarshalTextIndent: @@ -1629,6 +2029,16 @@ func (t opType) String() string { return "StructFieldPtrHeadOmitEmptyStringIndent" case opStructFieldPtrHeadOmitEmptyBytesIndent: return "StructFieldPtrHeadOmitEmptyBytesIndent" + case opStructFieldPtrHeadOmitEmptyArrayIndent: + return "StructFieldPtrHeadOmitEmptyArrayIndent" + case opStructFieldPtrHeadOmitEmptyMapIndent: + return "StructFieldPtrHeadOmitEmptyMapIndent" + case opStructFieldPtrHeadOmitEmptyMapLoadIndent: + return "StructFieldPtrHeadOmitEmptyMapLoadIndent" + case opStructFieldPtrHeadOmitEmptySliceIndent: + return "StructFieldPtrHeadOmitEmptySliceIndent" + case opStructFieldPtrHeadOmitEmptyStructIndent: + return "StructFieldPtrHeadOmitEmptyStructIndent" case opStructFieldPtrHeadOmitEmptyMarshalJSONIndent: return "StructFieldPtrHeadOmitEmptyMarshalJSONIndent" case opStructFieldPtrHeadOmitEmptyMarshalTextIndent: @@ -1663,6 +2073,16 @@ func (t opType) String() string { return "StructFieldPtrHeadStringTagStringIndent" case opStructFieldPtrHeadStringTagBytesIndent: return "StructFieldPtrHeadStringTagBytesIndent" + case opStructFieldPtrHeadStringTagArrayIndent: + return "StructFieldPtrHeadStringTagArrayIndent" + case opStructFieldPtrHeadStringTagMapIndent: + return "StructFieldPtrHeadStringTagMapIndent" + case opStructFieldPtrHeadStringTagMapLoadIndent: + return "StructFieldPtrHeadStringTagMapLoadIndent" + case opStructFieldPtrHeadStringTagSliceIndent: + return "StructFieldPtrHeadStringTagSliceIndent" + case opStructFieldPtrHeadStringTagStructIndent: + return "StructFieldPtrHeadStringTagStructIndent" case opStructFieldPtrHeadStringTagMarshalJSONIndent: return "StructFieldPtrHeadStringTagMarshalJSONIndent" case opStructFieldPtrHeadStringTagMarshalTextIndent: @@ -1697,6 +2117,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadStringIndent" case opStructFieldPtrAnonymousHeadBytesIndent: return "StructFieldPtrAnonymousHeadBytesIndent" + case opStructFieldPtrAnonymousHeadArrayIndent: + return "StructFieldPtrAnonymousHeadArrayIndent" + case opStructFieldPtrAnonymousHeadMapIndent: + return "StructFieldPtrAnonymousHeadMapIndent" + case opStructFieldPtrAnonymousHeadMapLoadIndent: + return "StructFieldPtrAnonymousHeadMapLoadIndent" + case opStructFieldPtrAnonymousHeadSliceIndent: + return "StructFieldPtrAnonymousHeadSliceIndent" + case opStructFieldPtrAnonymousHeadStructIndent: + return "StructFieldPtrAnonymousHeadStructIndent" case opStructFieldPtrAnonymousHeadMarshalJSONIndent: return "StructFieldPtrAnonymousHeadMarshalJSONIndent" case opStructFieldPtrAnonymousHeadMarshalTextIndent: @@ -1731,6 +2161,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadOmitEmptyStringIndent" case opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent: return "StructFieldPtrAnonymousHeadOmitEmptyBytesIndent" + case opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent: + return "StructFieldPtrAnonymousHeadOmitEmptyArrayIndent" + case opStructFieldPtrAnonymousHeadOmitEmptyMapIndent: + return "StructFieldPtrAnonymousHeadOmitEmptyMapIndent" + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent: + return "StructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent" + case opStructFieldPtrAnonymousHeadOmitEmptySliceIndent: + return "StructFieldPtrAnonymousHeadOmitEmptySliceIndent" + case opStructFieldPtrAnonymousHeadOmitEmptyStructIndent: + return "StructFieldPtrAnonymousHeadOmitEmptyStructIndent" case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent: return "StructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent" case opStructFieldPtrAnonymousHeadOmitEmptyMarshalTextIndent: @@ -1765,6 +2205,16 @@ func (t opType) String() string { return "StructFieldPtrAnonymousHeadStringTagStringIndent" case opStructFieldPtrAnonymousHeadStringTagBytesIndent: return "StructFieldPtrAnonymousHeadStringTagBytesIndent" + case opStructFieldPtrAnonymousHeadStringTagArrayIndent: + return "StructFieldPtrAnonymousHeadStringTagArrayIndent" + case opStructFieldPtrAnonymousHeadStringTagMapIndent: + return "StructFieldPtrAnonymousHeadStringTagMapIndent" + case opStructFieldPtrAnonymousHeadStringTagMapLoadIndent: + return "StructFieldPtrAnonymousHeadStringTagMapLoadIndent" + case opStructFieldPtrAnonymousHeadStringTagSliceIndent: + return "StructFieldPtrAnonymousHeadStringTagSliceIndent" + case opStructFieldPtrAnonymousHeadStringTagStructIndent: + return "StructFieldPtrAnonymousHeadStringTagStructIndent" case opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent: return "StructFieldPtrAnonymousHeadStringTagMarshalJSONIndent" case opStructFieldPtrAnonymousHeadStringTagMarshalTextIndent: @@ -1799,6 +2249,16 @@ func (t opType) String() string { return "StructFieldStringIndent" case opStructFieldBytesIndent: return "StructFieldBytesIndent" + case opStructFieldArrayIndent: + return "StructFieldArrayIndent" + case opStructFieldMapIndent: + return "StructFieldMapIndent" + case opStructFieldMapLoadIndent: + return "StructFieldMapLoadIndent" + case opStructFieldSliceIndent: + return "StructFieldSliceIndent" + case opStructFieldStructIndent: + return "StructFieldStructIndent" case opStructFieldMarshalJSONIndent: return "StructFieldMarshalJSONIndent" case opStructFieldMarshalTextIndent: @@ -1833,6 +2293,16 @@ func (t opType) String() string { return "StructFieldOmitEmptyStringIndent" case opStructFieldOmitEmptyBytesIndent: return "StructFieldOmitEmptyBytesIndent" + case opStructFieldOmitEmptyArrayIndent: + return "StructFieldOmitEmptyArrayIndent" + case opStructFieldOmitEmptyMapIndent: + return "StructFieldOmitEmptyMapIndent" + case opStructFieldOmitEmptyMapLoadIndent: + return "StructFieldOmitEmptyMapLoadIndent" + case opStructFieldOmitEmptySliceIndent: + return "StructFieldOmitEmptySliceIndent" + case opStructFieldOmitEmptyStructIndent: + return "StructFieldOmitEmptyStructIndent" case opStructFieldOmitEmptyMarshalJSONIndent: return "StructFieldOmitEmptyMarshalJSONIndent" case opStructFieldOmitEmptyMarshalTextIndent: @@ -1867,6 +2337,16 @@ func (t opType) String() string { return "StructFieldStringTagStringIndent" case opStructFieldStringTagBytesIndent: return "StructFieldStringTagBytesIndent" + case opStructFieldStringTagArrayIndent: + return "StructFieldStringTagArrayIndent" + case opStructFieldStringTagMapIndent: + return "StructFieldStringTagMapIndent" + case opStructFieldStringTagMapLoadIndent: + return "StructFieldStringTagMapLoadIndent" + case opStructFieldStringTagSliceIndent: + return "StructFieldStringTagSliceIndent" + case opStructFieldStringTagStructIndent: + return "StructFieldStringTagStructIndent" case opStructFieldStringTagMarshalJSONIndent: return "StructFieldStringTagMarshalJSONIndent" case opStructFieldStringTagMarshalTextIndent: @@ -1979,6 +2459,16 @@ func (t opType) codeType() codeType { return codeOp case opBytes: return codeOp + case opArray: + return codeOp + case opMap: + return codeOp + case opMapLoad: + return codeOp + case opSlice: + return codeOp + case opStruct: + return codeOp case opMarshalJSON: return codeOp case opMarshalText: @@ -2013,6 +2503,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadBytes: return codeStructField + case opStructFieldHeadArray: + return codeStructField + case opStructFieldHeadMap: + return codeStructField + case opStructFieldHeadMapLoad: + return codeStructField + case opStructFieldHeadSlice: + return codeStructField + case opStructFieldHeadStruct: + return codeStructField case opStructFieldHeadMarshalJSON: return codeStructField case opStructFieldHeadMarshalText: @@ -2047,6 +2547,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadOmitEmptyBytes: return codeStructField + case opStructFieldHeadOmitEmptyArray: + return codeStructField + case opStructFieldHeadOmitEmptyMap: + return codeStructField + case opStructFieldHeadOmitEmptyMapLoad: + return codeStructField + case opStructFieldHeadOmitEmptySlice: + return codeStructField + case opStructFieldHeadOmitEmptyStruct: + return codeStructField case opStructFieldHeadOmitEmptyMarshalJSON: return codeStructField case opStructFieldHeadOmitEmptyMarshalText: @@ -2081,6 +2591,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadStringTagBytes: return codeStructField + case opStructFieldHeadStringTagArray: + return codeStructField + case opStructFieldHeadStringTagMap: + return codeStructField + case opStructFieldHeadStringTagMapLoad: + return codeStructField + case opStructFieldHeadStringTagSlice: + return codeStructField + case opStructFieldHeadStringTagStruct: + return codeStructField case opStructFieldHeadStringTagMarshalJSON: return codeStructField case opStructFieldHeadStringTagMarshalText: @@ -2115,6 +2635,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadBytes: return codeStructField + case opStructFieldAnonymousHeadArray: + return codeStructField + case opStructFieldAnonymousHeadMap: + return codeStructField + case opStructFieldAnonymousHeadMapLoad: + return codeStructField + case opStructFieldAnonymousHeadSlice: + return codeStructField + case opStructFieldAnonymousHeadStruct: + return codeStructField case opStructFieldAnonymousHeadMarshalJSON: return codeStructField case opStructFieldAnonymousHeadMarshalText: @@ -2149,6 +2679,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadOmitEmptyBytes: return codeStructField + case opStructFieldAnonymousHeadOmitEmptyArray: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyMap: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyMapLoad: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptySlice: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyStruct: + return codeStructField case opStructFieldAnonymousHeadOmitEmptyMarshalJSON: return codeStructField case opStructFieldAnonymousHeadOmitEmptyMarshalText: @@ -2183,6 +2723,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadStringTagBytes: return codeStructField + case opStructFieldAnonymousHeadStringTagArray: + return codeStructField + case opStructFieldAnonymousHeadStringTagMap: + return codeStructField + case opStructFieldAnonymousHeadStringTagMapLoad: + return codeStructField + case opStructFieldAnonymousHeadStringTagSlice: + return codeStructField + case opStructFieldAnonymousHeadStringTagStruct: + return codeStructField case opStructFieldAnonymousHeadStringTagMarshalJSON: return codeStructField case opStructFieldAnonymousHeadStringTagMarshalText: @@ -2217,6 +2767,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadBytes: return codeStructField + case opStructFieldPtrHeadArray: + return codeStructField + case opStructFieldPtrHeadMap: + return codeStructField + case opStructFieldPtrHeadMapLoad: + return codeStructField + case opStructFieldPtrHeadSlice: + return codeStructField + case opStructFieldPtrHeadStruct: + return codeStructField case opStructFieldPtrHeadMarshalJSON: return codeStructField case opStructFieldPtrHeadMarshalText: @@ -2251,6 +2811,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadOmitEmptyBytes: return codeStructField + case opStructFieldPtrHeadOmitEmptyArray: + return codeStructField + case opStructFieldPtrHeadOmitEmptyMap: + return codeStructField + case opStructFieldPtrHeadOmitEmptyMapLoad: + return codeStructField + case opStructFieldPtrHeadOmitEmptySlice: + return codeStructField + case opStructFieldPtrHeadOmitEmptyStruct: + return codeStructField case opStructFieldPtrHeadOmitEmptyMarshalJSON: return codeStructField case opStructFieldPtrHeadOmitEmptyMarshalText: @@ -2285,6 +2855,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadStringTagBytes: return codeStructField + case opStructFieldPtrHeadStringTagArray: + return codeStructField + case opStructFieldPtrHeadStringTagMap: + return codeStructField + case opStructFieldPtrHeadStringTagMapLoad: + return codeStructField + case opStructFieldPtrHeadStringTagSlice: + return codeStructField + case opStructFieldPtrHeadStringTagStruct: + return codeStructField case opStructFieldPtrHeadStringTagMarshalJSON: return codeStructField case opStructFieldPtrHeadStringTagMarshalText: @@ -2319,6 +2899,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadBytes: return codeStructField + case opStructFieldPtrAnonymousHeadArray: + return codeStructField + case opStructFieldPtrAnonymousHeadMap: + return codeStructField + case opStructFieldPtrAnonymousHeadMapLoad: + return codeStructField + case opStructFieldPtrAnonymousHeadSlice: + return codeStructField + case opStructFieldPtrAnonymousHeadStruct: + return codeStructField case opStructFieldPtrAnonymousHeadMarshalJSON: return codeStructField case opStructFieldPtrAnonymousHeadMarshalText: @@ -2353,6 +2943,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyBytes: return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyArray: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyMap: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoad: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptySlice: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyStruct: + return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSON: return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyMarshalText: @@ -2387,6 +2987,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadStringTagBytes: return codeStructField + case opStructFieldPtrAnonymousHeadStringTagArray: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagMap: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagMapLoad: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagSlice: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagStruct: + return codeStructField case opStructFieldPtrAnonymousHeadStringTagMarshalJSON: return codeStructField case opStructFieldPtrAnonymousHeadStringTagMarshalText: @@ -2421,6 +3031,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldBytes: return codeStructField + case opStructFieldArray: + return codeStructField + case opStructFieldMap: + return codeStructField + case opStructFieldMapLoad: + return codeStructField + case opStructFieldSlice: + return codeStructField + case opStructFieldStruct: + return codeStructField case opStructFieldMarshalJSON: return codeStructField case opStructFieldMarshalText: @@ -2455,6 +3075,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldOmitEmptyBytes: return codeStructField + case opStructFieldOmitEmptyArray: + return codeStructField + case opStructFieldOmitEmptyMap: + return codeStructField + case opStructFieldOmitEmptyMapLoad: + return codeStructField + case opStructFieldOmitEmptySlice: + return codeStructField + case opStructFieldOmitEmptyStruct: + return codeStructField case opStructFieldOmitEmptyMarshalJSON: return codeStructField case opStructFieldOmitEmptyMarshalText: @@ -2489,6 +3119,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldStringTagBytes: return codeStructField + case opStructFieldStringTagArray: + return codeStructField + case opStructFieldStringTagMap: + return codeStructField + case opStructFieldStringTagMapLoad: + return codeStructField + case opStructFieldStringTagSlice: + return codeStructField + case opStructFieldStringTagStruct: + return codeStructField case opStructFieldStringTagMarshalJSON: return codeStructField case opStructFieldStringTagMarshalText: @@ -2595,6 +3235,16 @@ func (t opType) codeType() codeType { return codeOp case opBytesIndent: return codeOp + case opArrayIndent: + return codeOp + case opMapIndent: + return codeOp + case opMapLoadIndent: + return codeOp + case opSliceIndent: + return codeOp + case opStructIndent: + return codeOp case opMarshalJSONIndent: return codeOp case opMarshalTextIndent: @@ -2629,6 +3279,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadBytesIndent: return codeStructField + case opStructFieldHeadArrayIndent: + return codeStructField + case opStructFieldHeadMapIndent: + return codeStructField + case opStructFieldHeadMapLoadIndent: + return codeStructField + case opStructFieldHeadSliceIndent: + return codeStructField + case opStructFieldHeadStructIndent: + return codeStructField case opStructFieldHeadMarshalJSONIndent: return codeStructField case opStructFieldHeadMarshalTextIndent: @@ -2663,6 +3323,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadOmitEmptyBytesIndent: return codeStructField + case opStructFieldHeadOmitEmptyArrayIndent: + return codeStructField + case opStructFieldHeadOmitEmptyMapIndent: + return codeStructField + case opStructFieldHeadOmitEmptyMapLoadIndent: + return codeStructField + case opStructFieldHeadOmitEmptySliceIndent: + return codeStructField + case opStructFieldHeadOmitEmptyStructIndent: + return codeStructField case opStructFieldHeadOmitEmptyMarshalJSONIndent: return codeStructField case opStructFieldHeadOmitEmptyMarshalTextIndent: @@ -2697,6 +3367,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldHeadStringTagBytesIndent: return codeStructField + case opStructFieldHeadStringTagArrayIndent: + return codeStructField + case opStructFieldHeadStringTagMapIndent: + return codeStructField + case opStructFieldHeadStringTagMapLoadIndent: + return codeStructField + case opStructFieldHeadStringTagSliceIndent: + return codeStructField + case opStructFieldHeadStringTagStructIndent: + return codeStructField case opStructFieldHeadStringTagMarshalJSONIndent: return codeStructField case opStructFieldHeadStringTagMarshalTextIndent: @@ -2731,6 +3411,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadBytesIndent: return codeStructField + case opStructFieldAnonymousHeadArrayIndent: + return codeStructField + case opStructFieldAnonymousHeadMapIndent: + return codeStructField + case opStructFieldAnonymousHeadMapLoadIndent: + return codeStructField + case opStructFieldAnonymousHeadSliceIndent: + return codeStructField + case opStructFieldAnonymousHeadStructIndent: + return codeStructField case opStructFieldAnonymousHeadMarshalJSONIndent: return codeStructField case opStructFieldAnonymousHeadMarshalTextIndent: @@ -2765,6 +3455,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadOmitEmptyBytesIndent: return codeStructField + case opStructFieldAnonymousHeadOmitEmptyArrayIndent: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyMapIndent: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyMapLoadIndent: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptySliceIndent: + return codeStructField + case opStructFieldAnonymousHeadOmitEmptyStructIndent: + return codeStructField case opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent: return codeStructField case opStructFieldAnonymousHeadOmitEmptyMarshalTextIndent: @@ -2799,6 +3499,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldAnonymousHeadStringTagBytesIndent: return codeStructField + case opStructFieldAnonymousHeadStringTagArrayIndent: + return codeStructField + case opStructFieldAnonymousHeadStringTagMapIndent: + return codeStructField + case opStructFieldAnonymousHeadStringTagMapLoadIndent: + return codeStructField + case opStructFieldAnonymousHeadStringTagSliceIndent: + return codeStructField + case opStructFieldAnonymousHeadStringTagStructIndent: + return codeStructField case opStructFieldAnonymousHeadStringTagMarshalJSONIndent: return codeStructField case opStructFieldAnonymousHeadStringTagMarshalTextIndent: @@ -2833,6 +3543,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadBytesIndent: return codeStructField + case opStructFieldPtrHeadArrayIndent: + return codeStructField + case opStructFieldPtrHeadMapIndent: + return codeStructField + case opStructFieldPtrHeadMapLoadIndent: + return codeStructField + case opStructFieldPtrHeadSliceIndent: + return codeStructField + case opStructFieldPtrHeadStructIndent: + return codeStructField case opStructFieldPtrHeadMarshalJSONIndent: return codeStructField case opStructFieldPtrHeadMarshalTextIndent: @@ -2867,6 +3587,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadOmitEmptyBytesIndent: return codeStructField + case opStructFieldPtrHeadOmitEmptyArrayIndent: + return codeStructField + case opStructFieldPtrHeadOmitEmptyMapIndent: + return codeStructField + case opStructFieldPtrHeadOmitEmptyMapLoadIndent: + return codeStructField + case opStructFieldPtrHeadOmitEmptySliceIndent: + return codeStructField + case opStructFieldPtrHeadOmitEmptyStructIndent: + return codeStructField case opStructFieldPtrHeadOmitEmptyMarshalJSONIndent: return codeStructField case opStructFieldPtrHeadOmitEmptyMarshalTextIndent: @@ -2901,6 +3631,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrHeadStringTagBytesIndent: return codeStructField + case opStructFieldPtrHeadStringTagArrayIndent: + return codeStructField + case opStructFieldPtrHeadStringTagMapIndent: + return codeStructField + case opStructFieldPtrHeadStringTagMapLoadIndent: + return codeStructField + case opStructFieldPtrHeadStringTagSliceIndent: + return codeStructField + case opStructFieldPtrHeadStringTagStructIndent: + return codeStructField case opStructFieldPtrHeadStringTagMarshalJSONIndent: return codeStructField case opStructFieldPtrHeadStringTagMarshalTextIndent: @@ -2935,6 +3675,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadBytesIndent: return codeStructField + case opStructFieldPtrAnonymousHeadArrayIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadMapIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadMapLoadIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadSliceIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadStructIndent: + return codeStructField case opStructFieldPtrAnonymousHeadMarshalJSONIndent: return codeStructField case opStructFieldPtrAnonymousHeadMarshalTextIndent: @@ -2969,6 +3719,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent: return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyMapIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptySliceIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadOmitEmptyStructIndent: + return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent: return codeStructField case opStructFieldPtrAnonymousHeadOmitEmptyMarshalTextIndent: @@ -3003,6 +3763,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldPtrAnonymousHeadStringTagBytesIndent: return codeStructField + case opStructFieldPtrAnonymousHeadStringTagArrayIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagMapIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagMapLoadIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagSliceIndent: + return codeStructField + case opStructFieldPtrAnonymousHeadStringTagStructIndent: + return codeStructField case opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent: return codeStructField case opStructFieldPtrAnonymousHeadStringTagMarshalTextIndent: @@ -3037,6 +3807,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldBytesIndent: return codeStructField + case opStructFieldArrayIndent: + return codeStructField + case opStructFieldMapIndent: + return codeStructField + case opStructFieldMapLoadIndent: + return codeStructField + case opStructFieldSliceIndent: + return codeStructField + case opStructFieldStructIndent: + return codeStructField case opStructFieldMarshalJSONIndent: return codeStructField case opStructFieldMarshalTextIndent: @@ -3071,6 +3851,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldOmitEmptyBytesIndent: return codeStructField + case opStructFieldOmitEmptyArrayIndent: + return codeStructField + case opStructFieldOmitEmptyMapIndent: + return codeStructField + case opStructFieldOmitEmptyMapLoadIndent: + return codeStructField + case opStructFieldOmitEmptySliceIndent: + return codeStructField + case opStructFieldOmitEmptyStructIndent: + return codeStructField case opStructFieldOmitEmptyMarshalJSONIndent: return codeStructField case opStructFieldOmitEmptyMarshalTextIndent: @@ -3105,6 +3895,16 @@ func (t opType) codeType() codeType { return codeStructField case opStructFieldStringTagBytesIndent: return codeStructField + case opStructFieldStringTagArrayIndent: + return codeStructField + case opStructFieldStringTagMapIndent: + return codeStructField + case opStructFieldStringTagMapLoadIndent: + return codeStructField + case opStructFieldStringTagSliceIndent: + return codeStructField + case opStructFieldStringTagStructIndent: + return codeStructField case opStructFieldStringTagMarshalJSONIndent: return codeStructField case opStructFieldStringTagMarshalTextIndent: @@ -3217,6 +4017,16 @@ func (t opType) toIndent() opType { return opStringIndent case opBytes: return opBytesIndent + case opArray: + return opArrayIndent + case opMap: + return opMapIndent + case opMapLoad: + return opMapLoadIndent + case opSlice: + return opSliceIndent + case opStruct: + return opStructIndent case opMarshalJSON: return opMarshalJSONIndent case opMarshalText: @@ -3251,6 +4061,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadStringIndent case opStructFieldHeadBytes: return opStructFieldHeadBytesIndent + case opStructFieldHeadArray: + return opStructFieldHeadArrayIndent + case opStructFieldHeadMap: + return opStructFieldHeadMapIndent + case opStructFieldHeadMapLoad: + return opStructFieldHeadMapLoadIndent + case opStructFieldHeadSlice: + return opStructFieldHeadSliceIndent + case opStructFieldHeadStruct: + return opStructFieldHeadStructIndent case opStructFieldHeadMarshalJSON: return opStructFieldHeadMarshalJSONIndent case opStructFieldHeadMarshalText: @@ -3285,6 +4105,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadOmitEmptyStringIndent case opStructFieldHeadOmitEmptyBytes: return opStructFieldHeadOmitEmptyBytesIndent + case opStructFieldHeadOmitEmptyArray: + return opStructFieldHeadOmitEmptyArrayIndent + case opStructFieldHeadOmitEmptyMap: + return opStructFieldHeadOmitEmptyMapIndent + case opStructFieldHeadOmitEmptyMapLoad: + return opStructFieldHeadOmitEmptyMapLoadIndent + case opStructFieldHeadOmitEmptySlice: + return opStructFieldHeadOmitEmptySliceIndent + case opStructFieldHeadOmitEmptyStruct: + return opStructFieldHeadOmitEmptyStructIndent case opStructFieldHeadOmitEmptyMarshalJSON: return opStructFieldHeadOmitEmptyMarshalJSONIndent case opStructFieldHeadOmitEmptyMarshalText: @@ -3319,6 +4149,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadStringTagStringIndent case opStructFieldHeadStringTagBytes: return opStructFieldHeadStringTagBytesIndent + case opStructFieldHeadStringTagArray: + return opStructFieldHeadStringTagArrayIndent + case opStructFieldHeadStringTagMap: + return opStructFieldHeadStringTagMapIndent + case opStructFieldHeadStringTagMapLoad: + return opStructFieldHeadStringTagMapLoadIndent + case opStructFieldHeadStringTagSlice: + return opStructFieldHeadStringTagSliceIndent + case opStructFieldHeadStringTagStruct: + return opStructFieldHeadStringTagStructIndent case opStructFieldHeadStringTagMarshalJSON: return opStructFieldHeadStringTagMarshalJSONIndent case opStructFieldHeadStringTagMarshalText: @@ -3353,6 +4193,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadStringIndent case opStructFieldAnonymousHeadBytes: return opStructFieldAnonymousHeadBytesIndent + case opStructFieldAnonymousHeadArray: + return opStructFieldAnonymousHeadArrayIndent + case opStructFieldAnonymousHeadMap: + return opStructFieldAnonymousHeadMapIndent + case opStructFieldAnonymousHeadMapLoad: + return opStructFieldAnonymousHeadMapLoadIndent + case opStructFieldAnonymousHeadSlice: + return opStructFieldAnonymousHeadSliceIndent + case opStructFieldAnonymousHeadStruct: + return opStructFieldAnonymousHeadStructIndent case opStructFieldAnonymousHeadMarshalJSON: return opStructFieldAnonymousHeadMarshalJSONIndent case opStructFieldAnonymousHeadMarshalText: @@ -3387,6 +4237,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadOmitEmptyStringIndent case opStructFieldAnonymousHeadOmitEmptyBytes: return opStructFieldAnonymousHeadOmitEmptyBytesIndent + case opStructFieldAnonymousHeadOmitEmptyArray: + return opStructFieldAnonymousHeadOmitEmptyArrayIndent + case opStructFieldAnonymousHeadOmitEmptyMap: + return opStructFieldAnonymousHeadOmitEmptyMapIndent + case opStructFieldAnonymousHeadOmitEmptyMapLoad: + return opStructFieldAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldAnonymousHeadOmitEmptySlice: + return opStructFieldAnonymousHeadOmitEmptySliceIndent + case opStructFieldAnonymousHeadOmitEmptyStruct: + return opStructFieldAnonymousHeadOmitEmptyStructIndent case opStructFieldAnonymousHeadOmitEmptyMarshalJSON: return opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent case opStructFieldAnonymousHeadOmitEmptyMarshalText: @@ -3421,6 +4281,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadStringTagStringIndent case opStructFieldAnonymousHeadStringTagBytes: return opStructFieldAnonymousHeadStringTagBytesIndent + case opStructFieldAnonymousHeadStringTagArray: + return opStructFieldAnonymousHeadStringTagArrayIndent + case opStructFieldAnonymousHeadStringTagMap: + return opStructFieldAnonymousHeadStringTagMapIndent + case opStructFieldAnonymousHeadStringTagMapLoad: + return opStructFieldAnonymousHeadStringTagMapLoadIndent + case opStructFieldAnonymousHeadStringTagSlice: + return opStructFieldAnonymousHeadStringTagSliceIndent + case opStructFieldAnonymousHeadStringTagStruct: + return opStructFieldAnonymousHeadStringTagStructIndent case opStructFieldAnonymousHeadStringTagMarshalJSON: return opStructFieldAnonymousHeadStringTagMarshalJSONIndent case opStructFieldAnonymousHeadStringTagMarshalText: @@ -3455,6 +4325,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadStringIndent case opStructFieldPtrHeadBytes: return opStructFieldPtrHeadBytesIndent + case opStructFieldPtrHeadArray: + return opStructFieldPtrHeadArrayIndent + case opStructFieldPtrHeadMap: + return opStructFieldPtrHeadMapIndent + case opStructFieldPtrHeadMapLoad: + return opStructFieldPtrHeadMapLoadIndent + case opStructFieldPtrHeadSlice: + return opStructFieldPtrHeadSliceIndent + case opStructFieldPtrHeadStruct: + return opStructFieldPtrHeadStructIndent case opStructFieldPtrHeadMarshalJSON: return opStructFieldPtrHeadMarshalJSONIndent case opStructFieldPtrHeadMarshalText: @@ -3489,6 +4369,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadOmitEmptyStringIndent case opStructFieldPtrHeadOmitEmptyBytes: return opStructFieldPtrHeadOmitEmptyBytesIndent + case opStructFieldPtrHeadOmitEmptyArray: + return opStructFieldPtrHeadOmitEmptyArrayIndent + case opStructFieldPtrHeadOmitEmptyMap: + return opStructFieldPtrHeadOmitEmptyMapIndent + case opStructFieldPtrHeadOmitEmptyMapLoad: + return opStructFieldPtrHeadOmitEmptyMapLoadIndent + case opStructFieldPtrHeadOmitEmptySlice: + return opStructFieldPtrHeadOmitEmptySliceIndent + case opStructFieldPtrHeadOmitEmptyStruct: + return opStructFieldPtrHeadOmitEmptyStructIndent case opStructFieldPtrHeadOmitEmptyMarshalJSON: return opStructFieldPtrHeadOmitEmptyMarshalJSONIndent case opStructFieldPtrHeadOmitEmptyMarshalText: @@ -3523,6 +4413,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadStringTagStringIndent case opStructFieldPtrHeadStringTagBytes: return opStructFieldPtrHeadStringTagBytesIndent + case opStructFieldPtrHeadStringTagArray: + return opStructFieldPtrHeadStringTagArrayIndent + case opStructFieldPtrHeadStringTagMap: + return opStructFieldPtrHeadStringTagMapIndent + case opStructFieldPtrHeadStringTagMapLoad: + return opStructFieldPtrHeadStringTagMapLoadIndent + case opStructFieldPtrHeadStringTagSlice: + return opStructFieldPtrHeadStringTagSliceIndent + case opStructFieldPtrHeadStringTagStruct: + return opStructFieldPtrHeadStringTagStructIndent case opStructFieldPtrHeadStringTagMarshalJSON: return opStructFieldPtrHeadStringTagMarshalJSONIndent case opStructFieldPtrHeadStringTagMarshalText: @@ -3557,6 +4457,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadStringIndent case opStructFieldPtrAnonymousHeadBytes: return opStructFieldPtrAnonymousHeadBytesIndent + case opStructFieldPtrAnonymousHeadArray: + return opStructFieldPtrAnonymousHeadArrayIndent + case opStructFieldPtrAnonymousHeadMap: + return opStructFieldPtrAnonymousHeadMapIndent + case opStructFieldPtrAnonymousHeadMapLoad: + return opStructFieldPtrAnonymousHeadMapLoadIndent + case opStructFieldPtrAnonymousHeadSlice: + return opStructFieldPtrAnonymousHeadSliceIndent + case opStructFieldPtrAnonymousHeadStruct: + return opStructFieldPtrAnonymousHeadStructIndent case opStructFieldPtrAnonymousHeadMarshalJSON: return opStructFieldPtrAnonymousHeadMarshalJSONIndent case opStructFieldPtrAnonymousHeadMarshalText: @@ -3591,6 +4501,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadOmitEmptyStringIndent case opStructFieldPtrAnonymousHeadOmitEmptyBytes: return opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent + case opStructFieldPtrAnonymousHeadOmitEmptyArray: + return opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMap: + return opStructFieldPtrAnonymousHeadOmitEmptyMapIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoad: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldPtrAnonymousHeadOmitEmptySlice: + return opStructFieldPtrAnonymousHeadOmitEmptySliceIndent + case opStructFieldPtrAnonymousHeadOmitEmptyStruct: + return opStructFieldPtrAnonymousHeadOmitEmptyStructIndent case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSON: return opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent case opStructFieldPtrAnonymousHeadOmitEmptyMarshalText: @@ -3625,6 +4545,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadStringTagStringIndent case opStructFieldPtrAnonymousHeadStringTagBytes: return opStructFieldPtrAnonymousHeadStringTagBytesIndent + case opStructFieldPtrAnonymousHeadStringTagArray: + return opStructFieldPtrAnonymousHeadStringTagArrayIndent + case opStructFieldPtrAnonymousHeadStringTagMap: + return opStructFieldPtrAnonymousHeadStringTagMapIndent + case opStructFieldPtrAnonymousHeadStringTagMapLoad: + return opStructFieldPtrAnonymousHeadStringTagMapLoadIndent + case opStructFieldPtrAnonymousHeadStringTagSlice: + return opStructFieldPtrAnonymousHeadStringTagSliceIndent + case opStructFieldPtrAnonymousHeadStringTagStruct: + return opStructFieldPtrAnonymousHeadStringTagStructIndent case opStructFieldPtrAnonymousHeadStringTagMarshalJSON: return opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent case opStructFieldPtrAnonymousHeadStringTagMarshalText: @@ -3659,6 +4589,16 @@ func (t opType) toIndent() opType { return opStructFieldStringIndent case opStructFieldBytes: return opStructFieldBytesIndent + case opStructFieldArray: + return opStructFieldArrayIndent + case opStructFieldMap: + return opStructFieldMapIndent + case opStructFieldMapLoad: + return opStructFieldMapLoadIndent + case opStructFieldSlice: + return opStructFieldSliceIndent + case opStructFieldStruct: + return opStructFieldStructIndent case opStructFieldMarshalJSON: return opStructFieldMarshalJSONIndent case opStructFieldMarshalText: @@ -3693,6 +4633,16 @@ func (t opType) toIndent() opType { return opStructFieldOmitEmptyStringIndent case opStructFieldOmitEmptyBytes: return opStructFieldOmitEmptyBytesIndent + case opStructFieldOmitEmptyArray: + return opStructFieldOmitEmptyArrayIndent + case opStructFieldOmitEmptyMap: + return opStructFieldOmitEmptyMapIndent + case opStructFieldOmitEmptyMapLoad: + return opStructFieldOmitEmptyMapLoadIndent + case opStructFieldOmitEmptySlice: + return opStructFieldOmitEmptySliceIndent + case opStructFieldOmitEmptyStruct: + return opStructFieldOmitEmptyStructIndent case opStructFieldOmitEmptyMarshalJSON: return opStructFieldOmitEmptyMarshalJSONIndent case opStructFieldOmitEmptyMarshalText: @@ -3727,6 +4677,16 @@ func (t opType) toIndent() opType { return opStructFieldStringTagStringIndent case opStructFieldStringTagBytes: return opStructFieldStringTagBytesIndent + case opStructFieldStringTagArray: + return opStructFieldStringTagArrayIndent + case opStructFieldStringTagMap: + return opStructFieldStringTagMapIndent + case opStructFieldStringTagMapLoad: + return opStructFieldStringTagMapLoadIndent + case opStructFieldStringTagSlice: + return opStructFieldStringTagSliceIndent + case opStructFieldStringTagStruct: + return opStructFieldStringTagStructIndent case opStructFieldStringTagMarshalJSON: return opStructFieldStringTagMarshalJSONIndent case opStructFieldStringTagMarshalText: @@ -3833,6 +4793,16 @@ func (t opType) toIndent() opType { return opStringIndent case opBytesIndent: return opBytesIndent + case opArrayIndent: + return opArrayIndent + case opMapIndent: + return opMapIndent + case opMapLoadIndent: + return opMapLoadIndent + case opSliceIndent: + return opSliceIndent + case opStructIndent: + return opStructIndent case opMarshalJSONIndent: return opMarshalJSONIndent case opMarshalTextIndent: @@ -3867,6 +4837,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadStringIndent case opStructFieldHeadBytesIndent: return opStructFieldHeadBytesIndent + case opStructFieldHeadArrayIndent: + return opStructFieldHeadArrayIndent + case opStructFieldHeadMapIndent: + return opStructFieldHeadMapIndent + case opStructFieldHeadMapLoadIndent: + return opStructFieldHeadMapLoadIndent + case opStructFieldHeadSliceIndent: + return opStructFieldHeadSliceIndent + case opStructFieldHeadStructIndent: + return opStructFieldHeadStructIndent case opStructFieldHeadMarshalJSONIndent: return opStructFieldHeadMarshalJSONIndent case opStructFieldHeadMarshalTextIndent: @@ -3901,6 +4881,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadOmitEmptyStringIndent case opStructFieldHeadOmitEmptyBytesIndent: return opStructFieldHeadOmitEmptyBytesIndent + case opStructFieldHeadOmitEmptyArrayIndent: + return opStructFieldHeadOmitEmptyArrayIndent + case opStructFieldHeadOmitEmptyMapIndent: + return opStructFieldHeadOmitEmptyMapIndent + case opStructFieldHeadOmitEmptyMapLoadIndent: + return opStructFieldHeadOmitEmptyMapLoadIndent + case opStructFieldHeadOmitEmptySliceIndent: + return opStructFieldHeadOmitEmptySliceIndent + case opStructFieldHeadOmitEmptyStructIndent: + return opStructFieldHeadOmitEmptyStructIndent case opStructFieldHeadOmitEmptyMarshalJSONIndent: return opStructFieldHeadOmitEmptyMarshalJSONIndent case opStructFieldHeadOmitEmptyMarshalTextIndent: @@ -3935,6 +4925,16 @@ func (t opType) toIndent() opType { return opStructFieldHeadStringTagStringIndent case opStructFieldHeadStringTagBytesIndent: return opStructFieldHeadStringTagBytesIndent + case opStructFieldHeadStringTagArrayIndent: + return opStructFieldHeadStringTagArrayIndent + case opStructFieldHeadStringTagMapIndent: + return opStructFieldHeadStringTagMapIndent + case opStructFieldHeadStringTagMapLoadIndent: + return opStructFieldHeadStringTagMapLoadIndent + case opStructFieldHeadStringTagSliceIndent: + return opStructFieldHeadStringTagSliceIndent + case opStructFieldHeadStringTagStructIndent: + return opStructFieldHeadStringTagStructIndent case opStructFieldHeadStringTagMarshalJSONIndent: return opStructFieldHeadStringTagMarshalJSONIndent case opStructFieldHeadStringTagMarshalTextIndent: @@ -3969,6 +4969,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadStringIndent case opStructFieldAnonymousHeadBytesIndent: return opStructFieldAnonymousHeadBytesIndent + case opStructFieldAnonymousHeadArrayIndent: + return opStructFieldAnonymousHeadArrayIndent + case opStructFieldAnonymousHeadMapIndent: + return opStructFieldAnonymousHeadMapIndent + case opStructFieldAnonymousHeadMapLoadIndent: + return opStructFieldAnonymousHeadMapLoadIndent + case opStructFieldAnonymousHeadSliceIndent: + return opStructFieldAnonymousHeadSliceIndent + case opStructFieldAnonymousHeadStructIndent: + return opStructFieldAnonymousHeadStructIndent case opStructFieldAnonymousHeadMarshalJSONIndent: return opStructFieldAnonymousHeadMarshalJSONIndent case opStructFieldAnonymousHeadMarshalTextIndent: @@ -4003,6 +5013,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadOmitEmptyStringIndent case opStructFieldAnonymousHeadOmitEmptyBytesIndent: return opStructFieldAnonymousHeadOmitEmptyBytesIndent + case opStructFieldAnonymousHeadOmitEmptyArrayIndent: + return opStructFieldAnonymousHeadOmitEmptyArrayIndent + case opStructFieldAnonymousHeadOmitEmptyMapIndent: + return opStructFieldAnonymousHeadOmitEmptyMapIndent + case opStructFieldAnonymousHeadOmitEmptyMapLoadIndent: + return opStructFieldAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldAnonymousHeadOmitEmptySliceIndent: + return opStructFieldAnonymousHeadOmitEmptySliceIndent + case opStructFieldAnonymousHeadOmitEmptyStructIndent: + return opStructFieldAnonymousHeadOmitEmptyStructIndent case opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent: return opStructFieldAnonymousHeadOmitEmptyMarshalJSONIndent case opStructFieldAnonymousHeadOmitEmptyMarshalTextIndent: @@ -4037,6 +5057,16 @@ func (t opType) toIndent() opType { return opStructFieldAnonymousHeadStringTagStringIndent case opStructFieldAnonymousHeadStringTagBytesIndent: return opStructFieldAnonymousHeadStringTagBytesIndent + case opStructFieldAnonymousHeadStringTagArrayIndent: + return opStructFieldAnonymousHeadStringTagArrayIndent + case opStructFieldAnonymousHeadStringTagMapIndent: + return opStructFieldAnonymousHeadStringTagMapIndent + case opStructFieldAnonymousHeadStringTagMapLoadIndent: + return opStructFieldAnonymousHeadStringTagMapLoadIndent + case opStructFieldAnonymousHeadStringTagSliceIndent: + return opStructFieldAnonymousHeadStringTagSliceIndent + case opStructFieldAnonymousHeadStringTagStructIndent: + return opStructFieldAnonymousHeadStringTagStructIndent case opStructFieldAnonymousHeadStringTagMarshalJSONIndent: return opStructFieldAnonymousHeadStringTagMarshalJSONIndent case opStructFieldAnonymousHeadStringTagMarshalTextIndent: @@ -4071,6 +5101,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadStringIndent case opStructFieldPtrHeadBytesIndent: return opStructFieldPtrHeadBytesIndent + case opStructFieldPtrHeadArrayIndent: + return opStructFieldPtrHeadArrayIndent + case opStructFieldPtrHeadMapIndent: + return opStructFieldPtrHeadMapIndent + case opStructFieldPtrHeadMapLoadIndent: + return opStructFieldPtrHeadMapLoadIndent + case opStructFieldPtrHeadSliceIndent: + return opStructFieldPtrHeadSliceIndent + case opStructFieldPtrHeadStructIndent: + return opStructFieldPtrHeadStructIndent case opStructFieldPtrHeadMarshalJSONIndent: return opStructFieldPtrHeadMarshalJSONIndent case opStructFieldPtrHeadMarshalTextIndent: @@ -4105,6 +5145,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadOmitEmptyStringIndent case opStructFieldPtrHeadOmitEmptyBytesIndent: return opStructFieldPtrHeadOmitEmptyBytesIndent + case opStructFieldPtrHeadOmitEmptyArrayIndent: + return opStructFieldPtrHeadOmitEmptyArrayIndent + case opStructFieldPtrHeadOmitEmptyMapIndent: + return opStructFieldPtrHeadOmitEmptyMapIndent + case opStructFieldPtrHeadOmitEmptyMapLoadIndent: + return opStructFieldPtrHeadOmitEmptyMapLoadIndent + case opStructFieldPtrHeadOmitEmptySliceIndent: + return opStructFieldPtrHeadOmitEmptySliceIndent + case opStructFieldPtrHeadOmitEmptyStructIndent: + return opStructFieldPtrHeadOmitEmptyStructIndent case opStructFieldPtrHeadOmitEmptyMarshalJSONIndent: return opStructFieldPtrHeadOmitEmptyMarshalJSONIndent case opStructFieldPtrHeadOmitEmptyMarshalTextIndent: @@ -4139,6 +5189,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrHeadStringTagStringIndent case opStructFieldPtrHeadStringTagBytesIndent: return opStructFieldPtrHeadStringTagBytesIndent + case opStructFieldPtrHeadStringTagArrayIndent: + return opStructFieldPtrHeadStringTagArrayIndent + case opStructFieldPtrHeadStringTagMapIndent: + return opStructFieldPtrHeadStringTagMapIndent + case opStructFieldPtrHeadStringTagMapLoadIndent: + return opStructFieldPtrHeadStringTagMapLoadIndent + case opStructFieldPtrHeadStringTagSliceIndent: + return opStructFieldPtrHeadStringTagSliceIndent + case opStructFieldPtrHeadStringTagStructIndent: + return opStructFieldPtrHeadStringTagStructIndent case opStructFieldPtrHeadStringTagMarshalJSONIndent: return opStructFieldPtrHeadStringTagMarshalJSONIndent case opStructFieldPtrHeadStringTagMarshalTextIndent: @@ -4173,6 +5233,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadStringIndent case opStructFieldPtrAnonymousHeadBytesIndent: return opStructFieldPtrAnonymousHeadBytesIndent + case opStructFieldPtrAnonymousHeadArrayIndent: + return opStructFieldPtrAnonymousHeadArrayIndent + case opStructFieldPtrAnonymousHeadMapIndent: + return opStructFieldPtrAnonymousHeadMapIndent + case opStructFieldPtrAnonymousHeadMapLoadIndent: + return opStructFieldPtrAnonymousHeadMapLoadIndent + case opStructFieldPtrAnonymousHeadSliceIndent: + return opStructFieldPtrAnonymousHeadSliceIndent + case opStructFieldPtrAnonymousHeadStructIndent: + return opStructFieldPtrAnonymousHeadStructIndent case opStructFieldPtrAnonymousHeadMarshalJSONIndent: return opStructFieldPtrAnonymousHeadMarshalJSONIndent case opStructFieldPtrAnonymousHeadMarshalTextIndent: @@ -4207,6 +5277,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadOmitEmptyStringIndent case opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent: return opStructFieldPtrAnonymousHeadOmitEmptyBytesIndent + case opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMapIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldPtrAnonymousHeadOmitEmptySliceIndent: + return opStructFieldPtrAnonymousHeadOmitEmptySliceIndent + case opStructFieldPtrAnonymousHeadOmitEmptyStructIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyStructIndent case opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent: return opStructFieldPtrAnonymousHeadOmitEmptyMarshalJSONIndent case opStructFieldPtrAnonymousHeadOmitEmptyMarshalTextIndent: @@ -4241,6 +5321,16 @@ func (t opType) toIndent() opType { return opStructFieldPtrAnonymousHeadStringTagStringIndent case opStructFieldPtrAnonymousHeadStringTagBytesIndent: return opStructFieldPtrAnonymousHeadStringTagBytesIndent + case opStructFieldPtrAnonymousHeadStringTagArrayIndent: + return opStructFieldPtrAnonymousHeadStringTagArrayIndent + case opStructFieldPtrAnonymousHeadStringTagMapIndent: + return opStructFieldPtrAnonymousHeadStringTagMapIndent + case opStructFieldPtrAnonymousHeadStringTagMapLoadIndent: + return opStructFieldPtrAnonymousHeadStringTagMapLoadIndent + case opStructFieldPtrAnonymousHeadStringTagSliceIndent: + return opStructFieldPtrAnonymousHeadStringTagSliceIndent + case opStructFieldPtrAnonymousHeadStringTagStructIndent: + return opStructFieldPtrAnonymousHeadStringTagStructIndent case opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent: return opStructFieldPtrAnonymousHeadStringTagMarshalJSONIndent case opStructFieldPtrAnonymousHeadStringTagMarshalTextIndent: @@ -4275,6 +5365,16 @@ func (t opType) toIndent() opType { return opStructFieldStringIndent case opStructFieldBytesIndent: return opStructFieldBytesIndent + case opStructFieldArrayIndent: + return opStructFieldArrayIndent + case opStructFieldMapIndent: + return opStructFieldMapIndent + case opStructFieldMapLoadIndent: + return opStructFieldMapLoadIndent + case opStructFieldSliceIndent: + return opStructFieldSliceIndent + case opStructFieldStructIndent: + return opStructFieldStructIndent case opStructFieldMarshalJSONIndent: return opStructFieldMarshalJSONIndent case opStructFieldMarshalTextIndent: @@ -4309,6 +5409,16 @@ func (t opType) toIndent() opType { return opStructFieldOmitEmptyStringIndent case opStructFieldOmitEmptyBytesIndent: return opStructFieldOmitEmptyBytesIndent + case opStructFieldOmitEmptyArrayIndent: + return opStructFieldOmitEmptyArrayIndent + case opStructFieldOmitEmptyMapIndent: + return opStructFieldOmitEmptyMapIndent + case opStructFieldOmitEmptyMapLoadIndent: + return opStructFieldOmitEmptyMapLoadIndent + case opStructFieldOmitEmptySliceIndent: + return opStructFieldOmitEmptySliceIndent + case opStructFieldOmitEmptyStructIndent: + return opStructFieldOmitEmptyStructIndent case opStructFieldOmitEmptyMarshalJSONIndent: return opStructFieldOmitEmptyMarshalJSONIndent case opStructFieldOmitEmptyMarshalTextIndent: @@ -4343,6 +5453,16 @@ func (t opType) toIndent() opType { return opStructFieldStringTagStringIndent case opStructFieldStringTagBytesIndent: return opStructFieldStringTagBytesIndent + case opStructFieldStringTagArrayIndent: + return opStructFieldStringTagArrayIndent + case opStructFieldStringTagMapIndent: + return opStructFieldStringTagMapIndent + case opStructFieldStringTagMapLoadIndent: + return opStructFieldStringTagMapLoadIndent + case opStructFieldStringTagSliceIndent: + return opStructFieldStringTagSliceIndent + case opStructFieldStringTagStructIndent: + return opStructFieldStringTagStructIndent case opStructFieldStringTagMarshalJSONIndent: return opStructFieldStringTagMarshalJSONIndent case opStructFieldStringTagMarshalTextIndent: @@ -4545,6 +5665,66 @@ func (t opType) headToPtrHead() opType { return opStructFieldPtrHeadStringTagBytes case opStructFieldAnonymousHeadStringTagBytes: return opStructFieldPtrAnonymousHeadStringTagBytes + case opStructFieldHeadArray: + return opStructFieldPtrHeadArray + case opStructFieldAnonymousHeadArray: + return opStructFieldPtrAnonymousHeadArray + case opStructFieldHeadOmitEmptyArray: + return opStructFieldPtrHeadOmitEmptyArray + case opStructFieldAnonymousHeadOmitEmptyArray: + return opStructFieldPtrAnonymousHeadOmitEmptyArray + case opStructFieldHeadStringTagArray: + return opStructFieldPtrHeadStringTagArray + case opStructFieldAnonymousHeadStringTagArray: + return opStructFieldPtrAnonymousHeadStringTagArray + case opStructFieldHeadMap: + return opStructFieldPtrHeadMap + case opStructFieldAnonymousHeadMap: + return opStructFieldPtrAnonymousHeadMap + case opStructFieldHeadOmitEmptyMap: + return opStructFieldPtrHeadOmitEmptyMap + case opStructFieldAnonymousHeadOmitEmptyMap: + return opStructFieldPtrAnonymousHeadOmitEmptyMap + case opStructFieldHeadStringTagMap: + return opStructFieldPtrHeadStringTagMap + case opStructFieldAnonymousHeadStringTagMap: + return opStructFieldPtrAnonymousHeadStringTagMap + case opStructFieldHeadMapLoad: + return opStructFieldPtrHeadMapLoad + case opStructFieldAnonymousHeadMapLoad: + return opStructFieldPtrAnonymousHeadMapLoad + case opStructFieldHeadOmitEmptyMapLoad: + return opStructFieldPtrHeadOmitEmptyMapLoad + case opStructFieldAnonymousHeadOmitEmptyMapLoad: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoad + case opStructFieldHeadStringTagMapLoad: + return opStructFieldPtrHeadStringTagMapLoad + case opStructFieldAnonymousHeadStringTagMapLoad: + return opStructFieldPtrAnonymousHeadStringTagMapLoad + case opStructFieldHeadSlice: + return opStructFieldPtrHeadSlice + case opStructFieldAnonymousHeadSlice: + return opStructFieldPtrAnonymousHeadSlice + case opStructFieldHeadOmitEmptySlice: + return opStructFieldPtrHeadOmitEmptySlice + case opStructFieldAnonymousHeadOmitEmptySlice: + return opStructFieldPtrAnonymousHeadOmitEmptySlice + case opStructFieldHeadStringTagSlice: + return opStructFieldPtrHeadStringTagSlice + case opStructFieldAnonymousHeadStringTagSlice: + return opStructFieldPtrAnonymousHeadStringTagSlice + case opStructFieldHeadStruct: + return opStructFieldPtrHeadStruct + case opStructFieldAnonymousHeadStruct: + return opStructFieldPtrAnonymousHeadStruct + case opStructFieldHeadOmitEmptyStruct: + return opStructFieldPtrHeadOmitEmptyStruct + case opStructFieldAnonymousHeadOmitEmptyStruct: + return opStructFieldPtrAnonymousHeadOmitEmptyStruct + case opStructFieldHeadStringTagStruct: + return opStructFieldPtrHeadStringTagStruct + case opStructFieldAnonymousHeadStringTagStruct: + return opStructFieldPtrAnonymousHeadStringTagStruct case opStructFieldHeadMarshalJSON: return opStructFieldPtrHeadMarshalJSON case opStructFieldAnonymousHeadMarshalJSON: @@ -4761,6 +5941,66 @@ func (t opType) headToPtrHead() opType { return opStructFieldPtrHeadStringTagBytesIndent case opStructFieldAnonymousHeadStringTagBytesIndent: return opStructFieldPtrAnonymousHeadStringTagBytesIndent + case opStructFieldHeadArrayIndent: + return opStructFieldPtrHeadArrayIndent + case opStructFieldAnonymousHeadArrayIndent: + return opStructFieldPtrAnonymousHeadArrayIndent + case opStructFieldHeadOmitEmptyArrayIndent: + return opStructFieldPtrHeadOmitEmptyArrayIndent + case opStructFieldAnonymousHeadOmitEmptyArrayIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent + case opStructFieldHeadStringTagArrayIndent: + return opStructFieldPtrHeadStringTagArrayIndent + case opStructFieldAnonymousHeadStringTagArrayIndent: + return opStructFieldPtrAnonymousHeadStringTagArrayIndent + case opStructFieldHeadMapIndent: + return opStructFieldPtrHeadMapIndent + case opStructFieldAnonymousHeadMapIndent: + return opStructFieldPtrAnonymousHeadMapIndent + case opStructFieldHeadOmitEmptyMapIndent: + return opStructFieldPtrHeadOmitEmptyMapIndent + case opStructFieldAnonymousHeadOmitEmptyMapIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapIndent + case opStructFieldHeadStringTagMapIndent: + return opStructFieldPtrHeadStringTagMapIndent + case opStructFieldAnonymousHeadStringTagMapIndent: + return opStructFieldPtrAnonymousHeadStringTagMapIndent + case opStructFieldHeadMapLoadIndent: + return opStructFieldPtrHeadMapLoadIndent + case opStructFieldAnonymousHeadMapLoadIndent: + return opStructFieldPtrAnonymousHeadMapLoadIndent + case opStructFieldHeadOmitEmptyMapLoadIndent: + return opStructFieldPtrHeadOmitEmptyMapLoadIndent + case opStructFieldAnonymousHeadOmitEmptyMapLoadIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldHeadStringTagMapLoadIndent: + return opStructFieldPtrHeadStringTagMapLoadIndent + case opStructFieldAnonymousHeadStringTagMapLoadIndent: + return opStructFieldPtrAnonymousHeadStringTagMapLoadIndent + case opStructFieldHeadSliceIndent: + return opStructFieldPtrHeadSliceIndent + case opStructFieldAnonymousHeadSliceIndent: + return opStructFieldPtrAnonymousHeadSliceIndent + case opStructFieldHeadOmitEmptySliceIndent: + return opStructFieldPtrHeadOmitEmptySliceIndent + case opStructFieldAnonymousHeadOmitEmptySliceIndent: + return opStructFieldPtrAnonymousHeadOmitEmptySliceIndent + case opStructFieldHeadStringTagSliceIndent: + return opStructFieldPtrHeadStringTagSliceIndent + case opStructFieldAnonymousHeadStringTagSliceIndent: + return opStructFieldPtrAnonymousHeadStringTagSliceIndent + case opStructFieldHeadStructIndent: + return opStructFieldPtrHeadStructIndent + case opStructFieldAnonymousHeadStructIndent: + return opStructFieldPtrAnonymousHeadStructIndent + case opStructFieldHeadOmitEmptyStructIndent: + return opStructFieldPtrHeadOmitEmptyStructIndent + case opStructFieldAnonymousHeadOmitEmptyStructIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyStructIndent + case opStructFieldHeadStringTagStructIndent: + return opStructFieldPtrHeadStringTagStructIndent + case opStructFieldAnonymousHeadStringTagStructIndent: + return opStructFieldPtrAnonymousHeadStringTagStructIndent case opStructFieldHeadMarshalJSONIndent: return opStructFieldPtrHeadMarshalJSONIndent case opStructFieldAnonymousHeadMarshalJSONIndent: @@ -4983,6 +6223,66 @@ func (t opType) headToAnonymousHead() opType { return opStructFieldAnonymousHeadStringTagBytes case opStructFieldPtrHeadStringTagBytes: return opStructFieldPtrAnonymousHeadStringTagBytes + case opStructFieldHeadArray: + return opStructFieldAnonymousHeadArray + case opStructFieldPtrHeadArray: + return opStructFieldPtrAnonymousHeadArray + case opStructFieldHeadOmitEmptyArray: + return opStructFieldAnonymousHeadOmitEmptyArray + case opStructFieldPtrHeadOmitEmptyArray: + return opStructFieldPtrAnonymousHeadOmitEmptyArray + case opStructFieldHeadStringTagArray: + return opStructFieldAnonymousHeadStringTagArray + case opStructFieldPtrHeadStringTagArray: + return opStructFieldPtrAnonymousHeadStringTagArray + case opStructFieldHeadMap: + return opStructFieldAnonymousHeadMap + case opStructFieldPtrHeadMap: + return opStructFieldPtrAnonymousHeadMap + case opStructFieldHeadOmitEmptyMap: + return opStructFieldAnonymousHeadOmitEmptyMap + case opStructFieldPtrHeadOmitEmptyMap: + return opStructFieldPtrAnonymousHeadOmitEmptyMap + case opStructFieldHeadStringTagMap: + return opStructFieldAnonymousHeadStringTagMap + case opStructFieldPtrHeadStringTagMap: + return opStructFieldPtrAnonymousHeadStringTagMap + case opStructFieldHeadMapLoad: + return opStructFieldAnonymousHeadMapLoad + case opStructFieldPtrHeadMapLoad: + return opStructFieldPtrAnonymousHeadMapLoad + case opStructFieldHeadOmitEmptyMapLoad: + return opStructFieldAnonymousHeadOmitEmptyMapLoad + case opStructFieldPtrHeadOmitEmptyMapLoad: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoad + case opStructFieldHeadStringTagMapLoad: + return opStructFieldAnonymousHeadStringTagMapLoad + case opStructFieldPtrHeadStringTagMapLoad: + return opStructFieldPtrAnonymousHeadStringTagMapLoad + case opStructFieldHeadSlice: + return opStructFieldAnonymousHeadSlice + case opStructFieldPtrHeadSlice: + return opStructFieldPtrAnonymousHeadSlice + case opStructFieldHeadOmitEmptySlice: + return opStructFieldAnonymousHeadOmitEmptySlice + case opStructFieldPtrHeadOmitEmptySlice: + return opStructFieldPtrAnonymousHeadOmitEmptySlice + case opStructFieldHeadStringTagSlice: + return opStructFieldAnonymousHeadStringTagSlice + case opStructFieldPtrHeadStringTagSlice: + return opStructFieldPtrAnonymousHeadStringTagSlice + case opStructFieldHeadStruct: + return opStructFieldAnonymousHeadStruct + case opStructFieldPtrHeadStruct: + return opStructFieldPtrAnonymousHeadStruct + case opStructFieldHeadOmitEmptyStruct: + return opStructFieldAnonymousHeadOmitEmptyStruct + case opStructFieldPtrHeadOmitEmptyStruct: + return opStructFieldPtrAnonymousHeadOmitEmptyStruct + case opStructFieldHeadStringTagStruct: + return opStructFieldAnonymousHeadStringTagStruct + case opStructFieldPtrHeadStringTagStruct: + return opStructFieldPtrAnonymousHeadStringTagStruct case opStructFieldHeadMarshalJSON: return opStructFieldAnonymousHeadMarshalJSON case opStructFieldPtrHeadMarshalJSON: @@ -5199,6 +6499,66 @@ func (t opType) headToAnonymousHead() opType { return opStructFieldAnonymousHeadStringTagBytesIndent case opStructFieldPtrHeadStringTagBytesIndent: return opStructFieldPtrAnonymousHeadStringTagBytesIndent + case opStructFieldHeadArrayIndent: + return opStructFieldAnonymousHeadArrayIndent + case opStructFieldPtrHeadArrayIndent: + return opStructFieldPtrAnonymousHeadArrayIndent + case opStructFieldHeadOmitEmptyArrayIndent: + return opStructFieldAnonymousHeadOmitEmptyArrayIndent + case opStructFieldPtrHeadOmitEmptyArrayIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent + case opStructFieldHeadStringTagArrayIndent: + return opStructFieldAnonymousHeadStringTagArrayIndent + case opStructFieldPtrHeadStringTagArrayIndent: + return opStructFieldPtrAnonymousHeadStringTagArrayIndent + case opStructFieldHeadMapIndent: + return opStructFieldAnonymousHeadMapIndent + case opStructFieldPtrHeadMapIndent: + return opStructFieldPtrAnonymousHeadMapIndent + case opStructFieldHeadOmitEmptyMapIndent: + return opStructFieldAnonymousHeadOmitEmptyMapIndent + case opStructFieldPtrHeadOmitEmptyMapIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapIndent + case opStructFieldHeadStringTagMapIndent: + return opStructFieldAnonymousHeadStringTagMapIndent + case opStructFieldPtrHeadStringTagMapIndent: + return opStructFieldPtrAnonymousHeadStringTagMapIndent + case opStructFieldHeadMapLoadIndent: + return opStructFieldAnonymousHeadMapLoadIndent + case opStructFieldPtrHeadMapLoadIndent: + return opStructFieldPtrAnonymousHeadMapLoadIndent + case opStructFieldHeadOmitEmptyMapLoadIndent: + return opStructFieldAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldPtrHeadOmitEmptyMapLoadIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldHeadStringTagMapLoadIndent: + return opStructFieldAnonymousHeadStringTagMapLoadIndent + case opStructFieldPtrHeadStringTagMapLoadIndent: + return opStructFieldPtrAnonymousHeadStringTagMapLoadIndent + case opStructFieldHeadSliceIndent: + return opStructFieldAnonymousHeadSliceIndent + case opStructFieldPtrHeadSliceIndent: + return opStructFieldPtrAnonymousHeadSliceIndent + case opStructFieldHeadOmitEmptySliceIndent: + return opStructFieldAnonymousHeadOmitEmptySliceIndent + case opStructFieldPtrHeadOmitEmptySliceIndent: + return opStructFieldPtrAnonymousHeadOmitEmptySliceIndent + case opStructFieldHeadStringTagSliceIndent: + return opStructFieldAnonymousHeadStringTagSliceIndent + case opStructFieldPtrHeadStringTagSliceIndent: + return opStructFieldPtrAnonymousHeadStringTagSliceIndent + case opStructFieldHeadStructIndent: + return opStructFieldAnonymousHeadStructIndent + case opStructFieldPtrHeadStructIndent: + return opStructFieldPtrAnonymousHeadStructIndent + case opStructFieldHeadOmitEmptyStructIndent: + return opStructFieldAnonymousHeadOmitEmptyStructIndent + case opStructFieldPtrHeadOmitEmptyStructIndent: + return opStructFieldPtrAnonymousHeadOmitEmptyStructIndent + case opStructFieldHeadStringTagStructIndent: + return opStructFieldAnonymousHeadStringTagStructIndent + case opStructFieldPtrHeadStringTagStructIndent: + return opStructFieldPtrAnonymousHeadStringTagStructIndent case opStructFieldHeadMarshalJSONIndent: return opStructFieldAnonymousHeadMarshalJSONIndent case opStructFieldPtrHeadMarshalJSONIndent: @@ -5293,6 +6653,26 @@ func (t opType) headToOmitEmptyHead() opType { return opStructFieldHeadOmitEmptyBytes case opStructFieldPtrHeadBytes: return opStructFieldPtrHeadOmitEmptyBytes + case opStructFieldHeadArray: + return opStructFieldHeadOmitEmptyArray + case opStructFieldPtrHeadArray: + return opStructFieldPtrHeadOmitEmptyArray + case opStructFieldHeadMap: + return opStructFieldHeadOmitEmptyMap + case opStructFieldPtrHeadMap: + return opStructFieldPtrHeadOmitEmptyMap + case opStructFieldHeadMapLoad: + return opStructFieldHeadOmitEmptyMapLoad + case opStructFieldPtrHeadMapLoad: + return opStructFieldPtrHeadOmitEmptyMapLoad + case opStructFieldHeadSlice: + return opStructFieldHeadOmitEmptySlice + case opStructFieldPtrHeadSlice: + return opStructFieldPtrHeadOmitEmptySlice + case opStructFieldHeadStruct: + return opStructFieldHeadOmitEmptyStruct + case opStructFieldPtrHeadStruct: + return opStructFieldPtrHeadOmitEmptyStruct case opStructFieldHeadMarshalJSON: return opStructFieldHeadOmitEmptyMarshalJSON case opStructFieldPtrHeadMarshalJSON: @@ -5365,6 +6745,26 @@ func (t opType) headToOmitEmptyHead() opType { return opStructFieldHeadOmitEmptyBytesIndent case opStructFieldPtrHeadBytesIndent: return opStructFieldPtrHeadOmitEmptyBytesIndent + case opStructFieldHeadArrayIndent: + return opStructFieldHeadOmitEmptyArrayIndent + case opStructFieldPtrHeadArrayIndent: + return opStructFieldPtrHeadOmitEmptyArrayIndent + case opStructFieldHeadMapIndent: + return opStructFieldHeadOmitEmptyMapIndent + case opStructFieldPtrHeadMapIndent: + return opStructFieldPtrHeadOmitEmptyMapIndent + case opStructFieldHeadMapLoadIndent: + return opStructFieldHeadOmitEmptyMapLoadIndent + case opStructFieldPtrHeadMapLoadIndent: + return opStructFieldPtrHeadOmitEmptyMapLoadIndent + case opStructFieldHeadSliceIndent: + return opStructFieldHeadOmitEmptySliceIndent + case opStructFieldPtrHeadSliceIndent: + return opStructFieldPtrHeadOmitEmptySliceIndent + case opStructFieldHeadStructIndent: + return opStructFieldHeadOmitEmptyStructIndent + case opStructFieldPtrHeadStructIndent: + return opStructFieldPtrHeadOmitEmptyStructIndent case opStructFieldHeadMarshalJSONIndent: return opStructFieldHeadOmitEmptyMarshalJSONIndent case opStructFieldPtrHeadMarshalJSONIndent: @@ -5443,6 +6843,26 @@ func (t opType) headToStringTagHead() opType { return opStructFieldHeadStringTagBytes case opStructFieldPtrHeadBytes: return opStructFieldPtrHeadStringTagBytes + case opStructFieldHeadArray: + return opStructFieldHeadStringTagArray + case opStructFieldPtrHeadArray: + return opStructFieldPtrHeadStringTagArray + case opStructFieldHeadMap: + return opStructFieldHeadStringTagMap + case opStructFieldPtrHeadMap: + return opStructFieldPtrHeadStringTagMap + case opStructFieldHeadMapLoad: + return opStructFieldHeadStringTagMapLoad + case opStructFieldPtrHeadMapLoad: + return opStructFieldPtrHeadStringTagMapLoad + case opStructFieldHeadSlice: + return opStructFieldHeadStringTagSlice + case opStructFieldPtrHeadSlice: + return opStructFieldPtrHeadStringTagSlice + case opStructFieldHeadStruct: + return opStructFieldHeadStringTagStruct + case opStructFieldPtrHeadStruct: + return opStructFieldPtrHeadStringTagStruct case opStructFieldHeadMarshalJSON: return opStructFieldHeadStringTagMarshalJSON case opStructFieldPtrHeadMarshalJSON: @@ -5515,6 +6935,26 @@ func (t opType) headToStringTagHead() opType { return opStructFieldHeadStringTagBytesIndent case opStructFieldPtrHeadBytesIndent: return opStructFieldPtrHeadStringTagBytesIndent + case opStructFieldHeadArrayIndent: + return opStructFieldHeadStringTagArrayIndent + case opStructFieldPtrHeadArrayIndent: + return opStructFieldPtrHeadStringTagArrayIndent + case opStructFieldHeadMapIndent: + return opStructFieldHeadStringTagMapIndent + case opStructFieldPtrHeadMapIndent: + return opStructFieldPtrHeadStringTagMapIndent + case opStructFieldHeadMapLoadIndent: + return opStructFieldHeadStringTagMapLoadIndent + case opStructFieldPtrHeadMapLoadIndent: + return opStructFieldPtrHeadStringTagMapLoadIndent + case opStructFieldHeadSliceIndent: + return opStructFieldHeadStringTagSliceIndent + case opStructFieldPtrHeadSliceIndent: + return opStructFieldPtrHeadStringTagSliceIndent + case opStructFieldHeadStructIndent: + return opStructFieldHeadStringTagStructIndent + case opStructFieldPtrHeadStructIndent: + return opStructFieldPtrHeadStringTagStructIndent case opStructFieldHeadMarshalJSONIndent: return opStructFieldHeadStringTagMarshalJSONIndent case opStructFieldPtrHeadMarshalJSONIndent: @@ -5721,6 +7161,66 @@ func (t opType) ptrHeadToHead() opType { return opStructFieldHeadStringTagBytes case opStructFieldPtrAnonymousHeadStringTagBytes: return opStructFieldAnonymousHeadStringTagBytes + case opStructFieldPtrHeadArray: + return opStructFieldHeadArray + case opStructFieldPtrAnonymousHeadArray: + return opStructFieldAnonymousHeadArray + case opStructFieldPtrHeadOmitEmptyArray: + return opStructFieldHeadOmitEmptyArray + case opStructFieldPtrAnonymousHeadOmitEmptyArray: + return opStructFieldAnonymousHeadOmitEmptyArray + case opStructFieldPtrHeadStringTagArray: + return opStructFieldHeadStringTagArray + case opStructFieldPtrAnonymousHeadStringTagArray: + return opStructFieldAnonymousHeadStringTagArray + case opStructFieldPtrHeadMap: + return opStructFieldHeadMap + case opStructFieldPtrAnonymousHeadMap: + return opStructFieldAnonymousHeadMap + case opStructFieldPtrHeadOmitEmptyMap: + return opStructFieldHeadOmitEmptyMap + case opStructFieldPtrAnonymousHeadOmitEmptyMap: + return opStructFieldAnonymousHeadOmitEmptyMap + case opStructFieldPtrHeadStringTagMap: + return opStructFieldHeadStringTagMap + case opStructFieldPtrAnonymousHeadStringTagMap: + return opStructFieldAnonymousHeadStringTagMap + case opStructFieldPtrHeadMapLoad: + return opStructFieldHeadMapLoad + case opStructFieldPtrAnonymousHeadMapLoad: + return opStructFieldAnonymousHeadMapLoad + case opStructFieldPtrHeadOmitEmptyMapLoad: + return opStructFieldHeadOmitEmptyMapLoad + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoad: + return opStructFieldAnonymousHeadOmitEmptyMapLoad + case opStructFieldPtrHeadStringTagMapLoad: + return opStructFieldHeadStringTagMapLoad + case opStructFieldPtrAnonymousHeadStringTagMapLoad: + return opStructFieldAnonymousHeadStringTagMapLoad + case opStructFieldPtrHeadSlice: + return opStructFieldHeadSlice + case opStructFieldPtrAnonymousHeadSlice: + return opStructFieldAnonymousHeadSlice + case opStructFieldPtrHeadOmitEmptySlice: + return opStructFieldHeadOmitEmptySlice + case opStructFieldPtrAnonymousHeadOmitEmptySlice: + return opStructFieldAnonymousHeadOmitEmptySlice + case opStructFieldPtrHeadStringTagSlice: + return opStructFieldHeadStringTagSlice + case opStructFieldPtrAnonymousHeadStringTagSlice: + return opStructFieldAnonymousHeadStringTagSlice + case opStructFieldPtrHeadStruct: + return opStructFieldHeadStruct + case opStructFieldPtrAnonymousHeadStruct: + return opStructFieldAnonymousHeadStruct + case opStructFieldPtrHeadOmitEmptyStruct: + return opStructFieldHeadOmitEmptyStruct + case opStructFieldPtrAnonymousHeadOmitEmptyStruct: + return opStructFieldAnonymousHeadOmitEmptyStruct + case opStructFieldPtrHeadStringTagStruct: + return opStructFieldHeadStringTagStruct + case opStructFieldPtrAnonymousHeadStringTagStruct: + return opStructFieldAnonymousHeadStringTagStruct case opStructFieldPtrHeadMarshalJSON: return opStructFieldHeadMarshalJSON case opStructFieldPtrAnonymousHeadMarshalJSON: @@ -5937,6 +7437,66 @@ func (t opType) ptrHeadToHead() opType { return opStructFieldHeadStringTagBytesIndent case opStructFieldPtrAnonymousHeadStringTagBytesIndent: return opStructFieldAnonymousHeadStringTagBytesIndent + case opStructFieldPtrHeadArrayIndent: + return opStructFieldHeadArrayIndent + case opStructFieldPtrAnonymousHeadArrayIndent: + return opStructFieldAnonymousHeadArrayIndent + case opStructFieldPtrHeadOmitEmptyArrayIndent: + return opStructFieldHeadOmitEmptyArrayIndent + case opStructFieldPtrAnonymousHeadOmitEmptyArrayIndent: + return opStructFieldAnonymousHeadOmitEmptyArrayIndent + case opStructFieldPtrHeadStringTagArrayIndent: + return opStructFieldHeadStringTagArrayIndent + case opStructFieldPtrAnonymousHeadStringTagArrayIndent: + return opStructFieldAnonymousHeadStringTagArrayIndent + case opStructFieldPtrHeadMapIndent: + return opStructFieldHeadMapIndent + case opStructFieldPtrAnonymousHeadMapIndent: + return opStructFieldAnonymousHeadMapIndent + case opStructFieldPtrHeadOmitEmptyMapIndent: + return opStructFieldHeadOmitEmptyMapIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMapIndent: + return opStructFieldAnonymousHeadOmitEmptyMapIndent + case opStructFieldPtrHeadStringTagMapIndent: + return opStructFieldHeadStringTagMapIndent + case opStructFieldPtrAnonymousHeadStringTagMapIndent: + return opStructFieldAnonymousHeadStringTagMapIndent + case opStructFieldPtrHeadMapLoadIndent: + return opStructFieldHeadMapLoadIndent + case opStructFieldPtrAnonymousHeadMapLoadIndent: + return opStructFieldAnonymousHeadMapLoadIndent + case opStructFieldPtrHeadOmitEmptyMapLoadIndent: + return opStructFieldHeadOmitEmptyMapLoadIndent + case opStructFieldPtrAnonymousHeadOmitEmptyMapLoadIndent: + return opStructFieldAnonymousHeadOmitEmptyMapLoadIndent + case opStructFieldPtrHeadStringTagMapLoadIndent: + return opStructFieldHeadStringTagMapLoadIndent + case opStructFieldPtrAnonymousHeadStringTagMapLoadIndent: + return opStructFieldAnonymousHeadStringTagMapLoadIndent + case opStructFieldPtrHeadSliceIndent: + return opStructFieldHeadSliceIndent + case opStructFieldPtrAnonymousHeadSliceIndent: + return opStructFieldAnonymousHeadSliceIndent + case opStructFieldPtrHeadOmitEmptySliceIndent: + return opStructFieldHeadOmitEmptySliceIndent + case opStructFieldPtrAnonymousHeadOmitEmptySliceIndent: + return opStructFieldAnonymousHeadOmitEmptySliceIndent + case opStructFieldPtrHeadStringTagSliceIndent: + return opStructFieldHeadStringTagSliceIndent + case opStructFieldPtrAnonymousHeadStringTagSliceIndent: + return opStructFieldAnonymousHeadStringTagSliceIndent + case opStructFieldPtrHeadStructIndent: + return opStructFieldHeadStructIndent + case opStructFieldPtrAnonymousHeadStructIndent: + return opStructFieldAnonymousHeadStructIndent + case opStructFieldPtrHeadOmitEmptyStructIndent: + return opStructFieldHeadOmitEmptyStructIndent + case opStructFieldPtrAnonymousHeadOmitEmptyStructIndent: + return opStructFieldAnonymousHeadOmitEmptyStructIndent + case opStructFieldPtrHeadStringTagStructIndent: + return opStructFieldHeadStringTagStructIndent + case opStructFieldPtrAnonymousHeadStringTagStructIndent: + return opStructFieldAnonymousHeadStringTagStructIndent case opStructFieldPtrHeadMarshalJSONIndent: return opStructFieldHeadMarshalJSONIndent case opStructFieldPtrAnonymousHeadMarshalJSONIndent: @@ -5999,6 +7559,16 @@ func (t opType) fieldToOmitEmptyField() opType { return opStructFieldOmitEmptyString case opStructFieldBytes: return opStructFieldOmitEmptyBytes + case opStructFieldArray: + return opStructFieldOmitEmptyArray + case opStructFieldMap: + return opStructFieldOmitEmptyMap + case opStructFieldMapLoad: + return opStructFieldOmitEmptyMapLoad + case opStructFieldSlice: + return opStructFieldOmitEmptySlice + case opStructFieldStruct: + return opStructFieldOmitEmptyStruct case opStructFieldMarshalJSON: return opStructFieldOmitEmptyMarshalJSON case opStructFieldMarshalText: @@ -6035,6 +7605,16 @@ func (t opType) fieldToOmitEmptyField() opType { return opStructFieldOmitEmptyStringIndent case opStructFieldBytesIndent: return opStructFieldOmitEmptyBytesIndent + case opStructFieldArrayIndent: + return opStructFieldOmitEmptyArrayIndent + case opStructFieldMapIndent: + return opStructFieldOmitEmptyMapIndent + case opStructFieldMapLoadIndent: + return opStructFieldOmitEmptyMapLoadIndent + case opStructFieldSliceIndent: + return opStructFieldOmitEmptySliceIndent + case opStructFieldStructIndent: + return opStructFieldOmitEmptyStructIndent case opStructFieldMarshalJSONIndent: return opStructFieldOmitEmptyMarshalJSONIndent case opStructFieldMarshalTextIndent: @@ -6077,6 +7657,16 @@ func (t opType) fieldToStringTagField() opType { return opStructFieldStringTagString case opStructFieldBytes: return opStructFieldStringTagBytes + case opStructFieldArray: + return opStructFieldStringTagArray + case opStructFieldMap: + return opStructFieldStringTagMap + case opStructFieldMapLoad: + return opStructFieldStringTagMapLoad + case opStructFieldSlice: + return opStructFieldStringTagSlice + case opStructFieldStruct: + return opStructFieldStringTagStruct case opStructFieldMarshalJSON: return opStructFieldStringTagMarshalJSON case opStructFieldMarshalText: @@ -6113,6 +7703,16 @@ func (t opType) fieldToStringTagField() opType { return opStructFieldStringTagStringIndent case opStructFieldBytesIndent: return opStructFieldStringTagBytesIndent + case opStructFieldArrayIndent: + return opStructFieldStringTagArrayIndent + case opStructFieldMapIndent: + return opStructFieldStringTagMapIndent + case opStructFieldMapLoadIndent: + return opStructFieldStringTagMapLoadIndent + case opStructFieldSliceIndent: + return opStructFieldStringTagSliceIndent + case opStructFieldStructIndent: + return opStructFieldStringTagStructIndent case opStructFieldMarshalJSONIndent: return opStructFieldStringTagMarshalJSONIndent case opStructFieldMarshalTextIndent: From 9ba13f68ffc8db9e338e51d740a7e42abe0b26b5 Mon Sep 17 00:00:00 2001 From: Masaaki Goshima Date: Mon, 24 Aug 2020 01:50:18 +0900 Subject: [PATCH 6/6] Add special operation for opStructFieldHead and opStructField --- encode_compile.go | 80 ++++++++++ encode_vm.go | 379 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 459 insertions(+) diff --git a/encode_compile.go b/encode_compile.go index 9cab925..9dc7ec2 100644 --- a/encode_compile.go +++ b/encode_compile.go @@ -435,6 +435,26 @@ func (e *Encoder) typeToHeaderType(op opType) opType { return opStructFieldHeadString case opBool: return opStructFieldHeadBool + case opMapHead: + return opStructFieldHeadMap + case opMapHeadLoad: + return opStructFieldHeadMapLoad + case opMapHeadIndent: + return opStructFieldHeadMapIndent + case opMapHeadLoadIndent: + return opStructFieldHeadMapLoadIndent + case opArrayHead: + return opStructFieldHeadArray + case opArrayHeadIndent: + return opStructFieldHeadArrayIndent + case opSliceHead: + return opStructFieldHeadSlice + case opSliceHeadIndent: + return opStructFieldHeadSliceIndent + case opStructFieldHead: + return opStructFieldHeadStruct + case opStructFieldHeadIndent: + return opStructFieldHeadStructIndent case opMarshalJSON: return opStructFieldHeadMarshalJSON case opMarshalText: @@ -473,6 +493,26 @@ func (e *Encoder) typeToFieldType(op opType) opType { return opStructFieldString case opBool: return opStructFieldBool + case opMapHead: + return opStructFieldMap + case opMapHeadLoad: + return opStructFieldMapLoad + case opMapHeadIndent: + return opStructFieldMapIndent + case opMapHeadLoadIndent: + return opStructFieldMapLoadIndent + case opArrayHead: + return opStructFieldArray + case opArrayHeadIndent: + return opStructFieldArrayIndent + case opSliceHead: + return opStructFieldSlice + case opSliceHeadIndent: + return opStructFieldSliceIndent + case opStructFieldHead: + return opStructFieldStruct + case opStructFieldHeadIndent: + return opStructFieldStructIndent case opMarshalJSON: return opStructFieldMarshalJSON case opMarshalText: @@ -541,10 +581,30 @@ func (e *Encoder) structHeader(fieldCode *structFieldCode, valueCode *opcode, ta fieldCode.op = op switch op { case opStructFieldHead, + opStructFieldHeadSlice, + opStructFieldHeadArray, + opStructFieldHeadMap, + opStructFieldHeadMapLoad, + opStructFieldHeadStruct, opStructFieldHeadOmitEmpty, + opStructFieldHeadOmitEmptySlice, + opStructFieldHeadOmitEmptyArray, + opStructFieldHeadOmitEmptyMap, + opStructFieldHeadOmitEmptyMapLoad, + opStructFieldHeadOmitEmptyStruct, opStructFieldHeadStringTag, opStructFieldHeadIndent, + opStructFieldHeadSliceIndent, + opStructFieldHeadArrayIndent, + opStructFieldHeadMapIndent, + opStructFieldHeadMapLoadIndent, + opStructFieldHeadStructIndent, opStructFieldHeadOmitEmptyIndent, + opStructFieldHeadOmitEmptySliceIndent, + opStructFieldHeadOmitEmptyArrayIndent, + opStructFieldHeadOmitEmptyMapIndent, + opStructFieldHeadOmitEmptyMapLoadIndent, + opStructFieldHeadOmitEmptyStructIndent, opStructFieldHeadStringTagIndent: return valueCode.beforeLastCode() } @@ -557,10 +617,30 @@ func (e *Encoder) structField(fieldCode *structFieldCode, valueCode *opcode, tag fieldCode.op = op switch op { case opStructField, + opStructFieldSlice, + opStructFieldArray, + opStructFieldMap, + opStructFieldMapLoad, + opStructFieldStruct, opStructFieldOmitEmpty, + opStructFieldOmitEmptySlice, + opStructFieldOmitEmptyArray, + opStructFieldOmitEmptyMap, + opStructFieldOmitEmptyMapLoad, + opStructFieldOmitEmptyStruct, opStructFieldStringTag, opStructFieldIndent, + opStructFieldSliceIndent, + opStructFieldArrayIndent, + opStructFieldMapIndent, + opStructFieldMapLoadIndent, + opStructFieldStructIndent, opStructFieldOmitEmptyIndent, + opStructFieldOmitEmptySliceIndent, + opStructFieldOmitEmptyArrayIndent, + opStructFieldOmitEmptyMapIndent, + opStructFieldOmitEmptyMapLoadIndent, + opStructFieldOmitEmptyStructIndent, opStructFieldStringTagIndent: return valueCode.beforeLastCode() } diff --git a/encode_vm.go b/encode_vm.go index d38ceb6..b9f4eaf 100644 --- a/encode_vm.go +++ b/encode_vm.go @@ -1093,6 +1093,78 @@ func (e *Encoder) run(code *opcode) error { field.nextField.ptr = ptr code = field.next } + case opStructFieldPtrHeadArray: + code.ptr = e.ptrToPtr(code.ptr) + fallthrough + case opStructFieldHeadArray: + c := code.toStructFieldCode() + ptr := c.ptr + c.offset + if ptr == 0 { + if code.op == opStructFieldPtrHeadArray { + e.encodeNull() + } else { + e.encodeBytes([]byte{'[', ']'}) + } + code = c.end + } else { + e.encodeByte('{') + if !c.anonymousKey { + e.encodeBytes(c.key) + } + code = c.next + code.ptr = ptr + c.nextField.ptr = ptr + } + case opStructFieldPtrAnonymousHeadArray: + code.ptr = e.ptrToPtr(code.ptr) + fallthrough + case opStructFieldAnonymousHeadArray: + c := code.toStructFieldCode() + ptr := c.ptr + c.offset + if ptr == 0 { + code = c.end + } else { + e.encodeBytes(c.key) + code.ptr = ptr + c.nextField.ptr = ptr + code = c.next + } + case opStructFieldPtrHeadSlice: + code.ptr = e.ptrToPtr(code.ptr) + fallthrough + case opStructFieldHeadSlice: + c := code.toStructFieldCode() + ptr := c.ptr + c.offset + if ptr == 0 { + if code.op == opStructFieldPtrHeadSlice { + e.encodeNull() + } else { + e.encodeBytes([]byte{'[', ']'}) + } + code = c.end + } else { + e.encodeByte('{') + if !c.anonymousKey { + e.encodeBytes(c.key) + } + code = c.next + code.ptr = ptr + c.nextField.ptr = ptr + } + case opStructFieldPtrAnonymousHeadSlice: + code.ptr = e.ptrToPtr(code.ptr) + fallthrough + case opStructFieldAnonymousHeadSlice: + c := code.toStructFieldCode() + ptr := c.ptr + c.offset + if ptr == 0 { + code = c.end + } else { + e.encodeBytes(c.key) + code.ptr = ptr + c.nextField.ptr = ptr + code = c.next + } case opStructFieldPtrHeadMarshalJSON: code.ptr = e.ptrToPtr(code.ptr) fallthrough @@ -4150,6 +4222,51 @@ func (e *Encoder) run(code *opcode) error { } e.encodeString(*(*string)(unsafe.Pointer(&bytes))) code = code.next + case opStructFieldArray: + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + c := code.toStructFieldCode() + c.nextField.ptr = c.ptr + code = code.next + code.ptr = c.ptr + c.offset + e.encodeBytes(c.key) + case opStructFieldSlice: + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + c := code.toStructFieldCode() + c.nextField.ptr = c.ptr + code = code.next + code.ptr = c.ptr + c.offset + e.encodeBytes(c.key) + case opStructFieldMap: + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + c := code.toStructFieldCode() + e.encodeBytes(c.key) + code = code.next + code.ptr = c.ptr + c.offset + c.nextField.ptr = c.ptr + case opStructFieldMapLoad: + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + c := code.toStructFieldCode() + e.encodeBytes(c.key) + code = code.next + code.ptr = c.ptr + c.offset + c.nextField.ptr = c.ptr + case opStructFieldStruct: + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + c := code.toStructFieldCode() + e.encodeBytes(c.key) + code = code.next + code.ptr = c.ptr + c.offset + c.nextField.ptr = c.ptr case opStructFieldIndent: c := code.toStructFieldCode() if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { @@ -4363,6 +4480,111 @@ func (e *Encoder) run(code *opcode) error { e.encodeBytes(buf.Bytes()) code = code.next c.nextField.ptr = c.ptr + case opStructFieldArrayIndent: + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + c := code.toStructFieldCode() + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + e.encodeNull() + code = c.nextField + } else { + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldSliceIndent: + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + c := code.toStructFieldCode() + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + e.encodeNull() + code = c.nextField + } else { + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldMapIndent: + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + c := code.toStructFieldCode() + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + p := c.ptr + c.offset + if p == 0 { + e.encodeNull() + code = c.nextField + } else { + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + e.encodeBytes([]byte{'{', '}'}) + mapCode := code.next + mapHeadCode := mapCode.toMapHeadCode() + code = mapHeadCode.end.next + } else { + code = code.next + } + } + c.nextField.ptr = c.ptr + case opStructFieldMapLoadIndent: + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + c := code.toStructFieldCode() + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + p := c.ptr + c.offset + if p == 0 { + e.encodeNull() + code = c.nextField + } else { + p = uintptr(*(*unsafe.Pointer)(unsafe.Pointer(p))) + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + e.encodeBytes([]byte{'{', '}'}) + code = c.nextField + } else { + code = code.next + } + } + c.nextField.ptr = c.ptr + case opStructFieldStructIndent: + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + c := code.toStructFieldCode() + p := c.ptr + c.offset + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + if p == 0 { + e.encodeBytes([]byte{'{', '}'}) + code = c.nextField + } else { + headCode := c.next.toStructFieldCode() + if headCode.next == headCode.end { + // not exists fields + e.encodeBytes([]byte{'{', '}'}) + code = c.nextField + } else { + code = code.next + code.ptr = p + } + } + c.nextField.ptr = c.ptr case opStructFieldOmitEmpty: c := code.toStructFieldCode() p := c.ptr + c.offset @@ -4612,6 +4834,67 @@ func (e *Encoder) run(code *opcode) error { } code = code.next code.ptr = c.ptr + case opStructFieldOmitEmptyArray: + c := code.toStructFieldCode() + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptySlice: + c := code.toStructFieldCode() + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptyMap: + c := code.toStructFieldCode() + p := c.ptr + c.offset + if p == 0 { + code = c.nextField + } else { + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + code = code.next + } + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptyMapLoad: + c := code.toStructFieldCode() + p := c.ptr + c.offset + if p == 0 { + code = c.nextField + } else { + p = uintptr(*(*unsafe.Pointer)(unsafe.Pointer(p))) + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-1] != '{' { + e.encodeByte(',') + } + code = code.next + } + } + c.nextField.ptr = c.ptr case opStructFieldOmitEmptyIndent: c := code.toStructFieldCode() p := c.ptr + c.offset @@ -4847,6 +5130,102 @@ func (e *Encoder) run(code *opcode) error { } code = code.next code.ptr = c.ptr + case opStructFieldOmitEmptyArrayIndent: + c := code.toStructFieldCode() + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptySliceIndent: + c := code.toStructFieldCode() + p := c.ptr + c.offset + header := (*reflect.SliceHeader)(unsafe.Pointer(p)) + if p == 0 || header.Data == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + code = code.next + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptyMapIndent: + c := code.toStructFieldCode() + p := c.ptr + c.offset + if p == 0 { + code = c.nextField + } else { + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + code = code.next + } + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptyMapLoadIndent: + c := code.toStructFieldCode() + p := c.ptr + c.offset + if p == 0 { + code = c.nextField + } else { + p = uintptr(*(*unsafe.Pointer)(unsafe.Pointer(p))) + mlen := maplen(unsafe.Pointer(p)) + if mlen == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + code = code.next + } + } + c.nextField.ptr = c.ptr + case opStructFieldOmitEmptyStructIndent: + c := code.toStructFieldCode() + p := c.ptr + c.offset + if p == 0 { + code = c.nextField + } else { + if e.buf[len(e.buf)-2] != '{' || e.buf[len(e.buf)-1] == '}' { + e.encodeBytes([]byte{',', '\n'}) + } + e.encodeIndent(c.indent) + e.encodeBytes(c.key) + e.encodeByte(' ') + headCode := c.next.toStructFieldCode() + if headCode.next == headCode.end { + // not exists fields + e.encodeBytes([]byte{'{', '}'}) + code = c.nextField + } else { + code = code.next + code.ptr = p + } + } + c.nextField.ptr = c.ptr case opStructFieldStringTag: c := code.toStructFieldCode() p := c.ptr + c.offset