diff --git a/analyzer.go b/analyzer.go index b8eac15..6ac49c8 100644 --- a/analyzer.go +++ b/analyzer.go @@ -2,6 +2,7 @@ package wsl import ( "flag" + "go/ast" "strings" "golang.org/x/tools/go/analysis" @@ -75,6 +76,10 @@ func (wa *wslAnalyzer) flags() flag.FlagSet { func (wa *wslAnalyzer) run(pass *analysis.Pass) (interface{}, error) { for _, file := range pass.Files { + if ast.IsGenerated(file) { + continue + } + filename := pass.Fset.PositionFor(file.Pos(), false).Filename if !strings.HasSuffix(filename, ".go") { continue diff --git a/testdata/src/default_config/generated.go b/testdata/src/default_config/generated.go new file mode 100644 index 0000000..b93e418 --- /dev/null +++ b/testdata/src/default_config/generated.go @@ -0,0 +1,21 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. + +package chat + +func _ChatService_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Message) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChatServiceServer).SayHello(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/go.grpc.http.muxer.com.chat.v1.ChatService/SayHello", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChatServiceServer).SayHello(ctx, req.(*Message)) + } + return interceptor(ctx, in, info, handler) +} diff --git a/testdata/src/default_config/generated.go.golden b/testdata/src/default_config/generated.go.golden new file mode 100644 index 0000000..b93e418 --- /dev/null +++ b/testdata/src/default_config/generated.go.golden @@ -0,0 +1,21 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. + +package chat + +func _ChatService_SayHello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(Message) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(ChatServiceServer).SayHello(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/go.grpc.http.muxer.com.chat.v1.ChatService/SayHello", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(ChatServiceServer).SayHello(ctx, req.(*Message)) + } + return interceptor(ctx, in, info, handler) +}