protogen: use full filename in per-file vars

For a file "foo/bar.proto", put the FileDescriptor in "ProtoFile_foo_bar"
rather than "Bar_fileDescriptor".

Avoid name clashes when a package contains "a/foo.proto" and "b/foo.proto".

Don't camelcase the filename: These vars weren't fully camelcased to begin
with, and leaving the filename relatively unchanged is clearer and more
predictable.

Move "ProtoFile" from the end of the var name to the start, so that vars
will sort better in packages with multiple descriptors.

These changes do add a chance of name collision when the input filename
begins with an uppercase letter: Foo.proto becomes "ProtoFile_Foo", which
could be the result of camelcasing "proto_file.foo". The readability
benefits seem worth it.

Change-Id: If27d3a0d7b5bf3535aa1607a8579eb057c74d2dc
Reviewed-on: https://go-review.googlesource.com/c/163199
Reviewed-by: Joe Tsai <thebrokentoaster@gmail.com>
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
index 5913de9..b5bc327 100644
--- a/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
+++ b/cmd/protoc-gen-go/testdata/annotations/annotations.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e AnnotationsTestEnum) Type() protoreflect.EnumType {
-	return xxx_Annotations_protoFile_enumTypes[0]
+	return xxx_ProtoFile_annotations_annotations_enumTypes[0]
 }
 func (e AnnotationsTestEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -70,7 +70,7 @@
 }
 
 func (m *AnnotationsTestMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Annotations_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_annotations_annotations_messageTypes[0].MessageOf(m)
 }
 func (m *AnnotationsTestMessage) Reset()         { *m = AnnotationsTestMessage{} }
 func (m *AnnotationsTestMessage) String() string { return proto.CompactTextString(m) }
@@ -141,30 +141,30 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Annotations_protoFile protoreflect.FileDescriptor
+var ProtoFile_annotations_annotations protoreflect.FileDescriptor
 
-var xxx_Annotations_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Annotations_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Annotations_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_annotations_annotations_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_annotations_annotations_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_annotations_annotations_goTypes = []interface{}{
 	(AnnotationsTestEnum)(0),       // 0: goproto.protoc.annotations.AnnotationsTestEnum
 	(*AnnotationsTestMessage)(nil), // 1: goproto.protoc.annotations.AnnotationsTestMessage
 }
-var xxx_Annotations_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_annotations_annotations_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Annotations_protoFile = protoimpl.FileBuilder{
+	ProtoFile_annotations_annotations = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_21dfaf6fd39fa3b7,
-		GoTypes:            xxx_Annotations_protoFile_goTypes,
-		DependencyIndexes:  xxx_Annotations_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Annotations_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_annotations_annotations_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_annotations_annotations_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_annotations_annotations_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Annotations_protoFile_goTypes[1:][:1]
+	messageGoTypes := xxx_ProtoFile_annotations_annotations_goTypes[1:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Annotations_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Annotations_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_annotations_annotations_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_annotations_annotations_messageTypes[i].PBType = mt
 	}
-	xxx_Annotations_protoFile_goTypes = nil
-	xxx_Annotations_protoFile_depIdxs = nil
+	xxx_ProtoFile_annotations_annotations_goTypes = nil
+	xxx_ProtoFile_annotations_annotations_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/comments/comments.pb.go b/cmd/protoc-gen-go/testdata/comments/comments.pb.go
index bef3982..115866d 100644
--- a/cmd/protoc-gen-go/testdata/comments/comments.pb.go
+++ b/cmd/protoc-gen-go/testdata/comments/comments.pb.go
@@ -36,7 +36,7 @@
 }
 
 func (m *Message1) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[0].MessageOf(m)
 }
 func (m *Message1) Reset()         { *m = Message1{} }
 func (m *Message1) String() string { return proto.CompactTextString(m) }
@@ -109,7 +109,7 @@
 }
 
 func (m *Message2) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[1].MessageOf(m)
 }
 func (m *Message2) Reset()         { *m = Message2{} }
 func (m *Message2) String() string { return proto.CompactTextString(m) }
@@ -144,7 +144,7 @@
 }
 
 func (m *Message1_Message1A) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[2].MessageOf(m)
 }
 func (m *Message1_Message1A) Reset()         { *m = Message1_Message1A{} }
 func (m *Message1_Message1A) String() string { return proto.CompactTextString(m) }
@@ -179,7 +179,7 @@
 }
 
 func (m *Message1_Message1B) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[3].MessageOf(m)
 }
 func (m *Message1_Message1B) Reset()         { *m = Message1_Message1B{} }
 func (m *Message1_Message1B) String() string { return proto.CompactTextString(m) }
@@ -214,7 +214,7 @@
 }
 
 func (m *Message2_Message2A) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[4].MessageOf(m)
 }
 func (m *Message2_Message2A) Reset()         { *m = Message2_Message2A{} }
 func (m *Message2_Message2A) String() string { return proto.CompactTextString(m) }
@@ -249,7 +249,7 @@
 }
 
 func (m *Message2_Message2B) ProtoReflect() protoreflect.Message {
-	return xxx_Comments_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_comments_comments_messageTypes[5].MessageOf(m)
 }
 func (m *Message2_Message2B) Reset()         { *m = Message2_Message2B{} }
 func (m *Message2_Message2B) String() string { return proto.CompactTextString(m) }
@@ -317,10 +317,10 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Comments_protoFile protoreflect.FileDescriptor
+var ProtoFile_comments_comments protoreflect.FileDescriptor
 
-var xxx_Comments_protoFile_messageTypes [6]protoimpl.MessageType
-var xxx_Comments_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_comments_comments_messageTypes [6]protoimpl.MessageType
+var xxx_ProtoFile_comments_comments_goTypes = []interface{}{
 	(*Message1)(nil),           // 0: goproto.protoc.comments.Message1
 	(*Message2)(nil),           // 1: goproto.protoc.comments.Message2
 	(*Message1_Message1A)(nil), // 2: goproto.protoc.comments.Message1.Message1A
@@ -328,21 +328,21 @@
 	(*Message2_Message2A)(nil), // 4: goproto.protoc.comments.Message2.Message2A
 	(*Message2_Message2B)(nil), // 5: goproto.protoc.comments.Message2.Message2B
 }
-var xxx_Comments_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_comments_comments_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [6]protoreflect.MessageType
-	Comments_protoFile = protoimpl.FileBuilder{
+	ProtoFile_comments_comments = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_885e8293f1fab554,
-		GoTypes:            xxx_Comments_protoFile_goTypes,
-		DependencyIndexes:  xxx_Comments_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_comments_comments_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_comments_comments_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Comments_protoFile_goTypes[0:][:6]
+	messageGoTypes := xxx_ProtoFile_comments_comments_goTypes[0:][:6]
 	for i, mt := range messageTypes[:] {
-		xxx_Comments_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Comments_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_comments_comments_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_comments_comments_messageTypes[i].PBType = mt
 	}
-	xxx_Comments_protoFile_goTypes = nil
-	xxx_Comments_protoFile_depIdxs = nil
+	xxx_ProtoFile_comments_comments_goTypes = nil
+	xxx_ProtoFile_comments_comments_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go b/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
index 34f46ba..1169c3c 100644
--- a/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
+++ b/cmd/protoc-gen-go/testdata/comments/deprecated.pb.go
@@ -24,7 +24,7 @@
 )
 
 func (e DeprecatedEnum) Type() protoreflect.EnumType {
-	return xxx_Deprecated_protoFile_enumTypes[0]
+	return xxx_ProtoFile_comments_deprecated_enumTypes[0]
 }
 func (e DeprecatedEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -55,7 +55,7 @@
 }
 
 func (m *DeprecatedMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Deprecated_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_comments_deprecated_messageTypes[0].MessageOf(m)
 }
 func (m *DeprecatedMessage) Reset()         { *m = DeprecatedMessage{} }
 func (m *DeprecatedMessage) String() string { return proto.CompactTextString(m) }
@@ -126,30 +126,30 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Deprecated_protoFile protoreflect.FileDescriptor
+var ProtoFile_comments_deprecated protoreflect.FileDescriptor
 
-var xxx_Deprecated_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Deprecated_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Deprecated_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_comments_deprecated_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_comments_deprecated_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_comments_deprecated_goTypes = []interface{}{
 	(DeprecatedEnum)(0),       // 0: goproto.protoc.comments.DeprecatedEnum
 	(*DeprecatedMessage)(nil), // 1: goproto.protoc.comments.DeprecatedMessage
 }
-var xxx_Deprecated_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_comments_deprecated_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Deprecated_protoFile = protoimpl.FileBuilder{
+	ProtoFile_comments_deprecated = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_0336e614ee2de5f7,
-		GoTypes:            xxx_Deprecated_protoFile_goTypes,
-		DependencyIndexes:  xxx_Deprecated_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Deprecated_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_comments_deprecated_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_comments_deprecated_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_comments_deprecated_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Deprecated_protoFile_goTypes[1:][:1]
+	messageGoTypes := xxx_ProtoFile_comments_deprecated_goTypes[1:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Deprecated_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Deprecated_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_comments_deprecated_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_comments_deprecated_messageTypes[i].PBType = mt
 	}
-	xxx_Deprecated_protoFile_goTypes = nil
-	xxx_Deprecated_protoFile_depIdxs = nil
+	xxx_ProtoFile_comments_deprecated_goTypes = nil
+	xxx_ProtoFile_comments_deprecated_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go b/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
index e92bb48..f6f192a 100644
--- a/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/base/base.pb.go
@@ -27,7 +27,7 @@
 }
 
 func (m *BaseMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Base_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_extensions_base_base_messageTypes[0].MessageOf(m)
 }
 func (m *BaseMessage) Reset()         { *m = BaseMessage{} }
 func (m *BaseMessage) String() string { return proto.CompactTextString(m) }
@@ -78,7 +78,7 @@
 }
 
 func (m *MessageSetWireFormatMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Base_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_extensions_base_base_messageTypes[1].MessageOf(m)
 }
 func (m *MessageSetWireFormatMessage) Reset()         { *m = MessageSetWireFormatMessage{} }
 func (m *MessageSetWireFormatMessage) String() string { return proto.CompactTextString(m) }
@@ -148,28 +148,28 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Base_protoFile protoreflect.FileDescriptor
+var ProtoFile_extensions_base_base protoreflect.FileDescriptor
 
-var xxx_Base_protoFile_messageTypes [2]protoimpl.MessageType
-var xxx_Base_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_extensions_base_base_messageTypes [2]protoimpl.MessageType
+var xxx_ProtoFile_extensions_base_base_goTypes = []interface{}{
 	(*BaseMessage)(nil),                 // 0: goproto.protoc.extension.base.BaseMessage
 	(*MessageSetWireFormatMessage)(nil), // 1: goproto.protoc.extension.base.MessageSetWireFormatMessage
 }
-var xxx_Base_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_extensions_base_base_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [2]protoreflect.MessageType
-	Base_protoFile = protoimpl.FileBuilder{
+	ProtoFile_extensions_base_base = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_aebb28f8d5a04466,
-		GoTypes:            xxx_Base_protoFile_goTypes,
-		DependencyIndexes:  xxx_Base_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_extensions_base_base_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_extensions_base_base_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Base_protoFile_goTypes[0:][:2]
+	messageGoTypes := xxx_ProtoFile_extensions_base_base_goTypes[0:][:2]
 	for i, mt := range messageTypes[:] {
-		xxx_Base_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Base_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_extensions_base_base_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_extensions_base_base_messageTypes[i].PBType = mt
 	}
-	xxx_Base_protoFile_goTypes = nil
-	xxx_Base_protoFile_depIdxs = nil
+	xxx_ProtoFile_extensions_base_base_goTypes = nil
+	xxx_ProtoFile_extensions_base_base_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go b/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
index 1c6f16b..64cc3d2 100644
--- a/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/ext/ext.pb.go
@@ -27,7 +27,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Ext_protoFile_enumTypes[0]
+	return xxx_ProtoFile_extensions_ext_ext_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -72,7 +72,7 @@
 }
 
 func (m *Message) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[0].MessageOf(m)
 }
 func (m *Message) Reset()         { *m = Message{} }
 func (m *Message) String() string { return proto.CompactTextString(m) }
@@ -114,7 +114,7 @@
 }
 
 func (m *ExtensionGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[1].MessageOf(m)
 }
 func (m *ExtensionGroup) Reset()         { *m = ExtensionGroup{} }
 func (m *ExtensionGroup) String() string { return proto.CompactTextString(m) }
@@ -156,7 +156,7 @@
 }
 
 func (m *ExtendingMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[2].MessageOf(m)
 }
 func (m *ExtendingMessage) Reset()         { *m = ExtendingMessage{} }
 func (m *ExtendingMessage) String() string { return proto.CompactTextString(m) }
@@ -191,7 +191,7 @@
 }
 
 func (m *RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[3].MessageOf(m)
 }
 func (m *RepeatedGroup) Reset()         { *m = RepeatedGroup{} }
 func (m *RepeatedGroup) String() string { return proto.CompactTextString(m) }
@@ -234,7 +234,7 @@
 }
 
 func (m *Extendable) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[4].MessageOf(m)
 }
 func (m *Extendable) Reset()         { *m = Extendable{} }
 func (m *Extendable) String() string { return proto.CompactTextString(m) }
@@ -277,7 +277,7 @@
 }
 
 func (m *MessageSetWireFormatExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[5].MessageOf(m)
 }
 func (m *MessageSetWireFormatExtension) Reset()         { *m = MessageSetWireFormatExtension{} }
 func (m *MessageSetWireFormatExtension) String() string { return proto.CompactTextString(m) }
@@ -311,7 +311,7 @@
 }
 
 func (m *Message_M) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[6].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[6].MessageOf(m)
 }
 func (m *Message_M) Reset()         { *m = Message_M{} }
 func (m *Message_M) String() string { return proto.CompactTextString(m) }
