type go/ast.Stmt
56 uses
go/ast (current package)
ast.go#L45: type Stmt interface {
ast.go#L634: Stmt Stmt
ast.go#L698: List []Stmt
ast.go#L705: Init Stmt // initialization statement; or nil
ast.go#L708: Else Stmt // else branch; or nil
ast.go#L716: Body []Stmt // statement list; or nil
ast.go#L722: Init Stmt // initialization statement; or nil
ast.go#L730: Init Stmt // initialization statement; or nil
ast.go#L731: Assign Stmt // x := y.(type) or y.(type)
ast.go#L738: Comm Stmt // send or receive statement; nil means default case
ast.go#L740: Body []Stmt // statement list; or nil
ast.go#L752: Init Stmt // initialization statement; or nil
ast.go#L754: Post Stmt // post iteration statement; or nil
commentmap.go#L234: case *File, *Field, Decl, Spec, Stmt:
walk.go#L30: func walkStmtList(v Visitor, list []Stmt) {
go/parser
parser.go#L1293: func (p *parser) parseStmtList() (list []ast.Stmt) {
parser.go#L1889: func (p *parser) parseSimpleStmt(mode int) (ast.Stmt, bool) {
parser.go#L1986: func (p *parser) parseGoStmt() ast.Stmt {
parser.go#L2001: func (p *parser) parseDeferStmt() ast.Stmt {
parser.go#L2047: func (p *parser) makeExpr(s ast.Stmt, want string) ast.Expr {
parser.go#L2065: func (p *parser) parseIfHeader() (init ast.Stmt, cond ast.Expr) {
parser.go#L2085: var condStmt ast.Stmt
parser.go#L2135: var else_ ast.Stmt
parser.go#L2198: func (p *parser) isTypeSwitchGuard(s ast.Stmt) bool {
parser.go#L2219: func (p *parser) parseSwitchStmt() ast.Stmt {
parser.go#L2226: var s1, s2 ast.Stmt
parser.go#L2258: var list []ast.Stmt
parser.go#L2279: var comm ast.Stmt
parser.go#L2336: var list []ast.Stmt
parser.go#L2347: func (p *parser) parseForStmt() ast.Stmt {
parser.go#L2354: var s1, s2, s3 ast.Stmt
parser.go#L2428: func (p *parser) parseStmt() (s ast.Stmt) {
resolver.go#L240: func (r *resolver) walkStmts(list []ast.Stmt) {
go/printer
nodes.go#L1137: func (p *printer) stmtList(list []ast.Stmt, nindent int, nextIsRBrace bool) {
nodes.go#L1225: func (p *printer) controlClause(isForStmt bool, init ast.Stmt, expr ast.Expr, post ast.Stmt) {
nodes.go#L1294: func (p *printer) stmt(stmt ast.Stmt, nextIsRBrace bool) {
printer.go#L1136: case ast.Stmt:
printer.go#L1147: case []ast.Stmt:
go/types
assignments.go#L316: func (check *Checker) initVars(lhs []*Var, origRHS []ast.Expr, returnStmt ast.Stmt) {
labels.go#L94: func (check *Checker) blockBranches(all *Scope, parent *block, lstmt *ast.LabeledStmt, list []ast.Stmt) []*ast.BranchStmt {
labels.go#L121: blockBranches := func(lstmt *ast.LabeledStmt, list []ast.Stmt) {
labels.go#L127: var stmtBranches func(ast.Stmt)
labels.go#L128: stmtBranches = func(s ast.Stmt) {
return.go#L17: func (check *Checker) isTerminating(s ast.Stmt, label string) bool {
return.go#L79: func (check *Checker) isTerminatingList(list []ast.Stmt, label string) bool {
return.go#L110: func hasBreak(s ast.Stmt, label string, implicit bool) bool {
return.go#L177: func hasBreakList(list []ast.Stmt, label string, implicit bool) bool {
stmt.go#L101: func (check *Checker) simpleStmt(s ast.Stmt) {
stmt.go#L107: func trimTrailingEmptyStmts(list []ast.Stmt) []ast.Stmt {
stmt.go#L116: func (check *Checker) stmtList(ctxt stmtContext, list []ast.Stmt) {
stmt.go#L129: func (check *Checker) multipleDefaults(list []ast.Stmt) {
stmt.go#L130: var first ast.Stmt
stmt.go#L132: var d ast.Stmt
stmt.go#L363: func (check *Checker) stmt(ctxt stmtContext, s ast.Stmt) {