INNER CODE UNIT · Go
shouldIgnore
jinzhu/copier · copier.go:520
func shouldIgnore(v reflect.Value, bitFlags uint8, ignoreEmpty bool) bool {
return ignoreEmpty && bitFlags&tagOverride == 0 && v.IsZero()
}
var deepFieldsLock sync.RWMutex
var deepFieldsMap = make(map[reflect.Type][]reflect.StructField)
func deepFields(reflectType reflect.Type) []reflect.StructField {
deepFieldsLock.RLock()
cache, ok := deepFieldsMap[reflectType]
deepFieldsLock.RUnlock()
if ok {
return cache
}
var res []reflect.StructField
if reflectType, _ = indirectType(reflectType); reflectType.Kind() == reflect.Struct {
fields := make([]reflect.StructField, 0, reflectType.NumField())