@@ -345,7 +345,7 @@
 }
 
 func (m *ExtendingMessage_ExtendingMessageSubmessage) ProtoReflect() protoreflect.Message {
-	return xxx_Ext_protoFile_messageTypes[7].MessageOf(m)
+	return xxx_ProtoFile_extensions_ext_ext_messageTypes[7].MessageOf(m)
 }
 func (m *ExtendingMessage_ExtendingMessageSubmessage) Reset() {
 	*m = ExtendingMessage_ExtendingMessageSubmessage{}
@@ -1156,11 +1156,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Ext_protoFile protoreflect.FileDescriptor
+var ProtoFile_extensions_ext_ext protoreflect.FileDescriptor
 
-var xxx_Ext_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Ext_protoFile_messageTypes [8]protoimpl.MessageType
-var xxx_Ext_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_extensions_ext_ext_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_extensions_ext_ext_messageTypes [8]protoimpl.MessageType
+var xxx_ProtoFile_extensions_ext_ext_goTypes = []interface{}{
 	(Enum)(0),                             // 0: goproto.protoc.extension.ext.Enum
 	(*Message)(nil),                       // 1: goproto.protoc.extension.ext.Message
 	(*ExtensionGroup)(nil),                // 2: goproto.protoc.extension.ext.ExtensionGroup
@@ -1174,7 +1174,7 @@
 	(*base.MessageSetWireFormatMessage)(nil),            // 10: goproto.protoc.extension.base.MessageSetWireFormatMessage
 	(*extra.ExtraMessage)(nil),                          // 11: goproto.protoc.extension.extra.ExtraMessage
 }
-var xxx_Ext_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_extensions_ext_ext_depIdxs = []int32{
 	9,  // goproto.protoc.extension.ext.extension_bool:extendee -> goproto.protoc.extension.base.BaseMessage
 	9,  // goproto.protoc.extension.ext.extension_enum:extendee -> goproto.protoc.extension.base.BaseMessage
 	9,  // goproto.protoc.extension.ext.extension_int32:extendee -> goproto.protoc.extension.base.BaseMessage
@@ -1236,18 +1236,18 @@
 func init() {
 	var messageTypes [8]protoreflect.MessageType
 	var extensionTypes [44]protoreflect.ExtensionType
-	Ext_protoFile = protoimpl.FileBuilder{
+	ProtoFile_extensions_ext_ext = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_bf470ef4907b23cb,
-		GoTypes:              xxx_Ext_protoFile_goTypes,
-		DependencyIndexes:    xxx_Ext_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_Ext_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_extensions_ext_ext_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_extensions_ext_ext_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_extensions_ext_ext_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Ext_protoFile_goTypes[1:][:8]
+	messageGoTypes := xxx_ProtoFile_extensions_ext_ext_goTypes[1:][:8]
 	for i, mt := range messageTypes[:] {
-		xxx_Ext_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Ext_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_extensions_ext_ext_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_extensions_ext_ext_messageTypes[i].PBType = mt
 	}
 	E_ExtensionBool.Type = extensionTypes[0]
 	E_ExtensionEnum.Type = extensionTypes[1]
@@ -1293,6 +1293,6 @@
 	E_ExtendingMessage_ExtendingMessageString.Type = extensionTypes[41]
 	E_ExtendingMessage_ExtendingMessageSubmessage.Type = extensionTypes[42]
 	E_MessageSetWireFormatExtension_MessageSetExtension.Type = extensionTypes[43]
-	xxx_Ext_protoFile_goTypes = nil
-	xxx_Ext_protoFile_depIdxs = nil
+	xxx_ProtoFile_extensions_ext_ext_goTypes = nil
+	xxx_ProtoFile_extensions_ext_ext_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go b/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
index e9c918d..239dcfa 100644
--- a/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/extra/extra.pb.go
@@ -26,7 +26,7 @@
 }
 
 func (m *ExtraMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Extra_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_extensions_extra_extra_messageTypes[0].MessageOf(m)
 }
 func (m *ExtraMessage) Reset()         { *m = ExtraMessage{} }
 func (m *ExtraMessage) String() string { return proto.CompactTextString(m) }
@@ -90,27 +90,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Extra_protoFile protoreflect.FileDescriptor
+var ProtoFile_extensions_extra_extra protoreflect.FileDescriptor
 
-var xxx_Extra_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Extra_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_extensions_extra_extra_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_extensions_extra_extra_goTypes = []interface{}{
 	(*ExtraMessage)(nil), // 0: goproto.protoc.extension.extra.ExtraMessage
 }
-var xxx_Extra_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_extensions_extra_extra_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Extra_protoFile = protoimpl.FileBuilder{
+	ProtoFile_extensions_extra_extra = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_496c2a5e9c1e8739,
-		GoTypes:            xxx_Extra_protoFile_goTypes,
-		DependencyIndexes:  xxx_Extra_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_extensions_extra_extra_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_extensions_extra_extra_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Extra_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_extensions_extra_extra_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Extra_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Extra_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_extensions_extra_extra_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_extensions_extra_extra_messageTypes[i].PBType = mt
 	}
-	xxx_Extra_protoFile_goTypes = nil
-	xxx_Extra_protoFile_depIdxs = nil
+	xxx_ProtoFile_extensions_extra_extra_goTypes = nil
+	xxx_ProtoFile_extensions_extra_extra_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
index ac1e41e..3af3513 100644
--- a/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
+++ b/cmd/protoc-gen-go/testdata/extensions/proto3/ext3.pb.go
@@ -26,7 +26,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Ext3_protoFile_enumTypes[0]
+	return xxx_ProtoFile_extensions_proto3_ext3_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -55,7 +55,7 @@
 }
 
 func (m *Message) ProtoReflect() protoreflect.Message {
-	return xxx_Ext3_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_extensions_proto3_ext3_messageTypes[0].MessageOf(m)
 }
 func (m *Message) Reset()         { *m = Message{} }
 func (m *Message) String() string { return proto.CompactTextString(m) }
@@ -647,16 +647,16 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Ext3_protoFile protoreflect.FileDescriptor
+var ProtoFile_extensions_proto3_ext3 protoreflect.FileDescriptor
 
-var xxx_Ext3_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Ext3_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Ext3_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_extensions_proto3_ext3_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_extensions_proto3_ext3_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_extensions_proto3_ext3_goTypes = []interface{}{
 	(Enum)(0),                         // 0: goproto.protoc.extension.proto3.Enum
 	(*Message)(nil),                   // 1: goproto.protoc.extension.proto3.Message
 	(*descriptor.MessageOptions)(nil), // 2: google.protobuf.MessageOptions
 }
-var xxx_Ext3_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_extensions_proto3_ext3_depIdxs = []int32{
 	2, // goproto.protoc.extension.proto3.extension_bool:extendee -> google.protobuf.MessageOptions
 	2, // goproto.protoc.extension.proto3.extension_enum:extendee -> google.protobuf.MessageOptions
 	2, // goproto.protoc.extension.proto3.extension_int32:extendee -> google.protobuf.MessageOptions
@@ -700,18 +700,18 @@
 func init() {
 	var messageTypes [1]protoreflect.MessageType
 	var extensionTypes [34]protoreflect.ExtensionType
-	Ext3_protoFile = protoimpl.FileBuilder{
+	ProtoFile_extensions_proto3_ext3 = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_3db31bb248c8865e,
-		GoTypes:              xxx_Ext3_protoFile_goTypes,
-		DependencyIndexes:    xxx_Ext3_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_Ext3_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_extensions_proto3_ext3_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_extensions_proto3_ext3_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_extensions_proto3_ext3_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Ext3_protoFile_goTypes[1:][:1]
+	messageGoTypes := xxx_ProtoFile_extensions_proto3_ext3_goTypes[1:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Ext3_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Ext3_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_extensions_proto3_ext3_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_extensions_proto3_ext3_messageTypes[i].PBType = mt
 	}
 	E_ExtensionBool.Type = extensionTypes[0]
 	E_ExtensionEnum.Type = extensionTypes[1]
@@ -747,6 +747,6 @@
 	E_RepeatedExtensionString.Type = extensionTypes[31]
 	E_RepeatedExtensionBytes.Type = extensionTypes[32]
 	E_RepeatedExtension_Message.Type = extensionTypes[33]
-	xxx_Ext3_protoFile_goTypes = nil
-	xxx_Ext3_protoFile_depIdxs = nil
+	xxx_ProtoFile_extensions_proto3_ext3_goTypes = nil
+	xxx_ProtoFile_extensions_proto3_ext3_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go b/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
index dcf389b..aef8ce0 100644
--- a/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
+++ b/cmd/protoc-gen-go/testdata/fieldnames/fieldnames.pb.go
@@ -64,7 +64,7 @@
 }
 
 func (m *Message) ProtoReflect() protoreflect.Message {
-	return xxx_Fieldnames_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_fieldnames_fieldnames_messageTypes[0].MessageOf(m)
 }
 func (m *Message) Reset()         { *m = Message{} }
 func (m *Message) String() string { return proto.CompactTextString(m) }
@@ -291,7 +291,7 @@
 }
 
 func (m *Message_OneofMessageConflict) ProtoReflect() protoreflect.Message {
-	return xxx_Fieldnames_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_fieldnames_fieldnames_messageTypes[1].MessageOf(m)
 }
 func (m *Message_OneofMessageConflict) Reset()         { *m = Message_OneofMessageConflict{} }
 func (m *Message_OneofMessageConflict) String() string { return proto.CompactTextString(m) }
@@ -390,28 +390,28 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Fieldnames_protoFile protoreflect.FileDescriptor
+var ProtoFile_fieldnames_fieldnames protoreflect.FileDescriptor
 
-var xxx_Fieldnames_protoFile_messageTypes [2]protoimpl.MessageType
-var xxx_Fieldnames_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_fieldnames_fieldnames_messageTypes [2]protoimpl.MessageType
+var xxx_ProtoFile_fieldnames_fieldnames_goTypes = []interface{}{
 	(*Message)(nil),                      // 0: goproto.protoc.fieldnames.Message
 	(*Message_OneofMessageConflict)(nil), // 1: goproto.protoc.fieldnames.Message.OneofMessageConflict
 }
-var xxx_Fieldnames_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_fieldnames_fieldnames_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [2]protoreflect.MessageType
-	Fieldnames_protoFile = protoimpl.FileBuilder{
+	ProtoFile_fieldnames_fieldnames = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_6bbe3f70febb9403,
-		GoTypes:            xxx_Fieldnames_protoFile_goTypes,
-		DependencyIndexes:  xxx_Fieldnames_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_fieldnames_fieldnames_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_fieldnames_fieldnames_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Fieldnames_protoFile_goTypes[0:][:2]
+	messageGoTypes := xxx_ProtoFile_fieldnames_fieldnames_goTypes[0:][:2]
 	for i, mt := range messageTypes[:] {
-		xxx_Fieldnames_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Fieldnames_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_fieldnames_fieldnames_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_fieldnames_fieldnames_messageTypes[i].PBType = mt
 	}
-	xxx_Fieldnames_protoFile_goTypes = nil
-	xxx_Fieldnames_protoFile_depIdxs = nil
+	xxx_ProtoFile_fieldnames_fieldnames_goTypes = nil
+	xxx_ProtoFile_fieldnames_fieldnames_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/import_public/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/a.pb.go
index e11aa6d..88c2a76 100644
--- a/cmd/protoc-gen-go/testdata/import_public/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/a.pb.go
@@ -72,7 +72,7 @@
 }
 
 func (m *Public) ProtoReflect() protoreflect.Message {
-	return xxx_A_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_import_public_a_messageTypes[0].MessageOf(m)
 }
 func (m *Public) Reset()         { *m = Public{} }
 func (m *Public) String() string { return proto.CompactTextString(m) }
@@ -163,16 +163,16 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var A_protoFile protoreflect.FileDescriptor
+var ProtoFile_import_public_a protoreflect.FileDescriptor
 
-var xxx_A_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_A_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_import_public_a_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_import_public_a_goTypes = []interface{}{
 	(*Public)(nil), // 0: goproto.protoc.import_public.Public
 	(*sub.M)(nil),  // 1: goproto.protoc.import_public.sub.M
 	(sub.E)(0),     // 2: goproto.protoc.import_public.sub.E
 	(*Local)(nil),  // 3: goproto.protoc.import_public.Local
 }
-var xxx_A_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_import_public_a_depIdxs = []int32{
 	1, // goproto.protoc.import_public.Public.m:type_name -> goproto.protoc.import_public.sub.M
 	2, // goproto.protoc.import_public.Public.e:type_name -> goproto.protoc.import_public.sub.E
 	3, // goproto.protoc.import_public.Public.local:type_name -> goproto.protoc.import_public.Local
@@ -180,17 +180,17 @@
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	A_protoFile = protoimpl.FileBuilder{
+	ProtoFile_import_public_a = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_73b7577c95fa6b70,
-		GoTypes:            xxx_A_protoFile_goTypes,
-		DependencyIndexes:  xxx_A_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_import_public_a_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_import_public_a_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_A_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_import_public_a_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_A_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_A_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_import_public_a_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_import_public_a_messageTypes[i].PBType = mt
 	}
-	xxx_A_protoFile_goTypes = nil
-	xxx_A_protoFile_depIdxs = nil
+	xxx_ProtoFile_import_public_a_goTypes = nil
+	xxx_ProtoFile_import_public_a_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/import_public/b.pb.go b/cmd/protoc-gen-go/testdata/import_public/b.pb.go
index 293e7f3..ce1027a 100644
--- a/cmd/protoc-gen-go/testdata/import_public/b.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/b.pb.go
@@ -28,7 +28,7 @@
 }
 
 func (m *Local) ProtoReflect() protoreflect.Message {
-	return xxx_B_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_import_public_b_messageTypes[0].MessageOf(m)
 }
 func (m *Local) Reset()         { *m = Local{} }
 func (m *Local) String() string { return proto.CompactTextString(m) }
@@ -105,32 +105,32 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var B_protoFile protoreflect.FileDescriptor
+var ProtoFile_import_public_b protoreflect.FileDescriptor
 
-var xxx_B_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_B_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_import_public_b_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_import_public_b_goTypes = []interface{}{
 	(*Local)(nil), // 0: goproto.protoc.import_public.Local
 	(*sub.M)(nil), // 1: goproto.protoc.import_public.sub.M
 	(sub.E)(0),    // 2: goproto.protoc.import_public.sub.E
 }
-var xxx_B_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_import_public_b_depIdxs = []int32{
 	1, // goproto.protoc.import_public.Local.m:type_name -> goproto.protoc.import_public.sub.M
 	2, // goproto.protoc.import_public.Local.e:type_name -> goproto.protoc.import_public.sub.E
 }
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	B_protoFile = protoimpl.FileBuilder{
+	ProtoFile_import_public_b = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_84995586b3d09710,
-		GoTypes:            xxx_B_protoFile_goTypes,
-		DependencyIndexes:  xxx_B_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_import_public_b_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_import_public_b_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_B_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_import_public_b_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_B_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_B_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_import_public_b_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_import_public_b_messageTypes[i].PBType = mt
 	}
-	xxx_B_protoFile_goTypes = nil
-	xxx_B_protoFile_depIdxs = nil
+	xxx_ProtoFile_import_public_b_goTypes = nil
+	xxx_ProtoFile_import_public_b_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
index 7720ca5..981bf90 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub/a.pb.go
@@ -31,7 +31,7 @@
 )
 
 func (e E) Type() protoreflect.EnumType {
-	return xxx_A_protoFile_enumTypes[0]
+	return xxx_ProtoFile_import_public_sub_a_enumTypes[0]
 }
 func (e E) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -75,7 +75,7 @@
 )
 
 func (e M_Subenum) Type() protoreflect.EnumType {
-	return xxx_A_protoFile_enumTypes[1]
+	return xxx_ProtoFile_import_public_sub_a_enumTypes[1]
 }
 func (e M_Subenum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -119,7 +119,7 @@
 )
 
 func (e M_Submessage_Submessage_Subenum) Type() protoreflect.EnumType {
-	return xxx_A_protoFile_enumTypes[2]
+	return xxx_ProtoFile_import_public_sub_a_enumTypes[2]
 }
 func (e M_Submessage_Submessage_Subenum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -173,7 +173,7 @@
 }
 
 func (m *M) ProtoReflect() protoreflect.Message {
-	return xxx_A_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_import_public_sub_a_messageTypes[0].MessageOf(m)
 }
 func (m *M) Reset()         { *m = M{} }
 func (m *M) String() string { return proto.CompactTextString(m) }
@@ -297,7 +297,7 @@
 }
 
 func (m *M_Submessage) ProtoReflect() protoreflect.Message {
-	return xxx_A_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_import_public_sub_a_messageTypes[1].MessageOf(m)
 }
 func (m *M_Submessage) Reset()         { *m = M_Submessage{} }
 func (m *M_Submessage) String() string { return proto.CompactTextString(m) }
@@ -448,11 +448,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var A_protoFile protoreflect.FileDescriptor
+var ProtoFile_import_public_sub_a protoreflect.FileDescriptor
 
-var xxx_A_protoFile_enumTypes [3]protoreflect.EnumType
-var xxx_A_protoFile_messageTypes [2]protoimpl.MessageType
-var xxx_A_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_import_public_sub_a_enumTypes [3]protoreflect.EnumType
+var xxx_ProtoFile_import_public_sub_a_messageTypes [2]protoimpl.MessageType
+var xxx_ProtoFile_import_public_sub_a_goTypes = []interface{}{
 	(E)(0),                               // 0: goproto.protoc.import_public.sub.E
 	(M_Subenum)(0),                       // 1: goproto.protoc.import_public.sub.M.Subenum
 	(M_Submessage_Submessage_Subenum)(0), // 2: goproto.protoc.import_public.sub.M.Submessage.Submessage_Subenum
@@ -460,7 +460,7 @@
 	(*M_Submessage)(nil),                 // 4: goproto.protoc.import_public.sub.M.Submessage
 	(*M2)(nil),                           // 5: goproto.protoc.import_public.sub.M2
 }
