internal/cmd/generate-protos: generate internal descfield package

Generate a list of descriptor fields from the descriptor.proto itself
as an internal package. Use these fields for the internal implementation.

Change-Id: Ib1ab0c5c6deb332ba6c8018ef55136b7e5974944
Reviewed-on: https://go-review.googlesource.com/c/164864
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/internal/fileinit/desc_init.go b/internal/fileinit/desc_init.go
index 4955f4d..bd706fc 100644
--- a/internal/fileinit/desc_init.go
+++ b/internal/fileinit/desc_init.go
@@ -5,6 +5,7 @@
 package fileinit
 
 import (
+	descfield "github.com/golang/protobuf/v2/internal/descfield"
 	wire "github.com/golang/protobuf/v2/internal/encoding/wire"
 	pref "github.com/golang/protobuf/v2/reflect/protoreflect"
 )
@@ -88,36 +89,36 @@
 			v, m := wire.ConsumeBytes(b)
 			b = b[m:]
 			switch num {
-			case fileDesc_Name:
+			case descfield.FileDescriptorProto_Name:
 				fd.path = nb.MakeString(v)
-			case fileDesc_Package:
+			case descfield.FileDescriptorProto_Package:
 				fd.protoPackage = pref.FullName(nb.MakeString(v))
-			case fileDesc_Enums:
-				if prevField != fileDesc_Enums {
+			case descfield.FileDescriptorProto_EnumType:
+				if prevField != descfield.FileDescriptorProto_EnumType {
 					if numEnums > 0 {
 						panic("non-contiguous repeated field")
 					}
 					posEnums = len(b0) - len(b) - n - m
 				}
 				numEnums++
-			case fileDesc_Messages:
-				if prevField != fileDesc_Messages {
+			case descfield.FileDescriptorProto_MessageType:
+				if prevField != descfield.FileDescriptorProto_MessageType {
 					if numMessages > 0 {
 						panic("non-contiguous repeated field")
 					}
 					posMessages = len(b0) - len(b) - n - m
 				}
 				numMessages++
-			case fileDesc_Extensions:
-				if prevField != fileDesc_Extensions {
+			case descfield.FileDescriptorProto_Extension:
+				if prevField != descfield.FileDescriptorProto_Extension {
 					if numExtensions > 0 {
 						panic("non-contiguous repeated field")
 					}
 					posExtensions = len(b0) - len(b) - n - m
 				}
 				numExtensions++
-			case fileDesc_Services:
-				if prevField != fileDesc_Services {
+			case descfield.FileDescriptorProto_Service:
+				if prevField != descfield.FileDescriptorProto_Service {
 					if numServices > 0 {
 						panic("non-contiguous repeated field")
 					}
@@ -199,7 +200,7 @@
 			v, m := wire.ConsumeBytes(b)
 			b = b[m:]
 			switch num {
-			case enumDesc_Name:
+			case descfield.EnumDescriptorProto_Name:
 				ed.fullName = nb.AppendFullName(pd.FullName(), v)
 			}
 		default:
@@ -226,26 +227,26 @@
 			v, m := wire.ConsumeBytes(b)
 			b = b[m:]
 			switch num {
-			case messageDesc_Name:
+			case descfield.DescriptorProto_Name:
 				md.fullName = nb.AppendFullName(pd.FullName(), v)
-			case messageDesc_Enums:
-				if prevField != messageDesc_Enums {
+			case descfield.DescriptorProto_EnumType:
+				if prevField != descfield.DescriptorProto_EnumType {
 					if numEnums > 0 {
 						panic("non-contiguous repeated field")
 					}
 					posEnums = len(b0) - len(b) - n - m
 				}
 				numEnums++
-			case messageDesc_Messages:
-				if prevField != messageDesc_Messages {
+			case descfield.DescriptorProto_NestedType:
+				if prevField != descfield.DescriptorProto_NestedType {
 					if numMessages > 0 {
 						panic("non-contiguous repeated field")
 					}
 					posMessages = len(b0) - len(b) - n - m
 				}
 				numMessages++
-			case messageDesc_Extensions:
-				if prevField != messageDesc_Extensions {
+			case descfield.DescriptorProto_Extension:
+				if prevField != descfield.DescriptorProto_Extension {
 					if numExtensions > 0 {
 						panic("non-contiguous repeated field")
 					}
@@ -315,14 +316,14 @@
 			v, m := wire.ConsumeVarint(b)
 			b = b[m:]
 			switch num {
-			case fieldDesc_Number:
+			case descfield.FieldDescriptorProto_Number:
 				xd.number = pref.FieldNumber(v)
 			}
 		case wire.BytesType:
 			v, m := wire.ConsumeBytes(b)
 			b = b[m:]
 			switch num {
-			case fieldDesc_Name:
+			case descfield.FieldDescriptorProto_Name:
 				xd.fullName = nb.AppendFullName(pd.FullName(), v)
 			}
 		default:
@@ -345,7 +346,7 @@
 			v, m := wire.ConsumeBytes(b)
 			b = b[m:]
 			switch num {
-			case serviceDesc_Name:
+			case descfield.ServiceDescriptorProto_Name:
 				sd.fullName = nb.AppendFullName(pd.FullName(), v)
 			}
 		default: