Skip to content

Commit

Permalink
Update migrator to support editions
Browse files Browse the repository at this point in the history
  • Loading branch information
rodaine committed Dec 4, 2023
1 parent 82d0df3 commit 1a07bda
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 169 deletions.
6 changes: 6 additions & 0 deletions go.work.sum
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
github.com/bufbuild/protocompile v0.7.0 h1:ZfJAqcMG5okLzemO016O1BByzTJx2k32hBAby5nYE8k=
github.com/bufbuild/protocompile v0.7.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94=
github.com/golang/protobuf v1.5.0 h1:LUVKkCeviFUMKqHa4tXIIij/lbhnMbP7Fn5wKdKkRh4=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I=
golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U=
golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 h1:fk72uXZyuZiTtW5tgd63jyVK6582lF61nRC/kGv6vCA=
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
4 changes: 2 additions & 2 deletions tools/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ module github.com/bufbuild/protovalidate/tools
go 1.21

require (
github.com/bufbuild/protocompile v0.6.0
github.com/bufbuild/protocompile v0.7.0
github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.8.4
golang.org/x/sync v0.5.0
google.golang.org/protobuf v1.31.0
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1
gopkg.in/yaml.v3 v3.0.1
)

Expand Down
12 changes: 6 additions & 6 deletions tools/go.sum
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
github.com/bufbuild/protocompile v0.6.0 h1:Uu7WiSQ6Yj9DbkdnOe7U4mNKp58y9WDMKDn28/ZlunY=
github.com/bufbuild/protocompile v0.6.0/go.mod h1:YNP35qEYoYGme7QMtz5SBCoN4kL4g12jTtjuzRNdjpE=
github.com/bufbuild/protocompile v0.7.0 h1:ZfJAqcMG5okLzemO016O1BByzTJx2k32hBAby5nYE8k=
github.com/bufbuild/protocompile v0.7.0/go.mod h1:+Etjg4guZoAqzVk2czwEQP12yaxLJ8DxuqCJ9qHdH94=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
Expand All @@ -16,8 +16,8 @@ golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1 h1:fk72uXZyuZiTtW5tgd63jyVK6582lF61nRC/kGv6vCA=
google.golang.org/protobuf v1.31.1-0.20231027082548-f4a6c1f6e5c1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
Expand Down
171 changes: 15 additions & 156 deletions tools/protovalidate-migrate/internal/migrator/printer.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ import (
)

type PrinterVisitor struct {
*ast.SimpleVisitor

Config
HasPGV bool
HasPV bool
Expand All @@ -29,6 +31,19 @@ type PrinterVisitor struct {
w io.Writer
}

func NewPrinterVisitor(cfg Config, file *ast.FileNode, w io.Writer) PrinterVisitor {
printer := PrinterVisitor{
SimpleVisitor: &ast.SimpleVisitor{},
Config: cfg,
file: file,
w: w,
}
printer.DoVisitNode = func(node ast.Node) error {
return printer.PrintNodes(true, node)
}
return printer
}

func (v PrinterVisitor) PrintNodes(printComments bool, nodes ...ast.Node) error {
for _, node := range nodes {
var nodeInfo nodeInfo
Expand Down Expand Up @@ -95,159 +110,3 @@ func (v PrinterVisitor) replaceNode(original ast.Node, replacement string) repla
},
}
}

func (v PrinterVisitor) VisitFileNode(node *ast.FileNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitSyntaxNode(node *ast.SyntaxNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitPackageNode(node *ast.PackageNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitImportNode(node *ast.ImportNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitOptionNode(node *ast.OptionNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitOptionNameNode(node *ast.OptionNameNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitFieldReferenceNode(node *ast.FieldReferenceNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitCompactOptionsNode(node *ast.CompactOptionsNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitMessageNode(node *ast.MessageNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitExtendNode(node *ast.ExtendNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitExtensionRangeNode(node *ast.ExtensionRangeNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitReservedNode(node *ast.ReservedNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitRangeNode(node *ast.RangeNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitFieldNode(node *ast.FieldNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitGroupNode(node *ast.GroupNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitMapFieldNode(node *ast.MapFieldNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitMapTypeNode(node *ast.MapTypeNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitOneofNode(node *ast.OneofNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitEnumNode(node *ast.EnumNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitEnumValueNode(node *ast.EnumValueNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitServiceNode(node *ast.ServiceNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitRPCNode(node *ast.RPCNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitRPCTypeNode(node *ast.RPCTypeNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitIdentNode(node *ast.IdentNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitCompoundIdentNode(node *ast.CompoundIdentNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitStringLiteralNode(node *ast.StringLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitCompoundStringLiteralNode(node *ast.CompoundStringLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitUintLiteralNode(node *ast.UintLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitPositiveUintLiteralNode(node *ast.PositiveUintLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitNegativeIntLiteralNode(node *ast.NegativeIntLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitFloatLiteralNode(node *ast.FloatLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitSpecialFloatLiteralNode(node *ast.SpecialFloatLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitSignedFloatLiteralNode(node *ast.SignedFloatLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitArrayLiteralNode(node *ast.ArrayLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitMessageLiteralNode(node *ast.MessageLiteralNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitMessageFieldNode(node *ast.MessageFieldNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitKeywordNode(node *ast.KeywordNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitRuneNode(node *ast.RuneNode) error {
return v.PrintNodes(true, node)
}

func (v PrinterVisitor) VisitEmptyDeclNode(node *ast.EmptyDeclNode) error {
return v.PrintNodes(true, node)
}
6 changes: 1 addition & 5 deletions tools/protovalidate-migrate/internal/migrator/visitor.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,7 @@ import (

func New(cfg Config, fileNode *ast.FileNode, out io.Writer) ast.Visitor {
return &RootVisitor{
printer: PrinterVisitor{
Config: cfg,
file: fileNode,
w: out,
},
printer: NewPrinterVisitor(cfg, fileNode, out),
}
}

Expand Down

0 comments on commit 1a07bda

Please sign in to comment.