(ctx *compileContext, codes Opcodes)
| 690 | } |
| 691 | |
| 692 | func (c *StructFieldCode) addStructEndCode(ctx *compileContext, codes Opcodes) Opcodes { |
| 693 | end := &Opcode{ |
| 694 | Op: OpStructEnd, |
| 695 | Idx: opcodeOffset(ctx.ptrIndex), |
| 696 | DisplayIdx: ctx.opcodeIndex, |
| 697 | Indent: ctx.indent, |
| 698 | } |
| 699 | codes.Last().Next = end |
| 700 | code := codes.First() |
| 701 | for code.Op == OpStructField || code.Op == OpStructHead { |
| 702 | code = code.Next |
| 703 | } |
| 704 | for code.NextField != nil { |
| 705 | code = code.NextField |
| 706 | } |
| 707 | code.NextField = end |
| 708 | |
| 709 | codes = codes.Add(end) |
| 710 | ctx.incOpcodeIndex() |
| 711 | return codes |
| 712 | } |
| 713 | |
| 714 | func (c *StructFieldCode) structKey(ctx *compileContext) string { |
| 715 | if ctx.escapeKey { |
no test coverage detected