github.com/elek/golangci-lint@v1.42.2-0.20211208090441-c05b7fcb3a9a/pkg/golinters/goanalysis/adapters.go (about) 1 package goanalysis 2 3 import ( 4 "go/types" 5 6 "golang.org/x/tools/go/analysis" 7 "golang.org/x/tools/go/loader" //nolint:staticcheck // it's an adapter for golang.org/x/tools/go/packages 8 ) 9 10 func MakeFakeLoaderProgram(pass *analysis.Pass) *loader.Program { 11 prog := &loader.Program{ 12 Fset: pass.Fset, 13 Created: []*loader.PackageInfo{ 14 { 15 Pkg: pass.Pkg, 16 Importable: true, // not used 17 TransitivelyErrorFree: true, // TODO 18 19 Files: pass.Files, 20 Errors: nil, 21 Info: *pass.TypesInfo, 22 }, 23 }, 24 AllPackages: map[*types.Package]*loader.PackageInfo{ 25 pass.Pkg: { 26 Pkg: pass.Pkg, 27 Importable: true, 28 TransitivelyErrorFree: true, 29 Files: pass.Files, 30 Errors: nil, 31 Info: *pass.TypesInfo, 32 }, 33 }, 34 } 35 return prog 36 }