Description

The godex command prints (dumps) exported information of packages or selected package objects.

In contrast to godoc, godex extracts this information from compiled object files. Hence the exported data is truly what a compiler will see, at the cost of missing commentary.

Usage: godex [flags] {path[.name]}

Each argument must be a (possibly partial) package path, optionally followed by a dot and the name of a package object:

godex math
godex math.Sin
godex math.Sin fmt.Printf
godex go/types

godex automatically tries all possible package path prefixes if only a partial package path is given. For instance, for the path "go/types", godex prepends "golang.org/x/tools".

The prefixes are computed by searching the directories specified by the GOROOT and GOPATH environment variables (and by excluding the build OS- and architecture-specific directory names from the path). The search order is depth-first and alphabetic; for a partial path "foo", a package "a/foo" is found before "b/foo".

Absolute and relative paths may be provided, which disable automatic prefix generation:

godex $GOROOT/pkg/darwin_amd64/sort
godex ./sort

All but the last path element may contain dots; a dot in the last path element separates the package path from the package object name. If the last path element contains a dot, terminate the argument with another dot (indicating an empty object name). For instance, the path for a package foo.bar would be specified as in:

godex foo.bar.

The flags are:

-s=""
	only consider packages from src, where src is one of the supported compilers
-v=false
	verbose mode

The following sources (-s arguments) are supported:

gc
	gc-generated object files
gccgo
	gccgo-generated object files
gccgo-new
	gccgo-generated object files using a condensed format (experimental)
source
	(uncompiled) source code (not yet implemented)

If no -s argument is provided, godex will try to find a matching source.

main is referenced in 1 repository

github.com/golang/tools