INNER CODE UNIT · Go
checkNilFields
devtron-labs/devtron · WiringNilCheck.go:44
func checkNilFields(obj interface{}, nilObjMap map[string]bool) {
val := reflect.ValueOf(obj)
if val.Kind() == reflect.Ptr {
val = val.Elem()
}
if val.Kind() != reflect.Struct {
return
}
valName := val.Type().Name()
for i := 0; i < val.NumField(); i++ {
field := val.Field(i)
fieldName := val.Type().Field(i).Name
pkgPath := val.Type().PkgPath()
if pkgPath != "main" && !strings.Contains(pkgPath, "devtron-labs/devtron") {
//package not from this repo, ignoring
continue
}
if skipUnnecessaryFieldsForCheck(fieldName, valName) { // skip unnecessary fileds and values