-var xxx_A_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_import_public_sub_a_depIdxs = []int32{
 	3, // goproto.protoc.import_public.sub.extension_field:extendee -> goproto.protoc.import_public.sub.M
 	5, // goproto.protoc.import_public.sub.M.m2:type_name -> goproto.protoc.import_public.sub.M2
 }
@@ -468,20 +468,20 @@
 func init() {
 	var messageTypes [2]protoreflect.MessageType
 	var extensionTypes [1]protoreflect.ExtensionType
-	A_protoFile = protoimpl.FileBuilder{
+	ProtoFile_import_public_sub_a = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_382f7805394b5c4e,
-		GoTypes:              xxx_A_protoFile_goTypes,
-		DependencyIndexes:    xxx_A_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_A_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_import_public_sub_a_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_import_public_sub_a_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_import_public_sub_a_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_A_protoFile_goTypes[3:][:2]
+	messageGoTypes := xxx_ProtoFile_import_public_sub_a_goTypes[3:][:2]
 	for i, mt := range messageTypes[:] {
-		xxx_A_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_A_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_import_public_sub_a_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_import_public_sub_a_messageTypes[i].PBType = mt
 	}
 	E_ExtensionField.Type = extensionTypes[0]
-	xxx_A_protoFile_goTypes = nil
-	xxx_A_protoFile_depIdxs = nil
+	xxx_ProtoFile_import_public_sub_a_goTypes = nil
+	xxx_ProtoFile_import_public_sub_a_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
index c6fb061..7a00609 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub/b.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M2) ProtoReflect() protoreflect.Message {
-	return xxx_B_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_import_public_sub_b_messageTypes[0].MessageOf(m)
 }
 func (m *M2) Reset()         { *m = M2{} }
 func (m *M2) String() string { return proto.CompactTextString(m) }
@@ -81,27 +81,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var B_protoFile protoreflect.FileDescriptor
+var ProtoFile_import_public_sub_b protoreflect.FileDescriptor
 
-var xxx_B_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_B_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_import_public_sub_b_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_import_public_sub_b_goTypes = []interface{}{
 	(*M2)(nil), // 0: goproto.protoc.import_public.sub.M2
 }
-var xxx_B_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_import_public_sub_b_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	B_protoFile = protoimpl.FileBuilder{
+	ProtoFile_import_public_sub_b = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_fc66afda3d7c2232,
-		GoTypes:            xxx_B_protoFile_goTypes,
-		DependencyIndexes:  xxx_B_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_import_public_sub_b_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_import_public_sub_b_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_B_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_import_public_sub_b_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_B_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_B_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_import_public_sub_b_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_import_public_sub_b_messageTypes[i].PBType = mt
 	}
-	xxx_B_protoFile_goTypes = nil
-	xxx_B_protoFile_depIdxs = nil
+	xxx_ProtoFile_import_public_sub_b_goTypes = nil
+	xxx_ProtoFile_import_public_sub_b_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go b/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
index 8088da2..bd2e822 100644
--- a/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
+++ b/cmd/protoc-gen-go/testdata/import_public/sub2/a.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *Sub2Message) ProtoReflect() protoreflect.Message {
-	return xxx_A_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_import_public_sub2_a_messageTypes[0].MessageOf(m)
 }
 func (m *Sub2Message) Reset()         { *m = Sub2Message{} }
 func (m *Sub2Message) String() string { return proto.CompactTextString(m) }
@@ -81,27 +81,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var A_protoFile protoreflect.FileDescriptor
+var ProtoFile_import_public_sub2_a protoreflect.FileDescriptor
 
-var xxx_A_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_A_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_import_public_sub2_a_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_import_public_sub2_a_goTypes = []interface{}{
 	(*Sub2Message)(nil), // 0: goproto.protoc.import_public.sub2.Sub2Message
 }
-var xxx_A_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_import_public_sub2_a_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	A_protoFile = protoimpl.FileBuilder{
+	ProtoFile_import_public_sub2_a = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_7ac53d99328778ac,
-		GoTypes:            xxx_A_protoFile_goTypes,
-		DependencyIndexes:  xxx_A_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_import_public_sub2_a_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_import_public_sub2_a_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_A_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_import_public_sub2_a_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_A_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_A_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_import_public_sub2_a_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_import_public_sub2_a_messageTypes[i].PBType = mt
 	}
-	xxx_A_protoFile_goTypes = nil
-	xxx_A_protoFile_depIdxs = nil
+	xxx_ProtoFile_import_public_sub2_a_goTypes = nil
+	xxx_ProtoFile_import_public_sub2_a_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go b/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
index 03b77c9..62b60ae 100644
--- a/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/fmt/m.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M) ProtoReflect() protoreflect.Message {
-	return xxx_M_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_fmt_m_messageTypes[0].MessageOf(m)
 }
 func (m *M) Reset()         { *m = M{} }
 func (m *M) String() string { return proto.CompactTextString(m) }
@@ -78,27 +78,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_fmt_m protoreflect.FileDescriptor
 
-var xxx_M_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_fmt_m_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_fmt_m_goTypes = []interface{}{
 	(*M)(nil), // 0: fmt.M
 }
-var xxx_M_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_fmt_m_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_fmt_m = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_72c126fcd452e392,
-		GoTypes:            xxx_M_protoFile_goTypes,
-		DependencyIndexes:  xxx_M_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_fmt_m_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_fmt_m_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_fmt_m_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_fmt_m_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_fmt_m_messageTypes[i].PBType = mt
 	}
-	xxx_M_protoFile_goTypes = nil
-	xxx_M_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_fmt_m_goTypes = nil
+	xxx_ProtoFile_imports_fmt_m_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
index 04c8066..bdab9b3 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_1/m1.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e E1) Type() protoreflect.EnumType {
-	return xxx_M1_protoFile_enumTypes[0]
+	return xxx_ProtoFile_imports_test_a_1_m1_enumTypes[0]
 }
 func (e E1) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -54,7 +54,7 @@
 }
 
 func (m *M1) ProtoReflect() protoreflect.Message {
-	return xxx_M1_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_a_1_m1_messageTypes[0].MessageOf(m)
 }
 func (m *M1) Reset()         { *m = M1{} }
 func (m *M1) String() string { return proto.CompactTextString(m) }
@@ -89,7 +89,7 @@
 }
 
 func (m *M1_1) ProtoReflect() protoreflect.Message {
-	return xxx_M1_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_imports_test_a_1_m1_messageTypes[1].MessageOf(m)
 }
 func (m *M1_1) Reset()         { *m = M1_1{} }
 func (m *M1_1) String() string { return proto.CompactTextString(m) }
@@ -155,33 +155,33 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M1_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_a_1_m1 protoreflect.FileDescriptor
 
-var xxx_M1_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_M1_protoFile_messageTypes [2]protoimpl.MessageType
-var xxx_M1_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_a_1_m1_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_imports_test_a_1_m1_messageTypes [2]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_a_1_m1_goTypes = []interface{}{
 	(E1)(0),      // 0: test.a.E1
 	(*M1)(nil),   // 1: test.a.M1
 	(*M1_1)(nil), // 2: test.a.M1_1
 }
-var xxx_M1_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_imports_test_a_1_m1_depIdxs = []int32{
 	1, // test.a.M1_1.m1:type_name -> test.a.M1
 }
 
 func init() {
 	var messageTypes [2]protoreflect.MessageType
-	M1_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_a_1_m1 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_c1091de3fa870a14,
-		GoTypes:            xxx_M1_protoFile_goTypes,
-		DependencyIndexes:  xxx_M1_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_M1_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_imports_test_a_1_m1_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_a_1_m1_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_imports_test_a_1_m1_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M1_protoFile_goTypes[1:][:2]
+	messageGoTypes := xxx_ProtoFile_imports_test_a_1_m1_goTypes[1:][:2]
 	for i, mt := range messageTypes[:] {
-		xxx_M1_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M1_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_a_1_m1_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_a_1_m1_messageTypes[i].PBType = mt
 	}
-	xxx_M1_protoFile_goTypes = nil
-	xxx_M1_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_a_1_m1_goTypes = nil
+	xxx_ProtoFile_imports_test_a_1_m1_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
index 7fc0217..e71523e 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_1/m2.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M2) ProtoReflect() protoreflect.Message {
-	return xxx_M2_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_a_1_m2_messageTypes[0].MessageOf(m)
 }
 func (m *M2) Reset()         { *m = M2{} }
 func (m *M2) String() string { return proto.CompactTextString(m) }
@@ -79,27 +79,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M2_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_a_1_m2 protoreflect.FileDescriptor
 
-var xxx_M2_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M2_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_a_1_m2_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_a_1_m2_goTypes = []interface{}{
 	(*M2)(nil), // 0: test.a.M2
 }
-var xxx_M2_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_test_a_1_m2_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M2_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_a_1_m2 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_20cf27515c0d621c,
-		GoTypes:            xxx_M2_protoFile_goTypes,
-		DependencyIndexes:  xxx_M2_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_a_1_m2_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_a_1_m2_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M2_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_a_1_m2_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M2_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M2_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_a_1_m2_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_a_1_m2_messageTypes[i].PBType = mt
 	}
-	xxx_M2_protoFile_goTypes = nil
-	xxx_M2_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_a_1_m2_goTypes = nil
+	xxx_ProtoFile_imports_test_a_1_m2_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
index e187776..7280b96 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_2/m3.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M3) ProtoReflect() protoreflect.Message {
-	return xxx_M3_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_a_2_m3_messageTypes[0].MessageOf(m)
 }
 func (m *M3) Reset()         { *m = M3{} }
 func (m *M3) String() string { return proto.CompactTextString(m) }
@@ -79,27 +79,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M3_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_a_2_m3 protoreflect.FileDescriptor
 
-var xxx_M3_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M3_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_a_2_m3_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_a_2_m3_goTypes = []interface{}{
 	(*M3)(nil), // 0: test.a.M3
 }
-var xxx_M3_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_test_a_2_m3_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M3_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_a_2_m3 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_ff9d8f834875c9c5,
-		GoTypes:            xxx_M3_protoFile_goTypes,
-		DependencyIndexes:  xxx_M3_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_a_2_m3_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_a_2_m3_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M3_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_a_2_m3_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M3_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M3_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_a_2_m3_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_a_2_m3_messageTypes[i].PBType = mt
 	}
-	xxx_M3_protoFile_goTypes = nil
-	xxx_M3_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_a_2_m3_goTypes = nil
+	xxx_ProtoFile_imports_test_a_2_m3_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go b/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
index 9c46cda..6c7a8c0 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_a_2/m4.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M4) ProtoReflect() protoreflect.Message {
-	return xxx_M4_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_a_2_m4_messageTypes[0].MessageOf(m)
 }
 func (m *M4) Reset()         { *m = M4{} }
 func (m *M4) String() string { return proto.CompactTextString(m) }
@@ -79,27 +79,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M4_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_a_2_m4 protoreflect.FileDescriptor
 
-var xxx_M4_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M4_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_a_2_m4_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_a_2_m4_goTypes = []interface{}{
 	(*M4)(nil), // 0: test.a.M4
 }
-var xxx_M4_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_test_a_2_m4_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M4_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_a_2_m4 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_fdd24f82f6c5a786,
-		GoTypes:            xxx_M4_protoFile_goTypes,
-		DependencyIndexes:  xxx_M4_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_a_2_m4_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_a_2_m4_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M4_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_a_2_m4_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M4_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M4_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_a_2_m4_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_a_2_m4_messageTypes[i].PBType = mt
 	}
-	xxx_M4_protoFile_goTypes = nil
-	xxx_M4_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_a_2_m4_goTypes = nil
+	xxx_ProtoFile_imports_test_a_2_m4_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
index d653a28..8237a77 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_b_1/m1.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M1) ProtoReflect() protoreflect.Message {
-	return xxx_M1_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_b_1_m1_messageTypes[0].MessageOf(m)
 }
 func (m *M1) Reset()         { *m = M1{} }
 func (m *M1) String() string { return proto.CompactTextString(m) }
@@ -80,27 +80,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M1_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_b_1_m1 protoreflect.FileDescriptor
 
-var xxx_M1_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M1_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_b_1_m1_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_b_1_m1_goTypes = []interface{}{
 	(*M1)(nil), // 0: test.b.part1.M1
 }
-var xxx_M1_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_test_b_1_m1_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M1_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_b_1_m1 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_7f49573d035512a8,
-		GoTypes:            xxx_M1_protoFile_goTypes,
-		DependencyIndexes:  xxx_M1_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_b_1_m1_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_b_1_m1_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M1_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_b_1_m1_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M1_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M1_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_b_1_m1_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_b_1_m1_messageTypes[i].PBType = mt
 	}
-	xxx_M1_protoFile_goTypes = nil
-	xxx_M1_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_b_1_m1_goTypes = nil
+	xxx_ProtoFile_imports_test_b_1_m1_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
index da97ed3..ddf57b1 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_b_1/m2.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *M2) ProtoReflect() protoreflect.Message {
-	return xxx_M2_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_b_1_m2_messageTypes[0].MessageOf(m)
 }
 func (m *M2) Reset()         { *m = M2{} }
 func (m *M2) String() string { return proto.CompactTextString(m) }
@@ -80,27 +80,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var M2_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_b_1_m2 protoreflect.FileDescriptor
 
-var xxx_M2_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_M2_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_b_1_m2_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_b_1_m2_goTypes = []interface{}{
 	(*M2)(nil), // 0: test.b.part2.M2
 }
-var xxx_M2_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_imports_test_b_1_m2_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	M2_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_b_1_m2 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_a1becddceeb586f2,
-		GoTypes:            xxx_M2_protoFile_goTypes,
-		DependencyIndexes:  xxx_M2_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_b_1_m2_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_b_1_m2_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_M2_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_b_1_m2_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_M2_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_M2_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_b_1_m2_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_b_1_m2_messageTypes[i].PBType = mt
 	}
-	xxx_M2_protoFile_goTypes = nil
-	xxx_M2_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_b_1_m2_goTypes = nil
+	xxx_ProtoFile_imports_test_b_1_m2_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
index a37af85..84ed62d 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_a1m1.pb.go
@@ -27,7 +27,7 @@
 }
 
 func (m *A1M1) ProtoReflect() protoreflect.Message {
-	return xxx_TestImportA1M1_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_import_a1m1_messageTypes[0].MessageOf(m)
 }
 func (m *A1M1) Reset()         { *m = A1M1{} }
 func (m *A1M1) String() string { return proto.CompactTextString(m) }
@@ -91,30 +91,30 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestImportA1M1_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_import_a1m1 protoreflect.FileDescriptor
 
-var xxx_TestImportA1M1_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestImportA1M1_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_import_a1m1_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_import_a1m1_goTypes = []interface{}{
 	(*A1M1)(nil),        // 0: test.A1M1
 	(*test_a_1.M1)(nil), // 1: test.a.M1
 }
-var xxx_TestImportA1M1_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_imports_test_import_a1m1_depIdxs = []int32{
 	1, // test.A1M1.f:type_name -> test.a.M1
 }
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestImportA1M1_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_import_a1m1 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_3b904a47327455f3,
-		GoTypes:            xxx_TestImportA1M1_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestImportA1M1_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_import_a1m1_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_import_a1m1_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestImportA1M1_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_import_a1m1_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestImportA1M1_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestImportA1M1_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_import_a1m1_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_import_a1m1_messageTypes[i].PBType = mt
 	}
-	xxx_TestImportA1M1_protoFile_goTypes = nil
-	xxx_TestImportA1M1_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_import_a1m1_goTypes = nil
+	xxx_ProtoFile_imports_test_import_a1m1_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
index 58e5298..162ffe5 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_a1m2.pb.go
@@ -27,7 +27,7 @@
 }
 
 func (m *A1M2) ProtoReflect() protoreflect.Message {
-	return xxx_TestImportA1M2_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_import_a1m2_messageTypes[0].MessageOf(m)
 }
 func (m *A1M2) Reset()         { *m = A1M2{} }
 func (m *A1M2) String() string { return proto.CompactTextString(m) }
