diff --git a/tools/nogo/check/check.go b/tools/nogo/check/check.go index fb38a0c16..6476fa2e9 100644 --- a/tools/nogo/check/check.go +++ b/tools/nogo/check/check.go @@ -453,6 +453,8 @@ func (i *importer) checkPackage(path string, srcs []string) (*types.Package, Fin Category: a.Name, Position: i.fset.Position(d.Pos), Message: d.Message, + GOOS: flags.GOOS, + GOARCH: flags.GOARCH, }) }, ImportPackageFact: func(pkg *types.Package, ptr analysis.Fact) bool { @@ -609,6 +611,8 @@ func (i *importer) checkPackage(path string, srcs []string) (*types.Package, Fin Category: a.Name, Position: token.Position{Filename: filename}, Message: errs[a].Error(), + GOOS: flags.GOOS, + GOARCH: flags.GOARCH, }) continue } diff --git a/tools/nogo/check/findings.go b/tools/nogo/check/findings.go index a944f4e2b..21ec0bbc9 100644 --- a/tools/nogo/check/findings.go +++ b/tools/nogo/check/findings.go @@ -29,11 +29,18 @@ type Finding struct { Category string Position token.Position Message string + GOARCH string + GOOS string } // String implements fmt.Stringer.String. func (f *Finding) String() string { - return fmt.Sprintf("%s: %s: %s", f.Category, f.Position.String(), f.Message) + if f.GOARCH == "" && f.GOOS == "" { + // Use the legacy simplified string. + return fmt.Sprintf("%s: %s: %s", f.Category, f.Position.String(), f.Message) + } + // Use the more complete information. + return fmt.Sprintf("%s: %s: %s (GOOARCH=%s, GOOS=%s)", f.Category, f.Position.String(), f.Message, f.GOARCH, f.GOOS) } // FindingSet is a collection of findings.