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 {

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…