@@ -102,54 +102,68 @@ func diagnosticOSCreateTemp(ce *ast.CallExpr, fnInfo *FuncInfo) analysis.Diagnos
102
102
return diagnostic
103
103
}
104
104
105
- func (a * analyzer ) reportSelector (pass * analysis.Pass , se * ast.SelectorExpr , fnInfo * FuncInfo ) {
105
+ func (a * analyzer ) reportSelector (pass * analysis.Pass , se * ast.SelectorExpr , fnInfo * FuncInfo ) bool {
106
106
if se .Sel == nil || ! se .Sel .IsExported () {
107
- return
107
+ return false
108
108
}
109
109
110
110
ident , ok := se .X .(* ast.Ident )
111
111
if ! ok {
112
- return
112
+ return false
113
113
}
114
114
115
- a .report (pass , se , ident .Name , se .Sel .Name , fnInfo )
115
+ return a .report (pass , se , ident .Name , se .Sel .Name , fnInfo )
116
116
}
117
117
118
- func (a * analyzer ) reportIdent (pass * analysis.Pass , ident * ast.Ident , fnInfo * FuncInfo ) {
118
+ func (a * analyzer ) reportIdent (pass * analysis.Pass , ident * ast.Ident , fnInfo * FuncInfo ) bool {
119
119
if ! ident .IsExported () {
120
- return
120
+ return false
121
121
}
122
122
123
123
if ! slices .Contains (a .fieldNames , ident .Name ) {
124
- return
124
+ return false
125
125
}
126
126
127
127
pkgName := getPkgNameFromType (pass , ident )
128
128
129
- a .report (pass , ident , pkgName , ident .Name , fnInfo )
129
+ return a .report (pass , ident , pkgName , ident .Name , fnInfo )
130
130
}
131
131
132
132
//nolint:gocyclo // The complexity is expected by the number of cases to check.
133
- func (a * analyzer ) report (pass * analysis.Pass , rg analysis.Range , origPkgName , origName string , fnInfo * FuncInfo ) {
133
+ func (a * analyzer ) report (pass * analysis.Pass , rg analysis.Range , origPkgName , origName string , fnInfo * FuncInfo ) bool {
134
134
switch {
135
135
case a .osMkdirTemp && origPkgName == osPkgName && origName == mkdirTempName :
136
136
report (pass , rg , origPkgName , origName , tempDirName , fnInfo )
137
137
138
+ return true
139
+
138
140
case a .osTempDir && origPkgName == osPkgName && origName == tempDirName :
139
141
report (pass , rg , origPkgName , origName , tempDirName , fnInfo )
140
142
143
+ return true
144
+
141
145
case a .osSetenv && origPkgName == osPkgName && origName == setenvName :
142
146
report (pass , rg , origPkgName , origName , setenvName , fnInfo )
143
147
148
+ return true
149
+
144
150
case a .geGo124 && a .osChdir && origPkgName == osPkgName && origName == chdirName :
145
151
report (pass , rg , origPkgName , origName , chdirName , fnInfo )
146
152
153
+ return true
154
+
147
155
case a .geGo124 && a .contextBackground && origPkgName == contextPkgName && origName == backgroundName :
148
156
report (pass , rg , origPkgName , origName , contextName , fnInfo )
149
157
158
+ return true
159
+
150
160
case a .geGo124 && a .contextTodo && origPkgName == contextPkgName && origName == todoName :
151
161
report (pass , rg , origPkgName , origName , contextName , fnInfo )
162
+
163
+ return true
152
164
}
165
+
166
+ return false
153
167
}
154
168
155
169
func report (pass * analysis.Pass , rg analysis.Range , origPkgName , origName , expectName string , fnInfo * FuncInfo ) {
0 commit comments