A tool for answering questions about go source code
oracle [ flag ... ] mode args ...
The -format flag controls the output format:
plain an editor-friendly format in which every line of output is of the form "pos: text", where pos is "-" if unknown. json structured data in JSON syntax. xml structured data in XML syntax.
The -pos flag is required in all modes except 'callgraph'.
The mode argument determines the query to perform:
callees show possible targets of selected function call callers show possible callers of selected function callgraph show complete callgraph of program callstack show path from callgraph root to selected function describe describe selected syntax: definition, methods, etc freevars show free variables of selection implements show 'implements' relation for selected package peers show send/receive corresponding to selected channel op referrers show all refs to entity denoted by selected identifier
The user manual is available here: http://golang.org/s/oracle-user-manual
-cpuprofile
write cpu profile to file
-format
Output format. One of {plain,json,xml}.
-pos
Filename and byte offset or extent of a syntax element about which to query, e.g. foo.go:#123,#456, bar.go:#123.
-ptalog
Location of the points-to analysis log file, or empty to disable logging.
-reflect
Analyze reflection soundly (slow).
Describe the syntax at offset 530 in this file (an import spec):
oracle -pos=src/code.google.com/p/go.tools/cmd/oracle/main.go:#530 describe code.google.com/p/go.tools/cmd/oracle
Print the callgraph of the trivial web-server in JSON format:
oracle -format=json src/pkg/net/http/triv.go callgraph
This manual page was written by Michael Stapelberg <[email protected]>, for the Debian project (and may be used by others).