@@ -11,7 +11,6 @@ import (
11
11
"regexp"
12
12
"time"
13
13
14
- "golang.org/x/tools/go/analysis"
15
14
"golang.org/x/tools/go/analysis/passes/asmdecl"
16
15
"golang.org/x/tools/go/analysis/passes/assign"
17
16
"golang.org/x/tools/go/analysis/passes/atomic"
@@ -120,6 +119,7 @@ func DefaultOptions() Options {
120
119
DefaultAnalyzers : defaultAnalyzers (),
121
120
TypeErrorAnalyzers : typeErrorAnalyzers (),
122
121
ConvenienceAnalyzers : convenienceAnalyzers (),
122
+ StaticcheckAnalyzers : map [string ]Analyzer {},
123
123
GoDiff : true ,
124
124
},
125
125
}
@@ -259,13 +259,10 @@ type Hooks struct {
259
259
DefaultAnalyzers map [string ]Analyzer
260
260
TypeErrorAnalyzers map [string ]Analyzer
261
261
ConvenienceAnalyzers map [string ]Analyzer
262
+ StaticcheckAnalyzers map [string ]Analyzer
262
263
GofumptFormat func (ctx context.Context , src []byte ) ([]byte , error )
263
264
}
264
265
265
- func (o Options ) AddDefaultAnalyzer (a * analysis.Analyzer ) {
266
- o .DefaultAnalyzers [a .Name ] = Analyzer {Analyzer : a , enabled : true }
267
- }
268
-
269
266
// ExperimentalOptions defines configuration for features under active
270
267
// development. WARNING: This configuration will be changed in the future. It
271
268
// only exists while these features are under development.
@@ -680,17 +677,22 @@ func (r *OptionResult) setString(s *string) {
680
677
// snapshot.
681
678
func EnabledAnalyzers (snapshot Snapshot ) (analyzers []Analyzer ) {
682
679
for _ , a := range snapshot .View ().Options ().DefaultAnalyzers {
683
- if a .Enabled (snapshot .View ()) {
680
+ if a .IsEnabled (snapshot .View ()) {
684
681
analyzers = append (analyzers , a )
685
682
}
686
683
}
687
684
for _ , a := range snapshot .View ().Options ().TypeErrorAnalyzers {
688
- if a .Enabled (snapshot .View ()) {
685
+ if a .IsEnabled (snapshot .View ()) {
689
686
analyzers = append (analyzers , a )
690
687
}
691
688
}
692
689
for _ , a := range snapshot .View ().Options ().ConvenienceAnalyzers {
693
- if a .Enabled (snapshot .View ()) {
690
+ if a .IsEnabled (snapshot .View ()) {
691
+ analyzers = append (analyzers , a )
692
+ }
693
+ }
694
+ for _ , a := range snapshot .View ().Options ().StaticcheckAnalyzers {
695
+ if a .IsEnabled (snapshot .View ()) {
694
696
analyzers = append (analyzers , a )
695
697
}
696
698
}
@@ -703,23 +705,23 @@ func typeErrorAnalyzers() map[string]Analyzer {
703
705
Analyzer : fillreturns .Analyzer ,
704
706
FixesError : fillreturns .FixesError ,
705
707
HighConfidence : true ,
706
- enabled : true ,
708
+ Enabled : true ,
707
709
},
708
710
nonewvars .Analyzer .Name : {
709
711
Analyzer : nonewvars .Analyzer ,
710
712
FixesError : nonewvars .FixesError ,
711
- enabled : true ,
713
+ Enabled : true ,
712
714
},
713
715
noresultvalues .Analyzer .Name : {
714
716
Analyzer : noresultvalues .Analyzer ,
715
717
FixesError : noresultvalues .FixesError ,
716
- enabled : true ,
718
+ Enabled : true ,
717
719
},
718
720
undeclaredname .Analyzer .Name : {
719
721
Analyzer : undeclaredname .Analyzer ,
720
722
FixesError : undeclaredname .FixesError ,
721
723
Command : CommandUndeclaredName ,
722
- enabled : true ,
724
+ Enabled : true ,
723
725
},
724
726
}
725
727
}
@@ -729,48 +731,48 @@ func convenienceAnalyzers() map[string]Analyzer {
729
731
fillstruct .Analyzer .Name : {
730
732
Analyzer : fillstruct .Analyzer ,
731
733
Command : CommandFillStruct ,
732
- enabled : true ,
734
+ Enabled : true ,
733
735
},
734
736
}
735
737
}
736
738
737
739
func defaultAnalyzers () map [string ]Analyzer {
738
740
return map [string ]Analyzer {
739
741
// The traditional vet suite:
740
- asmdecl .Analyzer .Name : {Analyzer : asmdecl .Analyzer , enabled : true },
741
- assign .Analyzer .Name : {Analyzer : assign .Analyzer , enabled : true },
742
- atomic .Analyzer .Name : {Analyzer : atomic .Analyzer , enabled : true },
743
- atomicalign .Analyzer .Name : {Analyzer : atomicalign .Analyzer , enabled : true },
744
- bools .Analyzer .Name : {Analyzer : bools .Analyzer , enabled : true },
745
- buildtag .Analyzer .Name : {Analyzer : buildtag .Analyzer , enabled : true },
746
- cgocall .Analyzer .Name : {Analyzer : cgocall .Analyzer , enabled : true },
747
- composite .Analyzer .Name : {Analyzer : composite .Analyzer , enabled : true },
748
- copylock .Analyzer .Name : {Analyzer : copylock .Analyzer , enabled : true },
749
- errorsas .Analyzer .Name : {Analyzer : errorsas .Analyzer , enabled : true },
750
- httpresponse .Analyzer .Name : {Analyzer : httpresponse .Analyzer , enabled : true },
751
- loopclosure .Analyzer .Name : {Analyzer : loopclosure .Analyzer , enabled : true },
752
- lostcancel .Analyzer .Name : {Analyzer : lostcancel .Analyzer , enabled : true },
753
- nilfunc .Analyzer .Name : {Analyzer : nilfunc .Analyzer , enabled : true },
754
- printf .Analyzer .Name : {Analyzer : printf .Analyzer , enabled : true },
755
- shift .Analyzer .Name : {Analyzer : shift .Analyzer , enabled : true },
756
- stdmethods .Analyzer .Name : {Analyzer : stdmethods .Analyzer , enabled : true },
757
- structtag .Analyzer .Name : {Analyzer : structtag .Analyzer , enabled : true },
758
- tests .Analyzer .Name : {Analyzer : tests .Analyzer , enabled : true },
759
- unmarshal .Analyzer .Name : {Analyzer : unmarshal .Analyzer , enabled : true },
760
- unreachable .Analyzer .Name : {Analyzer : unreachable .Analyzer , enabled : true },
761
- unsafeptr .Analyzer .Name : {Analyzer : unsafeptr .Analyzer , enabled : true },
762
- unusedresult .Analyzer .Name : {Analyzer : unusedresult .Analyzer , enabled : true },
742
+ asmdecl .Analyzer .Name : {Analyzer : asmdecl .Analyzer , Enabled : true },
743
+ assign .Analyzer .Name : {Analyzer : assign .Analyzer , Enabled : true },
744
+ atomic .Analyzer .Name : {Analyzer : atomic .Analyzer , Enabled : true },
745
+ atomicalign .Analyzer .Name : {Analyzer : atomicalign .Analyzer , Enabled : true },
746
+ bools .Analyzer .Name : {Analyzer : bools .Analyzer , Enabled : true },
747
+ buildtag .Analyzer .Name : {Analyzer : buildtag .Analyzer , Enabled : true },
748
+ cgocall .Analyzer .Name : {Analyzer : cgocall .Analyzer , Enabled : true },
749
+ composite .Analyzer .Name : {Analyzer : composite .Analyzer , Enabled : true },
750
+ copylock .Analyzer .Name : {Analyzer : copylock .Analyzer , Enabled : true },
751
+ errorsas .Analyzer .Name : {Analyzer : errorsas .Analyzer , Enabled : true },
752
+ httpresponse .Analyzer .Name : {Analyzer : httpresponse .Analyzer , Enabled : true },
753
+ loopclosure .Analyzer .Name : {Analyzer : loopclosure .Analyzer , Enabled : true },
754
+ lostcancel .Analyzer .Name : {Analyzer : lostcancel .Analyzer , Enabled : true },
755
+ nilfunc .Analyzer .Name : {Analyzer : nilfunc .Analyzer , Enabled : true },
756
+ printf .Analyzer .Name : {Analyzer : printf .Analyzer , Enabled : true },
757
+ shift .Analyzer .Name : {Analyzer : shift .Analyzer , Enabled : true },
758
+ stdmethods .Analyzer .Name : {Analyzer : stdmethods .Analyzer , Enabled : true },
759
+ structtag .Analyzer .Name : {Analyzer : structtag .Analyzer , Enabled : true },
760
+ tests .Analyzer .Name : {Analyzer : tests .Analyzer , Enabled : true },
761
+ unmarshal .Analyzer .Name : {Analyzer : unmarshal .Analyzer , Enabled : true },
762
+ unreachable .Analyzer .Name : {Analyzer : unreachable .Analyzer , Enabled : true },
763
+ unsafeptr .Analyzer .Name : {Analyzer : unsafeptr .Analyzer , Enabled : true },
764
+ unusedresult .Analyzer .Name : {Analyzer : unusedresult .Analyzer , Enabled : true },
763
765
764
766
// Non-vet analyzers:
765
- deepequalerrors .Analyzer .Name : {Analyzer : deepequalerrors .Analyzer , enabled : true },
766
- sortslice .Analyzer .Name : {Analyzer : sortslice .Analyzer , enabled : true },
767
- testinggoroutine .Analyzer .Name : {Analyzer : testinggoroutine .Analyzer , enabled : true },
768
- unusedparams .Analyzer .Name : {Analyzer : unusedparams .Analyzer , enabled : false },
767
+ deepequalerrors .Analyzer .Name : {Analyzer : deepequalerrors .Analyzer , Enabled : true },
768
+ sortslice .Analyzer .Name : {Analyzer : sortslice .Analyzer , Enabled : true },
769
+ testinggoroutine .Analyzer .Name : {Analyzer : testinggoroutine .Analyzer , Enabled : true },
770
+ unusedparams .Analyzer .Name : {Analyzer : unusedparams .Analyzer , Enabled : false },
769
771
770
772
// gofmt -s suite:
771
- simplifycompositelit .Analyzer .Name : {Analyzer : simplifycompositelit .Analyzer , enabled : true , HighConfidence : true },
772
- simplifyrange .Analyzer .Name : {Analyzer : simplifyrange .Analyzer , enabled : true , HighConfidence : true },
773
- simplifyslice .Analyzer .Name : {Analyzer : simplifyslice .Analyzer , enabled : true , HighConfidence : true },
773
+ simplifycompositelit .Analyzer .Name : {Analyzer : simplifycompositelit .Analyzer , Enabled : true , HighConfidence : true },
774
+ simplifyrange .Analyzer .Name : {Analyzer : simplifyrange .Analyzer , Enabled : true , HighConfidence : true },
775
+ simplifyslice .Analyzer .Name : {Analyzer : simplifyslice .Analyzer , Enabled : true , HighConfidence : true },
774
776
}
775
777
}
776
778
0 commit comments