func (check *Checker) funcBody(decl *declInfo, name string, sig *Signature, body *syntax.BlockStmt, iota constant.Value) { … }
func (check *Checker) usage(scope *Scope) { … }
type stmtContext …
const breakOk …
const continueOk …
const fallthroughOk …
const finalSwitchCase …
const inTypeSwitch …
func (check *Checker) simpleStmt(s syntax.Stmt) { … }
func trimTrailingEmptyStmts(list []syntax.Stmt) []syntax.Stmt { … }
func (check *Checker) stmtList(ctxt stmtContext, list []syntax.Stmt) { … }
func (check *Checker) multipleSwitchDefaults(list []*syntax.CaseClause) { … }
func (check *Checker) multipleSelectDefaults(list []*syntax.CommClause) { … }
func (check *Checker) openScope(node syntax.Node, comment string) { … }
func (check *Checker) closeScope() { … }
func (check *Checker) suspendedCall(keyword string, call syntax.Expr) { … }
func goVal(val constant.Value) interface{ … }
type valueMap …
type valueType …
func (check *Checker) caseValues(x *operand, values []syntax.Expr, seen valueMap) { … }
func (check *Checker) isNil(e syntax.Expr) bool { … }
func (check *Checker) caseTypes(x *operand, types []syntax.Expr, seen map[Type]syntax.Expr) Type { … }
func (check *Checker) caseTypes_currently_unused(x *operand, xtyp *Interface, types []syntax.Expr, seen map[string]syntax.Expr) Type { … }
func (check *Checker) stmt(ctxt stmtContext, s syntax.Stmt) { … }
func (check *Checker) switchStmt(inner stmtContext, s *syntax.SwitchStmt) { … }
func (check *Checker) typeSwitchStmt(inner stmtContext, s *syntax.SwitchStmt, guard *syntax.TypeSwitchGuard) { … }
func (check *Checker) rangeStmt(inner stmtContext, s *syntax.ForStmt, rclause *syntax.RangeClause) { … }
func rangeKeyVal(typ Type, allowVersion func(goVersion) bool) (key, val Type, cause string, ok bool) { … }