@@ -91,30 +91,30 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestImportA1M2_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_import_a1m2 protoreflect.FileDescriptor
 
-var xxx_TestImportA1M2_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestImportA1M2_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_import_a1m2_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_import_a1m2_goTypes = []interface{}{
 	(*A1M2)(nil),        // 0: test.A1M2
 	(*test_a_1.M2)(nil), // 1: test.a.M2
 }
-var xxx_TestImportA1M2_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_imports_test_import_a1m2_depIdxs = []int32{
 	1, // test.A1M2.f:type_name -> test.a.M2
 }
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestImportA1M2_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_import_a1m2 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_bdb27b114687957d,
-		GoTypes:            xxx_TestImportA1M2_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestImportA1M2_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_import_a1m2_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_import_a1m2_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestImportA1M2_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_import_a1m2_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestImportA1M2_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestImportA1M2_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_import_a1m2_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_import_a1m2_messageTypes[i].PBType = mt
 	}
-	xxx_TestImportA1M2_protoFile_goTypes = nil
-	xxx_TestImportA1M2_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_import_a1m2_goTypes = nil
+	xxx_ProtoFile_imports_test_import_a1m2_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go b/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
index e094fac..2329baf 100644
--- a/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
+++ b/cmd/protoc-gen-go/testdata/imports/test_import_all.pb.go
@@ -34,7 +34,7 @@
 }
 
 func (m *All) ProtoReflect() protoreflect.Message {
-	return xxx_TestImportAll_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_imports_test_import_all_messageTypes[0].MessageOf(m)
 }
 func (m *All) Reset()         { *m = All{} }
 func (m *All) String() string { return proto.CompactTextString(m) }
@@ -144,10 +144,10 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestImportAll_protoFile protoreflect.FileDescriptor
+var ProtoFile_imports_test_import_all protoreflect.FileDescriptor
 
-var xxx_TestImportAll_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestImportAll_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_imports_test_import_all_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_imports_test_import_all_goTypes = []interface{}{
 	(*All)(nil),         // 0: test.All
 	(*test_a_1.M1)(nil), // 1: test.a.M1
 	(*test_a_1.M2)(nil), // 2: test.a.M2
@@ -155,7 +155,7 @@
 	(*test_b_1.M2)(nil), // 4: test.b.part2.M2
 	(*fmt.M)(nil),       // 5: fmt.M
 }
-var xxx_TestImportAll_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_imports_test_import_all_depIdxs = []int32{
 	1, // test.All.am1:type_name -> test.a.M1
 	2, // test.All.am2:type_name -> test.a.M2
 	3, // test.All.bm1:type_name -> test.b.part1.M1
@@ -165,17 +165,17 @@
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestImportAll_protoFile = protoimpl.FileBuilder{
+	ProtoFile_imports_test_import_all = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_324466f0afc16f77,
-		GoTypes:            xxx_TestImportAll_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestImportAll_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_imports_test_import_all_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_imports_test_import_all_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestImportAll_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_imports_test_import_all_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestImportAll_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestImportAll_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_imports_test_import_all_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_imports_test_import_all_messageTypes[i].PBType = mt
 	}
-	xxx_TestImportAll_protoFile_goTypes = nil
-	xxx_TestImportAll_protoFile_depIdxs = nil
+	xxx_ProtoFile_imports_test_import_all_goTypes = nil
+	xxx_ProtoFile_imports_test_import_all_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go b/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
index 0b187d4..3ece6d1 100644
--- a/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
+++ b/cmd/protoc-gen-go/testdata/issue780_oneof_conflict/test.pb.go
@@ -28,7 +28,7 @@
 }
 
 func (m *Foo) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_issue780_oneof_conflict_test_messageTypes[0].MessageOf(m)
 }
 func (m *Foo) Reset()         { *m = Foo{} }
 func (m *Foo) String() string { return proto.CompactTextString(m) }
@@ -111,27 +111,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Test_protoFile protoreflect.FileDescriptor
+var ProtoFile_issue780_oneof_conflict_test protoreflect.FileDescriptor
 
-var xxx_Test_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_issue780_oneof_conflict_test_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_issue780_oneof_conflict_test_goTypes = []interface{}{
 	(*Foo)(nil), // 0: oneoftest.Foo
 }
-var xxx_Test_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_issue780_oneof_conflict_test_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Test_protoFile = protoimpl.FileBuilder{
+	ProtoFile_issue780_oneof_conflict_test = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_48462cafc802a68e,
-		GoTypes:            xxx_Test_protoFile_goTypes,
-		DependencyIndexes:  xxx_Test_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_issue780_oneof_conflict_test_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_issue780_oneof_conflict_test_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Test_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_issue780_oneof_conflict_test_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Test_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_issue780_oneof_conflict_test_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_issue780_oneof_conflict_test_messageTypes[i].PBType = mt
 	}
-	xxx_Test_protoFile_goTypes = nil
-	xxx_Test_protoFile_depIdxs = nil
+	xxx_ProtoFile_issue780_oneof_conflict_test_goTypes = nil
+	xxx_ProtoFile_issue780_oneof_conflict_test_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go b/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
index a1f8252..6cfd525 100644
--- a/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
+++ b/cmd/protoc-gen-go/testdata/nopackage/nopackage.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Nopackage_protoFile_enumTypes[0]
+	return xxx_ProtoFile_nopackage_nopackage_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -71,7 +71,7 @@
 }
 
 func (m *Message) ProtoReflect() protoreflect.Message {
-	return xxx_Nopackage_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_nopackage_nopackage_messageTypes[0].MessageOf(m)
 }
 func (m *Message) Reset()         { *m = Message{} }
 func (m *Message) String() string { return proto.CompactTextString(m) }
@@ -143,32 +143,32 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Nopackage_protoFile protoreflect.FileDescriptor
+var ProtoFile_nopackage_nopackage protoreflect.FileDescriptor
 
-var xxx_Nopackage_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Nopackage_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Nopackage_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_nopackage_nopackage_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_nopackage_nopackage_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_nopackage_nopackage_goTypes = []interface{}{
 	(Enum)(0),       // 0: Enum
 	(*Message)(nil), // 1: Message
 }
-var xxx_Nopackage_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_nopackage_nopackage_depIdxs = []int32{
 	0, // Message.enum_field:type_name -> Enum
 }
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Nopackage_protoFile = protoimpl.FileBuilder{
+	ProtoFile_nopackage_nopackage = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_f33a1d5d178c43c9,
-		GoTypes:            xxx_Nopackage_protoFile_goTypes,
-		DependencyIndexes:  xxx_Nopackage_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Nopackage_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_nopackage_nopackage_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_nopackage_nopackage_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_nopackage_nopackage_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Nopackage_protoFile_goTypes[1:][:1]
+	messageGoTypes := xxx_ProtoFile_nopackage_nopackage_goTypes[1:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Nopackage_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Nopackage_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_nopackage_nopackage_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_nopackage_nopackage_messageTypes[i].PBType = mt
 	}
-	xxx_Nopackage_protoFile_goTypes = nil
-	xxx_Nopackage_protoFile_depIdxs = nil
+	xxx_ProtoFile_nopackage_nopackage_goTypes = nil
+	xxx_ProtoFile_nopackage_nopackage_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto2/enum.pb.go b/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
index a18531b..02e8d3f 100644
--- a/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/enum.pb.go
@@ -29,7 +29,7 @@
 )
 
 func (e EnumType1) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[0]
+	return xxx_ProtoFile_proto2_enum_enumTypes[0]
 }
 func (e EnumType1) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -76,7 +76,7 @@
 )
 
 func (e EnumType2) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[1]
+	return xxx_ProtoFile_proto2_enum_enumTypes[1]
 }
 func (e EnumType2) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -124,7 +124,7 @@
 )
 
 func (e EnumContainerMessage1_NestedEnumType1A) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[2]
+	return xxx_ProtoFile_proto2_enum_enumTypes[2]
 }
 func (e EnumContainerMessage1_NestedEnumType1A) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -168,7 +168,7 @@
 )
 
 func (e EnumContainerMessage1_NestedEnumType1B) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[3]
+	return xxx_ProtoFile_proto2_enum_enumTypes[3]
 }
 func (e EnumContainerMessage1_NestedEnumType1B) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -214,7 +214,7 @@
 )
 
 func (e EnumContainerMessage1_EnumContainerMessage2_NestedEnumType2A) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[4]
+	return xxx_ProtoFile_proto2_enum_enumTypes[4]
 }
 func (e EnumContainerMessage1_EnumContainerMessage2_NestedEnumType2A) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -258,7 +258,7 @@
 )
 
 func (e EnumContainerMessage1_EnumContainerMessage2_NestedEnumType2B) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[5]
+	return xxx_ProtoFile_proto2_enum_enumTypes[5]
 }
 func (e EnumContainerMessage1_EnumContainerMessage2_NestedEnumType2B) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -304,7 +304,7 @@
 }
 
 func (m *EnumContainerMessage1) ProtoReflect() protoreflect.Message {
-	return xxx_Enum_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_proto2_enum_messageTypes[0].MessageOf(m)
 }
 func (m *EnumContainerMessage1) Reset()         { *m = EnumContainerMessage1{} }
 func (m *EnumContainerMessage1) String() string { return proto.CompactTextString(m) }
@@ -355,7 +355,7 @@
 }
 
 func (m *EnumContainerMessage1_EnumContainerMessage2) ProtoReflect() protoreflect.Message {
-	return xxx_Enum_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_proto2_enum_messageTypes[1].MessageOf(m)
 }
 func (m *EnumContainerMessage1_EnumContainerMessage2) Reset() {
 	*m = EnumContainerMessage1_EnumContainerMessage2{}
@@ -451,11 +451,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Enum_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto2_enum protoreflect.FileDescriptor
 
-var xxx_Enum_protoFile_enumTypes [6]protoreflect.EnumType
-var xxx_Enum_protoFile_messageTypes [2]protoimpl.MessageType
-var xxx_Enum_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto2_enum_enumTypes [6]protoreflect.EnumType
+var xxx_ProtoFile_proto2_enum_messageTypes [2]protoimpl.MessageType
+var xxx_ProtoFile_proto2_enum_goTypes = []interface{}{
 	(EnumType1)(0), // 0: goproto.protoc.proto2.EnumType1
 	(EnumType2)(0), // 1: goproto.protoc.proto2.EnumType2
 	(EnumContainerMessage1_NestedEnumType1A)(0),                       // 2: goproto.protoc.proto2.EnumContainerMessage1.NestedEnumType1A
@@ -465,25 +465,25 @@
 	(*EnumContainerMessage1)(nil),                                     // 6: goproto.protoc.proto2.EnumContainerMessage1
 	(*EnumContainerMessage1_EnumContainerMessage2)(nil),               // 7: goproto.protoc.proto2.EnumContainerMessage1.EnumContainerMessage2
 }
-var xxx_Enum_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_proto2_enum_depIdxs = []int32{
 	1, // goproto.protoc.proto2.EnumContainerMessage1.default_duplicate1:type_name -> goproto.protoc.proto2.EnumType2
 	1, // goproto.protoc.proto2.EnumContainerMessage1.default_duplicate2:type_name -> goproto.protoc.proto2.EnumType2
 }
 
 func init() {
 	var messageTypes [2]protoreflect.MessageType
-	Enum_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto2_enum = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_de9f68860d540858,
-		GoTypes:            xxx_Enum_protoFile_goTypes,
-		DependencyIndexes:  xxx_Enum_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Enum_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_proto2_enum_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_proto2_enum_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_proto2_enum_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Enum_protoFile_goTypes[6:][:2]
+	messageGoTypes := xxx_ProtoFile_proto2_enum_goTypes[6:][:2]
 	for i, mt := range messageTypes[:] {
-		xxx_Enum_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Enum_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_proto2_enum_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_proto2_enum_messageTypes[i].PBType = mt
 	}
-	xxx_Enum_protoFile_goTypes = nil
-	xxx_Enum_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto2_enum_goTypes = nil
+	xxx_ProtoFile_proto2_enum_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto2/fields.pb.go b/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
index e3b6239..f381fc2 100644
--- a/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/fields.pb.go
@@ -27,7 +27,7 @@
 )
 
 func (e FieldTestMessage_Enum) Type() protoreflect.EnumType {
-	return xxx_Fields_protoFile_enumTypes[0]
+	return xxx_ProtoFile_proto2_fields_enumTypes[0]
 }
 func (e FieldTestMessage_Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -179,7 +179,7 @@
 }
 
 func (m *FieldTestMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[0].MessageOf(m)
 }
 func (m *FieldTestMessage) Reset()         { *m = FieldTestMessage{} }
 func (m *FieldTestMessage) String() string { return proto.CompactTextString(m) }
@@ -1131,7 +1131,7 @@
 }
 
 func (m *FieldTestMessage_OptionalGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[1].MessageOf(m)
 }
 func (m *FieldTestMessage_OptionalGroup) Reset()         { *m = FieldTestMessage_OptionalGroup{} }
 func (m *FieldTestMessage_OptionalGroup) String() string { return proto.CompactTextString(m) }
@@ -1173,7 +1173,7 @@
 }
 
 func (m *FieldTestMessage_RequiredGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[2].MessageOf(m)
 }
 func (m *FieldTestMessage_RequiredGroup) Reset()         { *m = FieldTestMessage_RequiredGroup{} }
 func (m *FieldTestMessage_RequiredGroup) String() string { return proto.CompactTextString(m) }
@@ -1215,7 +1215,7 @@
 }
 
 func (m *FieldTestMessage_RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[3].MessageOf(m)
 }
 func (m *FieldTestMessage_RepeatedGroup) Reset()         { *m = FieldTestMessage_RepeatedGroup{} }
 func (m *FieldTestMessage_RepeatedGroup) String() string { return proto.CompactTextString(m) }
@@ -1257,7 +1257,7 @@
 }
 
 func (m *FieldTestMessage_OneofGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[7].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[7].MessageOf(m)
 }
 func (m *FieldTestMessage_OneofGroup) Reset()         { *m = FieldTestMessage_OneofGroup{} }
 func (m *FieldTestMessage_OneofGroup) String() string { return proto.CompactTextString(m) }
@@ -1298,7 +1298,7 @@
 }
 
 func (m *FieldTestMessage_Message) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[8].MessageOf(m)
+	return xxx_ProtoFile_proto2_fields_messageTypes[8].MessageOf(m)
 }
 func (m *FieldTestMessage_Message) Reset()         { *m = FieldTestMessage_Message{} }
 func (m *FieldTestMessage_Message) String() string { return proto.CompactTextString(m) }
@@ -1723,11 +1723,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Fields_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto2_fields protoreflect.FileDescriptor
 
-var xxx_Fields_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Fields_protoFile_messageTypes [9]protoimpl.MessageType
-var xxx_Fields_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto2_fields_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_proto2_fields_messageTypes [9]protoimpl.MessageType
+var xxx_ProtoFile_proto2_fields_goTypes = []interface{}{
 	(FieldTestMessage_Enum)(0),             // 0: goproto.protoc.proto2.FieldTestMessage.Enum
 	(*FieldTestMessage)(nil),               // 1: goproto.protoc.proto2.FieldTestMessage
 	(*FieldTestMessage_OptionalGroup)(nil), // 2: goproto.protoc.proto2.FieldTestMessage.OptionalGroup
@@ -1739,7 +1739,7 @@
 	(*FieldTestMessage_OneofGroup)(nil),    // 8: goproto.protoc.proto2.FieldTestMessage.OneofGroup
 	(*FieldTestMessage_Message)(nil),       // 9: goproto.protoc.proto2.FieldTestMessage.Message
 }
