Skip to content

Commit 6609d9a

Browse files
committed
chore: improve analyzer constructor
1 parent a2a9f54 commit 6609d9a

File tree

3 files changed

+11
-10
lines changed

3 files changed

+11
-10
lines changed

cmd/nakedret/main.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ func init() {
1919
}
2020

2121
func main() {
22-
analyzer := nakedret.NakedReturnAnalyzer(DefaultLines, DefaultSkipTestFiles)
22+
nakedRet := &nakedret.NakedReturnRunner{}
23+
24+
analyzer := nakedret.NakedReturnAnalyzer(nakedRet)
25+
26+
analyzer.Flags.UintVar(&nakedRet.MaxLength, "l", DefaultLines, "maximum number of lines for a naked return function")
27+
analyzer.Flags.BoolVar(&nakedRet.SkipTestFiles, "skip-test-files", DefaultSkipTestFiles, "set to true to skip test files")
28+
2329
singlechecker.Main(analyzer)
2430
}

nakedret.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,14 @@ import (
2121

2222
const pwd = "./"
2323

24-
func NakedReturnAnalyzer(defaultLines uint, skipTestFiles bool) *analysis.Analyzer {
25-
nakedRet := &NakedReturnRunner{}
26-
24+
func NakedReturnAnalyzer(nakedRet *NakedReturnRunner) *analysis.Analyzer {
2725
a := &analysis.Analyzer{
2826
Name: "nakedret",
2927
Doc: "Checks that functions with naked returns are not longer than a maximum size (can be zero).",
3028
Run: nakedRet.run,
3129
Requires: []*analysis.Analyzer{inspect.Analyzer},
3230
}
3331

34-
a.Flags.UintVar(&nakedRet.MaxLength, "l", defaultLines, "maximum number of lines for a naked return function")
35-
a.Flags.BoolVar(&nakedRet.SkipTestFiles, "skip-test-files", skipTestFiles, "set to true to skip test files")
36-
3732
return a
3833
}
3934

@@ -91,7 +86,7 @@ func checkNakedReturns(args []string, maxLength *uint, skipTestFiles bool, setEx
9186
return errors.New("max length nil")
9287
}
9388

94-
analyzer := NakedReturnAnalyzer(*maxLength, skipTestFiles)
89+
analyzer := NakedReturnAnalyzer(&NakedReturnRunner{MaxLength: *maxLength, SkipTestFiles: skipTestFiles})
9590
pass := &analysis.Pass{
9691
Analyzer: analyzer,
9792
Fset: fset,

nakedret_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func TestAll(t *testing.T) {
109109
}
110110

111111
testdata := filepath.Join(wd, "testdata")
112-
analysistest.Run(t, testdata, NakedReturnAnalyzer(0, true), "x")
112+
analysistest.Run(t, testdata, NakedReturnAnalyzer(&NakedReturnRunner{SkipTestFiles: true}), "x")
113113
}
114114

115115
func TestAllFixes(t *testing.T) {
@@ -119,5 +119,5 @@ func TestAllFixes(t *testing.T) {
119119
}
120120

121121
testdata := filepath.Join(wd, "testdata")
122-
analysistest.RunWithSuggestedFixes(t, testdata, NakedReturnAnalyzer(0, true), "x")
122+
analysistest.RunWithSuggestedFixes(t, testdata, NakedReturnAnalyzer(&NakedReturnRunner{0, true}), "x")
123123
}

0 commit comments

Comments
 (0)