mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-12-08 02:15:27 +00:00
Level sets dependency graph to consume etcd 3.1.5
This commit is contained in:
284
vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go
generated
vendored
284
vendor/github.com/gogo/protobuf/plugin/unmarshal/unmarshal.go
generated
vendored
@@ -1,4 +1,6 @@
|
||||
// Copyright (c) 2013, Vastech SA (PTY) LTD. All rights reserved.
|
||||
// Protocol Buffers for Go with Gadgets
|
||||
//
|
||||
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
|
||||
// http://github.com/gogo/protobuf
|
||||
//
|
||||
// Redistribution and use in source and binary forms, with or without
|
||||
@@ -73,8 +75,8 @@ The following message:
|
||||
|
||||
given to the unmarshal plugin, will generate the following code:
|
||||
|
||||
func (m *B) Unmarshal(data []byte) error {
|
||||
l := len(data)
|
||||
func (m *B) Unmarshal(dAtA []byte) error {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
var wire uint64
|
||||
@@ -82,7 +84,7 @@ given to the unmarshal plugin, will generate the following code:
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
wire |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -101,7 +103,7 @@ given to the unmarshal plugin, will generate the following code:
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
msglen |= (int(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -112,7 +114,7 @@ given to the unmarshal plugin, will generate the following code:
|
||||
if postIndex > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
if err := m.A.Unmarshal(data[iNdEx:postIndex]); err != nil {
|
||||
if err := m.A.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
@@ -125,7 +127,7 @@ given to the unmarshal plugin, will generate the following code:
|
||||
if iNdEx >= l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
byteLen |= (int(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -137,7 +139,7 @@ given to the unmarshal plugin, will generate the following code:
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.G = append(m.G, github_com_gogo_protobuf_test_custom.Uint128{})
|
||||
if err := m.G[len(m.G)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {
|
||||
if err := m.G[len(m.G)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
|
||||
return err
|
||||
}
|
||||
iNdEx = postIndex
|
||||
@@ -151,14 +153,14 @@ given to the unmarshal plugin, will generate the following code:
|
||||
}
|
||||
}
|
||||
iNdEx -= sizeOfWire
|
||||
skippy, err := skip(data[iNdEx:])
|
||||
skippy, err := skip(dAtA[iNdEx:])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if (iNdEx + skippy) > l {
|
||||
return io.ErrUnexpectedEOF
|
||||
}
|
||||
m.XXX_unrecognized = append(m.XXX_unrecognized, data[iNdEx:iNdEx+skippy]...)
|
||||
m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)
|
||||
iNdEx += skippy
|
||||
}
|
||||
}
|
||||
@@ -191,6 +193,7 @@ type unmarshal struct {
|
||||
ioPkg generator.Single
|
||||
mathPkg generator.Single
|
||||
unsafePkg generator.Single
|
||||
typesPkg generator.Single
|
||||
localName string
|
||||
}
|
||||
|
||||
@@ -226,7 +229,7 @@ func (p *unmarshal) decodeVarint(varName string, typName string) {
|
||||
p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(`b := data[iNdEx]`)
|
||||
p.P(`b := dAtA[iNdEx]`)
|
||||
p.P(`iNdEx++`)
|
||||
p.P(varName, ` |= (`, typName, `(b) & 0x7F) << shift`)
|
||||
p.P(`if b < 0x80 {`)
|
||||
@@ -245,10 +248,10 @@ func (p *unmarshal) decodeFixed32(varName string, typeName string) {
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(`iNdEx += 4`)
|
||||
p.P(varName, ` = `, typeName, `(data[iNdEx-4])`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-3]) << 8`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-2]) << 16`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-1]) << 24`)
|
||||
p.P(varName, ` = `, typeName, `(dAtA[iNdEx-4])`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-3]) << 8`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-2]) << 16`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-1]) << 24`)
|
||||
}
|
||||
|
||||
func (p *unmarshal) unsafeFixed32(varName string, typeName string) {
|
||||
@@ -257,7 +260,7 @@ func (p *unmarshal) unsafeFixed32(varName string, typeName string) {
|
||||
p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(varName, ` = *(*`, typeName, `)(`, p.unsafePkg.Use(), `.Pointer(&data[iNdEx]))`)
|
||||
p.P(varName, ` = *(*`, typeName, `)(`, p.unsafePkg.Use(), `.Pointer(&dAtA[iNdEx]))`)
|
||||
p.P(`iNdEx += 4`)
|
||||
}
|
||||
|
||||
@@ -268,14 +271,14 @@ func (p *unmarshal) decodeFixed64(varName string, typeName string) {
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(`iNdEx += 8`)
|
||||
p.P(varName, ` = `, typeName, `(data[iNdEx-8])`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-7]) << 8`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-6]) << 16`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-5]) << 24`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-4]) << 32`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-3]) << 40`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-2]) << 48`)
|
||||
p.P(varName, ` |= `, typeName, `(data[iNdEx-1]) << 56`)
|
||||
p.P(varName, ` = `, typeName, `(dAtA[iNdEx-8])`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-7]) << 8`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-6]) << 16`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-5]) << 24`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-4]) << 32`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-3]) << 40`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-2]) << 48`)
|
||||
p.P(varName, ` |= `, typeName, `(dAtA[iNdEx-1]) << 56`)
|
||||
}
|
||||
|
||||
func (p *unmarshal) unsafeFixed64(varName string, typeName string) {
|
||||
@@ -284,11 +287,11 @@ func (p *unmarshal) unsafeFixed64(varName string, typeName string) {
|
||||
p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(varName, ` = *(*`, typeName, `)(`, p.unsafePkg.Use(), `.Pointer(&data[iNdEx]))`)
|
||||
p.P(varName, ` = *(*`, typeName, `)(`, p.unsafePkg.Use(), `.Pointer(&dAtA[iNdEx]))`)
|
||||
p.P(`iNdEx += 8`)
|
||||
}
|
||||
|
||||
func (p *unmarshal) mapField(varName string, field *descriptor.FieldDescriptorProto) {
|
||||
func (p *unmarshal) mapField(varName string, customType bool, field *descriptor.FieldDescriptorProto) {
|
||||
switch field.GetType() {
|
||||
case descriptor.FieldDescriptorProto_TYPE_DOUBLE:
|
||||
p.P(`var `, varName, `temp uint64`)
|
||||
@@ -334,7 +337,7 @@ func (p *unmarshal) mapField(varName string, field *descriptor.FieldDescriptorPr
|
||||
p.P(`}`)
|
||||
cast, _ := p.GoType(nil, field)
|
||||
cast = strings.Replace(cast, "*", "", 1)
|
||||
p.P(varName, ` := `, cast, `(data[iNdEx:postStringIndex`, varName, `])`)
|
||||
p.P(varName, ` := `, cast, `(dAtA[iNdEx:postStringIndex`, varName, `])`)
|
||||
p.P(`iNdEx = postStringIndex`, varName)
|
||||
case descriptor.FieldDescriptorProto_TYPE_MESSAGE:
|
||||
p.P(`var mapmsglen int`)
|
||||
@@ -357,8 +360,17 @@ func (p *unmarshal) mapField(varName string, field *descriptor.FieldDescriptorPr
|
||||
p.P(`}`)
|
||||
desc := p.ObjectNamed(field.GetTypeName())
|
||||
msgname := p.TypeName(desc)
|
||||
p.P(varName, ` := &`, msgname, `{}`)
|
||||
p.P(`if err := `, varName, `.Unmarshal(data[iNdEx:postmsgIndex]); err != nil {`)
|
||||
buf := `dAtA[iNdEx:postmsgIndex]`
|
||||
if gogoproto.IsStdTime(field) {
|
||||
p.P(varName, ` := new(time.Time)`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(`, varName, `, `, buf, `); err != nil {`)
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
p.P(varName, ` := new(time.Duration)`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(`, varName, `, `, buf, `); err != nil {`)
|
||||
} else {
|
||||
p.P(varName, ` := &`, msgname, `{}`)
|
||||
p.P(`if err := `, varName, `.Unmarshal(`, buf, `); err != nil {`)
|
||||
}
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -379,8 +391,22 @@ func (p *unmarshal) mapField(varName string, field *descriptor.FieldDescriptorPr
|
||||
p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(varName, ` := make([]byte, mapbyteLen)`)
|
||||
p.P(`copy(`, varName, `, data[iNdEx:postbytesIndex])`)
|
||||
if customType {
|
||||
_, ctyp, err := generator.GetCustomType(field)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
p.P(`var `, varName, `1 `, ctyp)
|
||||
p.P(`var `, varName, ` = &`, varName, `1`)
|
||||
p.P(`if err := `, varName, `.Unmarshal(dAtA[iNdEx:postbytesIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
} else {
|
||||
p.P(varName, ` := make([]byte, mapbyteLen)`)
|
||||
p.P(`copy(`, varName, `, dAtA[iNdEx:postbytesIndex])`)
|
||||
}
|
||||
p.P(`iNdEx = postbytesIndex`)
|
||||
case descriptor.FieldDescriptorProto_TYPE_UINT32:
|
||||
p.P(`var `, varName, ` uint32`)
|
||||
@@ -640,13 +666,13 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
if oneof {
|
||||
p.P(`m.`, fieldname, ` = &`, p.OneOfTypeName(msg, field), `{`, typ, `(data[iNdEx:postIndex])}`)
|
||||
p.P(`m.`, fieldname, ` = &`, p.OneOfTypeName(msg, field), `{`, typ, `(dAtA[iNdEx:postIndex])}`)
|
||||
} else if repeated {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, `, typ, `(data[iNdEx:postIndex]))`)
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, `, typ, `(dAtA[iNdEx:postIndex]))`)
|
||||
} else if proto3 || !nullable {
|
||||
p.P(`m.`, fieldname, ` = `, typ, `(data[iNdEx:postIndex])`)
|
||||
p.P(`m.`, fieldname, ` = `, typ, `(dAtA[iNdEx:postIndex])`)
|
||||
} else {
|
||||
p.P(`s := `, typ, `(data[iNdEx:postIndex])`)
|
||||
p.P(`s := `, typ, `(dAtA[iNdEx:postIndex])`)
|
||||
p.P(`m.`, fieldname, ` = &s`)
|
||||
}
|
||||
p.P(`iNdEx = postIndex`)
|
||||
@@ -669,8 +695,27 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
if oneof {
|
||||
p.P(`v := &`, msgname, `{}`)
|
||||
p.P(`if err := v.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
buf := `dAtA[iNdEx:postIndex]`
|
||||
if gogoproto.IsStdTime(field) {
|
||||
if nullable {
|
||||
p.P(`v := new(time.Time)`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(v, `, buf, `); err != nil {`)
|
||||
} else {
|
||||
p.P(`v := time.Time{}`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(&v, `, buf, `); err != nil {`)
|
||||
}
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
if nullable {
|
||||
p.P(`v := new(time.Duration)`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(v, `, buf, `); err != nil {`)
|
||||
} else {
|
||||
p.P(`v := time.Duration(0)`)
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&v, `, buf, `); err != nil {`)
|
||||
}
|
||||
} else {
|
||||
p.P(`v := &`, msgname, `{}`)
|
||||
p.P(`if err := v.Unmarshal(`, buf, `); err != nil {`)
|
||||
}
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -690,17 +735,21 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
|
||||
// if the map type is an alias and key or values are aliases (type Foo map[Bar]Baz),
|
||||
// we need to explicitly record their use here.
|
||||
p.RecordTypeUse(m.KeyAliasField.GetTypeName())
|
||||
p.RecordTypeUse(m.ValueAliasField.GetTypeName())
|
||||
if gogoproto.IsCastKey(field) {
|
||||
p.RecordTypeUse(m.KeyAliasField.GetTypeName())
|
||||
}
|
||||
if gogoproto.IsCastValue(field) {
|
||||
p.RecordTypeUse(m.ValueAliasField.GetTypeName())
|
||||
}
|
||||
|
||||
nullable, valuegoTyp, valuegoAliasTyp = generator.GoMapValueTypes(field, m.ValueField, valuegoTyp, valuegoAliasTyp)
|
||||
if gogoproto.IsStdTime(field) || gogoproto.IsStdDuration(field) {
|
||||
valuegoTyp = valuegoAliasTyp
|
||||
}
|
||||
|
||||
p.P(`var keykey uint64`)
|
||||
p.decodeVarint("keykey", "uint64")
|
||||
p.mapField("mapkey", m.KeyAliasField)
|
||||
p.P(`var valuekey uint64`)
|
||||
p.decodeVarint("valuekey", "uint64")
|
||||
p.mapField("mapvalue", m.ValueAliasField)
|
||||
p.mapField("mapkey", false, m.KeyAliasField)
|
||||
p.P(`if m.`, fieldname, ` == nil {`)
|
||||
p.In()
|
||||
p.P(`m.`, fieldname, ` = make(`, m.GoType, `)`)
|
||||
@@ -713,20 +762,79 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
s += `[` + keygoAliasTyp + `(mapkey)]`
|
||||
}
|
||||
v := `mapvalue`
|
||||
if m.ValueField.IsMessage() && !nullable {
|
||||
if (m.ValueField.IsMessage() || gogoproto.IsCustomType(field)) && !nullable {
|
||||
v = `*` + v
|
||||
}
|
||||
if valuegoTyp != valuegoAliasTyp {
|
||||
v = `((` + valuegoAliasTyp + `)(` + v + `))`
|
||||
}
|
||||
p.P(`if iNdEx < postIndex {`)
|
||||
p.In()
|
||||
p.P(`var valuekey uint64`)
|
||||
p.decodeVarint("valuekey", "uint64")
|
||||
p.mapField("mapvalue", gogoproto.IsCustomType(field), m.ValueAliasField)
|
||||
p.P(s, ` = `, v)
|
||||
p.Out()
|
||||
p.P(`} else {`)
|
||||
p.In()
|
||||
if gogoproto.IsStdTime(field) {
|
||||
p.P(`var mapvalue = new(time.Time)`)
|
||||
if nullable {
|
||||
p.P(s, ` = mapvalue`)
|
||||
} else {
|
||||
p.P(s, ` = *mapvalue`)
|
||||
}
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
p.P(`var mapvalue = new(time.Duration)`)
|
||||
if nullable {
|
||||
p.P(s, ` = mapvalue`)
|
||||
} else {
|
||||
p.P(s, ` = *mapvalue`)
|
||||
}
|
||||
} else {
|
||||
p.P(`var mapvalue `, valuegoAliasTyp)
|
||||
p.P(s, ` = mapvalue`)
|
||||
}
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
} else if repeated {
|
||||
if nullable {
|
||||
if gogoproto.IsStdTime(field) {
|
||||
if nullable {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(time.Time))`)
|
||||
} else {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, time.Time{})`)
|
||||
}
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
if nullable {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, new(time.Duration))`)
|
||||
} else {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, time.Duration(0))`)
|
||||
}
|
||||
} else if nullable && !gogoproto.IsCustomType(field) {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, &`, msgname, `{})`)
|
||||
} else {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, `, msgname, `{})`)
|
||||
goType, _ := p.GoType(nil, field)
|
||||
// remove the slice from the type, i.e. []*T -> *T
|
||||
goType = goType[2:]
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, `, goType, `{})`)
|
||||
}
|
||||
varName := `m.` + fieldname + `[len(m.` + fieldname + `)-1]`
|
||||
buf := `dAtA[iNdEx:postIndex]`
|
||||
if gogoproto.IsStdTime(field) {
|
||||
if nullable {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(`, varName, `,`, buf, `); err != nil {`)
|
||||
} else {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(&(`, varName, `),`, buf, `); err != nil {`)
|
||||
}
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
if nullable {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(`, varName, `,`, buf, `); err != nil {`)
|
||||
} else {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&(`, varName, `),`, buf, `); err != nil {`)
|
||||
}
|
||||
} else {
|
||||
p.P(`if err := `, varName, `.Unmarshal(`, buf, `); err != nil {`)
|
||||
}
|
||||
p.P(`if err := m.`, fieldname, `[len(m.`, fieldname, `)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -734,22 +842,43 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
} else if nullable {
|
||||
p.P(`if m.`, fieldname, ` == nil {`)
|
||||
p.In()
|
||||
p.P(`m.`, fieldname, ` = &`, msgname, `{}`)
|
||||
if gogoproto.IsStdTime(field) {
|
||||
p.P(`m.`, fieldname, ` = new(time.Time)`)
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
p.P(`m.`, fieldname, ` = new(time.Duration)`)
|
||||
} else {
|
||||
goType, _ := p.GoType(nil, field)
|
||||
// remove the star from the type
|
||||
p.P(`m.`, fieldname, ` = &`, goType[1:], `{}`)
|
||||
}
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
if gogoproto.IsStdTime(field) {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
} else {
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
}
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
} else {
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
if gogoproto.IsStdTime(field) {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdTimeUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
} else if gogoproto.IsStdDuration(field) {
|
||||
p.P(`if err := `, p.typesPkg.Use(), `.StdDurationUnmarshal(&m.`, fieldname, `, dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
} else {
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
}
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
}
|
||||
p.P(`iNdEx = postIndex`)
|
||||
|
||||
case descriptor.FieldDescriptorProto_TYPE_BYTES:
|
||||
p.P(`var byteLen int`)
|
||||
p.decodeVarint("byteLen", "int")
|
||||
@@ -767,13 +896,13 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
if !gogoproto.IsCustomType(field) {
|
||||
if oneof {
|
||||
p.P(`v := make([]byte, postIndex-iNdEx)`)
|
||||
p.P(`copy(v, data[iNdEx:postIndex])`)
|
||||
p.P(`copy(v, dAtA[iNdEx:postIndex])`)
|
||||
p.P(`m.`, fieldname, ` = &`, p.OneOfTypeName(msg, field), `{v}`)
|
||||
} else if repeated {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, make([]byte, postIndex-iNdEx))`)
|
||||
p.P(`copy(m.`, fieldname, `[len(m.`, fieldname, `)-1], data[iNdEx:postIndex])`)
|
||||
p.P(`copy(m.`, fieldname, `[len(m.`, fieldname, `)-1], dAtA[iNdEx:postIndex])`)
|
||||
} else {
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `[:0] , data[iNdEx:postIndex]...)`)
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `[:0] , dAtA[iNdEx:postIndex]...)`)
|
||||
p.P(`if m.`, fieldname, ` == nil {`)
|
||||
p.In()
|
||||
p.P(`m.`, fieldname, ` = []byte{}`)
|
||||
@@ -788,7 +917,7 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
if oneof {
|
||||
p.P(`var vv `, ctyp)
|
||||
p.P(`v := &vv`)
|
||||
p.P(`if err := v.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
p.P(`if err := v.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -797,7 +926,7 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
} else if repeated {
|
||||
p.P(`var v `, ctyp)
|
||||
p.P(`m.`, fieldname, ` = append(m.`, fieldname, `, v)`)
|
||||
p.P(`if err := m.`, fieldname, `[len(m.`, fieldname, `)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
p.P(`if err := m.`, fieldname, `[len(m.`, fieldname, `)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -805,13 +934,13 @@ func (p *unmarshal) field(file *generator.FileDescriptor, msg *generator.Descrip
|
||||
} else if nullable {
|
||||
p.P(`var v `, ctyp)
|
||||
p.P(`m.`, fieldname, ` = &v`)
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
} else {
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(data[iNdEx:postIndex]); err != nil {`)
|
||||
p.P(`if err := m.`, fieldname, `.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
p.Out()
|
||||
@@ -968,6 +1097,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
p.ioPkg = p.NewImport("io")
|
||||
p.mathPkg = p.NewImport("math")
|
||||
p.unsafePkg = p.NewImport("unsafe")
|
||||
p.typesPkg = p.NewImport("github.com/gogo/protobuf/types")
|
||||
fmtPkg := p.NewImport("fmt")
|
||||
protoPkg := p.NewImport("github.com/gogo/protobuf/proto")
|
||||
if !gogoproto.ImportsGoGoProto(file.FileDescriptorProto) {
|
||||
@@ -1008,12 +1138,12 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
}
|
||||
rfCount := len(rfMap)
|
||||
|
||||
p.P(`func (m *`, ccTypeName, `) Unmarshal(data []byte) error {`)
|
||||
p.P(`func (m *`, ccTypeName, `) Unmarshal(dAtA []byte) error {`)
|
||||
p.In()
|
||||
if rfCount > 0 {
|
||||
p.P(`var hasFields [`, strconv.Itoa(1+(rfCount-1)/64), `]uint64`)
|
||||
}
|
||||
p.P(`l := len(data)`)
|
||||
p.P(`l := len(dAtA)`)
|
||||
p.P(`iNdEx := 0`)
|
||||
p.P(`for iNdEx < l {`)
|
||||
p.In()
|
||||
@@ -1044,12 +1174,16 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
if field.OneofIndex != nil {
|
||||
errFieldname = p.GetOneOfFieldName(message, field)
|
||||
}
|
||||
packed := field.IsPacked()
|
||||
possiblyPacked := field.IsScalar() && field.IsRepeated()
|
||||
p.P(`case `, strconv.Itoa(int(field.GetNumber())), `:`)
|
||||
p.In()
|
||||
wireType := field.WireType()
|
||||
if packed {
|
||||
p.P(`if wireType == `, strconv.Itoa(proto.WireBytes), `{`)
|
||||
if possiblyPacked {
|
||||
p.P(`if wireType == `, strconv.Itoa(wireType), `{`)
|
||||
p.In()
|
||||
p.field(file, message, field, fieldname, false)
|
||||
p.Out()
|
||||
p.P(`} else if wireType == `, strconv.Itoa(proto.WireBytes), `{`)
|
||||
p.In()
|
||||
p.P(`var packedLen int`)
|
||||
p.decodeVarint("packedLen", "int")
|
||||
@@ -1070,10 +1204,6 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.Out()
|
||||
p.P(`} else if wireType == `, strconv.Itoa(wireType), `{`)
|
||||
p.In()
|
||||
p.field(file, message, field, fieldname, false)
|
||||
p.Out()
|
||||
p.P(`} else {`)
|
||||
p.In()
|
||||
p.P(`return ` + fmtPkg.Use() + `.Errorf("proto: wrong wireType = %d for field ` + errFieldname + `", wireType)`)
|
||||
@@ -1119,7 +1249,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(`iNdEx-=sizeOfWire`)
|
||||
p.P(`skippy, err := skip`, p.localName+`(data[iNdEx:])`)
|
||||
p.P(`skippy, err := skip`, p.localName+`(dAtA[iNdEx:])`)
|
||||
p.P(`if err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
@@ -1135,14 +1265,14 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
p.P(`return `, p.ioPkg.Use(), `.ErrUnexpectedEOF`)
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
p.P(protoPkg.Use(), `.AppendExtension(m, int32(fieldNum), data[iNdEx:iNdEx+skippy])`)
|
||||
p.P(protoPkg.Use(), `.AppendExtension(m, int32(fieldNum), dAtA[iNdEx:iNdEx+skippy])`)
|
||||
p.P(`iNdEx += skippy`)
|
||||
p.Out()
|
||||
p.P(`} else {`)
|
||||
p.In()
|
||||
}
|
||||
p.P(`iNdEx=preIndex`)
|
||||
p.P(`skippy, err := skip`, p.localName, `(data[iNdEx:])`)
|
||||
p.P(`skippy, err := skip`, p.localName, `(dAtA[iNdEx:])`)
|
||||
p.P(`if err != nil {`)
|
||||
p.In()
|
||||
p.P(`return err`)
|
||||
@@ -1159,7 +1289,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
p.Out()
|
||||
p.P(`}`)
|
||||
if gogoproto.HasUnrecognized(file.FileDescriptorProto, message.DescriptorProto) {
|
||||
p.P(`m.XXX_unrecognized = append(m.XXX_unrecognized, data[iNdEx:iNdEx+skippy]...)`)
|
||||
p.P(`m.XXX_unrecognized = append(m.XXX_unrecognized, dAtA[iNdEx:iNdEx+skippy]...)`)
|
||||
}
|
||||
p.P(`iNdEx += skippy`)
|
||||
p.Out()
|
||||
@@ -1206,8 +1336,8 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
return
|
||||
}
|
||||
|
||||
p.P(`func skip` + p.localName + `(data []byte) (n int, err error) {
|
||||
l := len(data)
|
||||
p.P(`func skip` + p.localName + `(dAtA []byte) (n int, err error) {
|
||||
l := len(dAtA)
|
||||
iNdEx := 0
|
||||
for iNdEx < l {
|
||||
var wire uint64
|
||||
@@ -1218,7 +1348,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
if iNdEx >= l {
|
||||
return 0, ` + p.ioPkg.Use() + `.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
wire |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -1236,7 +1366,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
return 0, ` + p.ioPkg.Use() + `.ErrUnexpectedEOF
|
||||
}
|
||||
iNdEx++
|
||||
if data[iNdEx-1] < 0x80 {
|
||||
if dAtA[iNdEx-1] < 0x80 {
|
||||
break
|
||||
}
|
||||
}
|
||||
@@ -1253,7 +1383,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
if iNdEx >= l {
|
||||
return 0, ` + p.ioPkg.Use() + `.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
length |= (int(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -1276,7 +1406,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
if iNdEx >= l {
|
||||
return 0, ` + p.ioPkg.Use() + `.ErrUnexpectedEOF
|
||||
}
|
||||
b := data[iNdEx]
|
||||
b := dAtA[iNdEx]
|
||||
iNdEx++
|
||||
innerWire |= (uint64(b) & 0x7F) << shift
|
||||
if b < 0x80 {
|
||||
@@ -1287,7 +1417,7 @@ func (p *unmarshal) Generate(file *generator.FileDescriptor) {
|
||||
if innerWireType == 4 {
|
||||
break
|
||||
}
|
||||
next, err := skip` + p.localName + `(data[start:])
|
||||
next, err := skip` + p.localName + `(dAtA[start:])
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user