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) }