David López 37e6995b45 lintpack/gocritic: update lintpack & gocritic versions
update lintpack & gocritic versions to support all the new gocritic checks
2018-12-22 15:34:16 +03:00

36 lines
746 B
Go

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
}
}
}