Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 49 for forStmt (0.5 sec)

  1. src/cmd/compile/internal/types2/labels.go

    				// whose execution terminates."
    				valid := false
    				if t := b.enclosingTarget(name); t != nil {
    					switch t.Stmt.(type) {
    					case *syntax.SwitchStmt, *syntax.SelectStmt, *syntax.ForStmt:
    						valid = true
    					}
    				}
    				if !valid {
    					check.errorf(s.Label, MisplacedLabel, "invalid break label %s", name)
    					return
    				}
    
    			case syntax.Continue:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/syntax/branches.go

    	}
    	return nil
    }
    
    // targets describes the target statements within which break
    // or continue statements are valid.
    type targets struct {
    	breaks    Stmt     // *ForStmt, *SwitchStmt, *SelectStmt, or nil
    	continues *ForStmt // or nil
    	caseIndex int      // case index of immediately enclosing switch statement, or < 0
    }
    
    // blockBranches processes a block's body starting at start and returns the
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Sun Jun 26 00:21:29 UTC 2022
    - 9.8K bytes
    - Viewed (0)
  3. src/cmd/vendor/golang.org/x/tools/go/cfg/cfg.go

    	KindBody            // function body BlockStmt
    	KindForBody         // body of ForStmt
    	KindForDone         // block after ForStmt
    	KindForLoop         // head of ForStmt
    	KindForPost         // post condition of ForStmt
    	KindIfDone          // block after IfStmt
    	KindIfElse          // else block of IfStmt
    	KindIfThen          // then block of IfStmt
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 02:20:05 UTC 2024
    - 7.7K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/types2/return.go

    	case *syntax.SelectStmt:
    		for _, cc := range s.Body {
    			if !check.isTerminatingList(cc.Body, "") || hasBreakList(cc.Body, label, true) {
    				return false
    			}
    
    		}
    		return true
    
    	case *syntax.ForStmt:
    		if _, ok := s.Init.(*syntax.RangeClause); ok {
    			// Range clauses guarantee that the loop terminates,
    			// so the loop is not a terminating statement. See go.dev/issue/49003.
    			break
    		}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 22 19:32:17 UTC 2024
    - 4.4K bytes
    - Viewed (0)
  5. src/go/types/return.go

    		for _, s := range s.Body.List {
    			cc := s.(*ast.CommClause)
    			if !check.isTerminatingList(cc.Body, "") || hasBreakList(cc.Body, label, true) {
    				return false
    			}
    
    		}
    		return true
    
    	case *ast.ForStmt:
    		if s.Cond == nil && !hasBreak(s.Body, label, true) {
    			return true
    		}
    	}
    
    	return false
    }
    
    func (check *Checker) isTerminatingList(list []ast.Stmt, label string) bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 22 19:32:17 UTC 2024
    - 4.2K bytes
    - Viewed (0)
  6. src/go/types/labels.go

    				// whose execution terminates."
    				valid := false
    				if t := b.enclosingTarget(name); t != nil {
    					switch t.Stmt.(type) {
    					case *ast.SwitchStmt, *ast.TypeSwitchStmt, *ast.SelectStmt, *ast.ForStmt, *ast.RangeStmt:
    						valid = true
    					}
    				}
    				if !valid {
    					check.errorf(s.Label, MisplacedLabel, "invalid break label %s", name)
    					return
    				}
    
    			case token.CONTINUE:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 7.2K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/syntax/nodes_test.go

    	{"ReturnStmt", `@return a, b, a + b*f(1, 2, 3)`},
    
    	{"IfStmt", `@if cond {}`},
    	{"IfStmt", `@if cond { f() } else {}`},
    	{"IfStmt", `@if cond { f() } else { g(); h() }`},
    	{"ForStmt", `@for {}`},
    	{"ForStmt", `@for { f() }`},
    	{"SwitchStmt", `@switch {}`},
    	{"SwitchStmt", `@switch { default: }`},
    	{"SwitchStmt", `@switch { default: x++ }`},
    	{"SelectStmt", `@select {}`},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Nov 02 18:45:06 UTC 2023
    - 8.7K bytes
    - Viewed (0)
  8. src/cmd/vendor/golang.org/x/tools/go/cfg/builder.go

    	case *ast.SwitchStmt:
    		b.switchStmt(s, label)
    
    	case *ast.TypeSwitchStmt:
    		b.typeSwitchStmt(s, label)
    
    	case *ast.SelectStmt:
    		b.selectStmt(s, label)
    
    	case *ast.ForStmt:
    		b.forStmt(s, label)
    
    	case *ast.RangeStmt:
    		b.rangeStmt(s, label)
    
    	default:
    		panic(fmt.Sprintf("unexpected statement kind: %T", s))
    	}
    }
    
    func (b *builder) stmtList(list []ast.Stmt) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 02:20:05 UTC 2024
    - 11.4K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/walk/stmt.go

    			ir.CurFunc.SetOpenCodedDeferDisallowed(true)
    		}
    		fallthrough
    	case ir.OGO:
    		n := n.(*ir.GoDeferStmt)
    		return walkGoDefer(n)
    
    	case ir.OFOR:
    		n := n.(*ir.ForStmt)
    		return walkFor(n)
    
    	case ir.OIF:
    		n := n.(*ir.IfStmt)
    		return walkIf(n)
    
    	case ir.ORETURN:
    		n := n.(*ir.ReturnStmt)
    		return walkReturn(n)
    
    	case ir.OTAILCALL:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 06 15:42:30 UTC 2023
    - 4.7K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/rangefunc/rewrite.go

    	}
    	return r.useObj(r.nextVar)
    }
    
    // forRangeFunc checks whether n is a range-over-func.
    // If so, it returns n.(*syntax.ForStmt), true.
    // Otherwise it returns nil, false.
    func forRangeFunc(n syntax.Node) (*syntax.ForStmt, bool) {
    	nfor, ok := n.(*syntax.ForStmt)
    	if !ok {
    		return nil, false
    	}
    	nrange, ok := nfor.Init.(*syntax.RangeClause)
    	if !ok {
    		return nil, false
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 01:05:44 UTC 2024
    - 41.6K bytes
    - Viewed (0)
Back to top