Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / lint / stats.go
1 package lint
2
3 import (
4         "time"
5
6         "golang.org/x/tools/go/analysis"
7 )
8
9 const (
10         StateInitializing = 0
11         StateGraph        = 1
12         StateProcessing   = 2
13         StateCumulative   = 3
14 )
15
16 type Stats struct {
17         State uint32
18
19         InitialPackages          uint32
20         TotalPackages            uint32
21         ProcessedPackages        uint32
22         ProcessedInitialPackages uint32
23         Problems                 uint32
24         ActiveWorkers            uint32
25         TotalWorkers             uint32
26         PrintAnalyzerMeasurement func(*analysis.Analyzer, *Package, time.Duration)
27 }
28
29 type AnalysisMeasurementKey struct {
30         Analysis string
31         Pkg      string
32 }
33
34 func (s *Stats) MeasureAnalyzer(analysis *analysis.Analyzer, pkg *Package, d time.Duration) {
35         if s.PrintAnalyzerMeasurement != nil {
36                 s.PrintAnalyzerMeasurement(analysis, pkg, d)
37         }
38 }