-var xxx_Fields_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_proto2_fields_depIdxs = []int32{
 	0, // goproto.protoc.proto2.FieldTestMessage.optional_enum:type_name -> goproto.protoc.proto2.FieldTestMessage.Enum
 	9, // goproto.protoc.proto2.FieldTestMessage.optional_Message:type_name -> goproto.protoc.proto2.FieldTestMessage.Message
 	2, // goproto.protoc.proto2.FieldTestMessage.optionalgroup:type_name -> goproto.protoc.proto2.FieldTestMessage.OptionalGroup
@@ -1762,18 +1762,18 @@
 
 func init() {
 	var messageTypes [9]protoreflect.MessageType
-	Fields_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto2_fields = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_fd8a9d72b841fd68,
-		GoTypes:            xxx_Fields_protoFile_goTypes,
-		DependencyIndexes:  xxx_Fields_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Fields_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_proto2_fields_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_proto2_fields_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_proto2_fields_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Fields_protoFile_goTypes[1:][:9]
+	messageGoTypes := xxx_ProtoFile_proto2_fields_goTypes[1:][:9]
 	for i, mt := range messageTypes[:] {
-		xxx_Fields_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Fields_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_proto2_fields_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_proto2_fields_messageTypes[i].PBType = mt
 	}
-	xxx_Fields_protoFile_goTypes = nil
-	xxx_Fields_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto2_fields_goTypes = nil
+	xxx_ProtoFile_proto2_fields_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go b/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
index 815965e..5c531f6 100644
--- a/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/nested_messages.pb.go
@@ -27,7 +27,7 @@
 }
 
 func (m *Layer1) ProtoReflect() protoreflect.Message {
-	return xxx_NestedMessages_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_proto2_nested_messages_messageTypes[0].MessageOf(m)
 }
 func (m *Layer1) Reset()         { *m = Layer1{} }
 func (m *Layer1) String() string { return proto.CompactTextString(m) }
@@ -76,7 +76,7 @@
 }
 
 func (m *Layer1_Layer2) ProtoReflect() protoreflect.Message {
-	return xxx_NestedMessages_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_proto2_nested_messages_messageTypes[1].MessageOf(m)
 }
 func (m *Layer1_Layer2) Reset()         { *m = Layer1_Layer2{} }
 func (m *Layer1_Layer2) String() string { return proto.CompactTextString(m) }
@@ -117,7 +117,7 @@
 }
 
 func (m *Layer1_Layer2_Layer3) ProtoReflect() protoreflect.Message {
-	return xxx_NestedMessages_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_proto2_nested_messages_messageTypes[2].MessageOf(m)
 }
 func (m *Layer1_Layer2_Layer3) Reset()         { *m = Layer1_Layer2_Layer3{} }
 func (m *Layer1_Layer2_Layer3) String() string { return proto.CompactTextString(m) }
@@ -186,15 +186,15 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var NestedMessages_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto2_nested_messages protoreflect.FileDescriptor
 
-var xxx_NestedMessages_protoFile_messageTypes [3]protoimpl.MessageType
-var xxx_NestedMessages_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto2_nested_messages_messageTypes [3]protoimpl.MessageType
+var xxx_ProtoFile_proto2_nested_messages_goTypes = []interface{}{
 	(*Layer1)(nil),               // 0: goproto.protoc.proto2.Layer1
 	(*Layer1_Layer2)(nil),        // 1: goproto.protoc.proto2.Layer1.Layer2
 	(*Layer1_Layer2_Layer3)(nil), // 2: goproto.protoc.proto2.Layer1.Layer2.Layer3
 }
-var xxx_NestedMessages_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_proto2_nested_messages_depIdxs = []int32{
 	1, // goproto.protoc.proto2.Layer1.l2:type_name -> goproto.protoc.proto2.Layer1.Layer2
 	2, // goproto.protoc.proto2.Layer1.l3:type_name -> goproto.protoc.proto2.Layer1.Layer2.Layer3
 	2, // goproto.protoc.proto2.Layer1.Layer2.l3:type_name -> goproto.protoc.proto2.Layer1.Layer2.Layer3
@@ -202,17 +202,17 @@
 
 func init() {
 	var messageTypes [3]protoreflect.MessageType
-	NestedMessages_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto2_nested_messages = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_7417ee157699d191,
-		GoTypes:            xxx_NestedMessages_protoFile_goTypes,
-		DependencyIndexes:  xxx_NestedMessages_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_proto2_nested_messages_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_proto2_nested_messages_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_NestedMessages_protoFile_goTypes[0:][:3]
+	messageGoTypes := xxx_ProtoFile_proto2_nested_messages_goTypes[0:][:3]
 	for i, mt := range messageTypes[:] {
-		xxx_NestedMessages_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_NestedMessages_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_proto2_nested_messages_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_proto2_nested_messages_messageTypes[i].PBType = mt
 	}
-	xxx_NestedMessages_protoFile_goTypes = nil
-	xxx_NestedMessages_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto2_nested_messages_goTypes = nil
+	xxx_ProtoFile_proto2_nested_messages_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go b/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
index 1746040..5432599 100644
--- a/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto2/proto2.pb.go
@@ -27,7 +27,7 @@
 }
 
 func (m *Message) ProtoReflect() protoreflect.Message {
-	return xxx_Proto2_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_proto2_proto2_messageTypes[0].MessageOf(m)
 }
 func (m *Message) Reset()         { *m = Message{} }
 func (m *Message) String() string { return proto.CompactTextString(m) }
@@ -99,29 +99,29 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Proto2_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto2_proto2 protoreflect.FileDescriptor
 
-var xxx_Proto2_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_Proto2_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto2_proto2_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_proto2_proto2_goTypes = []interface{}{
 	(*Message)(nil), // 0: goproto.protoc.proto2.Message
 }
-var xxx_Proto2_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_proto2_proto2_depIdxs = []int32{
 	0, // goproto.protoc.proto2.Message.m:type_name -> goproto.protoc.proto2.Message
 }
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	Proto2_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto2_proto2 = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_d756bbe8817c03c1,
-		GoTypes:            xxx_Proto2_protoFile_goTypes,
-		DependencyIndexes:  xxx_Proto2_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_proto2_proto2_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_proto2_proto2_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Proto2_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_proto2_proto2_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_Proto2_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Proto2_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_proto2_proto2_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_proto2_proto2_messageTypes[i].PBType = mt
 	}
-	xxx_Proto2_protoFile_goTypes = nil
-	xxx_Proto2_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto2_proto2_goTypes = nil
+	xxx_ProtoFile_proto2_proto2_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto3/enum.pb.go b/cmd/protoc-gen-go/testdata/proto3/enum.pb.go
index ce89e08..2e4d8b8 100644
--- a/cmd/protoc-gen-go/testdata/proto3/enum.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto3/enum.pb.go
@@ -26,7 +26,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Enum_protoFile_enumTypes[0]
+	return xxx_ProtoFile_proto3_enum_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -81,21 +81,21 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Enum_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto3_enum protoreflect.FileDescriptor
 
-var xxx_Enum_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Enum_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto3_enum_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_proto3_enum_goTypes = []interface{}{
 	(Enum)(0), // 0: goproto.protoc.proto3.Enum
 }
-var xxx_Enum_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_proto3_enum_depIdxs = []int32{}
 
 func init() {
-	Enum_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto3_enum = protoimpl.FileBuilder{
 		RawDescriptor:     fileDescriptor_b4b9b1e8d161a9a6,
-		GoTypes:           xxx_Enum_protoFile_goTypes,
-		DependencyIndexes: xxx_Enum_protoFile_depIdxs,
-		EnumOutputTypes:   xxx_Enum_protoFile_enumTypes[:],
+		GoTypes:           xxx_ProtoFile_proto3_enum_goTypes,
+		DependencyIndexes: xxx_ProtoFile_proto3_enum_depIdxs,
+		EnumOutputTypes:   xxx_ProtoFile_proto3_enum_enumTypes[:],
 	}.Init()
-	xxx_Enum_protoFile_goTypes = nil
-	xxx_Enum_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto3_enum_goTypes = nil
+	xxx_ProtoFile_proto3_enum_depIdxs = nil
 }
diff --git a/cmd/protoc-gen-go/testdata/proto3/fields.pb.go b/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
index 8ad3d7c..a922f16 100644
--- a/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
+++ b/cmd/protoc-gen-go/testdata/proto3/fields.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e FieldTestMessage_Enum) Type() protoreflect.EnumType {
-	return xxx_Fields_protoFile_enumTypes[0]
+	return xxx_ProtoFile_proto3_fields_enumTypes[0]
 }
 func (e FieldTestMessage_Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -91,7 +91,7 @@
 }
 
 func (m *FieldTestMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_proto3_fields_messageTypes[0].MessageOf(m)
 }
 func (m *FieldTestMessage) Reset()         { *m = FieldTestMessage{} }
 func (m *FieldTestMessage) String() string { return proto.CompactTextString(m) }
@@ -384,7 +384,7 @@
 }
 
 func (m *FieldTestMessage_Message) ProtoReflect() protoreflect.Message {
-	return xxx_Fields_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_proto3_fields_messageTypes[4].MessageOf(m)
 }
 func (m *FieldTestMessage_Message) Reset()         { *m = FieldTestMessage_Message{} }
 func (m *FieldTestMessage_Message) String() string { return proto.CompactTextString(m) }
@@ -584,11 +584,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Fields_protoFile protoreflect.FileDescriptor
+var ProtoFile_proto3_fields protoreflect.FileDescriptor
 
-var xxx_Fields_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_Fields_protoFile_messageTypes [5]protoimpl.MessageType
-var xxx_Fields_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_proto3_fields_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_proto3_fields_messageTypes [5]protoimpl.MessageType
+var xxx_ProtoFile_proto3_fields_goTypes = []interface{}{
 	(FieldTestMessage_Enum)(0),       // 0: goproto.protoc.proto3.FieldTestMessage.Enum
 	(*FieldTestMessage)(nil),         // 1: goproto.protoc.proto3.FieldTestMessage
 	nil,                              // 2: goproto.protoc.proto3.FieldTestMessage.MapInt32Int64Entry
@@ -596,7 +596,7 @@
 	nil,                              // 4: goproto.protoc.proto3.FieldTestMessage.MapFixed64EnumEntry
 	(*FieldTestMessage_Message)(nil), // 5: goproto.protoc.proto3.FieldTestMessage.Message
 }
-var xxx_Fields_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_proto3_fields_depIdxs = []int32{
 	0, // goproto.protoc.proto3.FieldTestMessage.optional_enum:type_name -> goproto.protoc.proto3.FieldTestMessage.Enum
 	5, // goproto.protoc.proto3.FieldTestMessage.optional_Message:type_name -> goproto.protoc.proto3.FieldTestMessage.Message
 	0, // goproto.protoc.proto3.FieldTestMessage.repeated_enum:type_name -> goproto.protoc.proto3.FieldTestMessage.Enum
@@ -610,18 +610,18 @@
 
 func init() {
 	var messageTypes [5]protoreflect.MessageType
-	Fields_protoFile = protoimpl.FileBuilder{
+	ProtoFile_proto3_fields = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_f1e3ea068187307c,
-		GoTypes:            xxx_Fields_protoFile_goTypes,
-		DependencyIndexes:  xxx_Fields_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Fields_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_proto3_fields_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_proto3_fields_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_proto3_fields_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Fields_protoFile_goTypes[1:][:5]
+	messageGoTypes := xxx_ProtoFile_proto3_fields_goTypes[1:][:5]
 	for i, mt := range messageTypes[:] {
-		xxx_Fields_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Fields_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_proto3_fields_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_proto3_fields_messageTypes[i].PBType = mt
 	}
-	xxx_Fields_protoFile_goTypes = nil
-	xxx_Fields_protoFile_depIdxs = nil
+	xxx_ProtoFile_proto3_fields_goTypes = nil
+	xxx_ProtoFile_proto3_fields_depIdxs = nil
 }
diff --git a/encoding/testprotos/pb2/test.pb.go b/encoding/testprotos/pb2/test.pb.go
index d0f7706..39e628a 100644
--- a/encoding/testprotos/pb2/test.pb.go
+++ b/encoding/testprotos/pb2/test.pb.go
@@ -33,7 +33,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[0]
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -83,7 +83,7 @@
 )
 
 func (e Enums_NestedEnum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[1]
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_enumTypes[1]
 }
 func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -147,7 +147,7 @@
 }
 
 func (m *Scalars) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[0].MessageOf(m)
 }
 func (m *Scalars) Reset()         { *m = Scalars{} }
 func (m *Scalars) String() string { return proto.CompactTextString(m) }
@@ -291,7 +291,7 @@
 }
 
 func (m *Enums) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[1].MessageOf(m)
 }
 func (m *Enums) Reset()         { *m = Enums{} }
 func (m *Enums) String() string { return proto.CompactTextString(m) }
@@ -363,7 +363,7 @@
 }
 
 func (m *Repeats) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[2].MessageOf(m)
 }
 func (m *Repeats) Reset()         { *m = Repeats{} }
 func (m *Repeats) String() string { return proto.CompactTextString(m) }
@@ -463,7 +463,7 @@
 }
 
 func (m *Nested) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[3].MessageOf(m)
 }
 func (m *Nested) Reset()         { *m = Nested{} }
 func (m *Nested) String() string { return proto.CompactTextString(m) }
@@ -516,7 +516,7 @@
 }
 
 func (m *Nests) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[4].MessageOf(m)
 }
 func (m *Nests) Reset()         { *m = Nests{} }
 func (m *Nests) String() string { return proto.CompactTextString(m) }
@@ -585,7 +585,7 @@
 }
 
 func (m *Requireds) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[5].MessageOf(m)
 }
 func (m *Requireds) Reset()         { *m = Requireds{} }
 func (m *Requireds) String() string { return proto.CompactTextString(m) }
@@ -664,7 +664,7 @@
 }
 
 func (m *PartialRequired) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[6].MessageOf(m)
 }
 func (m *PartialRequired) Reset()         { *m = PartialRequired{} }
 func (m *PartialRequired) String() string { return proto.CompactTextString(m) }
@@ -713,7 +713,7 @@
 }
 
 func (m *NestedWithRequired) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[7].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[7].MessageOf(m)
 }
 func (m *NestedWithRequired) Reset()         { *m = NestedWithRequired{} }
 func (m *NestedWithRequired) String() string { return proto.CompactTextString(m) }
@@ -760,7 +760,7 @@
 }
 
 func (m *IndirectRequired) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[8].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[8].MessageOf(m)
 }
 func (m *IndirectRequired) Reset()         { *m = IndirectRequired{} }
 func (m *IndirectRequired) String() string { return proto.CompactTextString(m) }
@@ -850,7 +850,7 @@
 }
 
 func (m *Extensions) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[9].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[9].MessageOf(m)
 }
 func (m *Extensions) Reset()         { *m = Extensions{} }
 func (m *Extensions) String() string { return proto.CompactTextString(m) }
@@ -913,7 +913,7 @@
 }
 
 func (m *ExtensionsContainer) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[10].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[10].MessageOf(m)
 }
 func (m *ExtensionsContainer) Reset()         { *m = ExtensionsContainer{} }
 func (m *ExtensionsContainer) String() string { return proto.CompactTextString(m) }
@@ -948,7 +948,7 @@
 }
 
 func (m *MessageSet) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[11].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[11].MessageOf(m)
 }
 func (m *MessageSet) Reset()         { *m = MessageSet{} }
 func (m *MessageSet) String() string { return proto.CompactTextString(m) }
@@ -991,7 +991,7 @@
 }
 
 func (m *MessageSetExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[12].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[12].MessageOf(m)
 }
 func (m *MessageSetExtension) Reset()         { *m = MessageSetExtension{} }
 func (m *MessageSetExtension) String() string { return proto.CompactTextString(m) }
@@ -1033,7 +1033,7 @@
 }
 
 func (m *FakeMessageSet) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[13].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[13].MessageOf(m)
 }
 func (m *FakeMessageSet) Reset()         { *m = FakeMessageSet{} }
 func (m *FakeMessageSet) String() string { return proto.CompactTextString(m) }
@@ -1076,7 +1076,7 @@
 }
 
 func (m *FakeMessageSetExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[14].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[14].MessageOf(m)
 }
 func (m *FakeMessageSetExtension) Reset()         { *m = FakeMessageSetExtension{} }
 func (m *FakeMessageSetExtension) String() string { return proto.CompactTextString(m) }
