Skip to content

Commit

Permalink
Feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
emcfarlane committed Jan 14, 2025
1 parent aca44b7 commit a86fc33
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 12 deletions.
7 changes: 5 additions & 2 deletions private/bufpkg/bufcheck/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
package bufcheck

import (
"fmt"
"slices"

descriptorv1 "buf.build/gen/go/bufbuild/bufplugin/protocolbuffers/go/buf/plugin/descriptor/v1"
Expand Down Expand Up @@ -61,8 +62,10 @@ func imageToProtoFileDescriptors(image bufimage.Image) ([]*descriptorv1.FileDesc
)
for _, descriptor := range reparseDescriptors {
// We clone the FileDescriptorProto to avoid modifying the original.
fileDescriptorProto := &descriptorpb.FileDescriptorProto{}
proto.Merge(fileDescriptorProto, descriptor.FileDescriptorProto)
fileDescriptorProto, ok := proto.Clone(descriptor.FileDescriptorProto).(*descriptorpb.FileDescriptorProto)
if !ok {
return nil, fmt.Errorf("could not clone descriptor.FileDescriptorProto")
}
if err := protoencoding.ReparseExtensions(resolver, fileDescriptorProto.ProtoReflect()); err != nil {
return nil, err
}
Expand Down
15 changes: 5 additions & 10 deletions private/pkg/protoencoding/resolver.go
Original file line number Diff line number Diff line change
Expand Up @@ -256,27 +256,22 @@ type goFeaturesResolver struct {
}

func newGoFeaturesResolver() (*goFeaturesResolver, error) {
var protoregistryFiles protoregistry.Files
if err := protoregistryFiles.RegisterFile(
var resolver goFeaturesResolver
if err := resolver.Files.RegisterFile(
gofeaturespb.File_google_protobuf_go_features_proto,
); err != nil {
return nil, err
}

var protoregistryTypes protoregistry.Types
if err := protoregistryTypes.RegisterExtension(
if err := resolver.Types.RegisterExtension(
gofeaturespb.E_Go.TypeDescriptor().Type(),
); err != nil {
return nil, err
}
if err := protoregistryTypes.RegisterMessage(
if err := resolver.Types.RegisterMessage(
(&gofeaturespb.GoFeatures{}).ProtoReflect().Type(),
); err != nil {
return nil, err
}

return &goFeaturesResolver{
Files: protoregistryFiles,
Types: protoregistryTypes,
}, nil
return &resolver, nil
}

0 comments on commit a86fc33

Please sign in to comment.