INNER CODE UNIT · Go
extractFields
rigdev/rig · cmd/rig-proto-gen/main.go:155
func extractFields(t reflect.Type) []reflect.StructField {
var res []reflect.StructField
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
if !field.IsExported() {
continue
}
jsonTag := field.Tag.Get("json")
if isJSONInline(jsonTag) {
tt := field.Type
for tt.Kind() == reflect.Pointer {
tt = tt.Elem()
}
if tt.Kind() != reflect.Struct {
continue
}
res = append(res, extractFields(field.Type)...)
} else {