Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 13 for forStmt (0.2 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/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)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. src/cmd/compile/internal/syntax/positions.go

    		// case *ExprStmt:
    		case *SendStmt:
    			m = n.Chan
    		// case *DeclStmt:
    		case *AssignStmt:
    			m = n.Lhs
    		// case *BranchStmt:
    		// case *CallStmt:
    		// case *ReturnStmt:
    		// case *IfStmt:
    		// case *ForStmt:
    		// case *SwitchStmt:
    		// case *SelectStmt:
    
    		// helper nodes
    		case *RangeClause:
    			if n.Lhs != nil {
    				m = n.Lhs
    				continue
    			}
    			m = n.X
    		// case *CaseClause:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 17:49:19 UTC 2024
    - 6.5K bytes
    - Viewed (0)
  9. src/cmd/vendor/golang.org/x/tools/go/analysis/passes/unreachable/unreachable.go

    		d.labels[x.Label.Name] = x.Stmt
    		d.findLabels(x.Stmt)
    
    	// These cases are all the same, but the x.Body only works
    	// when the specific type of x is known, so the cases cannot
    	// be merged.
    	case *ast.ForStmt:
    		outer := d.breakTarget
    		d.breakTarget = x
    		d.findLabels(x.Body)
    		d.breakTarget = outer
    
    	case *ast.RangeStmt:
    		outer := d.breakTarget
    		d.breakTarget = x
    		d.findLabels(x.Body)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 09 01:28:01 UTC 2023
    - 7.6K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/syntax/nodes.go

    		// Target is the continuation of the control flow after executing
    		// the branch; it is computed by the parser if CheckBranches is set.
    		// Target is a *LabeledStmt for gotos, and a *SwitchStmt, *SelectStmt,
    		// or *ForStmt for breaks and continues, depending on the context of
    		// the branch. Target is not set for fallthroughs.
    		Target Stmt
    		stmt
    	}
    
    	CallStmt struct {
    		Tok     token // Go or Defer
    		Call    Expr
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:38 UTC 2023
    - 9K bytes
    - Viewed (0)
Back to top