Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 13 for OAS2 (0.04 sec)

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

    			base.Errorf("%v is not a top level statement", n.Sym())
    		} else {
    			base.Errorf("%v is not a top level statement", n.Op())
    		}
    		ir.Dump("nottop", n)
    		return n
    
    	case ir.OAS,
    		ir.OASOP,
    		ir.OAS2,
    		ir.OAS2DOTTYPE,
    		ir.OAS2RECV,
    		ir.OAS2FUNC,
    		ir.OAS2MAPR,
    		ir.OCLEAR,
    		ir.OCLOSE,
    		ir.OCOPY,
    		ir.OCALLINTER,
    		ir.OCALL,
    		ir.OCALLFUNC,
    		ir.ODELETE,
    		ir.OSEND,
    		ir.OPRINT,
    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/select.go

    			fn := chanfn("selectnbrecv", 2, ch.Type())
    			call := mkcall1(fn, fn.Type().ResultsTuple(), r.PtrInit(), elem, ch)
    			as := ir.NewAssignListStmt(r.Pos(), ir.OAS2, []ir.Node{cond, n.Lhs[1]}, []ir.Node{call})
    			r.PtrInit().Append(typecheck.Stmt(as))
    		}
    
    		r.Cond = typecheck.Expr(cond)
    		r.Body = cas.Body
    		r.Else = append(dflt.Init(), dflt.Body...)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Aug 22 01:53:41 UTC 2023
    - 7.8K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/range.go

    func rangeAssign2(n *ir.RangeStmt, key, value ir.Node) ir.Node {
    	// Use OAS2 to correctly handle assignments
    	// of the form "v1, a[v1] = range".
    	key = rangeConvert(n, n.Key.Type(), key, n.KeyTypeWord, n.KeySrcRType)
    	value = rangeConvert(n, n.Value.Type(), value, n.ValueTypeWord, n.ValueSrcRType)
    	return ir.NewAssignListStmt(n.Pos(), ir.OAS2, []ir.Node{n.Key, n.Value}, []ir.Node{key, value})
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Sep 20 14:52:33 UTC 2023
    - 17.6K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/staticinit/sched.go

    	}
    
    	if !s.seenMutation {
    		s.seenMutation = mayModifyPkgVar(rhs)
    	}
    
    	if allBlank(lhs) && !AnySideEffects(rhs) {
    		return true // discard
    	}
    
    	// Only worry about simple "l = r" assignments. The OAS2*
    	// assignments mostly necessitate dynamic execution anyway.
    	if len(lhs) > 1 {
    		return false
    	}
    
    	lno := ir.SetPos(n)
    	defer func() { base.Pos = lno }()
    
    	nam := lhs[0].(*ir.Name)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 17:16:14 UTC 2024
    - 30.7K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ir/fmt.go

    	OADDR:             "&",
    	OADD:              "+",
    	OADDSTR:           "+",
    	OANDAND:           "&&",
    	OANDNOT:           "&^",
    	OAND:              "&",
    	OAPPEND:           "append",
    	OAS:               "=",
    	OAS2:              "=",
    	OBREAK:            "break",
    	OCALL:             "function call", // not actual syntax
    	OCAP:              "cap",
    	OCASE:             "case",
    	OCLEAR:            "clear",
    	OCLOSE:            "close",
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 05 15:20:28 UTC 2023
    - 26K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/typecheck/typecheck.go

    		tcAssign(n)
    
    		// Code that creates temps does not bother to set defn, so do it here.
    		if n.X.Op() == ir.ONAME && ir.IsAutoTmp(n.X) {
    			n.X.Name().Defn = n
    		}
    		return n
    
    	case ir.OAS2:
    		tcAssignList(n.(*ir.AssignListStmt))
    		return n
    
    	case ir.OBREAK,
    		ir.OCONTINUE,
    		ir.ODCL,
    		ir.OGOTO,
    		ir.OFALL:
    		return n
    
    	case ir.OBLOCK:
    		n := n.(*ir.BlockStmt)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 20 19:08:34 UTC 2024
    - 30.5K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/walk/order.go

    			as := typecheck.Stmt(ir.NewAssignStmt(n.Pos(), l1, r))
    			o.mapAssign(as)
    			o.popTemp(t)
    			return
    		}
    
    		o.mapAssign(n)
    		o.popTemp(t)
    
    	case ir.OAS2:
    		n := n.(*ir.AssignListStmt)
    		t := o.markTemp()
    		o.exprList(n.Lhs)
    		o.exprList(n.Rhs)
    		o.out = append(o.out, n)
    		o.popTemp(t)
    
    	// Special: avoid copy of func call n.Right
    	case ir.OAS2FUNC:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Mar 08 02:00:33 UTC 2024
    - 42.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/walk/walk.go

    	}
    }
    
    // appendWalkStmt typechecks and walks stmt and then appends it to init.
    func appendWalkStmt(init *ir.Nodes, stmt ir.Node) {
    	op := stmt.Op()
    	n := typecheck.Stmt(stmt)
    	if op == ir.OAS || op == ir.OAS2 {
    		// If the assignment has side effects, walkExpr will append them
    		// directly to init for us, while walkStmt will wrap it in an OBLOCK.
    		// We need to append them directly.
    		// TODO(rsc): Clean this up.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/walk/switch.go

    		// The concrete cases can all be handled without a runtime call.
    		if len(concreteCases) > 0 {
    			var clauses []typeClause
    			for _, c := range concreteCases {
    				as := ir.NewAssignListStmt(c.pos, ir.OAS2,
    					[]ir.Node{ir.BlankNode, s.okName},                               // _, ok =
    					[]ir.Node{ir.NewTypeAssertExpr(c.pos, s.srcName, c.typ.Type())}) // iface.(type)
    				nif := ir.NewIfStmt(c.pos, s.okName, []ir.Node{c.jmp}, nil)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 30.1K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/walk/assign.go

    		n.Rhs = []ir.Node{r}
    		return n
    	}
    	init.Append(r)
    
    	ll := ascompatet(n.Lhs, r.Type())
    	return ir.NewBlockStmt(src.NoXPos, ll)
    }
    
    // walkAssignList walks an OAS2 node.
    func walkAssignList(init *ir.Nodes, n *ir.AssignListStmt) ir.Node {
    	init.Append(ir.TakeInit(n)...)
    	return ir.NewBlockStmt(src.NoXPos, ascompatee(ir.OAS, n.Lhs, n.Rhs))
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 08 17:09:06 UTC 2024
    - 20.3K bytes
    - Viewed (0)
Back to top