|
// Copyright 2014 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// 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.
|
|
//
|
|
package main // import "golang.org/x/tools/cmd/godex"
|
|
|
|
// BUG(gri): support for -s=source is not yet implemented
|
|
// BUG(gri): gccgo-importing appears to have occasional problems stalling godex; try -s=gc as work-around
|