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 {