package pkgfact

import "golang.org/x/tools/go/analysis/passes/pkgfact"

The pkgfact package is a demonstration and test of the package fact mechanism.

The output of the pkgfact analysis is a set of key/values pairs gathered from the analyzed package and its imported dependencies. Each key/value pair comes from a top-level constant declaration whose name starts and ends with "_". For example:

package p

const _greeting_  = "hello"
const _audience_  = "world"

the pkgfact analysis output for package p would be:

{"greeting": "hello", "audience": "world"}.

In addition, the analysis reports a diagnostic at each import showing which key/value pairs it contributes.

Index

Variables

var Analyzer = &analysis.Analyzer{
	Name:       "pkgfact",
	Doc:        "gather name/value pairs from constant declarations",
	URL:        "https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/pkgfact",
	Run:        run,
	FactTypes:  []analysis.Fact{new(pairsFact)},
	ResultType: reflect.TypeOf(map[string]string{}),
}

Source Files

pkgfact.go

Version
v0.31.0 (latest)
Published
Mar 5, 2025
Platform
linux/amd64
Imports
8 packages
Last checked
4 hours ago

Tools for package owners.