oracle(1) a tool for answering questions about Go source code

SYNOPSIS

oracle [ flag ... ] mode args ...

DESCRIPTION

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

OPTIONS

-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).

EXAMPLES

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

AUTHOR

This manual page was written by Michael Stapelberg <[email protected]>, for the Debian project (and may be used by others).