aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-lintpack/lintpack/context.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2020-07-04 11:12:55 +0200
committerDmitry Vyukov <dvyukov@google.com>2020-07-04 15:05:30 +0200
commitc7d7f10bdff703e4a3c0414e8a33d4e45c91eb35 (patch)
tree0dff0ee1f98dbfa3ad8776112053a450d176592b /vendor/github.com/go-lintpack/lintpack/context.go
parent9573094ce235bd9afe88f5da27a47dd6bcc1e13b (diff)
go.mod: vendor golangci-lint
Diffstat (limited to 'vendor/github.com/go-lintpack/lintpack/context.go')
-rw-r--r--vendor/github.com/go-lintpack/lintpack/context.go35
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/github.com/go-lintpack/lintpack/context.go b/vendor/github.com/go-lintpack/lintpack/context.go
new file mode 100644
index 000000000..8671e175c
--- /dev/null
+++ b/vendor/github.com/go-lintpack/lintpack/context.go
@@ -0,0 +1,35 @@
+package lintpack
+
+import (
+ "go/ast"
+ "go/types"
+ "strconv"
+)
+
+func resolvePkgObjects(ctx *Context, f *ast.File) {
+ ctx.PkgObjects = make(map[*types.PkgName]string, len(f.Imports))
+
+ for _, spec := range f.Imports {
+ if spec.Name != nil {
+ obj := ctx.TypesInfo.ObjectOf(spec.Name)
+ ctx.PkgObjects[obj.(*types.PkgName)] = spec.Name.Name
+ } else {
+ obj := ctx.TypesInfo.Implicits[spec]
+ ctx.PkgObjects[obj.(*types.PkgName)] = obj.Name()
+ }
+ }
+}
+
+func resolvePkgRenames(ctx *Context, f *ast.File) {
+ ctx.PkgRenames = make(map[string]string)
+
+ for _, spec := range f.Imports {
+ if spec.Name != nil {
+ path, err := strconv.Unquote(spec.Path.Value)
+ if err != nil {
+ panic(err)
+ }
+ ctx.PkgRenames[path] = spec.Name.Name
+ }
+ }
+}