- Sort Score
- Result 10 results
- Languages All
Results 1 - 9 of 9 for NodAddr (0.12 sec)
-
src/cmd/compile/internal/walk/range.go
init = append(init, mkcallstmt1(fn, reflectdata.RangeMapRType(base.Pos, nrange), ha, typecheck.NodAddr(hit))) nfor.Cond = ir.NewBinaryExpr(base.Pos, ir.ONE, ir.NewSelectorExpr(base.Pos, ir.ODOT, hit, keysym), typecheck.NodNil()) fn = typecheck.LookupRuntime("mapiternext", th) nfor.Post = mkcallstmt1(fn, typecheck.NodAddr(hit))
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Sep 20 14:52:33 UTC 2023 - 17.6K bytes - Viewed (0) -
src/cmd/compile/internal/walk/assign.go
case ir.ORECV: // x = <-c; as.Left is x, as.Right.Left is c. // order.stmt made sure x is addressable. recv := as.Y.(*ir.UnaryExpr) recv.X = walkExpr(recv.X, init) n1 := typecheck.NodAddr(as.X) r := recv.X // the channel return mkcall1(chanfn("chanrecv1", 2, r.Type()), nil, init, r, n1) case ir.OAPPEND: // x = append(...) call := as.Y.(*ir.CallExpr) if call.Type().Elem().NotInHeap() {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 08 17:09:06 UTC 2024 - 20.3K bytes - Viewed (0) -
src/cmd/compile/internal/walk/convert.go
init.Append(typecheck.Stmt(ir.NewAssignStmt(base.Pos, value, n))) } if value != nil { // The interface data word is &value. return typecheck.Expr(typecheck.NodAddr(value)) } // Time to do an allocation. We'll call into the runtime for that. fnname, argType, needsaddr := dataWordFuncName(fromType) var fn *ir.Name var args []ir.Node if needsaddr {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Oct 09 17:28:22 UTC 2023 - 18.2K bytes - Viewed (0) -
src/cmd/compile/internal/walk/compare.go
// is handled by walkCompare. fn, needsLength := reflectdata.EqFor(t) call := ir.NewCallExpr(base.Pos, ir.OCALL, fn, nil) call.Args.Append(typecheck.NodAddr(cmpl)) call.Args.Append(typecheck.NodAddr(cmpr)) if needsLength { call.Args.Append(ir.NewInt(base.Pos, t.Size())) } res := ir.Node(call) if n.Op() != ir.OEQ { res = ir.NewUnaryExpr(base.Pos, ir.ONOT, res) }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed May 24 21:55:14 UTC 2023 - 16.2K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/subr.go
for i, orig := range origs { p := types.NewField(orig.Pos, orig.Sym, orig.Type) p.SetIsDDD(orig.IsDDD()) res[i] = p } return res } // NodAddr returns a node representing &n at base.Pos. func NodAddr(n ir.Node) *ir.AddrExpr { return NodAddrAt(base.Pos, n) } // NodAddrAt returns a node representing &n at position pos. func NodAddrAt(pos src.XPos, n ir.Node) *ir.AddrExpr {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Oct 05 19:45:58 UTC 2023 - 20.2K bytes - Viewed (0) -
src/cmd/compile/internal/walk/expr.go
func mapKeyArg(fast int, n, key ir.Node, assigned bool) ir.Node { if fast == mapslow { // standard version takes key by reference. // orderState.expr made sure key is addressable. return typecheck.NodAddr(key) } if assigned { // mapassign does distinguish pointer vs. integer key. return key } // mapaccess and mapdelete don't distinguish pointer vs. integer key. switch fast { case mapfast32ptr:
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Mon Mar 04 17:34:01 UTC 2024 - 27.6K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/expr.go
return n } if l.Type().IsArray() { if !ir.IsAddressable(n.X) { base.Errorf("invalid operation %v (slice of unaddressable value)", n) n.SetType(nil) return n } addr := NodAddr(n.X) addr.SetImplicit(true) n.X = Expr(addr) l = n.X } t := l.Type() var tp *types.Type if t.IsString() { if hasmax { base.Errorf("invalid operation %v (3-index slice of string)", n)
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Thu Apr 04 14:29:45 UTC 2024 - 23.1K bytes - Viewed (0) -
src/cmd/compile/internal/typecheck/typecheck.go
types.CalcSize(tt) rcvr := f2.Type.Recv().Type if !types.Identical(rcvr, tt) { if rcvr.IsPtr() && types.Identical(rcvr.Elem(), tt) { checklvalue(n.X, "call pointer method on") addr := NodAddr(n.X) addr.SetImplicit(true) n.X = typecheck(addr, ctxType|ctxExpr) } else if tt.IsPtr() && (!rcvr.IsPtr() || rcvr.IsPtr() && rcvr.Elem().NotInHeap()) && types.Identical(tt.Elem(), rcvr) {
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Wed Mar 20 19:08:34 UTC 2024 - 30.5K bytes - Viewed (0) -
src/cmd/compile/internal/walk/order.go
base.Fatalf("mapKeyTemp: key type is not sufficiently aligned, kt=%v nt=%v", kt, nt) } tmp := o.newTemp(kt, true) // *(*nt)(&tmp) = n var e ir.Node = typecheck.NodAddr(tmp) e = ir.NewConvExpr(pos, ir.OCONVNOP, nt.PtrTo(), e) e = ir.NewStarExpr(pos, e) o.append(ir.NewAssignStmt(pos, e, n)) return tmp } }
Registered: Wed Jun 12 16:32:35 UTC 2024 - Last Modified: Fri Mar 08 02:00:33 UTC 2024 - 42.7K bytes - Viewed (0)