@@ -1134,7 +1134,7 @@
 }
 
 func (m *KnownTypes) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[15].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[15].MessageOf(m)
 }
 func (m *KnownTypes) Reset()         { *m = KnownTypes{} }
 func (m *KnownTypes) String() string { return proto.CompactTextString(m) }
@@ -1283,7 +1283,7 @@
 }
 
 func (m *Nests_OptGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[16].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[16].MessageOf(m)
 }
 func (m *Nests_OptGroup) Reset()         { *m = Nests_OptGroup{} }
 func (m *Nests_OptGroup) String() string { return proto.CompactTextString(m) }
@@ -1339,7 +1339,7 @@
 }
 
 func (m *Nests_RptGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[17].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[17].MessageOf(m)
 }
 func (m *Nests_RptGroup) Reset()         { *m = Nests_RptGroup{} }
 func (m *Nests_RptGroup) String() string { return proto.CompactTextString(m) }
@@ -1381,7 +1381,7 @@
 }
 
 func (m *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[18].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[18].MessageOf(m)
 }
 func (m *Nests_OptGroup_OptNestedGroup) Reset()         { *m = Nests_OptGroup_OptNestedGroup{} }
 func (m *Nests_OptGroup_OptNestedGroup) String() string { return proto.CompactTextString(m) }
@@ -1967,11 +1967,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Test_protoFile protoreflect.FileDescriptor
+var ProtoFile_encoding_testprotos_pb2_test protoreflect.FileDescriptor
 
-var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [20]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_encoding_testprotos_pb2_test_enumTypes [2]protoreflect.EnumType
+var xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes [20]protoimpl.MessageType
+var xxx_ProtoFile_encoding_testprotos_pb2_test_goTypes = []interface{}{
 	(Enum)(0),                             // 0: pb2.Enum
 	(Enums_NestedEnum)(0),                 // 1: pb2.Enums.NestedEnum
 	(*Scalars)(nil),                       // 2: pb2.Scalars
@@ -2011,7 +2011,7 @@
 	(*empty.Empty)(nil),                   // 36: google.protobuf.Empty
 	(*any.Any)(nil),                       // 37: google.protobuf.Any
 }
-var xxx_Test_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_encoding_testprotos_pb2_test_depIdxs = []int32{
 	11, // pb2.opt_ext_bool:extendee -> pb2.Extensions
 	11, // pb2.opt_ext_string:extendee -> pb2.Extensions
 	11, // pb2.opt_ext_enum:extendee -> pb2.Extensions
@@ -2083,18 +2083,18 @@
 func init() {
 	var messageTypes [20]protoreflect.MessageType
 	var extensionTypes [19]protoreflect.ExtensionType
-	Test_protoFile = protoimpl.FileBuilder{
+	ProtoFile_encoding_testprotos_pb2_test = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_72e37deb177b50f8,
-		GoTypes:              xxx_Test_protoFile_goTypes,
-		DependencyIndexes:    xxx_Test_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_Test_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_encoding_testprotos_pb2_test_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_encoding_testprotos_pb2_test_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_encoding_testprotos_pb2_test_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Test_protoFile_goTypes[2:][:20]
+	messageGoTypes := xxx_ProtoFile_encoding_testprotos_pb2_test_goTypes[2:][:20]
 	for i, mt := range messageTypes[:] {
-		xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Test_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_encoding_testprotos_pb2_test_messageTypes[i].PBType = mt
 	}
 	E_OptExtBool.Type = extensionTypes[0]
 	E_OptExtString.Type = extensionTypes[1]
@@ -2115,6 +2115,6 @@
 	E_MessageSetExtension_NotMessageSetExtension.Type = extensionTypes[16]
 	E_MessageSetExtension_ExtNested.Type = extensionTypes[17]
 	E_FakeMessageSetExtension_MessageSetExtension.Type = extensionTypes[18]
-	xxx_Test_protoFile_goTypes = nil
-	xxx_Test_protoFile_depIdxs = nil
+	xxx_ProtoFile_encoding_testprotos_pb2_test_goTypes = nil
+	xxx_ProtoFile_encoding_testprotos_pb2_test_depIdxs = nil
 }
diff --git a/encoding/testprotos/pb3/test.pb.go b/encoding/testprotos/pb3/test.pb.go
index 0aabdf1..d9bc436 100644
--- a/encoding/testprotos/pb3/test.pb.go
+++ b/encoding/testprotos/pb3/test.pb.go
@@ -28,7 +28,7 @@
 )
 
 func (e Enum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[0]
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_enumTypes[0]
 }
 func (e Enum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -66,7 +66,7 @@
 )
 
 func (e Enums_NestedEnum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[1]
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_enumTypes[1]
 }
 func (e Enums_NestedEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -117,7 +117,7 @@
 }
 
 func (m *Scalars) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[0].MessageOf(m)
 }
 func (m *Scalars) Reset()         { *m = Scalars{} }
 func (m *Scalars) String() string { return proto.CompactTextString(m) }
@@ -259,7 +259,7 @@
 }
 
 func (m *Enums) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[1].MessageOf(m)
 }
 func (m *Enums) Reset()         { *m = Enums{} }
 func (m *Enums) String() string { return proto.CompactTextString(m) }
@@ -309,7 +309,7 @@
 }
 
 func (m *Nests) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[2].MessageOf(m)
 }
 func (m *Nests) Reset()         { *m = Nests{} }
 func (m *Nests) String() string { return proto.CompactTextString(m) }
@@ -353,7 +353,7 @@
 }
 
 func (m *Nested) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[3].MessageOf(m)
 }
 func (m *Nested) Reset()         { *m = Nested{} }
 func (m *Nested) String() string { return proto.CompactTextString(m) }
@@ -407,7 +407,7 @@
 }
 
 func (m *Oneofs) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[4].MessageOf(m)
 }
 func (m *Oneofs) Reset()         { *m = Oneofs{} }
 func (m *Oneofs) String() string { return proto.CompactTextString(m) }
@@ -506,7 +506,7 @@
 }
 
 func (m *Maps) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[5].MessageOf(m)
 }
 func (m *Maps) Reset()         { *m = Maps{} }
 func (m *Maps) String() string { return proto.CompactTextString(m) }
@@ -577,7 +577,7 @@
 }
 
 func (m *JSONNames) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
+	return xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[6].MessageOf(m)
 }
 func (m *JSONNames) Reset()         { *m = JSONNames{} }
 func (m *JSONNames) String() string { return proto.CompactTextString(m) }
@@ -752,11 +752,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Test_protoFile protoreflect.FileDescriptor
+var ProtoFile_encoding_testprotos_pb3_test protoreflect.FileDescriptor
 
-var xxx_Test_protoFile_enumTypes [2]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [12]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_encoding_testprotos_pb3_test_enumTypes [2]protoreflect.EnumType
+var xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes [12]protoimpl.MessageType
+var xxx_ProtoFile_encoding_testprotos_pb3_test_goTypes = []interface{}{
 	(Enum)(0),             // 0: pb3.Enum
 	(Enums_NestedEnum)(0), // 1: pb3.Enums.NestedEnum
 	(*Scalars)(nil),       // 2: pb3.Scalars
@@ -772,7 +772,7 @@
 	nil,                   // 12: pb3.Maps.StrToNestedEntry
 	nil,                   // 13: pb3.Maps.StrToOneofsEntry
 }
-var xxx_Test_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_encoding_testprotos_pb3_test_depIdxs = []int32{
 	0,  // pb3.Enums.s_enum:type_name -> pb3.Enum
 	1,  // pb3.Enums.s_nested_enum:type_name -> pb3.Enums.NestedEnum
 	5,  // pb3.Nests.s_nested:type_name -> pb3.Nested
@@ -791,18 +791,18 @@
 
 func init() {
 	var messageTypes [12]protoreflect.MessageType
-	Test_protoFile = protoimpl.FileBuilder{
+	ProtoFile_encoding_testprotos_pb3_test = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_33e0a17922cde063,
-		GoTypes:            xxx_Test_protoFile_goTypes,
-		DependencyIndexes:  xxx_Test_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Test_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_encoding_testprotos_pb3_test_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_encoding_testprotos_pb3_test_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_encoding_testprotos_pb3_test_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Test_protoFile_goTypes[2:][:12]
+	messageGoTypes := xxx_ProtoFile_encoding_testprotos_pb3_test_goTypes[2:][:12]
 	for i, mt := range messageTypes[:] {
-		xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Test_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_encoding_testprotos_pb3_test_messageTypes[i].PBType = mt
 	}
-	xxx_Test_protoFile_goTypes = nil
-	xxx_Test_protoFile_depIdxs = nil
+	xxx_ProtoFile_encoding_testprotos_pb3_test_goTypes = nil
+	xxx_ProtoFile_encoding_testprotos_pb3_test_depIdxs = nil
 }
diff --git a/internal/fileinit/fileinit_test.go b/internal/fileinit/fileinit_test.go
index f2d0761..b6ba1e1 100644
--- a/internal/fileinit/fileinit_test.go
+++ b/internal/fileinit/fileinit_test.go
@@ -20,7 +20,7 @@
 	// 2. The protoc-generated wire-encoded message.
 	//
 	// This serves as a test of both fileinit and protodesc.
-	got := protodesc.ToFileDescriptorProto(testpb.Test_protoFile)
+	got := protodesc.ToFileDescriptorProto(testpb.ProtoFile_test)
 
 	want := &descriptorpb.FileDescriptorProto{}
 	zb, _ := (&testpb.TestAllTypes{}).Descriptor()
@@ -60,7 +60,7 @@
 		"ServiceDescriptorProto",
 		"MethodDescriptorProto",
 	} {
-		message := descriptorpb.Descriptor_protoFile.Messages().ByName(messageName)
+		message := descriptorpb.ProtoFile_google_protobuf_descriptor.Messages().ByName(messageName)
 		for i, fields := 0, message.Fields(); i < fields.Len(); i++ {
 			if name := fields.Get(i).FullName(); !seen[name] && !ignore[name] {
 				t.Errorf("No test for descriptor field: %v", name)
diff --git a/internal/testprotos/test/test.pb.go b/internal/testprotos/test/test.pb.go
index 7f5a58d..d039c07 100644
--- a/internal/testprotos/test/test.pb.go
+++ b/internal/testprotos/test/test.pb.go
@@ -27,7 +27,7 @@
 )
 
 func (e ForeignEnum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[0]
+	return xxx_ProtoFile_test_enumTypes[0]
 }
 func (e ForeignEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -75,7 +75,7 @@
 )
 
 func (e TestReservedEnumFields) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[1]
+	return xxx_ProtoFile_test_enumTypes[1]
 }
 func (e TestReservedEnumFields) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -122,7 +122,7 @@
 )
 
 func (e TestAllTypes_NestedEnum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[2]
+	return xxx_ProtoFile_test_enumTypes[2]
 }
 func (e TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -171,7 +171,7 @@
 )
 
 func (e TestDeprecatedMessage_DeprecatedEnum) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[3]
+	return xxx_ProtoFile_test_enumTypes[3]
 }
 func (e TestDeprecatedMessage_DeprecatedEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -305,7 +305,7 @@
 }
 
 func (m *TestAllTypes) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[0].MessageOf(m)
 }
 func (m *TestAllTypes) Reset()         { *m = TestAllTypes{} }
 func (m *TestAllTypes) String() string { return proto.CompactTextString(m) }
@@ -1053,7 +1053,7 @@
 }
 
 func (m *TestDeprecatedMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[1].MessageOf(m)
 }
 func (m *TestDeprecatedMessage) Reset()         { *m = TestDeprecatedMessage{} }
 func (m *TestDeprecatedMessage) String() string { return proto.CompactTextString(m) }
@@ -1129,7 +1129,7 @@
 }
 
 func (m *ForeignMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[2].MessageOf(m)
 }
 func (m *ForeignMessage) Reset()         { *m = ForeignMessage{} }
 func (m *ForeignMessage) String() string { return proto.CompactTextString(m) }
@@ -1177,7 +1177,7 @@
 }
 
 func (m *TestReservedFields) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[3].MessageOf(m)
 }
 func (m *TestReservedFields) Reset()         { *m = TestReservedFields{} }
 func (m *TestReservedFields) String() string { return proto.CompactTextString(m) }
@@ -1212,7 +1212,7 @@
 }
 
 func (m *TestAllExtensions) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[4].MessageOf(m)
 }
 func (m *TestAllExtensions) Reset()         { *m = TestAllExtensions{} }
 func (m *TestAllExtensions) String() string { return proto.CompactTextString(m) }
@@ -1255,7 +1255,7 @@
 }
 
 func (m *OptionalGroupExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[5].MessageOf(m)
 }
 func (m *OptionalGroupExtension) Reset()         { *m = OptionalGroupExtension{} }
 func (m *OptionalGroupExtension) String() string { return proto.CompactTextString(m) }
@@ -1297,7 +1297,7 @@
 }
 
 func (m *RepeatedGroupExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[6].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[6].MessageOf(m)
 }
 func (m *RepeatedGroupExtension) Reset()         { *m = RepeatedGroupExtension{} }
 func (m *RepeatedGroupExtension) String() string { return proto.CompactTextString(m) }
@@ -1338,7 +1338,7 @@
 }
 
 func (m *TestNestedExtension) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[7].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[7].MessageOf(m)
 }
 func (m *TestNestedExtension) Reset()         { *m = TestNestedExtension{} }
 func (m *TestNestedExtension) String() string { return proto.CompactTextString(m) }
@@ -1373,7 +1373,7 @@
 }
 
 func (m *FooRequest) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[8].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[8].MessageOf(m)
 }
 func (m *FooRequest) Reset()         { *m = FooRequest{} }
 func (m *FooRequest) String() string { return proto.CompactTextString(m) }
@@ -1407,7 +1407,7 @@
 }
 
 func (m *FooResponse) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[9].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[9].MessageOf(m)
 }
 func (m *FooResponse) Reset()         { *m = FooResponse{} }
 func (m *FooResponse) String() string { return proto.CompactTextString(m) }
@@ -1443,7 +1443,7 @@
 }
 
 func (m *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[10].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[10].MessageOf(m)
 }
 func (m *TestAllTypes_NestedMessage) Reset()         { *m = TestAllTypes_NestedMessage{} }
 func (m *TestAllTypes_NestedMessage) String() string { return proto.CompactTextString(m) }
@@ -1492,7 +1492,7 @@
 }
 
 func (m *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[11].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[11].MessageOf(m)
 }
 func (m *TestAllTypes_OptionalGroup) Reset()         { *m = TestAllTypes_OptionalGroup{} }
 func (m *TestAllTypes_OptionalGroup) String() string { return proto.CompactTextString(m) }
@@ -1534,7 +1534,7 @@
 }
 
 func (m *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[12].MessageOf(m)
+	return xxx_ProtoFile_test_messageTypes[12].MessageOf(m)
 }
 func (m *TestAllTypes_RepeatedGroup) Reset()         { *m = TestAllTypes_RepeatedGroup{} }
 func (m *TestAllTypes_RepeatedGroup) String() string { return proto.CompactTextString(m) }
@@ -2744,11 +2744,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Test_protoFile protoreflect.FileDescriptor
+var ProtoFile_test protoreflect.FileDescriptor
 
-var xxx_Test_protoFile_enumTypes [4]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [30]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_test_enumTypes [4]protoreflect.EnumType
+var xxx_ProtoFile_test_messageTypes [30]protoimpl.MessageType
+var xxx_ProtoFile_test_goTypes = []interface{}{
 	(ForeignEnum)(0),                          // 0: goproto.proto.test.ForeignEnum
 	(TestReservedEnumFields)(0),               // 1: goproto.proto.test.TestReservedEnumFields
 	(TestAllTypes_NestedEnum)(0),              // 2: goproto.proto.test.TestAllTypes.NestedEnum
@@ -2786,7 +2786,7 @@
 	(*ImportMessage)(nil),                     // 34: goproto.proto.test.ImportMessage
 	(ImportEnum)(0),                           // 35: goproto.proto.test.ImportEnum
 }
