(typ reflect.Type, version int16, flexible bool, tag structTag)
| 494 | } |
| 495 | |
| 496 | func arrayEncodeFuncOf(typ reflect.Type, version int16, flexible bool, tag structTag) encodeFunc { |
| 497 | elemType := typ.Elem() |
| 498 | elemFunc := encodeFuncOf(elemType, version, flexible, tag) |
| 499 | switch { |
| 500 | case flexible && tag.Nullable: |
| 501 | // In flexible messages, all arrays are compact |
| 502 | return func(e *encoder, v value) { e.encodeCompactNullArray(v, elemType, elemFunc) } |
| 503 | case flexible: |
| 504 | // In flexible messages, all arrays are compact |
| 505 | return func(e *encoder, v value) { e.encodeCompactArray(v, elemType, elemFunc) } |
| 506 | case tag.Nullable: |
| 507 | return func(e *encoder, v value) { e.encodeNullArray(v, elemType, elemFunc) } |
| 508 | default: |
| 509 | return func(e *encoder, v value) { e.encodeArray(v, elemType, elemFunc) } |
| 510 | } |
| 511 | } |
| 512 | |
| 513 | func writerEncodeFuncOf(typ reflect.Type) encodeFunc { |
| 514 | typ = reflect.PtrTo(typ) |
no test coverage detected
searching dependent graphs…