Home | History | Annotate | Download | only in syntax

Lines Matching defs:block

37 			ls.err(fwd.Label.Pos(), "goto %s jumps into block starting at %s", name, l.parent.start)
58 parent *block // block containing this label declaration
63 type block struct {
64 parent *block // immediately enclosing block, or nil
65 start src.Pos // start of block
66 lstmt *LabeledStmt // labeled statement associated with this block, or nil
73 // declare declares the label introduced by s in block b and returns
76 func (ls *labelScope) declare(b *block, s *LabeledStmt) *label {
92 // declared in block b or any of its enclosing blocks. The result is nil
94 func (ls *labelScope) gotoTarget(b *block, name string) *LabeledStmt {
111 func (ls *labelScope) enclosingTarget(b *block, name string) *LabeledStmt {
131 // blockBranches processes a block's body starting at start and returns the
133 // block (or nil), ctxt provides information about the enclosing statements,
134 // and lstmt is the labeled statement associated with this block, or nil.
135 func (ls *labelScope) blockBranches(parent *block, ctxt targets, lstmt *LabeledStmt, start src.Pos, body []Stmt) []*BranchStmt {
136 b := &block{parent: parent, start: start, lstmt: lstmt}
147 // of the block and be ok, but we don't know that yet.
164 // Unresolved forward gotos from the inner block
165 // become forward gotos for the current block.