-var xxx_Test_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_test_depIdxs = []int32{
 	8,  // goproto.proto.test.optional_int32_extension:extendee -> goproto.proto.test.TestAllExtensions
 	8,  // goproto.proto.test.optional_int64_extension:extendee -> goproto.proto.test.TestAllExtensions
 	8,  // goproto.proto.test.optional_uint32_extension:extendee -> goproto.proto.test.TestAllExtensions
@@ -2879,18 +2879,18 @@
 func init() {
 	var messageTypes [30]protoreflect.MessageType
 	var extensionTypes [37]protoreflect.ExtensionType
-	Test_protoFile = protoimpl.FileBuilder{
+	ProtoFile_test = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_c161fcfdc0c3ff1e,
-		GoTypes:              xxx_Test_protoFile_goTypes,
-		DependencyIndexes:    xxx_Test_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_Test_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_test_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_test_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_test_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Test_protoFile_goTypes[4:][:30]
+	messageGoTypes := xxx_ProtoFile_test_goTypes[4:][:30]
 	for i, mt := range messageTypes[:] {
-		xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Test_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_test_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_test_messageTypes[i].PBType = mt
 	}
 	E_OptionalInt32Extension.Type = extensionTypes[0]
 	E_OptionalInt64Extension.Type = extensionTypes[1]
@@ -2929,6 +2929,6 @@
 	E_RepeatedNestedMessageExtension.Type = extensionTypes[34]
 	E_RepeatedNestedEnumExtension.Type = extensionTypes[35]
 	E_TestNestedExtension_NestedStringExtension.Type = extensionTypes[36]
-	xxx_Test_protoFile_goTypes = nil
-	xxx_Test_protoFile_depIdxs = nil
+	xxx_ProtoFile_test_goTypes = nil
+	xxx_ProtoFile_test_depIdxs = nil
 }
diff --git a/internal/testprotos/test/test_import.pb.go b/internal/testprotos/test/test_import.pb.go
index fc10e6d..c896f84 100644
--- a/internal/testprotos/test/test_import.pb.go
+++ b/internal/testprotos/test/test_import.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e ImportEnum) Type() protoreflect.EnumType {
-	return xxx_TestImport_protoFile_enumTypes[0]
+	return xxx_ProtoFile_test_import_enumTypes[0]
 }
 func (e ImportEnum) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -69,7 +69,7 @@
 }
 
 func (m *ImportMessage) ProtoReflect() protoreflect.Message {
-	return xxx_TestImport_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_test_import_messageTypes[0].MessageOf(m)
 }
 func (m *ImportMessage) Reset()         { *m = ImportMessage{} }
 func (m *ImportMessage) String() string { return proto.CompactTextString(m) }
@@ -126,30 +126,30 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestImport_protoFile protoreflect.FileDescriptor
+var ProtoFile_test_import protoreflect.FileDescriptor
 
-var xxx_TestImport_protoFile_enumTypes [1]protoreflect.EnumType
-var xxx_TestImport_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestImport_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_test_import_enumTypes [1]protoreflect.EnumType
+var xxx_ProtoFile_test_import_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_test_import_goTypes = []interface{}{
 	(ImportEnum)(0),       // 0: goproto.proto.test.ImportEnum
 	(*ImportMessage)(nil), // 1: goproto.proto.test.ImportMessage
 }
-var xxx_TestImport_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_test_import_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestImport_protoFile = protoimpl.FileBuilder{
+	ProtoFile_test_import = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_89be98e26346f54e,
-		GoTypes:            xxx_TestImport_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestImport_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_TestImport_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_test_import_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_test_import_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_test_import_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestImport_protoFile_goTypes[1:][:1]
+	messageGoTypes := xxx_ProtoFile_test_import_goTypes[1:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestImport_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestImport_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_test_import_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_test_import_messageTypes[i].PBType = mt
 	}
-	xxx_TestImport_protoFile_goTypes = nil
-	xxx_TestImport_protoFile_depIdxs = nil
+	xxx_ProtoFile_test_import_goTypes = nil
+	xxx_ProtoFile_test_import_depIdxs = nil
 }
diff --git a/internal/testprotos/test/test_public.pb.go b/internal/testprotos/test/test_public.pb.go
index b316027..f4e78e0 100644
--- a/internal/testprotos/test/test_public.pb.go
+++ b/internal/testprotos/test/test_public.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *PublicImportMessage) ProtoReflect() protoreflect.Message {
-	return xxx_TestPublic_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_test_public_messageTypes[0].MessageOf(m)
 }
 func (m *PublicImportMessage) Reset()         { *m = PublicImportMessage{} }
 func (m *PublicImportMessage) String() string { return proto.CompactTextString(m) }
@@ -79,27 +79,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestPublic_protoFile protoreflect.FileDescriptor
+var ProtoFile_test_public protoreflect.FileDescriptor
 
-var xxx_TestPublic_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestPublic_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_test_public_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_test_public_goTypes = []interface{}{
 	(*PublicImportMessage)(nil), // 0: goproto.proto.test.PublicImportMessage
 }
-var xxx_TestPublic_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_test_public_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestPublic_protoFile = protoimpl.FileBuilder{
+	ProtoFile_test_public = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_36dd44afd5b47374,
-		GoTypes:            xxx_TestPublic_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestPublic_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_test_public_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_test_public_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestPublic_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_test_public_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestPublic_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestPublic_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_test_public_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_test_public_messageTypes[i].PBType = mt
 	}
-	xxx_TestPublic_protoFile_goTypes = nil
-	xxx_TestPublic_protoFile_depIdxs = nil
+	xxx_ProtoFile_test_public_goTypes = nil
+	xxx_ProtoFile_test_public_depIdxs = nil
 }
diff --git a/internal/testprotos/test/test_weak.pb.go b/internal/testprotos/test/test_weak.pb.go
index 2d010a0..18149d6 100644
--- a/internal/testprotos/test/test_weak.pb.go
+++ b/internal/testprotos/test/test_weak.pb.go
@@ -25,7 +25,7 @@
 }
 
 func (m *WeakImportMessage) ProtoReflect() protoreflect.Message {
-	return xxx_TestWeak_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_test_weak_messageTypes[0].MessageOf(m)
 }
 func (m *WeakImportMessage) Reset()         { *m = WeakImportMessage{} }
 func (m *WeakImportMessage) String() string { return proto.CompactTextString(m) }
@@ -79,27 +79,27 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var TestWeak_protoFile protoreflect.FileDescriptor
+var ProtoFile_test_weak protoreflect.FileDescriptor
 
-var xxx_TestWeak_protoFile_messageTypes [1]protoimpl.MessageType
-var xxx_TestWeak_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_test_weak_messageTypes [1]protoimpl.MessageType
+var xxx_ProtoFile_test_weak_goTypes = []interface{}{
 	(*WeakImportMessage)(nil), // 0: goproto.proto.test.WeakImportMessage
 }
-var xxx_TestWeak_protoFile_depIdxs = []int32{}
+var xxx_ProtoFile_test_weak_depIdxs = []int32{}
 
 func init() {
 	var messageTypes [1]protoreflect.MessageType
-	TestWeak_protoFile = protoimpl.FileBuilder{
+	ProtoFile_test_weak = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_c2b8edfebc4f71b3,
-		GoTypes:            xxx_TestWeak_protoFile_goTypes,
-		DependencyIndexes:  xxx_TestWeak_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_test_weak_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_test_weak_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_TestWeak_protoFile_goTypes[0:][:1]
+	messageGoTypes := xxx_ProtoFile_test_weak_goTypes[0:][:1]
 	for i, mt := range messageTypes[:] {
-		xxx_TestWeak_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_TestWeak_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_test_weak_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_test_weak_messageTypes[i].PBType = mt
 	}
-	xxx_TestWeak_protoFile_goTypes = nil
-	xxx_TestWeak_protoFile_depIdxs = nil
+	xxx_ProtoFile_test_weak_goTypes = nil
+	xxx_ProtoFile_test_weak_depIdxs = nil
 }
diff --git a/protogen/protogen.go b/protogen/protogen.go
index 3f2a92e..758a20f 100644
--- a/protogen/protogen.go
+++ b/protogen/protogen.go
@@ -435,7 +435,7 @@
 		}
 	}
 	f.GoDescriptorIdent = GoIdent{
-		GoName:       camelCase(cleanGoName(path.Base(prefix), true)) + "_protoFile",
+		GoName:       "ProtoFile_" + cleanGoName(prefix, false),
 		GoImportPath: f.GoImportPath,
 	}
 	f.GeneratedFilenamePrefix = prefix
diff --git a/reflect/protoregistry/testprotos/test.pb.go b/reflect/protoregistry/testprotos/test.pb.go
index 83c70ff..2e8bbd3 100644
--- a/reflect/protoregistry/testprotos/test.pb.go
+++ b/reflect/protoregistry/testprotos/test.pb.go
@@ -25,7 +25,7 @@
 )
 
 func (e Enum1) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[0]
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_enumTypes[0]
 }
 func (e Enum1) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -69,7 +69,7 @@
 )
 
 func (e Enum2) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[1]
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_enumTypes[1]
 }
 func (e Enum2) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -113,7 +113,7 @@
 )
 
 func (e Enum3) Type() protoreflect.EnumType {
-	return xxx_Test_protoFile_enumTypes[2]
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_enumTypes[2]
 }
 func (e Enum3) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -158,7 +158,7 @@
 }
 
 func (m *Message1) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[0].MessageOf(m)
 }
 func (m *Message1) Reset()         { *m = Message1{} }
 func (m *Message1) String() string { return proto.CompactTextString(m) }
@@ -200,7 +200,7 @@
 }
 
 func (m *Message2) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[1].MessageOf(m)
 }
 func (m *Message2) Reset()         { *m = Message2{} }
 func (m *Message2) String() string { return proto.CompactTextString(m) }
@@ -234,7 +234,7 @@
 }
 
 func (m *Message3) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[2].MessageOf(m)
 }
 func (m *Message3) Reset()         { *m = Message3{} }
 func (m *Message3) String() string { return proto.CompactTextString(m) }
@@ -269,7 +269,7 @@
 }
 
 func (m *Message4) ProtoReflect() protoreflect.Message {
-	return xxx_Test_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[3].MessageOf(m)
 }
 func (m *Message4) Reset()         { *m = Message4{} }
 func (m *Message4) String() string { return proto.CompactTextString(m) }
@@ -431,11 +431,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Test_protoFile protoreflect.FileDescriptor
+var ProtoFile_reflect_protoregistry_testprotos_test protoreflect.FileDescriptor
 
-var xxx_Test_protoFile_enumTypes [3]protoreflect.EnumType
-var xxx_Test_protoFile_messageTypes [4]protoimpl.MessageType
-var xxx_Test_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_reflect_protoregistry_testprotos_test_enumTypes [3]protoreflect.EnumType
+var xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes [4]protoimpl.MessageType
+var xxx_ProtoFile_reflect_protoregistry_testprotos_test_goTypes = []interface{}{
 	(Enum1)(0),       // 0: testprotos.Enum1
 	(Enum2)(0),       // 1: testprotos.Enum2
 	(Enum3)(0),       // 2: testprotos.Enum3
@@ -444,7 +444,7 @@
 	(*Message3)(nil), // 5: testprotos.Message3
 	(*Message4)(nil), // 6: testprotos.Message4
 }
-var xxx_Test_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_reflect_protoregistry_testprotos_test_depIdxs = []int32{
 	3, // testprotos.string_field:extendee -> testprotos.Message1
 	3, // testprotos.enum_field:extendee -> testprotos.Message1
 	3, // testprotos.message_field:extendee -> testprotos.Message1
@@ -460,18 +460,18 @@
 func init() {
 	var messageTypes [4]protoreflect.MessageType
 	var extensionTypes [6]protoreflect.ExtensionType
-	Test_protoFile = protoimpl.FileBuilder{
+	ProtoFile_reflect_protoregistry_testprotos_test = protoimpl.FileBuilder{
 		RawDescriptor:        fileDescriptor_3628d63611f7063d,
-		GoTypes:              xxx_Test_protoFile_goTypes,
-		DependencyIndexes:    xxx_Test_protoFile_depIdxs,
-		EnumOutputTypes:      xxx_Test_protoFile_enumTypes[:],
+		GoTypes:              xxx_ProtoFile_reflect_protoregistry_testprotos_test_goTypes,
+		DependencyIndexes:    xxx_ProtoFile_reflect_protoregistry_testprotos_test_depIdxs,
+		EnumOutputTypes:      xxx_ProtoFile_reflect_protoregistry_testprotos_test_enumTypes[:],
 		MessageOutputTypes:   messageTypes[:],
 		ExtensionOutputTypes: extensionTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Test_protoFile_goTypes[3:][:4]
+	messageGoTypes := xxx_ProtoFile_reflect_protoregistry_testprotos_test_goTypes[3:][:4]
 	for i, mt := range messageTypes[:] {
-		xxx_Test_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Test_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_reflect_protoregistry_testprotos_test_messageTypes[i].PBType = mt
 	}
 	E_StringField.Type = extensionTypes[0]
 	E_EnumField.Type = extensionTypes[1]
@@ -479,6 +479,6 @@
 	E_Message4_MessageField.Type = extensionTypes[3]
 	E_Message4_EnumField.Type = extensionTypes[4]
 	E_Message4_StringField.Type = extensionTypes[5]
-	xxx_Test_protoFile_goTypes = nil
-	xxx_Test_protoFile_depIdxs = nil
+	xxx_ProtoFile_reflect_protoregistry_testprotos_test_goTypes = nil
+	xxx_ProtoFile_reflect_protoregistry_testprotos_test_depIdxs = nil
 }
diff --git a/types/descriptor/descriptor.pb.go b/types/descriptor/descriptor.pb.go
index 499f960..299cd81 100644
--- a/types/descriptor/descriptor.pb.go
+++ b/types/descriptor/descriptor.pb.go
@@ -48,7 +48,7 @@
 )
 
 func (e FieldDescriptorProto_Type) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[0]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[0]
 }
 func (e FieldDescriptorProto_Type) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -129,7 +129,7 @@
 )
 
 func (e FieldDescriptorProto_Label) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[1]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[1]
 }
 func (e FieldDescriptorProto_Label) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -181,7 +181,7 @@
 )
 
 func (e FileOptions_OptimizeMode) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[2]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[2]
 }
 func (e FileOptions_OptimizeMode) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -232,7 +232,7 @@
 )
 
 func (e FieldOptions_CType) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[3]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[3]
 }
 func (e FieldOptions_CType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -285,7 +285,7 @@
 )
 
 func (e FieldOptions_JSType) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[4]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[4]
 }
 func (e FieldOptions_JSType) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -338,7 +338,7 @@
 )
 
 func (e MethodOptions_IdempotencyLevel) Type() protoreflect.EnumType {
-	return xxx_Descriptor_protoFile_enumTypes[5]
+	return xxx_ProtoFile_google_protobuf_descriptor_enumTypes[5]
 }
 func (e MethodOptions_IdempotencyLevel) Number() protoreflect.EnumNumber {
 	return protoreflect.EnumNumber(e)
@@ -389,7 +389,7 @@
 }
 
 func (m *FileDescriptorSet) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[0].MessageOf(m)
 }
 func (m *FileDescriptorSet) Reset()         { *m = FileDescriptorSet{} }
 func (m *FileDescriptorSet) String() string { return protoapi.CompactTextString(m) }
@@ -436,7 +436,7 @@
 }
 
 func (m *FileDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[1].MessageOf(m)
 }
 func (m *FileDescriptorProto) Reset()         { *m = FileDescriptorProto{} }
 func (m *FileDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -549,7 +549,7 @@
 }
 
 func (m *DescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[2].MessageOf(m)
 }
 func (m *DescriptorProto) Reset()         { *m = DescriptorProto{} }
 func (m *DescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -638,7 +638,7 @@
 }
 
 func (m *ExtensionRangeOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[3].MessageOf(m)
 }
 func (m *ExtensionRangeOptions) Reset()         { *m = ExtensionRangeOptions{} }
 func (m *ExtensionRangeOptions) String() string { return protoapi.CompactTextString(m) }
