improve error message for duplicate oneof in text parsing
PiperOrigin-RevId: 138128520
diff --git a/proto/text_parser.go b/proto/text_parser.go
index a6bab2f..61f83c1 100644
--- a/proto/text_parser.go
+++ b/proto/text_parser.go
@@ -594,7 +594,7 @@
 			dst = nv.Elem().Field(0)
 			field := sv.Field(oop.Field)
 			if !field.IsNil() {
-				return p.errorf("oneof field '%s' is already set", name)
+				return p.errorf("field '%s' would overwrite already parsed oneof '%s'", name, sv.Type().Field(oop.Field).Name)
 			}
 			field.Set(nv)
 		}
diff --git a/proto/text_parser_test.go b/proto/text_parser_test.go
index d757ab3..8f7cb4d 100644
--- a/proto/text_parser_test.go
+++ b/proto/text_parser_test.go
@@ -638,7 +638,7 @@
 
 	const inOverwrite = `name:"Shrek" number:42`
 	m = new(Communique)
-	testErr := "line 1.13: oneof field 'number' is already set"
+	testErr := "line 1.13: field 'number' would overwrite already parsed oneof 'Union'"
 	if err := UnmarshalText(inOverwrite, m); err == nil {
 		t.Errorf("TestOneofParsing: Didn't get expected error: %v", testErr)
 	} else if err.Error() != testErr {
diff --git a/protoc-gen-go/generator/generator.go b/protoc-gen-go/generator/generator.go
index 4d7d19b..0e5d2b7 100644
--- a/protoc-gen-go/generator/generator.go
+++ b/protoc-gen-go/generator/generator.go
@@ -626,7 +626,6 @@
 			}
 		}
 	}
-
 	if pluginList != "" {
 		// Amend the set of plugins.
 		enabled := make(map[string]bool)
@@ -1181,7 +1180,6 @@
 		g.P("const _ = ", g.Pkg["proto"], ".ProtoPackageIsVersion", generatedCodeVersion, " // please upgrade the proto package")
 		g.P()
 	}
-
 	for _, td := range g.file.imp {
 		g.generateImported(td)
 	}