gvisorgvisor.dev/gvisor/tools/nogo/check Index | Files

package check

import "gvisor.dev/gvisor/tools/nogo/check"

Package check implements binary analysis similar to bazel's nogo, or the unitchecker package. It exists in order to provide additional facilities for analysis, namely plumbing through the output from dumping the generated binary (to analyze actual produced code).

Index

Variables

var (
	// ErrSkip indicates the package should be skipped.
	ErrSkip = errors.New("skipped")
)

Functions

func FindRoots

func FindRoots(srcs []string, srcRootRegex string) ([]string, error)

FindRoots finds a package roots.

func SplitPackages

func SplitPackages(srcs []string, srcRootPrefix string) map[string][]string

SplitPackages splits a typical package structure into packages.

func WriteFindingsTo

func WriteFindingsTo(w io.Writer, findings FindingSet, asJSON bool) error

WriteFindingsTo serializes findings.

Types

type Finding

type Finding struct {
	Category string
	Position token.Position
	Message  string
	GOARCH   string
	GOOS     string
}

Finding is a single finding.

func (*Finding) String

func (f *Finding) String() string

String implements fmt.Stringer.String.

type FindingSet

type FindingSet []Finding

FindingSet is a collection of findings.

func Bundle

func Bundle(sources map[string][]string) (FindingSet, facts.Serializer, error)

Bundle checks a bundle of files (typically the standard library).

func ExtractFindingsFrom

func ExtractFindingsFrom(r io.Reader, asJSON bool) (findings FindingSet, err error)

ExtractFindingsFrom loads findings from an io.Reader.

func ExtractFindingsFromFile

func ExtractFindingsFromFile(filename string, asJSON bool) (FindingSet, error)

ExtractFindingsFromFile loads findings from a file.

func Package

func Package(path string, srcs []string) (FindingSet, facts.Serializer, error)

Package runs all analyzer on a single package.

func (FindingSet) Sort

func (fs FindingSet) Sort()

Sort sorts all findings.

Source Files

analyzers.go build.go check.go findings.go

Version
v0.0.0-20250605235530-a6711d1e1dc6 (latest)
Published
Jun 5, 2025
Platform
linux/amd64
Imports
58 packages
Last checked
4 hours ago

Tools for package owners.