@@ -700,7 +700,7 @@
 }
 
 func (m *FieldDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[4].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[4].MessageOf(m)
 }
 func (m *FieldDescriptorProto) Reset()         { *m = FieldDescriptorProto{} }
 func (m *FieldDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -789,7 +789,7 @@
 }
 
 func (m *OneofDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[5].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[5].MessageOf(m)
 }
 func (m *OneofDescriptorProto) Reset()         { *m = OneofDescriptorProto{} }
 func (m *OneofDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -830,7 +830,7 @@
 }
 
 func (m *EnumDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[6].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[6].MessageOf(m)
 }
 func (m *EnumDescriptorProto) Reset()         { *m = EnumDescriptorProto{} }
 func (m *EnumDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -885,7 +885,7 @@
 }
 
 func (m *EnumValueDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[7].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[7].MessageOf(m)
 }
 func (m *EnumValueDescriptorProto) Reset()         { *m = EnumValueDescriptorProto{} }
 func (m *EnumValueDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -926,7 +926,7 @@
 }
 
 func (m *ServiceDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[8].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[8].MessageOf(m)
 }
 func (m *ServiceDescriptorProto) Reset()         { *m = ServiceDescriptorProto{} }
 func (m *ServiceDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -974,7 +974,7 @@
 }
 
 func (m *MethodDescriptorProto) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[9].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[9].MessageOf(m)
 }
 func (m *MethodDescriptorProto) Reset()         { *m = MethodDescriptorProto{} }
 func (m *MethodDescriptorProto) String() string { return protoapi.CompactTextString(m) }
@@ -1120,7 +1120,7 @@
 }
 
 func (m *FileOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[10].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[10].MessageOf(m)
 }
 func (m *FileOptions) Reset()         { *m = FileOptions{} }
 func (m *FileOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1355,7 +1355,7 @@
 }
 
 func (m *MessageOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[11].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[11].MessageOf(m)
 }
 func (m *MessageOptions) Reset()         { *m = MessageOptions{} }
 func (m *MessageOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1480,7 +1480,7 @@
 }
 
 func (m *FieldOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[12].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[12].MessageOf(m)
 }
 func (m *FieldOptions) Reset()         { *m = FieldOptions{} }
 func (m *FieldOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1562,7 +1562,7 @@
 }
 
 func (m *OneofOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[13].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[13].MessageOf(m)
 }
 func (m *OneofOptions) Reset()         { *m = OneofOptions{} }
 func (m *OneofOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1604,7 +1604,7 @@
 }
 
 func (m *EnumOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[14].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[14].MessageOf(m)
 }
 func (m *EnumOptions) Reset()         { *m = EnumOptions{} }
 func (m *EnumOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1659,7 +1659,7 @@
 }
 
 func (m *EnumValueOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[15].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[15].MessageOf(m)
 }
 func (m *EnumValueOptions) Reset()         { *m = EnumValueOptions{} }
 func (m *EnumValueOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1707,7 +1707,7 @@
 }
 
 func (m *ServiceOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[16].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[16].MessageOf(m)
 }
 func (m *ServiceOptions) Reset()         { *m = ServiceOptions{} }
 func (m *ServiceOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1756,7 +1756,7 @@
 }
 
 func (m *MethodOptions) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[17].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[17].MessageOf(m)
 }
 func (m *MethodOptions) Reset()         { *m = MethodOptions{} }
 func (m *MethodOptions) String() string { return protoapi.CompactTextString(m) }
@@ -1819,7 +1819,7 @@
 }
 
 func (m *UninterpretedOption) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[18].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[18].MessageOf(m)
 }
 func (m *UninterpretedOption) Reset()         { *m = UninterpretedOption{} }
 func (m *UninterpretedOption) String() string { return protoapi.CompactTextString(m) }
@@ -1930,7 +1930,7 @@
 }
 
 func (m *SourceCodeInfo) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[19].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[19].MessageOf(m)
 }
 func (m *SourceCodeInfo) Reset()         { *m = SourceCodeInfo{} }
 func (m *SourceCodeInfo) String() string { return protoapi.CompactTextString(m) }
@@ -1959,7 +1959,7 @@
 }
 
 func (m *GeneratedCodeInfo) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[20].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[20].MessageOf(m)
 }
 func (m *GeneratedCodeInfo) Reset()         { *m = GeneratedCodeInfo{} }
 func (m *GeneratedCodeInfo) String() string { return protoapi.CompactTextString(m) }
@@ -1985,7 +1985,7 @@
 }
 
 func (m *DescriptorProto_ExtensionRange) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[21].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[21].MessageOf(m)
 }
 func (m *DescriptorProto_ExtensionRange) Reset()         { *m = DescriptorProto_ExtensionRange{} }
 func (m *DescriptorProto_ExtensionRange) String() string { return protoapi.CompactTextString(m) }
@@ -2027,7 +2027,7 @@
 }
 
 func (m *DescriptorProto_ReservedRange) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[22].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[22].MessageOf(m)
 }
 func (m *DescriptorProto_ReservedRange) Reset()         { *m = DescriptorProto_ReservedRange{} }
 func (m *DescriptorProto_ReservedRange) String() string { return protoapi.CompactTextString(m) }
@@ -2065,7 +2065,7 @@
 }
 
 func (m *EnumDescriptorProto_EnumReservedRange) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[23].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[23].MessageOf(m)
 }
 func (m *EnumDescriptorProto_EnumReservedRange) Reset()         { *m = EnumDescriptorProto_EnumReservedRange{} }
 func (m *EnumDescriptorProto_EnumReservedRange) String() string { return protoapi.CompactTextString(m) }
@@ -2102,7 +2102,7 @@
 }
 
 func (m *UninterpretedOption_NamePart) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[24].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[24].MessageOf(m)
 }
 func (m *UninterpretedOption_NamePart) Reset()         { *m = UninterpretedOption_NamePart{} }
 func (m *UninterpretedOption_NamePart) String() string { return protoapi.CompactTextString(m) }
@@ -2212,7 +2212,7 @@
 }
 
 func (m *SourceCodeInfo_Location) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[25].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[25].MessageOf(m)
 }
 func (m *SourceCodeInfo_Location) Reset()         { *m = SourceCodeInfo_Location{} }
 func (m *SourceCodeInfo_Location) String() string { return protoapi.CompactTextString(m) }
@@ -2275,7 +2275,7 @@
 }
 
 func (m *GeneratedCodeInfo_Annotation) ProtoReflect() protoreflect.Message {
-	return xxx_Descriptor_protoFile_messageTypes[26].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_descriptor_messageTypes[26].MessageOf(m)
 }
 func (m *GeneratedCodeInfo_Annotation) Reset()         { *m = GeneratedCodeInfo_Annotation{} }
 func (m *GeneratedCodeInfo_Annotation) String() string { return protoapi.CompactTextString(m) }
@@ -2837,11 +2837,11 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Descriptor_protoFile protoreflect.FileDescriptor
+var ProtoFile_google_protobuf_descriptor protoreflect.FileDescriptor
 
-var xxx_Descriptor_protoFile_enumTypes [6]protoreflect.EnumType
-var xxx_Descriptor_protoFile_messageTypes [27]protoimpl.MessageType
-var xxx_Descriptor_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_google_protobuf_descriptor_enumTypes [6]protoreflect.EnumType
+var xxx_ProtoFile_google_protobuf_descriptor_messageTypes [27]protoimpl.MessageType
+var xxx_ProtoFile_google_protobuf_descriptor_goTypes = []interface{}{
 	(FieldDescriptorProto_Type)(0),                // 0: google.protobuf.FieldDescriptorProto.Type
 	(FieldDescriptorProto_Label)(0),               // 1: google.protobuf.FieldDescriptorProto.Label
 	(FileOptions_OptimizeMode)(0),                 // 2: google.protobuf.FileOptions.OptimizeMode
@@ -2876,7 +2876,7 @@
 	(*SourceCodeInfo_Location)(nil),               // 31: google.protobuf.SourceCodeInfo.Location
 	(*GeneratedCodeInfo_Annotation)(nil),          // 32: google.protobuf.GeneratedCodeInfo.Annotation
 }
-var xxx_Descriptor_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_google_protobuf_descriptor_depIdxs = []int32{
 	7,  // google.protobuf.FileDescriptorSet.file:type_name -> google.protobuf.FileDescriptorProto
 	8,  // google.protobuf.FileDescriptorProto.message_type:type_name -> google.protobuf.DescriptorProto
 	12, // google.protobuf.FileDescriptorProto.enum_type:type_name -> google.protobuf.EnumDescriptorProto
@@ -2924,17 +2924,17 @@
 
 func init() {
 	var messageTypes [27]protoreflect.MessageType
-	Descriptor_protoFile = protoimpl.FileBuilder{
+	ProtoFile_google_protobuf_descriptor = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_e5baabe45344a177,
-		GoTypes:            xxx_Descriptor_protoFile_goTypes,
-		DependencyIndexes:  xxx_Descriptor_protoFile_depIdxs,
-		EnumOutputTypes:    xxx_Descriptor_protoFile_enumTypes[:],
+		GoTypes:            xxx_ProtoFile_google_protobuf_descriptor_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_google_protobuf_descriptor_depIdxs,
+		EnumOutputTypes:    xxx_ProtoFile_google_protobuf_descriptor_enumTypes[:],
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Descriptor_protoFile_goTypes[6:][:27]
+	messageGoTypes := xxx_ProtoFile_google_protobuf_descriptor_goTypes[6:][:27]
 	for i, mt := range messageTypes[:] {
-		xxx_Descriptor_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Descriptor_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_google_protobuf_descriptor_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_google_protobuf_descriptor_messageTypes[i].PBType = mt
 	}
 	prototype.X.RegisterExtensionRangeOptions((*ExtensionRangeOptions)(nil))
 	prototype.X.RegisterFileOptions((*FileOptions)(nil))
@@ -2945,6 +2945,6 @@
 	prototype.X.RegisterEnumValueOptions((*EnumValueOptions)(nil))
 	prototype.X.RegisterServiceOptions((*ServiceOptions)(nil))
 	prototype.X.RegisterMethodOptions((*MethodOptions)(nil))
-	xxx_Descriptor_protoFile_goTypes = nil
-	xxx_Descriptor_protoFile_depIdxs = nil
+	xxx_ProtoFile_google_protobuf_descriptor_goTypes = nil
+	xxx_ProtoFile_google_protobuf_descriptor_depIdxs = nil
 }
diff --git a/types/plugin/plugin.pb.go b/types/plugin/plugin.pb.go
index 747f3ff..9db5c1d 100644
--- a/types/plugin/plugin.pb.go
+++ b/types/plugin/plugin.pb.go
@@ -33,7 +33,7 @@
 }
 
 func (m *Version) ProtoReflect() protoreflect.Message {
-	return xxx_Plugin_protoFile_messageTypes[0].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[0].MessageOf(m)
 }
 func (m *Version) Reset()         { *m = Version{} }
 func (m *Version) String() string { return proto.CompactTextString(m) }
@@ -119,7 +119,7 @@
 }
 
 func (m *CodeGeneratorRequest) ProtoReflect() protoreflect.Message {
-	return xxx_Plugin_protoFile_messageTypes[1].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[1].MessageOf(m)
 }
 func (m *CodeGeneratorRequest) Reset()         { *m = CodeGeneratorRequest{} }
 func (m *CodeGeneratorRequest) String() string { return proto.CompactTextString(m) }
@@ -192,7 +192,7 @@
 }
 
 func (m *CodeGeneratorResponse) ProtoReflect() protoreflect.Message {
-	return xxx_Plugin_protoFile_messageTypes[2].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[2].MessageOf(m)
 }
 func (m *CodeGeneratorResponse) Reset()         { *m = CodeGeneratorResponse{} }
 func (m *CodeGeneratorResponse) String() string { return proto.CompactTextString(m) }
@@ -293,7 +293,7 @@
 }
 
 func (m *CodeGeneratorResponse_File) ProtoReflect() protoreflect.Message {
-	return xxx_Plugin_protoFile_messageTypes[3].MessageOf(m)
+	return xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[3].MessageOf(m)
 }
 func (m *CodeGeneratorResponse_File) Reset()         { *m = CodeGeneratorResponse_File{} }
 func (m *CodeGeneratorResponse_File) String() string { return proto.CompactTextString(m) }
@@ -411,17 +411,17 @@
 
 const _ = protoimpl.EnforceVersion(protoimpl.Version - 0)
 
-var Plugin_protoFile protoreflect.FileDescriptor
+var ProtoFile_google_protobuf_compiler_plugin protoreflect.FileDescriptor
 
-var xxx_Plugin_protoFile_messageTypes [4]protoimpl.MessageType
-var xxx_Plugin_protoFile_goTypes = []interface{}{
+var xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes [4]protoimpl.MessageType
+var xxx_ProtoFile_google_protobuf_compiler_plugin_goTypes = []interface{}{
 	(*Version)(nil),                        // 0: google.protobuf.compiler.Version
 	(*CodeGeneratorRequest)(nil),           // 1: google.protobuf.compiler.CodeGeneratorRequest
 	(*CodeGeneratorResponse)(nil),          // 2: google.protobuf.compiler.CodeGeneratorResponse
 	(*CodeGeneratorResponse_File)(nil),     // 3: google.protobuf.compiler.CodeGeneratorResponse.File
 	(*descriptor.FileDescriptorProto)(nil), // 4: google.protobuf.FileDescriptorProto
 }
-var xxx_Plugin_protoFile_depIdxs = []int32{
+var xxx_ProtoFile_google_protobuf_compiler_plugin_depIdxs = []int32{
 	4, // google.protobuf.compiler.CodeGeneratorRequest.proto_file:type_name -> google.protobuf.FileDescriptorProto
 	0, // google.protobuf.compiler.CodeGeneratorRequest.compiler_version:type_name -> google.protobuf.compiler.Version
 	3, // google.protobuf.compiler.CodeGeneratorResponse.file:type_name -> google.protobuf.compiler.CodeGeneratorResponse.File
@@ -429,17 +429,17 @@
 
 func init() {
 	var messageTypes [4]protoreflect.MessageType
-	Plugin_protoFile = protoimpl.FileBuilder{
+	ProtoFile_google_protobuf_compiler_plugin = protoimpl.FileBuilder{
 		RawDescriptor:      fileDescriptor_3562add825dafed5,
-		GoTypes:            xxx_Plugin_protoFile_goTypes,
-		DependencyIndexes:  xxx_Plugin_protoFile_depIdxs,
+		GoTypes:            xxx_ProtoFile_google_protobuf_compiler_plugin_goTypes,
+		DependencyIndexes:  xxx_ProtoFile_google_protobuf_compiler_plugin_depIdxs,
 		MessageOutputTypes: messageTypes[:],
 	}.Init()
-	messageGoTypes := xxx_Plugin_protoFile_goTypes[0:][:4]
+	messageGoTypes := xxx_ProtoFile_google_protobuf_compiler_plugin_goTypes[0:][:4]
 	for i, mt := range messageTypes[:] {
-		xxx_Plugin_protoFile_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
-		xxx_Plugin_protoFile_messageTypes[i].PBType = mt
+		xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[i].GoType = reflect.TypeOf(messageGoTypes[i])
+		xxx_ProtoFile_google_protobuf_compiler_plugin_messageTypes[i].PBType = mt
 	}
-	xxx_Plugin_protoFile_goTypes = nil
-	xxx_Plugin_protoFile_depIdxs = nil
+	xxx_ProtoFile_google_protobuf_compiler_plugin_goTypes = nil
+	xxx_ProtoFile_google_protobuf_compiler_plugin_depIdxs = nil
 }