func AssignExpr(n ir.Node) ir.Node { … }
func Expr(n ir.Node) ir.Node { … }
func Stmt(n ir.Node) ir.Node { … }
func Exprs(exprs []ir.Node) { … }
func Stmts(stmts []ir.Node) { … }
func Call(pos src.XPos, callee ir.Node, args []ir.Node, dots bool) ir.Node { … }
func Callee(n ir.Node) ir.Node { … }
var traceIndent …
func tracePrint(title string, n ir.Node) func(np *ir.Node) { … }
const ctxStmt …
const ctxExpr …
const ctxType …
const ctxCallee …
const ctxMultiOK …
const ctxAssign …
func typecheckslice(l []ir.Node, top int) { … }
var _typekind …
func typekind(t *types.Type) string { … }
func typecheck(n ir.Node, top int) (res ir.Node) { … }
func indexlit(n ir.Node) ir.Node { … }
func typecheck1(n ir.Node, top int) ir.Node { … }
func typecheckargs(n ir.InitNode) { … }
func RewriteNonNameCall(n *ir.CallExpr) { … }
func RewriteMultiValueCall(n ir.InitNode, call ir.Node) { … }
func checksliceindex(r ir.Node) bool { … }
func implicitstar(n ir.Node) ir.Node { … }
func needOneArg(n *ir.CallExpr, f string, args ...interface{ … }
func needTwoArgs(n *ir.CallExpr) (ir.Node, ir.Node, bool) { … }
func Lookdot1(errnode ir.Node, s *types.Sym, t *types.Type, fs []*types.Field, dostrcmp int) *types.Field { … }
func NewMethodExpr(pos src.XPos, recv *types.Type, sym *types.Sym) *ir.SelectorExpr { … }
func derefall(t *types.Type) *types.Type { … }
func Lookdot(n *ir.SelectorExpr, t *types.Type, dostrcmp int) *types.Field { … }
func nokeys(l ir.Nodes) bool { … }
func hasddd(params []*types.Field) bool { … }
func typecheckaste(op ir.Op, call ir.Node, isddd bool, params []*types.Field, nl ir.Nodes, desc func() string) { … }
func fielddup(name string, hash map[string]bool) { … }
func typecheckarraylit(elemType *types.Type, bound int64, elts []ir.Node, ctx string) int64 { … }
func visible(sym *types.Sym) bool { … }
func nonexported(sym *types.Sym) bool { … }
func checklvalue(n ir.Node, verb string) { … }
func checkassign(n ir.Node) { … }
func checkassignto(src *types.Type, dst ir.Node) { … }
func stringtoruneslit(n *ir.ConvExpr) ir.Node { … }
func checkmake(t *types.Type, arg string, np *ir.Node) bool { … }
func checkunsafesliceorstring(op ir.Op, np *ir.Node) bool { … }
func Conv(n ir.Node, t *types.Type) ir.Node { … }
func ConvNop(n ir.Node, t *types.Type) ir.Node { … }