type builder …
func (b *builder) stmt(_s ast.Stmt) { … }
func (b *builder) stmtList(list []ast.Stmt) { … }
func (b *builder) branchStmt(s *ast.BranchStmt) { … }
func (b *builder) switchStmt(s *ast.SwitchStmt, label *lblock) { … }
func (b *builder) typeSwitchStmt(s *ast.TypeSwitchStmt, label *lblock) { … }
func (b *builder) typeCaseBody(cc *ast.CaseClause, done *Block) { … }
func (b *builder) selectStmt(s *ast.SelectStmt, label *lblock) { … }
func (b *builder) forStmt(s *ast.ForStmt, label *lblock) { … }
func (b *builder) rangeStmt(s *ast.RangeStmt, label *lblock) { … }
type targets …
type lblock …
func (b *builder) labeledBlock(label *ast.Ident, stmt *ast.LabeledStmt) *lblock { … }
func (b *builder) newBlock(kind BlockKind, stmt ast.Stmt) *Block { … }
func (b *builder) add(n ast.Node) { … }
func (b *builder) jump(target *Block) { … }
func (b *builder) ifelse(t, f *Block) { … }