var OpNames … // GoString returns the Go syntax for the Op, or else its name. func (o Op) GoString() string { … } // Format implements formatting for an Op. // The valid formats are: // // %v Go syntax ("+", "<-", "print") // %+v Debug syntax ("ADD", "RECV", "PRINT") func (o Op) Format(s fmt.State, verb rune) { … } // fmtNode implements formatting for a Node n. // Every Node implementation must define a Format method that calls fmtNode. // The valid formats are: // // %v Go syntax // %L Go syntax followed by " (type T)" if type is known. // %+v Debug syntax, as in Dump. func fmtNode(n Node, s fmt.State, verb rune) { … } var OpPrec … // StmtWithInit reports whether op is a statement with an explicit init list. func StmtWithInit(op Op) bool { … } func stmtFmt(n Node, s fmt.State) { … } func exprFmt(n Node, s fmt.State, prec int) { … } func ellipsisIf(b bool) string { … } // Format implements formatting for a Nodes. // The valid formats are: // // %v Go syntax, semicolon-separated // %.v Go syntax, comma-separated // %+v Debug syntax, as in DumpList. func (l Nodes) Format(s fmt.State, verb rune) { … } // Dump prints the message s followed by a debug dump of n. func Dump(s string, n Node) { … } // DumpList prints the message s followed by a debug dump of each node in the list. func DumpList(s string, list Nodes) { … } // FDumpList prints to w the message s followed by a debug dump of each node in the list. func FDumpList(w io.Writer, s string, list Nodes) { … } // indent prints indentation to w. func indent(w io.Writer, depth int) { … } var EscFmt … // dumpNodeHeader prints the debug-format node header line to w. func dumpNodeHeader(w io.Writer, n Node) { … } func dumpNode(w io.Writer, n Node, depth int) { … } var nodeType … func dumpNodes(w io.Writer, list Nodes, depth int) { … }