Procházet zdrojové kódy

#76 fix UnmarshalJSON

Tao Wen před 8 roky
rodič
revize
08dbc98040
1 změnil soubory, kde provedl 5 přidání a 0 odebrání
  1. 5 0
      feature_reflect.go

+ 5 - 0
feature_reflect.go

@@ -267,6 +267,11 @@ func createDecoderOfType(cfg *frozenConfig, typ reflect.Type) (ValDecoder, error
 		}
 		return decoder, nil
 	}
+	if reflect.PtrTo(typ).ConvertibleTo(unmarshalerType) {
+		templateInterface := reflect.New(typ).Interface()
+		var decoder ValDecoder = &unmarshalerDecoder{extractInterface(templateInterface)}
+		return decoder, nil
+	}
 	if typ.ConvertibleTo(anyType) {
 		return &anyCodec{}, nil
 	}