aboutsummaryrefslogtreecommitdiff
path: root/vendor/honnef.co/go/tools/staticcheck/knowledge.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/honnef.co/go/tools/staticcheck/knowledge.go')
-rw-r--r--vendor/honnef.co/go/tools/staticcheck/knowledge.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/honnef.co/go/tools/staticcheck/knowledge.go b/vendor/honnef.co/go/tools/staticcheck/knowledge.go
new file mode 100644
index 0000000..4c12b86
--- /dev/null
+++ b/vendor/honnef.co/go/tools/staticcheck/knowledge.go
@@ -0,0 +1,25 @@
1package staticcheck
2
3import (
4 "reflect"
5
6 "golang.org/x/tools/go/analysis"
7 "honnef.co/go/tools/internal/passes/buildssa"
8 "honnef.co/go/tools/ssa"
9 "honnef.co/go/tools/staticcheck/vrp"
10)
11
12var valueRangesAnalyzer = &analysis.Analyzer{
13 Name: "vrp",
14 Doc: "calculate value ranges of functions",
15 Run: func(pass *analysis.Pass) (interface{}, error) {
16 m := map[*ssa.Function]vrp.Ranges{}
17 for _, ssafn := range pass.ResultOf[buildssa.Analyzer].(*buildssa.SSA).SrcFuncs {
18 vr := vrp.BuildGraph(ssafn).Solve()
19 m[ssafn] = vr
20 }
21 return m, nil
22 },
23 Requires: []*analysis.Analyzer{buildssa.Analyzer},
24 ResultType: reflect.TypeOf(map[*ssa.Function]vrp.Ranges{}),
25}