func decoderOfStruct(ctx *ctx, typ reflect2.Type) ValDecoder { … } func createStructDecoder(ctx *ctx, typ reflect2.Type, fields map[string]*structFieldDecoder) ValDecoder { … } type generalStructDecoder … func (decoder *generalStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } func (decoder *generalStructDecoder) decodeOneField(ptr unsafe.Pointer, iter *Iterator) { … } type skipObjectDecoder … func (decoder *skipObjectDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type oneFieldStructDecoder … func (decoder *oneFieldStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type twoFieldsStructDecoder … func (decoder *twoFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type threeFieldsStructDecoder … func (decoder *threeFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type fourFieldsStructDecoder … func (decoder *fourFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type fiveFieldsStructDecoder … func (decoder *fiveFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type sixFieldsStructDecoder … func (decoder *sixFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type sevenFieldsStructDecoder … func (decoder *sevenFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type eightFieldsStructDecoder … func (decoder *eightFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type nineFieldsStructDecoder … func (decoder *nineFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type tenFieldsStructDecoder … func (decoder *tenFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type structFieldDecoder … func (decoder *structFieldDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type stringModeStringDecoder … func (decoder *stringModeStringDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … } type stringModeNumberDecoder … func (decoder *stringModeNumberDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { … }