@@ -81,7 +81,7 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
81
81
return nil , nil
82
82
}
83
83
removedFmtUsages := make (map [string ]int )
84
- neededPackages := make (map [string ]map [string ]bool )
84
+ neededPackages := make (map [string ]map [string ]struct {} )
85
85
86
86
insp := pass .ResultOf [inspect .Analyzer ].(* inspector.Inspector )
87
87
nodeFilter := []ast.Node {
@@ -156,13 +156,12 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
156
156
switch {
157
157
case isBasicType (valueType , types .String ) && oneOf (verb , "%v" , "%s" ):
158
158
fname := pass .Fset .File (call .Pos ()).Name ()
159
- _ , ok := neededPackages [fname ]
160
- if ! ok {
161
- neededPackages [fname ] = make (map [string ]bool )
159
+ if _ , ok := neededPackages [fname ]; ! ok {
160
+ neededPackages [fname ] = make (map [string ]struct {})
162
161
}
163
162
removedFmtUsages [fname ]++
164
163
if fn == "fmt.Errorf" {
165
- neededPackages [fname ]["errors" ] = true
164
+ neededPackages [fname ]["errors" ] = struct {}{}
166
165
d = newAnalysisDiagnostic (
167
166
"" , // TODO: precise checker
168
167
call ,
@@ -220,11 +219,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
220
219
case isBasicType (valueType , types .Bool ) && oneOf (verb , "%v" , "%t" ):
221
220
fname := pass .Fset .File (call .Pos ()).Name ()
222
221
removedFmtUsages [fname ]++
223
- _ , ok := neededPackages [fname ]
224
- if ! ok {
225
- neededPackages [fname ] = make (map [string ]bool )
222
+ if _ , ok := neededPackages [fname ]; ! ok {
223
+ neededPackages [fname ] = make (map [string ]struct {})
226
224
}
227
- neededPackages [fname ]["strconv" ] = true
225
+ neededPackages [fname ]["strconv" ] = struct {}{}
228
226
d = newAnalysisDiagnostic (
229
227
"" , // TODO: precise checker
230
228
call ,
@@ -249,11 +247,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
249
247
250
248
fname := pass .Fset .File (call .Pos ()).Name ()
251
249
removedFmtUsages [fname ]++
252
- _ , ok := neededPackages [fname ]
253
- if ! ok {
254
- neededPackages [fname ] = make (map [string ]bool )
250
+ if _ , ok := neededPackages [fname ]; ! ok {
251
+ neededPackages [fname ] = make (map [string ]struct {})
255
252
}
256
- neededPackages [fname ]["encoding/hex" ] = true
253
+ neededPackages [fname ]["encoding/hex" ] = struct {}{}
257
254
d = newAnalysisDiagnostic (
258
255
"" , // TODO: precise checker
259
256
call ,
@@ -279,11 +276,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
279
276
case isSlice && isBasicType (s .Elem (), types .Uint8 ) && oneOf (verb , "%x" ):
280
277
fname := pass .Fset .File (call .Pos ()).Name ()
281
278
removedFmtUsages [fname ]++
282
- _ , ok := neededPackages [fname ]
283
- if ! ok {
284
- neededPackages [fname ] = make (map [string ]bool )
279
+ if _ , ok := neededPackages [fname ]; ! ok {
280
+ neededPackages [fname ] = make (map [string ]struct {})
285
281
}
286
- neededPackages [fname ]["encoding/hex" ] = true
282
+ neededPackages [fname ]["encoding/hex" ] = struct {}{}
287
283
d = newAnalysisDiagnostic (
288
284
"" , // TODO: precise checker
289
285
call ,
@@ -303,11 +299,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
303
299
case isBasicType (valueType , types .Int8 , types .Int16 , types .Int32 ) && oneOf (verb , "%v" , "%d" ) && n .intConv :
304
300
fname := pass .Fset .File (call .Pos ()).Name ()
305
301
removedFmtUsages [fname ]++
306
- _ , ok := neededPackages [fname ]
307
- if ! ok {
308
- neededPackages [fname ] = make (map [string ]bool )
302
+ if _ , ok := neededPackages [fname ]; ! ok {
303
+ neededPackages [fname ] = make (map [string ]struct {})
309
304
}
310
- neededPackages [fname ]["strconv" ] = true
305
+ neededPackages [fname ]["strconv" ] = struct {}{}
311
306
d = newAnalysisDiagnostic (
312
307
"" , // TODO: precise checker
313
308
call ,
@@ -333,11 +328,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
333
328
case isBasicType (valueType , types .Int ) && oneOf (verb , "%v" , "%d" ):
334
329
fname := pass .Fset .File (call .Pos ()).Name ()
335
330
removedFmtUsages [fname ]++
336
- _ , ok := neededPackages [fname ]
337
- if ! ok {
338
- neededPackages [fname ] = make (map [string ]bool )
331
+ if _ , ok := neededPackages [fname ]; ! ok {
332
+ neededPackages [fname ] = make (map [string ]struct {})
339
333
}
340
- neededPackages [fname ]["strconv" ] = true
334
+ neededPackages [fname ]["strconv" ] = struct {}{}
341
335
d = newAnalysisDiagnostic (
342
336
"" , // TODO: precise checker
343
337
call ,
@@ -356,11 +350,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
356
350
case isBasicType (valueType , types .Int64 ) && oneOf (verb , "%v" , "%d" ):
357
351
fname := pass .Fset .File (call .Pos ()).Name ()
358
352
removedFmtUsages [fname ]++
359
- _ , ok := neededPackages [fname ]
360
- if ! ok {
361
- neededPackages [fname ] = make (map [string ]bool )
353
+ if _ , ok := neededPackages [fname ]; ! ok {
354
+ neededPackages [fname ] = make (map [string ]struct {})
362
355
}
363
- neededPackages [fname ]["strconv" ] = true
356
+ neededPackages [fname ]["strconv" ] = struct {}{}
364
357
d = newAnalysisDiagnostic (
365
358
"" , // TODO: precise checker
366
359
call ,
@@ -391,11 +384,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
391
384
}
392
385
fname := pass .Fset .File (call .Pos ()).Name ()
393
386
removedFmtUsages [fname ]++
394
- _ , ok := neededPackages [fname ]
395
- if ! ok {
396
- neededPackages [fname ] = make (map [string ]bool )
387
+ if _ , ok := neededPackages [fname ]; ! ok {
388
+ neededPackages [fname ] = make (map [string ]struct {})
397
389
}
398
- neededPackages [fname ]["strconv" ] = true
390
+ neededPackages [fname ]["strconv" ] = struct {}{}
399
391
d = newAnalysisDiagnostic (
400
392
"" , // TODO: precise checker
401
393
call ,
@@ -425,11 +417,10 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
425
417
}
426
418
fname := pass .Fset .File (call .Pos ()).Name ()
427
419
removedFmtUsages [fname ]++
428
- _ , ok := neededPackages [fname ]
429
- if ! ok {
430
- neededPackages [fname ] = make (map [string ]bool )
420
+ if _ , ok := neededPackages [fname ]; ! ok {
421
+ neededPackages [fname ] = make (map [string ]struct {})
431
422
}
432
- neededPackages [fname ]["strconv" ] = true
423
+ neededPackages [fname ]["strconv" ] = struct {}{}
433
424
d = newAnalysisDiagnostic (
434
425
"" , // TODO: precise checker
435
426
call ,
@@ -514,8 +505,7 @@ func (n *perfSprint) run(pass *analysis.Pass) (interface{}, error) {
514
505
gd := node .(* ast.ImportSpec )
515
506
if gd .Path .Value == strconv .Quote (pkg .Path ()) {
516
507
fname := pass .Fset .File (gd .Pos ()).Name ()
517
- _ , ok := neededPackages [fname ]
518
- if ok {
508
+ if _ , ok := neededPackages [fname ]; ok {
519
509
delete (neededPackages [fname ], pkg .Path ())
520
510
}
521
511
}
0 commit comments