internal/fieldnum: generate field numbers for the google.protobuf package
Generate field numbers for the well-known types,
so that encoding/jsonpb can benefit from them as well.
This CL fixes internal/cmd/generate-protos, which was silently failing
because the modulePath was not properly initialized. We fix this by
moving it to the start of the init function.
Change-Id: I87637176f29218cffa512b4baa49f39dae924061
Reviewed-on: https://go-review.googlesource.com/c/protobuf/+/168497
Reviewed-by: Herbie Ong <herbie@google.com>
diff --git a/internal/fileinit/desc_init.go b/internal/fileinit/desc_init.go
index bd706fc..7d14998 100644
--- a/internal/fileinit/desc_init.go
+++ b/internal/fileinit/desc_init.go
@@ -5,8 +5,8 @@
package fileinit
import (
- descfield "github.com/golang/protobuf/v2/internal/descfield"
wire "github.com/golang/protobuf/v2/internal/encoding/wire"
+ fieldnum "github.com/golang/protobuf/v2/internal/fieldnum"
pref "github.com/golang/protobuf/v2/reflect/protoreflect"
)
@@ -89,36 +89,36 @@
v, m := wire.ConsumeBytes(b)
b = b[m:]
switch num {
- case descfield.FileDescriptorProto_Name:
+ case fieldnum.FileDescriptorProto_Name:
fd.path = nb.MakeString(v)
- case descfield.FileDescriptorProto_Package:
+ case fieldnum.FileDescriptorProto_Package:
fd.protoPackage = pref.FullName(nb.MakeString(v))
- case descfield.FileDescriptorProto_EnumType:
- if prevField != descfield.FileDescriptorProto_EnumType {
+ case fieldnum.FileDescriptorProto_EnumType:
+ if prevField != fieldnum.FileDescriptorProto_EnumType {
if numEnums > 0 {
panic("non-contiguous repeated field")
}
posEnums = len(b0) - len(b) - n - m
}
numEnums++
- case descfield.FileDescriptorProto_MessageType:
- if prevField != descfield.FileDescriptorProto_MessageType {
+ case fieldnum.FileDescriptorProto_MessageType:
+ if prevField != fieldnum.FileDescriptorProto_MessageType {
if numMessages > 0 {
panic("non-contiguous repeated field")
}
posMessages = len(b0) - len(b) - n - m
}
numMessages++
- case descfield.FileDescriptorProto_Extension:
- if prevField != descfield.FileDescriptorProto_Extension {
+ case fieldnum.FileDescriptorProto_Extension:
+ if prevField != fieldnum.FileDescriptorProto_Extension {
if numExtensions > 0 {
panic("non-contiguous repeated field")
}
posExtensions = len(b0) - len(b) - n - m
}
numExtensions++
- case descfield.FileDescriptorProto_Service:
- if prevField != descfield.FileDescriptorProto_Service {
+ case fieldnum.FileDescriptorProto_Service:
+ if prevField != fieldnum.FileDescriptorProto_Service {
if numServices > 0 {
panic("non-contiguous repeated field")
}
@@ -200,7 +200,7 @@
v, m := wire.ConsumeBytes(b)
b = b[m:]
switch num {
- case descfield.EnumDescriptorProto_Name:
+ case fieldnum.EnumDescriptorProto_Name:
ed.fullName = nb.AppendFullName(pd.FullName(), v)
}
default:
@@ -227,26 +227,26 @@
v, m := wire.ConsumeBytes(b)
b = b[m:]
switch num {
- case descfield.DescriptorProto_Name:
+ case fieldnum.DescriptorProto_Name:
md.fullName = nb.AppendFullName(pd.FullName(), v)
- case descfield.DescriptorProto_EnumType:
- if prevField != descfield.DescriptorProto_EnumType {
+ case fieldnum.DescriptorProto_EnumType:
+ if prevField != fieldnum.DescriptorProto_EnumType {
if numEnums > 0 {
panic("non-contiguous repeated field")
}
posEnums = len(b0) - len(b) - n - m
}
numEnums++
- case descfield.DescriptorProto_NestedType:
- if prevField != descfield.DescriptorProto_NestedType {
+ case fieldnum.DescriptorProto_NestedType:
+ if prevField != fieldnum.DescriptorProto_NestedType {
if numMessages > 0 {
panic("non-contiguous repeated field")
}
posMessages = len(b0) - len(b) - n - m
}
numMessages++
- case descfield.DescriptorProto_Extension:
- if prevField != descfield.DescriptorProto_Extension {
+ case fieldnum.DescriptorProto_Extension:
+ if prevField != fieldnum.DescriptorProto_Extension {
if numExtensions > 0 {
panic("non-contiguous repeated field")
}
@@ -316,14 +316,14 @@
v, m := wire.ConsumeVarint(b)
b = b[m:]
switch num {
- case descfield.FieldDescriptorProto_Number:
+ case fieldnum.FieldDescriptorProto_Number:
xd.number = pref.FieldNumber(v)
}
case wire.BytesType:
v, m := wire.ConsumeBytes(b)
b = b[m:]
switch num {
- case descfield.FieldDescriptorProto_Name:
+ case fieldnum.FieldDescriptorProto_Name:
xd.fullName = nb.AppendFullName(pd.FullName(), v)
}
default:
@@ -346,7 +346,7 @@
v, m := wire.ConsumeBytes(b)
b = b[m:]
switch num {
- case descfield.ServiceDescriptorProto_Name:
+ case fieldnum.ServiceDescriptorProto_Name:
sd.fullName = nb.AppendFullName(pd.FullName(), v)
}
default: