Skip to content

Commit a4d7d7a

Browse files
committed
logging for corrupted SSA packages
1 parent 0bc2523 commit a4d7d7a

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

pkg/lint/load.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,7 @@ func (cl ContextLoader) loadPackages(ctx context.Context, loadMode packages.Load
237237
return retPkgs, nil
238238
}
239239

240+
//nolint:gocyclo
240241
func (cl ContextLoader) Load(ctx context.Context, linters []linter.Config) (*linter.Context, error) {
241242
loadMode := cl.findLoadMode(linters)
242243
pkgs, err := cl.loadPackages(ctx, loadMode)
@@ -256,6 +257,21 @@ func (cl ContextLoader) Load(ctx context.Context, linters []linter.Config) (*lin
256257
var ssaProg *ssa.Program
257258
if loadMode == packages.LoadAllSyntax {
258259
ssaProg = cl.buildSSAProgram(pkgs)
260+
for _, pkginfo := range prog.InitialPackages() {
261+
if pkginfo == nil {
262+
cl.log.Infof("Pkginfo is nil")
263+
continue
264+
}
265+
if pkginfo.Pkg == nil {
266+
cl.log.Infof("Pkg %#v: types package is nil", *pkginfo)
267+
continue
268+
}
269+
ssaPkg := ssaProg.Package(pkginfo.Pkg)
270+
if ssaPkg == nil {
271+
cl.log.Infof("Pkg %#v: ssaPkg is nil: %#v", *pkginfo, *pkginfo.Pkg)
272+
continue
273+
}
274+
}
259275
}
260276

261277
astLog := cl.log.Child("astcache")

0 commit comments

Comments
 (0)