all: rename ExtensionType Descriptor method to TypeDescriptor (1/2)

Descriptor methods generally return a Descriptor with no Go type
information. ExtensionType's Descriptor is an exception, returning an
ExtensionTypeDescriptor containing both the proto descriptor and a
reference back to the ExtensionType. The pure descriptor is accessed
by xt.Descriptor().Descriptor().

Rename ExtensionType's Descriptor method to TypeDescriptor to make it
clear that it behaves a bit differently.

Change 1/2: Add the TypeDescriptor method and deprecate Descriptor.

Change-Id: I1806095044d35a474d60f94d2a28bdf528f12238
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/192139
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
diff --git a/internal/impl/codec_extension.go b/internal/impl/codec_extension.go
index 7e430ee..8a999ef 100644
--- a/internal/impl/codec_extension.go
+++ b/internal/impl/codec_extension.go
@@ -29,7 +29,7 @@
 		return e
 	}
 
-	xd := xt.Descriptor()
+	xd := xt.TypeDescriptor()
 	var wiretag uint64
 	if !xd.IsPacked() {
 		wiretag = wire.EncodeTag(xd.Number(), wireTypes[xd.Kind()])
diff --git a/internal/impl/extension.go b/internal/impl/extension.go
index 1ba473d..2ac8b7b 100644
--- a/internal/impl/extension.go
+++ b/internal/impl/extension.go
@@ -119,6 +119,10 @@
 	return xi.goType
 }
 func (xi *ExtensionInfo) Descriptor() pref.ExtensionTypeDescriptor {
+	// TODO: Remove.
+	return xi.TypeDescriptor()
+}
+func (xi *ExtensionInfo) TypeDescriptor() pref.ExtensionTypeDescriptor {
 	if atomic.LoadUint32(&xi.init) == extensionInfoUninitialized {
 		xi.lazyInitSlow()
 	}
diff --git a/internal/impl/legacy_extension.go b/internal/impl/legacy_extension.go
index ec5420d..02e021b 100644
--- a/internal/impl/legacy_extension.go
+++ b/internal/impl/legacy_extension.go
@@ -33,11 +33,11 @@
 	}
 
 	tt := xt.GoType()
