MCPcopy Index your code
hub / github.com/goccy/go-json / fieldOpcodes

Method fieldOpcodes

internal/encoder/code.go:671–690  ·  view source on GitHub ↗
(ctx *compileContext, field *Opcode, valueCodes Opcodes)

Source from the content-addressed store, hash-verified

669}
670
671func (c *StructFieldCode) fieldOpcodes(ctx *compileContext, field *Opcode, valueCodes Opcodes) Opcodes {
672 value := valueCodes.First()
673 op := optimizeStructField(value, c.tag)
674 field.Op = op
675 if value.Flags&MarshalerContextFlags != 0 {
676 field.Flags |= MarshalerContextFlags
677 }
678 field.NumBitSize = value.NumBitSize
679 field.PtrNum = value.PtrNum
680 field.FieldQuery = value.FieldQuery
681
682 fieldCodes := Opcodes{field}
683 if op.IsMultipleOpField() {
684 field.Next = value
685 fieldCodes = fieldCodes.Add(valueCodes...)
686 } else {
687 ctx.decIndex()
688 }
689 return fieldCodes
690}
691
692func (c *StructFieldCode) addStructEndCode(ctx *compileContext, codes Opcodes) Opcodes {
693 end := &Opcode{

Callers 2

ToOpcodeMethod · 0.95
ToAnonymousOpcodeMethod · 0.95

Calls 5

AddMethod · 0.95
optimizeStructFieldFunction · 0.85
FirstMethod · 0.80
IsMultipleOpFieldMethod · 0.80
decIndexMethod · 0.80

Tested by

no test coverage detected