From 5d8a072a3ac315b243b9ee10b0e902348b5365e7 Mon Sep 17 00:00:00 2001 From: Max Neverov Date: Thu, 12 Mar 2026 07:23:04 +0100 Subject: [PATCH 1/2] Print lock names when expected != actual. --- protectedby/analyzer_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/protectedby/analyzer_test.go b/protectedby/analyzer_test.go index e8a2dad..db20531 100644 --- a/protectedby/analyzer_test.go +++ b/protectedby/analyzer_test.go @@ -83,7 +83,7 @@ func Test_getLockName(t *testing.T) { } if name != tc.expectedLockName { - t.Fatalf("expected lock name %q, got %q", tc.expectedError, err) + t.Fatalf("expected lock name %q, got %q", tc.expectedLockName, name) } }) } From ce68f7b7e638f3629e975a4feab57c82c84a119a Mon Sep 17 00:00:00 2001 From: Max Neverov Date: Thu, 12 Mar 2026 07:31:56 +0100 Subject: [PATCH 2/2] Return early when found field by name. --- protectedby/analyzer.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/protectedby/analyzer.go b/protectedby/analyzer.go index 892bf63..b8aea31 100644 --- a/protectedby/analyzer.go +++ b/protectedby/analyzer.go @@ -430,18 +430,15 @@ func getLock(pass *analysis.Pass, spec *ast.TypeSpec, c *ast.Comment) (*ast.Fiel } func getStructFieldByName(name string, st *ast.StructType) *ast.Field { - var lockField *ast.Field - for _, field := range st.Fields.List { for _, n := range field.Names { if name == n.Name { - lockField = field - break + return field } } } - return lockField + return nil } // getLockName returns the first word in the comment after "protected by" statement or error if the statement is not