-	if xt.Descriptor().Cardinality() == pref.Repeated {
+	if xt.TypeDescriptor().Cardinality() == pref.Repeated {
 		tt = tt.Elem().Elem()
 	}
 	xi := &ExtensionInfo{}
-	InitExtensionInfo(xi, xt.Descriptor().Descriptor(), tt)
+	InitExtensionInfo(xi, xt.TypeDescriptor().Descriptor(), tt)
 	xi.lazyInit() // populate legacy fields
 
 	if xi, ok := legacyExtensionInfoCache.LoadOrStore(xt, xi); ok {
diff --git a/internal/impl/legacy_test.go b/internal/impl/legacy_test.go
index e306e6b..08daace 100644
--- a/internal/impl/legacy_test.go
+++ b/internal/impl/legacy_test.go
@@ -358,7 +358,7 @@
 	}
 	for i, xt := range extensionTypes {
 		var got interface{}
-		xd := xt.Descriptor()
+		xd := xt.TypeDescriptor()
 		if !(xd.IsList() || xd.IsMap() || xd.Message() != nil) {
 			got = xt.InterfaceOf(m.Get(xd))
 		}
@@ -370,7 +370,7 @@
 
 	// All fields should be unpopulated.
 	for _, xt := range extensionTypes {
-		xd := xt.Descriptor()
+		xd := xt.TypeDescriptor()
 		if m.Has(xd) {
 			t.Errorf("Message.Has(%d) = true, want false", xd.Number())
 		}
@@ -404,11 +404,11 @@
 		19: &[]*EnumMessages{m2b},
 	}
 	for i, xt := range extensionTypes {
-		m.Set(xt.Descriptor(), xt.ValueOf(setValues[i]))
+		m.Set(xt.TypeDescriptor(), xt.ValueOf(setValues[i]))
 	}
 	for i, xt := range extensionTypes[len(extensionTypes)/2:] {
 		v := extensionTypes[i].ValueOf(setValues[i])
-		m.Get(xt.Descriptor()).List().Append(v)
+		m.Get(xt.TypeDescriptor()).List().Append(v)
 	}
 
 	// Get the values and check for equality.
@@ -435,7 +435,7 @@
 		19: &[]*EnumMessages{m2b, m2a},
 	}
 	for i, xt := range extensionTypes {
-		xd := xt.Descriptor()
+		xd := xt.TypeDescriptor()
 		got := xt.InterfaceOf(m.Get(xd))
 		want := getValues[i]
 		if diff := cmp.Diff(want, got, opts); diff != "" {
@@ -445,15 +445,15 @@
 
 	// Clear all singular fields and truncate all repeated fields.
 	for _, xt := range extensionTypes[:len(extensionTypes)/2] {
-		m.Clear(xt.Descriptor())
+		m.Clear(xt.TypeDescriptor())
 	}
 	for _, xt := range extensionTypes[len(extensionTypes)/2:] {
-		m.Get(xt.Descriptor()).List().Truncate(0)
+		m.Get(xt.TypeDescriptor()).List().Truncate(0)
 	}
 
 	// Clear all repeated fields.
 	for _, xt := range extensionTypes[len(extensionTypes)/2:] {
-		m.Clear(xt.Descriptor())
+		m.Clear(xt.TypeDescriptor())
 	}
 }
 
@@ -517,7 +517,7 @@
 				}),
 				cmp.Transformer("", func(xt pref.ExtensionType) map[string]interface{} {
 					return map[string]interface{}{
-						"Descriptor": xt.Descriptor(),
+						"Descriptor": xt.TypeDescriptor(),
 						"GoType":     xt.GoType(),
 					}
 				}),
diff --git a/internal/impl/message_reflect.go b/internal/impl/message_reflect.go
index b01622b..8ed7cc5 100644
--- a/internal/impl/message_reflect.go
+++ b/internal/impl/message_reflect.go
@@ -119,7 +119,7 @@
 	if m != nil {
 		for _, x := range *m {
 			xt := x.GetType()
-			if !f(xt.Descriptor(), xt.ValueOf(x.GetValue())) {
+			if !f(xt.TypeDescriptor(), xt.ValueOf(x.GetValue())) {
 				return
 			}
 		}
@@ -127,15 +127,15 @@
 }
 func (m *extensionMap) Has(xt pref.ExtensionType) (ok bool) {
 	if m != nil {
-		_, ok = (*m)[int32(xt.Descriptor().Number())]
+		_, ok = (*m)[int32(xt.TypeDescriptor().Number())]
 	}
 	return ok
 }
 func (m *extensionMap) Clear(xt pref.ExtensionType) {
-	delete(*m, int32(xt.Descriptor().Number()))
+	delete(*m, int32(xt.TypeDescriptor().Number()))
 }
 func (m *extensionMap) Get(xt pref.ExtensionType) pref.Value {
-	xd := xt.Descriptor()
+	xd := xt.TypeDescriptor()
 	if m != nil {
 		if x, ok := (*m)[int32(xd.Number())]; ok {
 			return xt.ValueOf(x.GetValue())
@@ -150,10 +150,10 @@
 	var x ExtensionField
 	x.SetType(xt)
 	x.SetEagerValue(xt.InterfaceOf(v))
-	(*m)[int32(xt.Descriptor().Number())] = x
+	(*m)[int32(xt.TypeDescriptor().Number())] = x
 }
 func (m *extensionMap) Mutable(xt pref.ExtensionType) pref.Value {
-	xd := xt.Descriptor()
+	xd := xt.TypeDescriptor()
 	if xd.Kind() != pref.MessageKind && xd.Kind() != pref.GroupKind && !xd.IsList() && !xd.IsMap() {
 		panic("invalid Mutable on field with non-composite type")
 	}