Skip to content

Commit

Permalink
Merge pull request #629 from fxamacker/fxamacker/replace-reflect-ptrto
Browse files Browse the repository at this point in the history
Replace `reflect.PtrTo` with `reflect.PointerTo`
  • Loading branch information
fxamacker authored Feb 22, 2025
2 parents c26c5a2 + 34c6f2b commit 0263af4
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 9 deletions.
2 changes: 1 addition & 1 deletion cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func newTypeInfo(t reflect.Type) *typeInfo {
tInfo.spclType = specialTypeTag
} else if t == typeTime {
tInfo.spclType = specialTypeTime
} else if reflect.PtrTo(t).Implements(typeUnmarshaler) {
} else if reflect.PointerTo(t).Implements(typeUnmarshaler) {
tInfo.spclType = specialTypeUnmarshalerIface
}

Expand Down
4 changes: 2 additions & 2 deletions decode.go
Original file line number Diff line number Diff line change
Expand Up @@ -1387,7 +1387,7 @@ func (d *decoder) parseToValue(v reflect.Value, tInfo *typeInfo) error { //nolin
registeredType := d.dm.tags.getTypeFromTagNum(tagNums)
if registeredType != nil {
if registeredType.Implements(tInfo.nonPtrType) ||
reflect.PtrTo(registeredType).Implements(tInfo.nonPtrType) {
reflect.PointerTo(registeredType).Implements(tInfo.nonPtrType) {
v.Set(reflect.New(registeredType))
v = v.Elem()
tInfo = getTypeInfo(registeredType)
Expand Down Expand Up @@ -3083,7 +3083,7 @@ func fillFloat(t cborType, val float64, v reflect.Value) error {
}

func fillByteString(t cborType, val []byte, shared bool, v reflect.Value, bsts ByteStringToStringMode, bum BinaryUnmarshalerMode) error {
if bum == BinaryUnmarshalerByteString && reflect.PtrTo(v.Type()).Implements(typeBinaryUnmarshaler) {
if bum == BinaryUnmarshalerByteString && reflect.PointerTo(v.Type()).Implements(typeBinaryUnmarshaler) {
if v.CanAddr() {
v = v.Addr()
if u, ok := v.Interface().(encoding.BinaryUnmarshaler); ok {
Expand Down
8 changes: 4 additions & 4 deletions decode_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -2386,7 +2386,7 @@ func testUnmarshalToCompatibleType(t *testing.T, data []byte, wantValue any, com
// var pv *wantType
// Unmarshal(tc.data, &pv)

rv = reflect.New(reflect.PtrTo(wantType))
rv = reflect.New(reflect.PointerTo(wantType))
if err := Unmarshal(data, rv.Interface()); err != nil {
t.Errorf("Unmarshal(0x%x) returned error %v", data, err)
return
Expand All @@ -2405,7 +2405,7 @@ func testUnmarshalToCompatibleType(t *testing.T, data []byte, wantValue any, com
// Unmarshal(tc.data, &pv)

irv := reflect.New(wantType)
rv = reflect.New(reflect.PtrTo(wantType))
rv = reflect.New(reflect.PointerTo(wantType))
rv.Elem().Set(irv)
if err := Unmarshal(data, rv.Interface()); err != nil {
t.Errorf("Unmarshal(0x%x) returned error %v", data, err)
Expand Down Expand Up @@ -2446,7 +2446,7 @@ func testUnmarshalToIncompatibleType(t *testing.T, data []byte, wrongType reflec
// var pv *wrongType
// Unmarshal(tc.data, &pv)

rv = reflect.New(reflect.PtrTo(wrongType))
rv = reflect.New(reflect.PointerTo(wrongType))
if err := Unmarshal(data, rv.Interface()); err == nil {
t.Errorf("Unmarshal(0x%x) didn't return an error", data)
} else if _, ok := err.(*UnmarshalTypeError); !ok {
Expand All @@ -2459,7 +2459,7 @@ func testUnmarshalToIncompatibleType(t *testing.T, data []byte, wrongType reflec
// Unmarshal(tc.data, &pv)

irv := reflect.New(wrongType)
rv = reflect.New(reflect.PtrTo(wrongType))
rv = reflect.New(reflect.PointerTo(wrongType))
rv.Elem().Set(irv)

if err := Unmarshal(data, rv.Interface()); err == nil {
Expand Down
4 changes: 2 additions & 2 deletions encode.go
Original file line number Diff line number Diff line change
Expand Up @@ -1799,10 +1799,10 @@ func getEncodeFuncInternal(t reflect.Type) (ef encodeFunc, ief isEmptyFunc) {
case typeByteString:
return encodeMarshalerType, isEmptyString
}
if reflect.PtrTo(t).Implements(typeMarshaler) {
if reflect.PointerTo(t).Implements(typeMarshaler) {
return encodeMarshalerType, alwaysNotEmpty
}
if reflect.PtrTo(t).Implements(typeBinaryMarshaler) {
if reflect.PointerTo(t).Implements(typeBinaryMarshaler) {
defer func() {
// capture encoding method used for modes that disable BinaryMarshaler
bme := binaryMarshalerEncoder{
Expand Down

0 comments on commit 0263af4

Please sign in to comment.