Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 6 of 6 for InitExpr (0.1 sec)

  1. src/cmd/compile/internal/walk/stmt.go

    	}
    }
    
    // walkFor walks an OFOR node.
    func walkFor(n *ir.ForStmt) ir.Node {
    	if n.Cond != nil {
    		init := ir.TakeInit(n.Cond)
    		walkStmtList(init)
    		n.Cond = walkExpr(n.Cond, &init)
    		n.Cond = ir.InitExpr(init, n.Cond)
    	}
    
    	n.Post = walkStmt(n.Post)
    	walkStmtList(n.Body)
    	return n
    }
    
    // validGoDeferCall reports whether call is a valid call to appear in
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 06 15:42:30 UTC 2023
    - 4.7K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/walk/walk.go

    		base.Fatalf("missing typecheck: %+v", n)
    	}
    	init := ir.TakeInit(n)
    
    	n.X = walkExpr(n.X, &init)
    	call := walkExpr(mkcall1(chanfn("chanrecv1", 2, n.X.Type()), nil, &init, n.X, typecheck.NodNil()), &init)
    	return ir.InitExpr(init, call)
    }
    
    func convas(n *ir.AssignStmt, init *ir.Nodes) *ir.AssignStmt {
    	if n.Op() != ir.OAS {
    		base.Fatalf("convas: not OAS %v", n.Op())
    	}
    	n.SetTypecheck(1)
    
    	if n.X == nil || n.Y == nil {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/typecheck/func.go

    			return typecheck(ir.InitExpr(n.Init(), u), top) // typecheckargs can add to old.Init
    
    		case ir.OCOMPLEX, ir.OCOPY, ir.OUNSAFEADD, ir.OUNSAFESLICE, ir.OUNSAFESTRING:
    			typecheckargs(n)
    			arg1, arg2, ok := needTwoArgs(n)
    			if !ok {
    				n.SetType(nil)
    				return n
    			}
    			b := ir.NewBinaryExpr(n.Pos(), l.BuiltinOp, arg1, arg2)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 06 15:23:18 UTC 2024
    - 21.1K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/walk/range.go

    		lhs := []ir.Node{hv1, hb}
    		rhs := []ir.Node{ir.NewUnaryExpr(base.Pos, ir.ORECV, ha)}
    		a := ir.NewAssignListStmt(base.Pos, ir.OAS2RECV, lhs, rhs)
    		a.SetTypecheck(1)
    		nfor.Cond = ir.InitExpr([]ir.Node{a}, nfor.Cond)
    		if v1 == nil {
    			body = nil
    		} else {
    			body = []ir.Node{rangeAssign(nrange, hv1)}
    		}
    		// Zero hv1. This prevents hv1 from being the sole, inaccessible
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:33 UTC 2023
    - 17.6K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/walk/expr.go

    	// cannot put side effects from n.Right on init,
    	// because they cannot run before n.Left is checked.
    	// save elsewhere and store on the eventual n.Right.
    	var ll ir.Nodes
    
    	n.Y = walkExpr(n.Y, &ll)
    	n.Y = ir.InitExpr(ll, n.Y)
    	return n
    }
    
    // walkSend walks an OSEND node.
    func walkSend(n *ir.SendStmt, init *ir.Nodes) ir.Node {
    	n1 := n.Value
    	n1 = typecheck.AssignConv(n1, n.Chan.Type().Elem(), "chan send")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 27.6K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/walk/order.go

    //
    //	n.Left = o.exprInPlace(n.Left)
    func (o *orderState) exprInPlace(n ir.Node) ir.Node {
    	var order orderState
    	order.free = o.free
    	n = order.expr(n, nil)
    	n = ir.InitExpr(order.out, n)
    
    	// insert new temporaries from order
    	// at head of outer list.
    	o.temp = append(o.temp, order.temp...)
    	return n
    }
    
    // orderStmtInPlace orders the side effects of the single statement *np
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 08 02:00:33 UTC 2024
    - 42.7K bytes
    - Viewed (0)
Back to top