diff --git a/features/text/text.go b/features/text/text.go index 5b34113e..6fc7dfac 100644 --- a/features/text/text.go +++ b/features/text/text.go @@ -89,7 +89,11 @@ func (g *textGenerator) genMessage(message *protogen.Message) { // Generate message text marshaling code g.P("func (x *", message.GoIdent, ") MarshalProtoText() string {") g.P("var sb ", g.QualifiedGoIdent(stringsPackage.Ident("Builder"))) - g.P("sb.WriteString(\"", message.Desc.Name(), " { \")") + g.P("sb.WriteString(\"", message.Desc.Name(), " {\")") + + // initialSbLen is the sb contents length before anything is written + initialSbLen := len(message.Desc.Name()) + 2 // +2 for " {" + handledOneOfs := make(map[string]struct{}) for _, field := range message.Fields { if oneof := field.Oneof; oneof != nil && !field.Desc.HasOptionalKeyword() { @@ -100,27 +104,35 @@ func (g *textGenerator) genMessage(message *protogen.Message) { g.P("switch body := x.", oneof.GoName, ".(type) {") for _, oneofField := range oneof.Fields { g.P("case *", oneofField.GoIdent, ":") - g.genField(oneofField, "body."+oneofField.GoName) + g.genField(initialSbLen, oneofField, "body."+oneofField.GoName) } g.P("}") } else { accessor := "x." + field.GoName - g.genField(field, accessor) + g.genField(initialSbLen, field, accessor) } } g.P("sb.WriteString(\"}\")") g.P("return sb.String()") g.P("}") + g.P() + g.P("func (x *", message.GoIdent, ") String() string {") g.P("return x.MarshalProtoText()") g.P("}") } +func (g *textGenerator) genField(sbInitialLen int, field *protogen.Field, accessor string) { + maybeAddSpace := func() { + g.P("if sb.Len() > ", sbInitialLen, " {") + g.P("sb.WriteString(\" \")") + g.P("}") + } -func (g *textGenerator) genField(field *protogen.Field, accessor string) { if field.Desc.IsList() { g.P("if len(", accessor, ") > 0 {") - g.P("sb.WriteString(\" ", field.Desc.Name(), ": [\")") + maybeAddSpace() + g.P("sb.WriteString(\"", field.Desc.Name(), ": [\")") g.P("for i, v := range ", accessor, " {") g.P("if i > 0 {") g.P("sb.WriteString(\", \")") @@ -136,7 +148,8 @@ func (g *textGenerator) genField(field *protogen.Field, accessor string) { case protoreflect.MessageKind: if field.Desc.IsMap() { g.P("if len(", accessor, ") > 0 {") - g.P("sb.WriteString(\" ", field.Desc.Name(), ": {\")") + maybeAddSpace() + g.P("sb.WriteString(\"", field.Desc.Name(), ": {\")") g.P("for k, v := range ", accessor, " {") g.P("sb.WriteString(\" \")") g.genFieldValue(field.Message.Fields[0], "k", false) @@ -144,45 +157,49 @@ func (g *textGenerator) genField(field *protogen.Field, accessor string) { g.genFieldValue(field.Message.Fields[1], "v", false) g.P("}") g.P("sb.WriteString(\" }\")") + g.P("}") } else { g.P("if ", accessor, " != nil {") - g.P("sb.WriteString(\" ", field.Desc.Name(), ": \")") + maybeAddSpace() + g.P("sb.WriteString(\"", field.Desc.Name(), ": \")") g.P("sb.WriteString(", accessor, ".MarshalProtoText())") + g.P("}") } - case protoreflect.StringKind: + case protoreflect.StringKind, protoreflect.BytesKind: if field.Desc.HasOptionalKeyword() || g.file.Desc.Syntax() == protoreflect.Proto2 { g.P("if ", accessor, " != nil {") } else { - g.P("if ", accessor, " != \"\" {") + emptyCheck := "\"\"" + if field.Desc.Kind() == protoreflect.BytesKind { + emptyCheck = "nil" + } + g.P("if ", accessor, " != ", emptyCheck, " {") } - g.P("sb.WriteString(\" ", field.Desc.Name(), ": \")") + maybeAddSpace() + g.P("sb.WriteString(\"", field.Desc.Name(), ": \")") g.genFieldValue(field, accessor, false) - case protoreflect.EnumKind, protoreflect.Int32Kind, protoreflect.Int64Kind, protoreflect.Sint32Kind, protoreflect.Sint64Kind, - protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind, protoreflect.Uint32Kind, protoreflect.Uint64Kind, - protoreflect.Fixed32Kind, protoreflect.Fixed64Kind, protoreflect.FloatKind, protoreflect.DoubleKind: - if field.Desc.HasOptionalKeyword() || g.file.Desc.Syntax() == protoreflect.Proto2 { - g.P("if ", accessor, " != nil {") - } else { - g.P("if ", accessor, " != 0 {") + g.P("}") + case protoreflect.EnumKind, protoreflect.Int32Kind, protoreflect.Int64Kind, + protoreflect.Sint32Kind, protoreflect.Sint64Kind, protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind, + protoreflect.Uint32Kind, protoreflect.Uint64Kind, protoreflect.Fixed32Kind, protoreflect.Fixed64Kind, + protoreflect.FloatKind, protoreflect.DoubleKind, protoreflect.BoolKind: + zeroValue := "0" + if field.Desc.Kind() == protoreflect.BoolKind { + zeroValue = "false" } - g.P("sb.WriteString(\" ", field.Desc.Name(), ": \")") - g.genFieldValue(field, accessor, false) - case protoreflect.BytesKind: - g.P("if len(", accessor, ") > 0 {") - g.P("sb.WriteString(\" ", field.Desc.Name(), ": \")") - g.genFieldValue(field, accessor, false) - case protoreflect.BoolKind: if field.Desc.HasOptionalKeyword() || g.file.Desc.Syntax() == protoreflect.Proto2 { g.P("if ", accessor, " != nil {") } else { - g.P("if ", accessor, " {") + g.P("if ", accessor, " != ", zeroValue, " {") } - g.P("sb.WriteString(\" ", field.Desc.Name(), ": \")") + maybeAddSpace() + g.P("sb.WriteString(\"", field.Desc.Name(), ": \")") g.genFieldValue(field, accessor, false) + g.P("}") default: + // For unsupported field types, do nothing return } - g.P("}") } func (g *textGenerator) genFieldValue(field *protogen.Field, accessor string, isList bool) { @@ -202,11 +219,16 @@ func (g *textGenerator) genFieldValue(field *protogen.Field, accessor string, is g.P("sb.WriteString(\"\\\"\")") case protoreflect.EnumKind: if isPointer { + g.P("sb.WriteString(\"\\\"\")") g.P("sb.WriteString(", accessor, ".String())") + g.P("sb.WriteString(\"\\\"\")") } else { + g.P("sb.WriteString(\"\\\"\")") g.P("sb.WriteString(", field.Enum.GoIdent, "(", accessor, ").String())") + g.P("sb.WriteString(\"\\\"\")") } - case protoreflect.Int32Kind, protoreflect.Int64Kind, protoreflect.Sint32Kind, protoreflect.Sint64Kind, protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: + case protoreflect.Int32Kind, protoreflect.Int64Kind, protoreflect.Sint32Kind, protoreflect.Sint64Kind, + protoreflect.Sfixed32Kind, protoreflect.Sfixed64Kind: if isPointer { g.P("sb.WriteString(", g.QualifiedGoIdent(strconvPackage.Ident("FormatInt")), "(int64(*", accessor, "), 10))") } else { diff --git a/hack/go.mod b/hack/go.mod index 67e714d0..40d7240e 100644 --- a/hack/go.mod +++ b/hack/go.mod @@ -181,7 +181,7 @@ require ( golang.org/x/sync v0.7.0 // indirect golang.org/x/sys v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect - google.golang.org/protobuf v1.34.1 // indirect + google.golang.org/protobuf v1.34.2 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/hack/go.sum b/hack/go.sum index d7e20639..f28c743a 100644 --- a/hack/go.sum +++ b/hack/go.sum @@ -909,8 +909,8 @@ google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGj google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg= -google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/testproto/basic/basic.pb.go b/testproto/basic/basic.pb.go index bf28c0a1..9e912723 100644 --- a/testproto/basic/basic.pb.go +++ b/testproto/basic/basic.pb.go @@ -5,6 +5,7 @@ package basic import ( + base64 "encoding/base64" binary "encoding/binary" fmt "fmt" io "io" @@ -17,7 +18,6 @@ import ( json "github.com/aperturerobotics/protobuf-go-lite/json" ) -// protobuf-go-lite:disable-text type BasicMsg_MyEnum int32 const ( @@ -54,7 +54,6 @@ func (x BasicMsg_MyEnum) String() string { return strconv.Itoa(int(x)) } -// protobuf-go-lite:disable-text type BasicMsg struct { unknownFields []byte Int32Field int32 `protobuf:"varint,1,opt,name=int32_field,json=int32Field,proto3" json:"int32Field,omitempty"` @@ -74,8 +73,6 @@ type BasicMsg struct { BytesField []byte `protobuf:"bytes,15,opt,name=bytes_field,json=bytesField,proto3" json:"bytesField,omitempty"` RepeatedInt32Field []int32 `protobuf:"varint,16,rep,packed,name=repeated_int32_field,json=repeatedInt32Field,proto3" json:"repeatedInt32Field,omitempty"` MapStringInt32Field map[string]int32 `protobuf:"bytes,17,rep,name=map_string_int32_field,json=mapStringInt32Field,proto3" json:"mapStringInt32Field,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` - // protobuf-go-lite:disable-text - // // Types that are assignable to MyOneof: // // *BasicMsg_OneofString @@ -287,7 +284,6 @@ func (x *BasicMsg_MapStringInt32FieldEntry) GetValue() int32 { return 0 } -// protobuf-go-lite:disable-text type BasicMsg_NestedMsg struct { unknownFields []byte NestedInt32 int32 `protobuf:"varint,1,opt,name=nested_int32,json=nestedInt32,proto3" json:"nestedInt32,omitempty"` @@ -1593,23 +1589,234 @@ func (m *BasicMsg_OneofInt32) SizeVT() (n int) { n += 2 + protobuf_go_lite.SizeOfVarint(uint64(m.OneofInt32)) return n } +func (x BasicMsg_MyEnum) MarshalProtoText() string { + return x.String() +} func (x *BasicMsg_MapStringInt32FieldEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MapStringInt32FieldEntry { ") + sb.WriteString("MapStringInt32FieldEntry {") if x.Key != "" { - sb.WriteString(" key: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.Quote(x.Key)) } if x.Value != 0 { - sb.WriteString(" value: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(strconv.FormatInt(int64(x.Value), 10)) } sb.WriteString("}") return sb.String() } + func (x *BasicMsg_MapStringInt32FieldEntry) String() string { return x.MarshalProtoText() } +func (x *BasicMsg_NestedMsg) MarshalProtoText() string { + var sb strings.Builder + sb.WriteString("NestedMsg {") + if x.NestedInt32 != 0 { + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("nested_int32: ") + sb.WriteString(strconv.FormatInt(int64(x.NestedInt32), 10)) + } + if x.NestedString != "" { + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("nested_string: ") + sb.WriteString(strconv.Quote(x.NestedString)) + } + sb.WriteString("}") + return sb.String() +} + +func (x *BasicMsg_NestedMsg) String() string { + return x.MarshalProtoText() +} +func (x *BasicMsg) MarshalProtoText() string { + var sb strings.Builder + sb.WriteString("BasicMsg {") + if x.Int32Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("int32_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Int32Field), 10)) + } + if x.Int64Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("int64_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Int64Field), 10)) + } + if x.Uint32Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("uint32_field: ") + sb.WriteString(strconv.FormatUint(uint64(x.Uint32Field), 10)) + } + if x.Uint64Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("uint64_field: ") + sb.WriteString(strconv.FormatUint(uint64(x.Uint64Field), 10)) + } + if x.Sint32Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("sint32_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Sint32Field), 10)) + } + if x.Sint64Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("sint64_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Sint64Field), 10)) + } + if x.Fixed32Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("fixed32_field: ") + sb.WriteString(strconv.FormatUint(uint64(x.Fixed32Field), 10)) + } + if x.Fixed64Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("fixed64_field: ") + sb.WriteString(strconv.FormatUint(uint64(x.Fixed64Field), 10)) + } + if x.Sfixed32Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("sfixed32_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Sfixed32Field), 10)) + } + if x.Sfixed64Field != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("sfixed64_field: ") + sb.WriteString(strconv.FormatInt(int64(x.Sfixed64Field), 10)) + } + if x.FloatField != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("float_field: ") + sb.WriteString(strconv.FormatFloat(float64(x.FloatField), 'g', -1, 32)) + } + if x.DoubleField != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("double_field: ") + sb.WriteString(strconv.FormatFloat(x.DoubleField, 'g', -1, 64)) + } + if x.BoolField != false { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("bool_field: ") + sb.WriteString(strconv.FormatBool(x.BoolField)) + } + if x.StringField != "" { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("string_field: ") + sb.WriteString(strconv.Quote(x.StringField)) + } + if x.BytesField != nil { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("bytes_field: ") + sb.WriteString("\"") + sb.WriteString(base64.StdEncoding.EncodeToString(x.BytesField)) + sb.WriteString("\"") + } + if len(x.RepeatedInt32Field) > 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("repeated_int32_field: [") + for i, v := range x.RepeatedInt32Field { + if i > 0 { + sb.WriteString(", ") + } + sb.WriteString(strconv.FormatInt(int64(v), 10)) + } + sb.WriteString("]") + } + if len(x.MapStringInt32Field) > 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("map_string_int32_field: {") + for k, v := range x.MapStringInt32Field { + sb.WriteString(" ") + sb.WriteString(strconv.Quote(k)) + sb.WriteString(": ") + sb.WriteString(strconv.FormatInt(int64(v), 10)) + } + sb.WriteString(" }") + } + switch body := x.MyOneof.(type) { + case *BasicMsg_OneofString: + if body.OneofString != "" { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("oneof_string: ") + sb.WriteString(strconv.Quote(body.OneofString)) + } + case *BasicMsg_OneofInt32: + if body.OneofInt32 != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("oneof_int32: ") + sb.WriteString(strconv.FormatInt(int64(body.OneofInt32), 10)) + } + } + if x.EnumField != 0 { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("enum_field: ") + sb.WriteString("\"") + sb.WriteString(BasicMsg_MyEnum(x.EnumField).String()) + sb.WriteString("\"") + } + if x.NestedMessage != nil { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("nested_message: ") + sb.WriteString(x.NestedMessage.MarshalProtoText()) + } + sb.WriteString("}") + return sb.String() +} + +func (x *BasicMsg) String() string { + return x.MarshalProtoText() +} func (m *BasicMsg_NestedMsg) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 diff --git a/testproto/basic/basic.proto b/testproto/basic/basic.proto index f994e54f..893170ed 100644 --- a/testproto/basic/basic.proto +++ b/testproto/basic/basic.proto @@ -1,7 +1,6 @@ syntax = "proto3"; package basic; -// protobuf-go-lite:disable-text message BasicMsg { int32 int32_field = 1; int64 int64_field = 2; @@ -18,24 +17,21 @@ message BasicMsg { bool bool_field = 13; string string_field = 14; bytes bytes_field = 15; - + repeated int32 repeated_int32_field = 16; map map_string_int32_field = 17; - // protobuf-go-lite:disable-text enum MyEnum { UNKNOWN = 0; FIRST = 1; SECOND = 2; } - // protobuf-go-lite:disable-text oneof my_oneof { string oneof_string = 18; int32 oneof_int32 = 19; } - // protobuf-go-lite:disable-text message NestedMsg { int32 nested_int32 = 1; string nested_string = 2; diff --git a/testproto/basic/basic_test.go b/testproto/basic/basic_test.go new file mode 100644 index 00000000..1db51ff3 --- /dev/null +++ b/testproto/basic/basic_test.go @@ -0,0 +1,211 @@ +package basic + +import ( + "strings" + "testing" +) + +// NewMockBasicMsg buidls a new mock BasicMsg. +func NewMockBasicMsg() *BasicMsg { + return &BasicMsg{ + Int32Field: 123, + Int64Field: 45678901234, + Uint32Field: 345, + Uint64Field: 9876543210, + Sint32Field: -123, + Sint64Field: -4567890, + Fixed32Field: 999, + Fixed64Field: 88888888, + Sfixed32Field: -777, + Sfixed64Field: -6666666, + FloatField: 1.23, + DoubleField: 4.56, + BoolField: true, + StringField: "test string", + BytesField: []byte{0x01, 0x02, 0x03}, + RepeatedInt32Field: []int32{10, 20, 30}, + MapStringInt32Field: map[string]int32{ + "foo": 100, + "bar": 200, + }, + EnumField: BasicMsg_SECOND, + NestedMessage: &BasicMsg_NestedMsg{ + NestedInt32: 321, + NestedString: "nested test", + }, + MyOneof: &BasicMsg_OneofInt32{ + OneofInt32: 777, + }, + } +} + +func TestBasicMarshalUnmarshal(t *testing.T) { + basic := NewMockBasicMsg() + + data, err := basic.MarshalVT() + if err != nil { + t.Fatal(err.Error()) + } + + if len(data) == 0 { + t.Fatal("unexpected empty data") + } + + out := &BasicMsg{} + if err := out.UnmarshalVT(data); err != nil { + t.Fatal(err.Error()) + } + + if !out.EqualVT(basic) { + t.Fatal("message not equal after unmarshal") + } +} + +func TestBasicProtoTextMarshal(t *testing.T) { + basic := NewMockBasicMsg() + textData := basic.String() + t.Logf("ProtoText format:\n%s", textData) +} + +func TestBasicProtoTextFields(t *testing.T) { + // Create a BasicMsg with specific fields + basic := &BasicMsg{ + Int32Field: 123, + StringField: "hello world", + // BoolField: false, // Omit this since false is default and won't appear + EnumField: BasicMsg_FIRST, + FloatField: 3.14, + DoubleField: 6.28, + MyOneof: &BasicMsg_OneofString{ + OneofString: "oneof test", + }, + } + + // Marshal to ProtoText format + textData := basic.String() + t.Logf("ProtoText format:\n%s", textData) + + // Verify that specific fields are present in the text output + expectedFields := []string{ + "int32_field: 123", + `string_field: "hello world"`, + `enum_field: "FIRST"`, + "float_field: 3.14", + "double_field: 6.28", + `oneof_string: "oneof test"`, + } + + for _, field := range expectedFields { + if !strings.Contains(textData, field) { + t.Errorf("Expected %s in ProtoText output", field) + } + } + + // Verify that bool_field is not present in the output + if strings.Contains(textData, "bool_field") { + t.Errorf("Did not expect bool_field in ProtoText output") + } +} + +func TestBasicProtoTextOneof(t *testing.T) { + // Test with oneof_string set + basicString := &BasicMsg{ + MyOneof: &BasicMsg_OneofString{ + OneofString: "test oneof string", + }, + } + + textDataString := basicString.String() + t.Logf("ProtoText with oneof_string:\n%s", textDataString) + + // Test with oneof_int32 set + basicInt32 := &BasicMsg{ + MyOneof: &BasicMsg_OneofInt32{ + OneofInt32: 42, + }, + } + + textDataInt32 := basicInt32.String() + t.Logf("ProtoText with oneof_int32:\n%s", textDataInt32) +} + +func TestBasicProtoTextRepeatedAndMap(t *testing.T) { + // Create a BasicMsg with repeated and map fields + basic := &BasicMsg{ + RepeatedInt32Field: []int32{1, 2, 3}, + MapStringInt32Field: map[string]int32{ + "alpha": 100, + "beta": 200, + }, + } + + // Convert to string format + textData := basic.String() + t.Logf("String representation with repeated and map fields:\n%s", textData) + + // Expected string representation + expected := `BasicMsg {repeated_int32_field: [1, 2, 3] map_string_int32_field: { "alpha": 100 "beta": 200 }}` + + // Trim spaces and newlines for comparison + textData = strings.TrimSpace(textData) + expected = strings.TrimSpace(expected) + + if textData != expected { + t.Errorf("String representation mismatch.\nExpected: %s\nGot: %s", expected, textData) + } +} + +func TestBasicStringDefaultValues(t *testing.T) { + // Create a BasicMsg with default values + basic := &BasicMsg{} + + // Convert to string format + textData := strings.TrimSpace(basic.String()) + t.Logf("String representation with default values:\n%s", textData) + + // Expected output + expected := "BasicMsg {}" + + // Verify that the output matches the expected output + if textData != expected { + t.Errorf("Expected output for default values to be:\n%s\nGot:\n%s", expected, textData) + } +} + +func TestBasicStringNestedMessage(t *testing.T) { + // Create a BasicMsg with a nested message + basic := &BasicMsg{ + NestedMessage: &BasicMsg_NestedMsg{ + NestedInt32: 12345, + NestedString: "nested message test", + }, + } + + // Convert to string format + textData := basic.String() + t.Logf("String representation with nested message:\n%s", textData) + + // Verify that nested fields are present in the output + if !strings.Contains(textData, "nested_int32: 12345") { + t.Errorf("Expected nested_int32: 12345 in string output") + } + if !strings.Contains(textData, `nested_string: "nested message test"`) { + t.Errorf(`Expected nested_string: "nested message test" in string output`) + } +} + +func TestBasicStringEnumField(t *testing.T) { + // Create a BasicMsg with enum fields + basic := &BasicMsg{ + EnumField: BasicMsg_SECOND, + } + + // Convert to string format + textData := basic.String() + t.Logf("String representation with enum field:\n%s", textData) + + // Verify that enum field is present in the output + if !strings.Contains(textData, `enum_field: "SECOND"`) { + t.Errorf("Expected enum_field: \"SECOND\" in string output") + } +} diff --git a/testproto/disable-json/disable-json.pb.go b/testproto/disable-json/disable-json.pb.go index 1bbf1c9b..f6a34206 100644 --- a/testproto/disable-json/disable-json.pb.go +++ b/testproto/disable-json/disable-json.pb.go @@ -361,22 +361,29 @@ func (m *MessageDisableJson_World) SizeVT() (n int) { } func (x *MessageDisableJson) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MessageDisableJson { ") + sb.WriteString("MessageDisableJson {") switch body := x.Body.(type) { case *MessageDisableJson_Hello: - if body.Hello { - sb.WriteString(" hello: ") + if body.Hello != false { + if sb.Len() > 20 { + sb.WriteString(" ") + } + sb.WriteString("hello: ") sb.WriteString(strconv.FormatBool(body.Hello)) } case *MessageDisableJson_World: if body.World != "" { - sb.WriteString(" world: ") + if sb.Len() > 20 { + sb.WriteString(" ") + } + sb.WriteString("world: ") sb.WriteString(strconv.Quote(body.World)) } } sb.WriteString("}") return sb.String() } + func (x *MessageDisableJson) String() string { return x.MarshalProtoText() } diff --git a/testproto/echo/echo.pb.go b/testproto/echo/echo.pb.go index 7ee6e24e..bd9f5d32 100644 --- a/testproto/echo/echo.pb.go +++ b/testproto/echo/echo.pb.go @@ -665,29 +665,46 @@ func (x ExampleEnum) MarshalProtoText() string { } func (x *EchoMsg) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EchoMsg { ") + sb.WriteString("EchoMsg {") if x.Body != "" { - sb.WriteString(" body: ") + if sb.Len() > 9 { + sb.WriteString(" ") + } + sb.WriteString("body: ") sb.WriteString(strconv.Quote(x.Body)) } if x.Ts != nil { - sb.WriteString(" ts: ") + if sb.Len() > 9 { + sb.WriteString(" ") + } + sb.WriteString("ts: ") sb.WriteString(x.Ts.MarshalProtoText()) } switch body := x.Demo.(type) { case *EchoMsg_ExampleEnum: if body.ExampleEnum != 0 { - sb.WriteString(" example_enum: ") + if sb.Len() > 9 { + sb.WriteString(" ") + } + sb.WriteString("example_enum: ") + sb.WriteString("\"") sb.WriteString(ExampleEnum(body.ExampleEnum).String()) + sb.WriteString("\"") } case *EchoMsg_ExampleString: if body.ExampleString != "" { - sb.WriteString(" example_string: ") + if sb.Len() > 9 { + sb.WriteString(" ") + } + sb.WriteString("example_string: ") sb.WriteString(strconv.Quote(body.ExampleString)) } } if len(x.Timestamps) > 0 { - sb.WriteString(" timestamps: [") + if sb.Len() > 9 { + sb.WriteString(" ") + } + sb.WriteString("timestamps: [") for i, v := range x.Timestamps { if i > 0 { sb.WriteString(", ") @@ -699,6 +716,7 @@ func (x *EchoMsg) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *EchoMsg) String() string { return x.MarshalProtoText() } diff --git a/testproto/maps/maps.pb.go b/testproto/maps/maps.pb.go index 6a1862f7..c00f0227 100644 --- a/testproto/maps/maps.pb.go +++ b/testproto/maps/maps.pb.go @@ -559,43 +559,60 @@ func (m *MsgWithMaps) SizeVT() (n int) { func (x *MsgWithMaps_StringKeysEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("StringKeysEntry { ") + sb.WriteString("StringKeysEntry {") if x.Key != "" { - sb.WriteString(" key: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.Quote(x.Key)) } if x.Value != nil { - sb.WriteString(" value: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(x.Value.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *MsgWithMaps_StringKeysEntry) String() string { return x.MarshalProtoText() } func (x *MsgWithMaps_IntKeysEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("IntKeysEntry { ") + sb.WriteString("IntKeysEntry {") if x.Key != 0 { - sb.WriteString(" key: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.FormatUint(uint64(x.Key), 10)) } if x.Value != nil { - sb.WriteString(" value: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(x.Value.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *MsgWithMaps_IntKeysEntry) String() string { return x.MarshalProtoText() } func (x *MsgWithMaps) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MsgWithMaps { ") + sb.WriteString("MsgWithMaps {") if len(x.StringKeys) > 0 { - sb.WriteString(" stringKeys: {") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("stringKeys: {") for k, v := range x.StringKeys { sb.WriteString(" ") sb.WriteString(strconv.Quote(k)) @@ -605,7 +622,10 @@ func (x *MsgWithMaps) MarshalProtoText() string { sb.WriteString(" }") } if len(x.IntKeys) > 0 { - sb.WriteString(" intKeys: {") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("intKeys: {") for k, v := range x.IntKeys { sb.WriteString(" ") sb.WriteString(strconv.FormatUint(uint64(k), 10)) @@ -617,6 +637,7 @@ func (x *MsgWithMaps) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *MsgWithMaps) String() string { return x.MarshalProtoText() } diff --git a/testproto/proto2/scalars.pb.go b/testproto/proto2/scalars.pb.go index 82144c9c..3d83fe01 100644 --- a/testproto/proto2/scalars.pb.go +++ b/testproto/proto2/scalars.pb.go @@ -4561,17 +4561,26 @@ func (m *EnumMessage) SizeVT() (n int) { func (x *DoubleMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("DoubleMessage { ") + sb.WriteString("DoubleMessage {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatFloat(*x.RequiredField, 'g', -1, 64)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatFloat(*x.OptionalField, 'g', -1, 64)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4581,7 +4590,10 @@ func (x *DoubleMessage) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4593,22 +4605,32 @@ func (x *DoubleMessage) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *DoubleMessage) String() string { return x.MarshalProtoText() } func (x *FloatMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FloatMessage { ") + sb.WriteString("FloatMessage {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatFloat(float64(*x.RequiredField), 'g', -1, 32)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatFloat(float64(*x.OptionalField), 'g', -1, 32)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4618,7 +4640,10 @@ func (x *FloatMessage) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4630,22 +4655,32 @@ func (x *FloatMessage) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *FloatMessage) String() string { return x.MarshalProtoText() } func (x *Int32Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Int32Message { ") + sb.WriteString("Int32Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4655,7 +4690,10 @@ func (x *Int32Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4667,22 +4705,32 @@ func (x *Int32Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Int32Message) String() string { return x.MarshalProtoText() } func (x *Int64Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Int64Message { ") + sb.WriteString("Int64Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4692,7 +4740,10 @@ func (x *Int64Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4704,22 +4755,32 @@ func (x *Int64Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Int64Message) String() string { return x.MarshalProtoText() } func (x *Uint32Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Uint32Message { ") + sb.WriteString("Uint32Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4729,7 +4790,10 @@ func (x *Uint32Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4741,22 +4805,32 @@ func (x *Uint32Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Uint32Message) String() string { return x.MarshalProtoText() } func (x *Uint64Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Uint64Message { ") + sb.WriteString("Uint64Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4766,7 +4840,10 @@ func (x *Uint64Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4778,22 +4855,32 @@ func (x *Uint64Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Uint64Message) String() string { return x.MarshalProtoText() } func (x *Sint32Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sint32Message { ") + sb.WriteString("Sint32Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4803,7 +4890,10 @@ func (x *Sint32Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4815,22 +4905,32 @@ func (x *Sint32Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Sint32Message) String() string { return x.MarshalProtoText() } func (x *Sint64Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sint64Message { ") + sb.WriteString("Sint64Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4840,7 +4940,10 @@ func (x *Sint64Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4852,22 +4955,32 @@ func (x *Sint64Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Sint64Message) String() string { return x.MarshalProtoText() } func (x *Fixed32Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Fixed32Message { ") + sb.WriteString("Fixed32Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4877,7 +4990,10 @@ func (x *Fixed32Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4889,22 +5005,32 @@ func (x *Fixed32Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Fixed32Message) String() string { return x.MarshalProtoText() } func (x *Fixed64Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Fixed64Message { ") + sb.WriteString("Fixed64Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4914,7 +5040,10 @@ func (x *Fixed64Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4926,22 +5055,32 @@ func (x *Fixed64Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Fixed64Message) String() string { return x.MarshalProtoText() } func (x *Sfixed32Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sfixed32Message { ") + sb.WriteString("Sfixed32Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4951,7 +5090,10 @@ func (x *Sfixed32Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -4963,22 +5105,32 @@ func (x *Sfixed32Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Sfixed32Message) String() string { return x.MarshalProtoText() } func (x *Sfixed64Message) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sfixed64Message { ") + sb.WriteString("Sfixed64Message {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatInt(int64(*x.RequiredField), 10)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalField), 10)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -4988,7 +5140,10 @@ func (x *Sfixed64Message) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -5000,22 +5155,32 @@ func (x *Sfixed64Message) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Sfixed64Message) String() string { return x.MarshalProtoText() } func (x *BoolMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("BoolMessage { ") + sb.WriteString("BoolMessage {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.FormatBool(*x.RequiredField)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.FormatBool(*x.OptionalField)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -5025,7 +5190,10 @@ func (x *BoolMessage) MarshalProtoText() string { sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") @@ -5037,22 +5205,32 @@ func (x *BoolMessage) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *BoolMessage) String() string { return x.MarshalProtoText() } func (x *StringMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("StringMessage { ") + sb.WriteString("StringMessage {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString(strconv.Quote(*x.RequiredField)) } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString(strconv.Quote(*x.OptionalField)) } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -5064,26 +5242,36 @@ func (x *StringMessage) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *StringMessage) String() string { return x.MarshalProtoText() } func (x *BytesMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("BytesMessage { ") - if len(x.RequiredField) > 0 { - sb.WriteString(" required_field: ") + sb.WriteString("BytesMessage {") + if x.RequiredField != nil { + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.RequiredField)) sb.WriteString("\"") } - if len(x.OptionalField) > 0 { - sb.WriteString(" optional_field: ") + if x.OptionalField != nil { + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.OptionalField)) sb.WriteString("\"") } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") @@ -5097,6 +5285,7 @@ func (x *BytesMessage) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *BytesMessage) String() string { return x.MarshalProtoText() } @@ -5105,38 +5294,59 @@ func (x EnumMessage_Num) MarshalProtoText() string { } func (x *EnumMessage) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumMessage { ") + sb.WriteString("EnumMessage {") if x.RequiredField != nil { - sb.WriteString(" required_field: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("required_field: ") + sb.WriteString("\"") sb.WriteString(x.RequiredField.String()) + sb.WriteString("\"") } if x.OptionalField != nil { - sb.WriteString(" optional_field: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("optional_field: ") + sb.WriteString("\"") sb.WriteString(x.OptionalField.String()) + sb.WriteString("\"") } if len(x.RepeatedField) > 0 { - sb.WriteString(" repeated_field: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field: [") for i, v := range x.RepeatedField { if i > 0 { sb.WriteString(", ") } + sb.WriteString("\"") sb.WriteString(EnumMessage_Num(v).String()) + sb.WriteString("\"") } sb.WriteString("]") } if len(x.PackedField) > 0 { - sb.WriteString(" packed_field: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("packed_field: [") for i, v := range x.PackedField { if i > 0 { sb.WriteString(", ") } + sb.WriteString("\"") sb.WriteString(EnumMessage_Num(v).String()) + sb.WriteString("\"") } sb.WriteString("]") } sb.WriteString("}") return sb.String() } + func (x *EnumMessage) String() string { return x.MarshalProtoText() } diff --git a/testproto/proto3opt/opt.pb.go b/testproto/proto3opt/opt.pb.go index 8332f16b..4090f69c 100644 --- a/testproto/proto3opt/opt.pb.go +++ b/testproto/proto3opt/opt.pb.go @@ -705,76 +705,127 @@ func (x SimpleEnum) MarshalProtoText() string { } func (x *OptionalFieldInProto3) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("OptionalFieldInProto3 { ") + sb.WriteString("OptionalFieldInProto3 {") if x.OptionalInt32 != nil { - sb.WriteString(" optional_int32: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_int32: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalInt32), 10)) } if x.OptionalInt64 != nil { - sb.WriteString(" optional_int64: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_int64: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalInt64), 10)) } if x.OptionalUint32 != nil { - sb.WriteString(" optional_uint32: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_uint32: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalUint32), 10)) } if x.OptionalUint64 != nil { - sb.WriteString(" optional_uint64: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_uint64: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalUint64), 10)) } if x.OptionalSint32 != nil { - sb.WriteString(" optional_sint32: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_sint32: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalSint32), 10)) } if x.OptionalSint64 != nil { - sb.WriteString(" optional_sint64: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_sint64: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalSint64), 10)) } if x.OptionalFixed32 != nil { - sb.WriteString(" optional_fixed32: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_fixed32: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalFixed32), 10)) } if x.OptionalFixed64 != nil { - sb.WriteString(" optional_fixed64: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_fixed64: ") sb.WriteString(strconv.FormatUint(uint64(*x.OptionalFixed64), 10)) } if x.OptionalSfixed32 != nil { - sb.WriteString(" optional_sfixed32: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_sfixed32: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalSfixed32), 10)) } if x.OptionalSfixed64 != nil { - sb.WriteString(" optional_sfixed64: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_sfixed64: ") sb.WriteString(strconv.FormatInt(int64(*x.OptionalSfixed64), 10)) } if x.OptionalFloat != nil { - sb.WriteString(" optional_float: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_float: ") sb.WriteString(strconv.FormatFloat(float64(*x.OptionalFloat), 'g', -1, 32)) } if x.OptionalDouble != nil { - sb.WriteString(" optional_double: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_double: ") sb.WriteString(strconv.FormatFloat(*x.OptionalDouble, 'g', -1, 64)) } if x.OptionalBool != nil { - sb.WriteString(" optional_bool: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_bool: ") sb.WriteString(strconv.FormatBool(*x.OptionalBool)) } if x.OptionalString != nil { - sb.WriteString(" optional_string: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_string: ") sb.WriteString(strconv.Quote(*x.OptionalString)) } - if len(x.OptionalBytes) > 0 { - sb.WriteString(" optional_bytes: ") + if x.OptionalBytes != nil { + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_bytes: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.OptionalBytes)) sb.WriteString("\"") } if x.OptionalEnum != nil { - sb.WriteString(" optional_enum: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("optional_enum: ") + sb.WriteString("\"") sb.WriteString(x.OptionalEnum.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *OptionalFieldInProto3) String() string { return x.MarshalProtoText() } diff --git a/testproto/unsafe/unsafe.pb.go b/testproto/unsafe/unsafe.pb.go index e64f241d..b3bf3faf 100644 --- a/testproto/unsafe/unsafe.pb.go +++ b/testproto/unsafe/unsafe.pb.go @@ -2423,13 +2423,19 @@ func (m *UnsafeTest_Sub5_) SizeVT() (n int) { } func (x *UnsafeTest_Sub1) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sub1 { ") + sb.WriteString("Sub1 {") if x.S != "" { - sb.WriteString(" s: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("s: ") sb.WriteString(strconv.Quote(x.S)) } - if len(x.B) > 0 { - sb.WriteString(" b: ") + if x.B != nil { + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("b: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.B)) sb.WriteString("\"") @@ -2437,14 +2443,18 @@ func (x *UnsafeTest_Sub1) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub1) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub2) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sub2 { ") + sb.WriteString("Sub2 {") if len(x.S) > 0 { - sb.WriteString(" s: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("s: [") for i, v := range x.S { if i > 0 { sb.WriteString(", ") @@ -2454,7 +2464,10 @@ func (x *UnsafeTest_Sub2) MarshalProtoText() string { sb.WriteString("]") } if len(x.B) > 0 { - sb.WriteString(" b: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("b: [") for i, v := range x.B { if i > 0 { sb.WriteString(", ") @@ -2468,18 +2481,25 @@ func (x *UnsafeTest_Sub2) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub2) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub3_FooEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FooEntry { ") + sb.WriteString("FooEntry {") if x.Key != "" { - sb.WriteString(" key: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.Quote(x.Key)) } - if len(x.Value) > 0 { - sb.WriteString(" value: ") + if x.Value != nil { + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.Value)) sb.WriteString("\"") @@ -2487,14 +2507,18 @@ func (x *UnsafeTest_Sub3_FooEntry) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub3_FooEntry) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub3) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sub3 { ") + sb.WriteString("Sub3 {") if len(x.Foo) > 0 { - sb.WriteString(" foo: {") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("foo: {") for k, v := range x.Foo { sb.WriteString(" ") sb.WriteString(strconv.Quote(k)) @@ -2508,21 +2532,28 @@ func (x *UnsafeTest_Sub3) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub3) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub4) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sub4 { ") + sb.WriteString("Sub4 {") switch body := x.Foo.(type) { case *UnsafeTest_Sub4_S: if body.S != "" { - sb.WriteString(" s: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("s: ") sb.WriteString(strconv.Quote(body.S)) } case *UnsafeTest_Sub4_B: - if len(body.B) > 0 { - sb.WriteString(" b: ") + if body.B != nil { + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("b: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(body.B)) sb.WriteString("\"") @@ -2531,31 +2562,42 @@ func (x *UnsafeTest_Sub4) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub4) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub5_FooEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FooEntry { ") + sb.WriteString("FooEntry {") if x.Key != "" { - sb.WriteString(" key: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.Quote(x.Key)) } if x.Value != "" { - sb.WriteString(" value: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(strconv.Quote(x.Value)) } sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub5_FooEntry) String() string { return x.MarshalProtoText() } func (x *UnsafeTest_Sub5) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Sub5 { ") + sb.WriteString("Sub5 {") if len(x.Foo) > 0 { - sb.WriteString(" foo: {") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("foo: {") for k, v := range x.Foo { sb.WriteString(" ") sb.WriteString(strconv.Quote(k)) @@ -2567,42 +2609,59 @@ func (x *UnsafeTest_Sub5) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *UnsafeTest_Sub5) String() string { return x.MarshalProtoText() } func (x *UnsafeTest) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("UnsafeTest { ") + sb.WriteString("UnsafeTest {") switch body := x.Sub.(type) { case *UnsafeTest_Sub1_: if body.Sub1 != nil { - sb.WriteString(" sub1: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("sub1: ") sb.WriteString(body.Sub1.MarshalProtoText()) } case *UnsafeTest_Sub2_: if body.Sub2 != nil { - sb.WriteString(" sub2: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("sub2: ") sb.WriteString(body.Sub2.MarshalProtoText()) } case *UnsafeTest_Sub3_: if body.Sub3 != nil { - sb.WriteString(" sub3: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("sub3: ") sb.WriteString(body.Sub3.MarshalProtoText()) } case *UnsafeTest_Sub4_: if body.Sub4 != nil { - sb.WriteString(" sub4: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("sub4: ") sb.WriteString(body.Sub4.MarshalProtoText()) } case *UnsafeTest_Sub5_: if body.Sub5 != nil { - sb.WriteString(" sub5: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("sub5: ") sb.WriteString(body.Sub5.MarshalProtoText()) } } sb.WriteString("}") return sb.String() } + func (x *UnsafeTest) String() string { return x.MarshalProtoText() } diff --git a/testproto/wkt/wkt.pb.go b/testproto/wkt/wkt.pb.go index ac25536c..ab3bfe90 100644 --- a/testproto/wkt/wkt.pb.go +++ b/testproto/wkt/wkt.pb.go @@ -1019,78 +1019,132 @@ func (m *MessageWithWKT) SizeVT() (n int) { func (x *MessageWithWKT) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MessageWithWKT { ") + sb.WriteString("MessageWithWKT {") if x.Any != nil { - sb.WriteString(" any: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("any: ") sb.WriteString(x.Any.MarshalProtoText()) } if x.Duration != nil { - sb.WriteString(" duration: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("duration: ") sb.WriteString(x.Duration.MarshalProtoText()) } if x.Empty != nil { - sb.WriteString(" empty: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("empty: ") sb.WriteString(x.Empty.MarshalProtoText()) } if x.Timestamp != nil { - sb.WriteString(" timestamp: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("timestamp: ") sb.WriteString(x.Timestamp.MarshalProtoText()) } if x.DoubleValue != nil { - sb.WriteString(" double_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("double_value: ") sb.WriteString(x.DoubleValue.MarshalProtoText()) } if x.FloatValue != nil { - sb.WriteString(" float_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("float_value: ") sb.WriteString(x.FloatValue.MarshalProtoText()) } if x.Int64Value != nil { - sb.WriteString(" int64_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("int64_value: ") sb.WriteString(x.Int64Value.MarshalProtoText()) } if x.Uint64Value != nil { - sb.WriteString(" uint64_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("uint64_value: ") sb.WriteString(x.Uint64Value.MarshalProtoText()) } if x.Int32Value != nil { - sb.WriteString(" int32_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("int32_value: ") sb.WriteString(x.Int32Value.MarshalProtoText()) } if x.Uint32Value != nil { - sb.WriteString(" uint32_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("uint32_value: ") sb.WriteString(x.Uint32Value.MarshalProtoText()) } if x.BoolValue != nil { - sb.WriteString(" bool_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("bool_value: ") sb.WriteString(x.BoolValue.MarshalProtoText()) } if x.StringValue != nil { - sb.WriteString(" string_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("string_value: ") sb.WriteString(x.StringValue.MarshalProtoText()) } if x.BytesValue != nil { - sb.WriteString(" bytes_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("bytes_value: ") sb.WriteString(x.BytesValue.MarshalProtoText()) } if x.StructValue != nil { - sb.WriteString(" struct_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("struct_value: ") sb.WriteString(x.StructValue.MarshalProtoText()) } if x.ValueValue != nil { - sb.WriteString(" value_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("value_value: ") sb.WriteString(x.ValueValue.MarshalProtoText()) } if x.ListvalueValue != nil { - sb.WriteString(" listvalue_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("listvalue_value: ") sb.WriteString(x.ListvalueValue.MarshalProtoText()) } if x.NullValue != 0 { - sb.WriteString(" null_value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("null_value: ") + sb.WriteString("\"") sb.WriteString(structpb.NullValue(x.NullValue).String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *MessageWithWKT) String() string { return x.MarshalProtoText() } diff --git a/types/descriptorpb/descriptor.pb.go b/types/descriptorpb/descriptor.pb.go index 2ac3533a..adcfe0e5 100644 --- a/types/descriptorpb/descriptor.pb.go +++ b/types/descriptorpb/descriptor.pb.go @@ -11816,9 +11816,12 @@ func (x Edition) MarshalProtoText() string { } func (x *FileDescriptorSet) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FileDescriptorSet { ") + sb.WriteString("FileDescriptorSet {") if len(x.File) > 0 { - sb.WriteString(" file: [") + if sb.Len() > 19 { + sb.WriteString(" ") + } + sb.WriteString("file: [") for i, v := range x.File { if i > 0 { sb.WriteString(", ") @@ -11830,22 +11833,32 @@ func (x *FileDescriptorSet) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *FileDescriptorSet) String() string { return x.MarshalProtoText() } func (x *FileDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FileDescriptorProto { ") + sb.WriteString("FileDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if x.Package != nil { - sb.WriteString(" package: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("package: ") sb.WriteString(strconv.Quote(*x.Package)) } if len(x.Dependency) > 0 { - sb.WriteString(" dependency: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("dependency: [") for i, v := range x.Dependency { if i > 0 { sb.WriteString(", ") @@ -11855,7 +11868,10 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.MessageType) > 0 { - sb.WriteString(" message_type: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("message_type: [") for i, v := range x.MessageType { if i > 0 { sb.WriteString(", ") @@ -11865,7 +11881,10 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.EnumType) > 0 { - sb.WriteString(" enum_type: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("enum_type: [") for i, v := range x.EnumType { if i > 0 { sb.WriteString(", ") @@ -11875,7 +11894,10 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.Service) > 0 { - sb.WriteString(" service: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("service: [") for i, v := range x.Service { if i > 0 { sb.WriteString(", ") @@ -11885,7 +11907,10 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.Extension) > 0 { - sb.WriteString(" extension: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("extension: [") for i, v := range x.Extension { if i > 0 { sb.WriteString(", ") @@ -11895,15 +11920,24 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } if x.SourceCodeInfo != nil { - sb.WriteString(" source_code_info: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("source_code_info: ") sb.WriteString(x.SourceCodeInfo.MarshalProtoText()) } if len(x.PublicDependency) > 0 { - sb.WriteString(" public_dependency: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("public_dependency: [") for i, v := range x.PublicDependency { if i > 0 { sb.WriteString(", ") @@ -11913,7 +11947,10 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.WeakDependency) > 0 { - sb.WriteString(" weak_dependency: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("weak_dependency: [") for i, v := range x.WeakDependency { if i > 0 { sb.WriteString(", ") @@ -11923,66 +11960,98 @@ func (x *FileDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if x.Syntax != nil { - sb.WriteString(" syntax: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("syntax: ") sb.WriteString(strconv.Quote(*x.Syntax)) } if x.Edition != nil { - sb.WriteString(" edition: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("edition: ") + sb.WriteString("\"") sb.WriteString(x.Edition.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *FileDescriptorProto) String() string { return x.MarshalProtoText() } func (x *DescriptorProto_ExtensionRange) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ExtensionRange { ") + sb.WriteString("ExtensionRange {") if x.Start != nil { - sb.WriteString(" start: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("start: ") sb.WriteString(strconv.FormatInt(int64(*x.Start), 10)) } if x.End != nil { - sb.WriteString(" end: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("end: ") sb.WriteString(strconv.FormatInt(int64(*x.End), 10)) } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *DescriptorProto_ExtensionRange) String() string { return x.MarshalProtoText() } func (x *DescriptorProto_ReservedRange) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ReservedRange { ") + sb.WriteString("ReservedRange {") if x.Start != nil { - sb.WriteString(" start: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("start: ") sb.WriteString(strconv.FormatInt(int64(*x.Start), 10)) } if x.End != nil { - sb.WriteString(" end: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("end: ") sb.WriteString(strconv.FormatInt(int64(*x.End), 10)) } sb.WriteString("}") return sb.String() } + func (x *DescriptorProto_ReservedRange) String() string { return x.MarshalProtoText() } func (x *DescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("DescriptorProto { ") + sb.WriteString("DescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if len(x.Field) > 0 { - sb.WriteString(" field: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("field: [") for i, v := range x.Field { if i > 0 { sb.WriteString(", ") @@ -11992,7 +12061,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.NestedType) > 0 { - sb.WriteString(" nested_type: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("nested_type: [") for i, v := range x.NestedType { if i > 0 { sb.WriteString(", ") @@ -12002,7 +12074,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.EnumType) > 0 { - sb.WriteString(" enum_type: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("enum_type: [") for i, v := range x.EnumType { if i > 0 { sb.WriteString(", ") @@ -12012,7 +12087,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.ExtensionRange) > 0 { - sb.WriteString(" extension_range: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("extension_range: [") for i, v := range x.ExtensionRange { if i > 0 { sb.WriteString(", ") @@ -12022,7 +12100,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.Extension) > 0 { - sb.WriteString(" extension: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("extension: [") for i, v := range x.Extension { if i > 0 { sb.WriteString(", ") @@ -12032,11 +12113,17 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } if len(x.OneofDecl) > 0 { - sb.WriteString(" oneof_decl: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("oneof_decl: [") for i, v := range x.OneofDecl { if i > 0 { sb.WriteString(", ") @@ -12046,7 +12133,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.ReservedRange) > 0 { - sb.WriteString(" reserved_range: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("reserved_range: [") for i, v := range x.ReservedRange { if i > 0 { sb.WriteString(", ") @@ -12056,7 +12146,10 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.ReservedName) > 0 { - sb.WriteString(" reserved_name: [") + if sb.Len() > 17 { + sb.WriteString(" ") + } + sb.WriteString("reserved_name: [") for i, v := range x.ReservedName { if i > 0 { sb.WriteString(", ") @@ -12068,6 +12161,7 @@ func (x *DescriptorProto) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *DescriptorProto) String() string { return x.MarshalProtoText() } @@ -12076,38 +12170,57 @@ func (x ExtensionRangeOptions_VerificationState) MarshalProtoText() string { } func (x *ExtensionRangeOptions_Declaration) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Declaration { ") + sb.WriteString("Declaration {") if x.Number != nil { - sb.WriteString(" number: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("number: ") sb.WriteString(strconv.FormatInt(int64(*x.Number), 10)) } if x.FullName != nil { - sb.WriteString(" full_name: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("full_name: ") sb.WriteString(strconv.Quote(*x.FullName)) } if x.Type != nil { - sb.WriteString(" type: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("type: ") sb.WriteString(strconv.Quote(*x.Type)) } if x.Reserved != nil { - sb.WriteString(" reserved: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("reserved: ") sb.WriteString(strconv.FormatBool(*x.Reserved)) } if x.Repeated != nil { - sb.WriteString(" repeated: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("repeated: ") sb.WriteString(strconv.FormatBool(*x.Repeated)) } sb.WriteString("}") return sb.String() } + func (x *ExtensionRangeOptions_Declaration) String() string { return x.MarshalProtoText() } func (x *ExtensionRangeOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ExtensionRangeOptions { ") + sb.WriteString("ExtensionRangeOptions {") if len(x.Declaration) > 0 { - sb.WriteString(" declaration: [") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("declaration: [") for i, v := range x.Declaration { if i > 0 { sb.WriteString(", ") @@ -12117,15 +12230,26 @@ func (x *ExtensionRangeOptions) MarshalProtoText() string { sb.WriteString("]") } if x.Verification != nil { - sb.WriteString(" verification: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("verification: ") + sb.WriteString("\"") sb.WriteString(x.Verification.String()) + sb.WriteString("\"") } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12137,6 +12261,7 @@ func (x *ExtensionRangeOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *ExtensionRangeOptions) String() string { return x.MarshalProtoText() } @@ -12148,100 +12273,158 @@ func (x FieldDescriptorProto_Label) MarshalProtoText() string { } func (x *FieldDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FieldDescriptorProto { ") + sb.WriteString("FieldDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if x.Extendee != nil { - sb.WriteString(" extendee: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("extendee: ") sb.WriteString(strconv.Quote(*x.Extendee)) } if x.Number != nil { - sb.WriteString(" number: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("number: ") sb.WriteString(strconv.FormatInt(int64(*x.Number), 10)) } if x.Label != nil { - sb.WriteString(" label: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("label: ") + sb.WriteString("\"") sb.WriteString(x.Label.String()) + sb.WriteString("\"") } if x.Type != nil { - sb.WriteString(" type: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("type: ") + sb.WriteString("\"") sb.WriteString(x.Type.String()) + sb.WriteString("\"") } if x.TypeName != nil { - sb.WriteString(" type_name: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("type_name: ") sb.WriteString(strconv.Quote(*x.TypeName)) } if x.DefaultValue != nil { - sb.WriteString(" default_value: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("default_value: ") sb.WriteString(strconv.Quote(*x.DefaultValue)) } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } if x.OneofIndex != nil { - sb.WriteString(" oneof_index: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("oneof_index: ") sb.WriteString(strconv.FormatInt(int64(*x.OneofIndex), 10)) } if x.JsonName != nil { - sb.WriteString(" json_name: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("json_name: ") sb.WriteString(strconv.Quote(*x.JsonName)) } if x.Proto3Optional != nil { - sb.WriteString(" proto3_optional: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("proto3_optional: ") sb.WriteString(strconv.FormatBool(*x.Proto3Optional)) } sb.WriteString("}") return sb.String() } + func (x *FieldDescriptorProto) String() string { return x.MarshalProtoText() } func (x *OneofDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("OneofDescriptorProto { ") + sb.WriteString("OneofDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 22 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *OneofDescriptorProto) String() string { return x.MarshalProtoText() } func (x *EnumDescriptorProto_EnumReservedRange) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumReservedRange { ") + sb.WriteString("EnumReservedRange {") if x.Start != nil { - sb.WriteString(" start: ") + if sb.Len() > 19 { + sb.WriteString(" ") + } + sb.WriteString("start: ") sb.WriteString(strconv.FormatInt(int64(*x.Start), 10)) } if x.End != nil { - sb.WriteString(" end: ") + if sb.Len() > 19 { + sb.WriteString(" ") + } + sb.WriteString("end: ") sb.WriteString(strconv.FormatInt(int64(*x.End), 10)) } sb.WriteString("}") return sb.String() } + func (x *EnumDescriptorProto_EnumReservedRange) String() string { return x.MarshalProtoText() } func (x *EnumDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumDescriptorProto { ") + sb.WriteString("EnumDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if len(x.Value) > 0 { - sb.WriteString(" value: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("value: [") for i, v := range x.Value { if i > 0 { sb.WriteString(", ") @@ -12251,11 +12434,17 @@ func (x *EnumDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } if len(x.ReservedRange) > 0 { - sb.WriteString(" reserved_range: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("reserved_range: [") for i, v := range x.ReservedRange { if i > 0 { sb.WriteString(", ") @@ -12265,7 +12454,10 @@ func (x *EnumDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if len(x.ReservedName) > 0 { - sb.WriteString(" reserved_name: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("reserved_name: [") for i, v := range x.ReservedName { if i > 0 { sb.WriteString(", ") @@ -12277,39 +12469,56 @@ func (x *EnumDescriptorProto) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *EnumDescriptorProto) String() string { return x.MarshalProtoText() } func (x *EnumValueDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumValueDescriptorProto { ") + sb.WriteString("EnumValueDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if x.Number != nil { - sb.WriteString(" number: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("number: ") sb.WriteString(strconv.FormatInt(int64(*x.Number), 10)) } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *EnumValueDescriptorProto) String() string { return x.MarshalProtoText() } func (x *ServiceDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ServiceDescriptorProto { ") + sb.WriteString("ServiceDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 24 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if len(x.Method) > 0 { - sb.WriteString(" method: [") + if sb.Len() > 24 { + sb.WriteString(" ") + } + sb.WriteString("method: [") for i, v := range x.Method { if i > 0 { sb.WriteString(", ") @@ -12319,45 +12528,68 @@ func (x *ServiceDescriptorProto) MarshalProtoText() string { sb.WriteString("]") } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 24 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *ServiceDescriptorProto) String() string { return x.MarshalProtoText() } func (x *MethodDescriptorProto) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MethodDescriptorProto { ") + sb.WriteString("MethodDescriptorProto {") if x.Name != nil { - sb.WriteString(" name: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(*x.Name)) } if x.InputType != nil { - sb.WriteString(" input_type: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("input_type: ") sb.WriteString(strconv.Quote(*x.InputType)) } if x.OutputType != nil { - sb.WriteString(" output_type: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("output_type: ") sb.WriteString(strconv.Quote(*x.OutputType)) } if x.Options != nil { - sb.WriteString(" options: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("options: ") sb.WriteString(x.Options.MarshalProtoText()) } if x.ClientStreaming != nil { - sb.WriteString(" client_streaming: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("client_streaming: ") sb.WriteString(strconv.FormatBool(*x.ClientStreaming)) } if x.ServerStreaming != nil { - sb.WriteString(" server_streaming: ") + if sb.Len() > 23 { + sb.WriteString(" ") + } + sb.WriteString("server_streaming: ") sb.WriteString(strconv.FormatBool(*x.ServerStreaming)) } sb.WriteString("}") return sb.String() } + func (x *MethodDescriptorProto) String() string { return x.MarshalProtoText() } @@ -12366,89 +12598,154 @@ func (x FileOptions_OptimizeMode) MarshalProtoText() string { } func (x *FileOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FileOptions { ") + sb.WriteString("FileOptions {") if x.JavaPackage != nil { - sb.WriteString(" java_package: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_package: ") sb.WriteString(strconv.Quote(*x.JavaPackage)) } if x.JavaOuterClassname != nil { - sb.WriteString(" java_outer_classname: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_outer_classname: ") sb.WriteString(strconv.Quote(*x.JavaOuterClassname)) } if x.OptimizeFor != nil { - sb.WriteString(" optimize_for: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("optimize_for: ") + sb.WriteString("\"") sb.WriteString(x.OptimizeFor.String()) + sb.WriteString("\"") } if x.JavaMultipleFiles != nil { - sb.WriteString(" java_multiple_files: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_multiple_files: ") sb.WriteString(strconv.FormatBool(*x.JavaMultipleFiles)) } if x.GoPackage != nil { - sb.WriteString(" go_package: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("go_package: ") sb.WriteString(strconv.Quote(*x.GoPackage)) } if x.CcGenericServices != nil { - sb.WriteString(" cc_generic_services: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("cc_generic_services: ") sb.WriteString(strconv.FormatBool(*x.CcGenericServices)) } if x.JavaGenericServices != nil { - sb.WriteString(" java_generic_services: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_generic_services: ") sb.WriteString(strconv.FormatBool(*x.JavaGenericServices)) } if x.PyGenericServices != nil { - sb.WriteString(" py_generic_services: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("py_generic_services: ") sb.WriteString(strconv.FormatBool(*x.PyGenericServices)) } if x.JavaGenerateEqualsAndHash != nil { - sb.WriteString(" java_generate_equals_and_hash: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_generate_equals_and_hash: ") sb.WriteString(strconv.FormatBool(*x.JavaGenerateEqualsAndHash)) } if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.JavaStringCheckUtf8 != nil { - sb.WriteString(" java_string_check_utf8: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("java_string_check_utf8: ") sb.WriteString(strconv.FormatBool(*x.JavaStringCheckUtf8)) } if x.CcEnableArenas != nil { - sb.WriteString(" cc_enable_arenas: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("cc_enable_arenas: ") sb.WriteString(strconv.FormatBool(*x.CcEnableArenas)) } if x.ObjcClassPrefix != nil { - sb.WriteString(" objc_class_prefix: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("objc_class_prefix: ") sb.WriteString(strconv.Quote(*x.ObjcClassPrefix)) } if x.CsharpNamespace != nil { - sb.WriteString(" csharp_namespace: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("csharp_namespace: ") sb.WriteString(strconv.Quote(*x.CsharpNamespace)) } if x.SwiftPrefix != nil { - sb.WriteString(" swift_prefix: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("swift_prefix: ") sb.WriteString(strconv.Quote(*x.SwiftPrefix)) } if x.PhpClassPrefix != nil { - sb.WriteString(" php_class_prefix: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("php_class_prefix: ") sb.WriteString(strconv.Quote(*x.PhpClassPrefix)) } if x.PhpNamespace != nil { - sb.WriteString(" php_namespace: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("php_namespace: ") sb.WriteString(strconv.Quote(*x.PhpNamespace)) } if x.PhpMetadataNamespace != nil { - sb.WriteString(" php_metadata_namespace: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("php_metadata_namespace: ") sb.WriteString(strconv.Quote(*x.PhpMetadataNamespace)) } if x.RubyPackage != nil { - sb.WriteString(" ruby_package: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("ruby_package: ") sb.WriteString(strconv.Quote(*x.RubyPackage)) } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12460,38 +12757,60 @@ func (x *FileOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *FileOptions) String() string { return x.MarshalProtoText() } func (x *MessageOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MessageOptions { ") + sb.WriteString("MessageOptions {") if x.MessageSetWireFormat != nil { - sb.WriteString(" message_set_wire_format: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("message_set_wire_format: ") sb.WriteString(strconv.FormatBool(*x.MessageSetWireFormat)) } if x.NoStandardDescriptorAccessor != nil { - sb.WriteString(" no_standard_descriptor_accessor: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("no_standard_descriptor_accessor: ") sb.WriteString(strconv.FormatBool(*x.NoStandardDescriptorAccessor)) } if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.MapEntry != nil { - sb.WriteString(" map_entry: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("map_entry: ") sb.WriteString(strconv.FormatBool(*x.MapEntry)) } if x.DeprecatedLegacyJsonFieldConflicts != nil { - sb.WriteString(" deprecated_legacy_json_field_conflicts: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("deprecated_legacy_json_field_conflicts: ") sb.WriteString(strconv.FormatBool(*x.DeprecatedLegacyJsonFieldConflicts)) } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12503,6 +12822,7 @@ func (x *MessageOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *MessageOptions) String() string { return x.MarshalProtoText() } @@ -12520,72 +12840,122 @@ func (x FieldOptions_OptionTargetType) MarshalProtoText() string { } func (x *FieldOptions_EditionDefault) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EditionDefault { ") + sb.WriteString("EditionDefault {") if x.Value != nil { - sb.WriteString(" value: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(strconv.Quote(*x.Value)) } if x.Edition != nil { - sb.WriteString(" edition: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("edition: ") + sb.WriteString("\"") sb.WriteString(x.Edition.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *FieldOptions_EditionDefault) String() string { return x.MarshalProtoText() } func (x *FieldOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FieldOptions { ") + sb.WriteString("FieldOptions {") if x.Ctype != nil { - sb.WriteString(" ctype: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("ctype: ") + sb.WriteString("\"") sb.WriteString(x.Ctype.String()) + sb.WriteString("\"") } if x.Packed != nil { - sb.WriteString(" packed: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("packed: ") sb.WriteString(strconv.FormatBool(*x.Packed)) } if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.Lazy != nil { - sb.WriteString(" lazy: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("lazy: ") sb.WriteString(strconv.FormatBool(*x.Lazy)) } if x.Jstype != nil { - sb.WriteString(" jstype: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("jstype: ") + sb.WriteString("\"") sb.WriteString(x.Jstype.String()) + sb.WriteString("\"") } if x.Weak != nil { - sb.WriteString(" weak: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("weak: ") sb.WriteString(strconv.FormatBool(*x.Weak)) } if x.UnverifiedLazy != nil { - sb.WriteString(" unverified_lazy: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("unverified_lazy: ") sb.WriteString(strconv.FormatBool(*x.UnverifiedLazy)) } if x.DebugRedact != nil { - sb.WriteString(" debug_redact: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("debug_redact: ") sb.WriteString(strconv.FormatBool(*x.DebugRedact)) } if x.Retention != nil { - sb.WriteString(" retention: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("retention: ") + sb.WriteString("\"") sb.WriteString(x.Retention.String()) + sb.WriteString("\"") } if len(x.Targets) > 0 { - sb.WriteString(" targets: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("targets: [") for i, v := range x.Targets { if i > 0 { sb.WriteString(", ") } + sb.WriteString("\"") sb.WriteString(FieldOptions_OptionTargetType(v).String()) + sb.WriteString("\"") } sb.WriteString("]") } if len(x.EditionDefaults) > 0 { - sb.WriteString(" edition_defaults: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("edition_defaults: [") for i, v := range x.EditionDefaults { if i > 0 { sb.WriteString(", ") @@ -12595,11 +12965,17 @@ func (x *FieldOptions) MarshalProtoText() string { sb.WriteString("]") } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12611,18 +12987,25 @@ func (x *FieldOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *FieldOptions) String() string { return x.MarshalProtoText() } func (x *OneofOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("OneofOptions { ") + sb.WriteString("OneofOptions {") if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 14 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12634,30 +13017,46 @@ func (x *OneofOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *OneofOptions) String() string { return x.MarshalProtoText() } func (x *EnumOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumOptions { ") + sb.WriteString("EnumOptions {") if x.AllowAlias != nil { - sb.WriteString(" allow_alias: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("allow_alias: ") sb.WriteString(strconv.FormatBool(*x.AllowAlias)) } if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.DeprecatedLegacyJsonFieldConflicts != nil { - sb.WriteString(" deprecated_legacy_json_field_conflicts: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("deprecated_legacy_json_field_conflicts: ") sb.WriteString(strconv.FormatBool(*x.DeprecatedLegacyJsonFieldConflicts)) } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12669,26 +13068,39 @@ func (x *EnumOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *EnumOptions) String() string { return x.MarshalProtoText() } func (x *EnumValueOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumValueOptions { ") + sb.WriteString("EnumValueOptions {") if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 18 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 18 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if x.DebugRedact != nil { - sb.WriteString(" debug_redact: ") + if sb.Len() > 18 { + sb.WriteString(" ") + } + sb.WriteString("debug_redact: ") sb.WriteString(strconv.FormatBool(*x.DebugRedact)) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 18 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12700,22 +13112,32 @@ func (x *EnumValueOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *EnumValueOptions) String() string { return x.MarshalProtoText() } func (x *ServiceOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ServiceOptions { ") + sb.WriteString("ServiceOptions {") if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12727,6 +13149,7 @@ func (x *ServiceOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *ServiceOptions) String() string { return x.MarshalProtoText() } @@ -12735,21 +13158,35 @@ func (x MethodOptions_IdempotencyLevel) MarshalProtoText() string { } func (x *MethodOptions) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("MethodOptions { ") + sb.WriteString("MethodOptions {") if x.Deprecated != nil { - sb.WriteString(" deprecated: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("deprecated: ") sb.WriteString(strconv.FormatBool(*x.Deprecated)) } if x.IdempotencyLevel != nil { - sb.WriteString(" idempotency_level: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("idempotency_level: ") + sb.WriteString("\"") sb.WriteString(x.IdempotencyLevel.String()) + sb.WriteString("\"") } if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if len(x.UninterpretedOption) > 0 { - sb.WriteString(" uninterpreted_option: [") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("uninterpreted_option: [") for i, v := range x.UninterpretedOption { if i > 0 { sb.WriteString(", ") @@ -12761,31 +13198,42 @@ func (x *MethodOptions) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *MethodOptions) String() string { return x.MarshalProtoText() } func (x *UninterpretedOption_NamePart) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("NamePart { ") + sb.WriteString("NamePart {") if x.NamePart != nil { - sb.WriteString(" name_part: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("name_part: ") sb.WriteString(strconv.Quote(*x.NamePart)) } if x.IsExtension != nil { - sb.WriteString(" is_extension: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("is_extension: ") sb.WriteString(strconv.FormatBool(*x.IsExtension)) } sb.WriteString("}") return sb.String() } + func (x *UninterpretedOption_NamePart) String() string { return x.MarshalProtoText() } func (x *UninterpretedOption) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("UninterpretedOption { ") + sb.WriteString("UninterpretedOption {") if len(x.Name) > 0 { - sb.WriteString(" name: [") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("name: [") for i, v := range x.Name { if i > 0 { sb.WriteString(", ") @@ -12795,34 +13243,53 @@ func (x *UninterpretedOption) MarshalProtoText() string { sb.WriteString("]") } if x.IdentifierValue != nil { - sb.WriteString(" identifier_value: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("identifier_value: ") sb.WriteString(strconv.Quote(*x.IdentifierValue)) } if x.PositiveIntValue != nil { - sb.WriteString(" positive_int_value: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("positive_int_value: ") sb.WriteString(strconv.FormatUint(uint64(*x.PositiveIntValue), 10)) } if x.NegativeIntValue != nil { - sb.WriteString(" negative_int_value: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("negative_int_value: ") sb.WriteString(strconv.FormatInt(int64(*x.NegativeIntValue), 10)) } if x.DoubleValue != nil { - sb.WriteString(" double_value: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("double_value: ") sb.WriteString(strconv.FormatFloat(*x.DoubleValue, 'g', -1, 64)) } - if len(x.StringValue) > 0 { - sb.WriteString(" string_value: ") + if x.StringValue != nil { + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("string_value: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.StringValue)) sb.WriteString("\"") } if x.AggregateValue != nil { - sb.WriteString(" aggregate_value: ") + if sb.Len() > 21 { + sb.WriteString(" ") + } + sb.WriteString("aggregate_value: ") sb.WriteString(strconv.Quote(*x.AggregateValue)) } sb.WriteString("}") return sb.String() } + func (x *UninterpretedOption) String() string { return x.MarshalProtoText() } @@ -12846,59 +13313,102 @@ func (x FeatureSet_JsonFormat) MarshalProtoText() string { } func (x *FeatureSet) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FeatureSet { ") + sb.WriteString("FeatureSet {") if x.FieldPresence != nil { - sb.WriteString(" field_presence: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("field_presence: ") + sb.WriteString("\"") sb.WriteString(x.FieldPresence.String()) + sb.WriteString("\"") } if x.EnumType != nil { - sb.WriteString(" enum_type: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("enum_type: ") + sb.WriteString("\"") sb.WriteString(x.EnumType.String()) + sb.WriteString("\"") } if x.RepeatedFieldEncoding != nil { - sb.WriteString(" repeated_field_encoding: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("repeated_field_encoding: ") + sb.WriteString("\"") sb.WriteString(x.RepeatedFieldEncoding.String()) + sb.WriteString("\"") } if x.Utf8Validation != nil { - sb.WriteString(" utf8_validation: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("utf8_validation: ") + sb.WriteString("\"") sb.WriteString(x.Utf8Validation.String()) + sb.WriteString("\"") } if x.MessageEncoding != nil { - sb.WriteString(" message_encoding: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("message_encoding: ") + sb.WriteString("\"") sb.WriteString(x.MessageEncoding.String()) + sb.WriteString("\"") } if x.JsonFormat != nil { - sb.WriteString(" json_format: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("json_format: ") + sb.WriteString("\"") sb.WriteString(x.JsonFormat.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *FeatureSet) String() string { return x.MarshalProtoText() } func (x *FeatureSetDefaults_FeatureSetEditionDefault) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FeatureSetEditionDefault { ") + sb.WriteString("FeatureSetEditionDefault {") if x.Features != nil { - sb.WriteString(" features: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("features: ") sb.WriteString(x.Features.MarshalProtoText()) } if x.Edition != nil { - sb.WriteString(" edition: ") + if sb.Len() > 26 { + sb.WriteString(" ") + } + sb.WriteString("edition: ") + sb.WriteString("\"") sb.WriteString(x.Edition.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *FeatureSetDefaults_FeatureSetEditionDefault) String() string { return x.MarshalProtoText() } func (x *FeatureSetDefaults) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FeatureSetDefaults { ") + sb.WriteString("FeatureSetDefaults {") if len(x.Defaults) > 0 { - sb.WriteString(" defaults: [") + if sb.Len() > 20 { + sb.WriteString(" ") + } + sb.WriteString("defaults: [") for i, v := range x.Defaults { if i > 0 { sb.WriteString(", ") @@ -12908,24 +13418,38 @@ func (x *FeatureSetDefaults) MarshalProtoText() string { sb.WriteString("]") } if x.MinimumEdition != nil { - sb.WriteString(" minimum_edition: ") + if sb.Len() > 20 { + sb.WriteString(" ") + } + sb.WriteString("minimum_edition: ") + sb.WriteString("\"") sb.WriteString(x.MinimumEdition.String()) + sb.WriteString("\"") } if x.MaximumEdition != nil { - sb.WriteString(" maximum_edition: ") + if sb.Len() > 20 { + sb.WriteString(" ") + } + sb.WriteString("maximum_edition: ") + sb.WriteString("\"") sb.WriteString(x.MaximumEdition.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *FeatureSetDefaults) String() string { return x.MarshalProtoText() } func (x *SourceCodeInfo_Location) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Location { ") + sb.WriteString("Location {") if len(x.Path) > 0 { - sb.WriteString(" path: [") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("path: [") for i, v := range x.Path { if i > 0 { sb.WriteString(", ") @@ -12935,7 +13459,10 @@ func (x *SourceCodeInfo_Location) MarshalProtoText() string { sb.WriteString("]") } if len(x.Span) > 0 { - sb.WriteString(" span: [") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("span: [") for i, v := range x.Span { if i > 0 { sb.WriteString(", ") @@ -12945,15 +13472,24 @@ func (x *SourceCodeInfo_Location) MarshalProtoText() string { sb.WriteString("]") } if x.LeadingComments != nil { - sb.WriteString(" leading_comments: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("leading_comments: ") sb.WriteString(strconv.Quote(*x.LeadingComments)) } if x.TrailingComments != nil { - sb.WriteString(" trailing_comments: ") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("trailing_comments: ") sb.WriteString(strconv.Quote(*x.TrailingComments)) } if len(x.LeadingDetachedComments) > 0 { - sb.WriteString(" leading_detached_comments: [") + if sb.Len() > 10 { + sb.WriteString(" ") + } + sb.WriteString("leading_detached_comments: [") for i, v := range x.LeadingDetachedComments { if i > 0 { sb.WriteString(", ") @@ -12965,14 +13501,18 @@ func (x *SourceCodeInfo_Location) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *SourceCodeInfo_Location) String() string { return x.MarshalProtoText() } func (x *SourceCodeInfo) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("SourceCodeInfo { ") + sb.WriteString("SourceCodeInfo {") if len(x.Location) > 0 { - sb.WriteString(" location: [") + if sb.Len() > 16 { + sb.WriteString(" ") + } + sb.WriteString("location: [") for i, v := range x.Location { if i > 0 { sb.WriteString(", ") @@ -12984,6 +13524,7 @@ func (x *SourceCodeInfo) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *SourceCodeInfo) String() string { return x.MarshalProtoText() } @@ -12992,9 +13533,12 @@ func (x GeneratedCodeInfo_Annotation_Semantic) MarshalProtoText() string { } func (x *GeneratedCodeInfo_Annotation) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Annotation { ") + sb.WriteString("Annotation {") if len(x.Path) > 0 { - sb.WriteString(" path: [") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("path: [") for i, v := range x.Path { if i > 0 { sb.WriteString(", ") @@ -13004,32 +13548,50 @@ func (x *GeneratedCodeInfo_Annotation) MarshalProtoText() string { sb.WriteString("]") } if x.SourceFile != nil { - sb.WriteString(" source_file: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("source_file: ") sb.WriteString(strconv.Quote(*x.SourceFile)) } if x.Begin != nil { - sb.WriteString(" begin: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("begin: ") sb.WriteString(strconv.FormatInt(int64(*x.Begin), 10)) } if x.End != nil { - sb.WriteString(" end: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("end: ") sb.WriteString(strconv.FormatInt(int64(*x.End), 10)) } if x.Semantic != nil { - sb.WriteString(" semantic: ") + if sb.Len() > 12 { + sb.WriteString(" ") + } + sb.WriteString("semantic: ") + sb.WriteString("\"") sb.WriteString(x.Semantic.String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *GeneratedCodeInfo_Annotation) String() string { return x.MarshalProtoText() } func (x *GeneratedCodeInfo) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("GeneratedCodeInfo { ") + sb.WriteString("GeneratedCodeInfo {") if len(x.Annotation) > 0 { - sb.WriteString(" annotation: [") + if sb.Len() > 19 { + sb.WriteString(" ") + } + sb.WriteString("annotation: [") for i, v := range x.Annotation { if i > 0 { sb.WriteString(", ") @@ -13041,6 +13603,7 @@ func (x *GeneratedCodeInfo) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *GeneratedCodeInfo) String() string { return x.MarshalProtoText() } diff --git a/types/known/anypb/any.pb.go b/types/known/anypb/any.pb.go index ee63b75c..f919a0e0 100644 --- a/types/known/anypb/any.pb.go +++ b/types/known/anypb/any.pb.go @@ -343,13 +343,19 @@ func (m *Any) SizeVT() (n int) { func (x *Any) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Any { ") + sb.WriteString("Any {") if x.TypeUrl != "" { - sb.WriteString(" type_url: ") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("type_url: ") sb.WriteString(strconv.Quote(x.TypeUrl)) } - if len(x.Value) > 0 { - sb.WriteString(" value: ") + if x.Value != nil { + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString("\"") sb.WriteString(base64.StdEncoding.EncodeToString(x.Value)) sb.WriteString("\"") @@ -357,6 +363,7 @@ func (x *Any) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Any) String() string { return x.MarshalProtoText() } diff --git a/types/known/apipb/api.pb.go b/types/known/apipb/api.pb.go index 4fb53eb1..dd7d3b78 100644 --- a/types/known/apipb/api.pb.go +++ b/types/known/apipb/api.pb.go @@ -1141,13 +1141,19 @@ func (m *Mixin) SizeVT() (n int) { func (x *Api) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Api { ") + sb.WriteString("Api {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if len(x.Methods) > 0 { - sb.WriteString(" methods: [") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("methods: [") for i, v := range x.Methods { if i > 0 { sb.WriteString(", ") @@ -1157,7 +1163,10 @@ func (x *Api) MarshalProtoText() string { sb.WriteString("]") } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -1167,15 +1176,24 @@ func (x *Api) MarshalProtoText() string { sb.WriteString("]") } if x.Version != "" { - sb.WriteString(" version: ") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("version: ") sb.WriteString(strconv.Quote(x.Version)) } if x.SourceContext != nil { - sb.WriteString(" source_context: ") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("source_context: ") sb.WriteString(x.SourceContext.MarshalProtoText()) } if len(x.Mixins) > 0 { - sb.WriteString(" mixins: [") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("mixins: [") for i, v := range x.Mixins { if i > 0 { sb.WriteString(", ") @@ -1185,40 +1203,64 @@ func (x *Api) MarshalProtoText() string { sb.WriteString("]") } if x.Syntax != 0 { - sb.WriteString(" syntax: ") + if sb.Len() > 5 { + sb.WriteString(" ") + } + sb.WriteString("syntax: ") + sb.WriteString("\"") sb.WriteString(typepb.Syntax(x.Syntax).String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *Api) String() string { return x.MarshalProtoText() } func (x *Method) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Method { ") + sb.WriteString("Method {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if x.RequestTypeUrl != "" { - sb.WriteString(" request_type_url: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("request_type_url: ") sb.WriteString(strconv.Quote(x.RequestTypeUrl)) } - if x.RequestStreaming { - sb.WriteString(" request_streaming: ") + if x.RequestStreaming != false { + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("request_streaming: ") sb.WriteString(strconv.FormatBool(x.RequestStreaming)) } if x.ResponseTypeUrl != "" { - sb.WriteString(" response_type_url: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("response_type_url: ") sb.WriteString(strconv.Quote(x.ResponseTypeUrl)) } - if x.ResponseStreaming { - sb.WriteString(" response_streaming: ") + if x.ResponseStreaming != false { + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("response_streaming: ") sb.WriteString(strconv.FormatBool(x.ResponseStreaming)) } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -1228,29 +1270,42 @@ func (x *Method) MarshalProtoText() string { sb.WriteString("]") } if x.Syntax != 0 { - sb.WriteString(" syntax: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("syntax: ") + sb.WriteString("\"") sb.WriteString(typepb.Syntax(x.Syntax).String()) + sb.WriteString("\"") } sb.WriteString("}") return sb.String() } + func (x *Method) String() string { return x.MarshalProtoText() } func (x *Mixin) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Mixin { ") + sb.WriteString("Mixin {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if x.Root != "" { - sb.WriteString(" root: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("root: ") sb.WriteString(strconv.Quote(x.Root)) } sb.WriteString("}") return sb.String() } + func (x *Mixin) String() string { return x.MarshalProtoText() } diff --git a/types/known/emptypb/empty.pb.go b/types/known/emptypb/empty.pb.go index 6895d57e..7c519c15 100644 --- a/types/known/emptypb/empty.pb.go +++ b/types/known/emptypb/empty.pb.go @@ -169,10 +169,11 @@ func (m *Empty) SizeVT() (n int) { func (x *Empty) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Empty { ") + sb.WriteString("Empty {") sb.WriteString("}") return sb.String() } + func (x *Empty) String() string { return x.MarshalProtoText() } diff --git a/types/known/sourcecontextpb/source_context.pb.go b/types/known/sourcecontextpb/source_context.pb.go index 7a16975e..d491514b 100644 --- a/types/known/sourcecontextpb/source_context.pb.go +++ b/types/known/sourcecontextpb/source_context.pb.go @@ -198,14 +198,18 @@ func (m *SourceContext) SizeVT() (n int) { func (x *SourceContext) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("SourceContext { ") + sb.WriteString("SourceContext {") if x.FileName != "" { - sb.WriteString(" file_name: ") + if sb.Len() > 15 { + sb.WriteString(" ") + } + sb.WriteString("file_name: ") sb.WriteString(strconv.Quote(x.FileName)) } sb.WriteString("}") return sb.String() } + func (x *SourceContext) String() string { return x.MarshalProtoText() } diff --git a/types/known/structpb/struct.pb.go b/types/known/structpb/struct.pb.go index 46885127..7b0d1005 100644 --- a/types/known/structpb/struct.pb.go +++ b/types/known/structpb/struct.pb.go @@ -1471,26 +1471,36 @@ func (x NullValue) MarshalProtoText() string { } func (x *Struct_FieldsEntry) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("FieldsEntry { ") + sb.WriteString("FieldsEntry {") if x.Key != "" { - sb.WriteString(" key: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("key: ") sb.WriteString(strconv.Quote(x.Key)) } if x.Value != nil { - sb.WriteString(" value: ") + if sb.Len() > 13 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(x.Value.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *Struct_FieldsEntry) String() string { return x.MarshalProtoText() } func (x *Struct) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Struct { ") + sb.WriteString("Struct {") if len(x.Fields) > 0 { - sb.WriteString(" fields: {") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("fields: {") for k, v := range x.Fields { sb.WriteString(" ") sb.WriteString(strconv.Quote(k)) @@ -1502,55 +1512,80 @@ func (x *Struct) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *Struct) String() string { return x.MarshalProtoText() } func (x *Value) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Value { ") + sb.WriteString("Value {") switch body := x.Kind.(type) { case *Value_NullValue: if body.NullValue != 0 { - sb.WriteString(" null_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("null_value: ") + sb.WriteString("\"") sb.WriteString(NullValue(body.NullValue).String()) + sb.WriteString("\"") } case *Value_NumberValue: if body.NumberValue != 0 { - sb.WriteString(" number_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("number_value: ") sb.WriteString(strconv.FormatFloat(body.NumberValue, 'g', -1, 64)) } case *Value_StringValue: if body.StringValue != "" { - sb.WriteString(" string_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("string_value: ") sb.WriteString(strconv.Quote(body.StringValue)) } case *Value_BoolValue: - if body.BoolValue { - sb.WriteString(" bool_value: ") + if body.BoolValue != false { + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("bool_value: ") sb.WriteString(strconv.FormatBool(body.BoolValue)) } case *Value_StructValue: if body.StructValue != nil { - sb.WriteString(" struct_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("struct_value: ") sb.WriteString(body.StructValue.MarshalProtoText()) } case *Value_ListValue: if body.ListValue != nil { - sb.WriteString(" list_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("list_value: ") sb.WriteString(body.ListValue.MarshalProtoText()) } } sb.WriteString("}") return sb.String() } + func (x *Value) String() string { return x.MarshalProtoText() } func (x *ListValue) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("ListValue { ") + sb.WriteString("ListValue {") if len(x.Values) > 0 { - sb.WriteString(" values: [") + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("values: [") for i, v := range x.Values { if i > 0 { sb.WriteString(", ") @@ -1562,6 +1597,7 @@ func (x *ListValue) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *ListValue) String() string { return x.MarshalProtoText() } diff --git a/types/known/typepb/type.pb.go b/types/known/typepb/type.pb.go index 07c4fe91..a856a88a 100644 --- a/types/known/typepb/type.pb.go +++ b/types/known/typepb/type.pb.go @@ -1907,13 +1907,19 @@ func (x Syntax) MarshalProtoText() string { } func (x *Type) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Type { ") + sb.WriteString("Type {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if len(x.Fields) > 0 { - sb.WriteString(" fields: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("fields: [") for i, v := range x.Fields { if i > 0 { sb.WriteString(", ") @@ -1923,7 +1929,10 @@ func (x *Type) MarshalProtoText() string { sb.WriteString("]") } if len(x.Oneofs) > 0 { - sb.WriteString(" oneofs: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("oneofs: [") for i, v := range x.Oneofs { if i > 0 { sb.WriteString(", ") @@ -1933,7 +1942,10 @@ func (x *Type) MarshalProtoText() string { sb.WriteString("]") } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -1943,20 +1955,32 @@ func (x *Type) MarshalProtoText() string { sb.WriteString("]") } if x.SourceContext != nil { - sb.WriteString(" source_context: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("source_context: ") sb.WriteString(x.SourceContext.MarshalProtoText()) } if x.Syntax != 0 { - sb.WriteString(" syntax: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("syntax: ") + sb.WriteString("\"") sb.WriteString(Syntax(x.Syntax).String()) + sb.WriteString("\"") } if x.Edition != "" { - sb.WriteString(" edition: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("edition: ") sb.WriteString(strconv.Quote(x.Edition)) } sb.WriteString("}") return sb.String() } + func (x *Type) String() string { return x.MarshalProtoText() } @@ -1968,37 +1992,65 @@ func (x Field_Cardinality) MarshalProtoText() string { } func (x *Field) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Field { ") + sb.WriteString("Field {") if x.Kind != 0 { - sb.WriteString(" kind: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("kind: ") + sb.WriteString("\"") sb.WriteString(Field_Kind(x.Kind).String()) + sb.WriteString("\"") } if x.Cardinality != 0 { - sb.WriteString(" cardinality: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("cardinality: ") + sb.WriteString("\"") sb.WriteString(Field_Cardinality(x.Cardinality).String()) + sb.WriteString("\"") } if x.Number != 0 { - sb.WriteString(" number: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("number: ") sb.WriteString(strconv.FormatInt(int64(x.Number), 10)) } if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if x.TypeUrl != "" { - sb.WriteString(" type_url: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("type_url: ") sb.WriteString(strconv.Quote(x.TypeUrl)) } if x.OneofIndex != 0 { - sb.WriteString(" oneof_index: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("oneof_index: ") sb.WriteString(strconv.FormatInt(int64(x.OneofIndex), 10)) } - if x.Packed { - sb.WriteString(" packed: ") + if x.Packed != false { + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("packed: ") sb.WriteString(strconv.FormatBool(x.Packed)) } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -2008,28 +2060,41 @@ func (x *Field) MarshalProtoText() string { sb.WriteString("]") } if x.JsonName != "" { - sb.WriteString(" json_name: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("json_name: ") sb.WriteString(strconv.Quote(x.JsonName)) } if x.DefaultValue != "" { - sb.WriteString(" default_value: ") + if sb.Len() > 7 { + sb.WriteString(" ") + } + sb.WriteString("default_value: ") sb.WriteString(strconv.Quote(x.DefaultValue)) } sb.WriteString("}") return sb.String() } + func (x *Field) String() string { return x.MarshalProtoText() } func (x *Enum) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Enum { ") + sb.WriteString("Enum {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if len(x.Enumvalue) > 0 { - sb.WriteString(" enumvalue: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("enumvalue: [") for i, v := range x.Enumvalue { if i > 0 { sb.WriteString(", ") @@ -2039,7 +2104,10 @@ func (x *Enum) MarshalProtoText() string { sb.WriteString("]") } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -2049,36 +2117,57 @@ func (x *Enum) MarshalProtoText() string { sb.WriteString("]") } if x.SourceContext != nil { - sb.WriteString(" source_context: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("source_context: ") sb.WriteString(x.SourceContext.MarshalProtoText()) } if x.Syntax != 0 { - sb.WriteString(" syntax: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("syntax: ") + sb.WriteString("\"") sb.WriteString(Syntax(x.Syntax).String()) + sb.WriteString("\"") } if x.Edition != "" { - sb.WriteString(" edition: ") + if sb.Len() > 6 { + sb.WriteString(" ") + } + sb.WriteString("edition: ") sb.WriteString(strconv.Quote(x.Edition)) } sb.WriteString("}") return sb.String() } + func (x *Enum) String() string { return x.MarshalProtoText() } func (x *EnumValue) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("EnumValue { ") + sb.WriteString("EnumValue {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if x.Number != 0 { - sb.WriteString(" number: ") + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("number: ") sb.WriteString(strconv.FormatInt(int64(x.Number), 10)) } if len(x.Options) > 0 { - sb.WriteString(" options: [") + if sb.Len() > 11 { + sb.WriteString(" ") + } + sb.WriteString("options: [") for i, v := range x.Options { if i > 0 { sb.WriteString(", ") @@ -2090,23 +2179,31 @@ func (x *EnumValue) MarshalProtoText() string { sb.WriteString("}") return sb.String() } + func (x *EnumValue) String() string { return x.MarshalProtoText() } func (x *Option) MarshalProtoText() string { var sb strings.Builder - sb.WriteString("Option { ") + sb.WriteString("Option {") if x.Name != "" { - sb.WriteString(" name: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("name: ") sb.WriteString(strconv.Quote(x.Name)) } if x.Value != nil { - sb.WriteString(" value: ") + if sb.Len() > 8 { + sb.WriteString(" ") + } + sb.WriteString("value: ") sb.WriteString(x.Value.MarshalProtoText()) } sb.WriteString("}") return sb.String() } + func (x *Option) String() string { return x.MarshalProtoText() }