Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 9 of 9 for IsSlice3 (0.37 sec)

  1. src/cmd/compile/internal/typecheck/expr.go

    	} else {
    		n.SetType(types.NewPtr(t.Elem()))
    	}
    	return n
    }
    
    // tcSlice typechecks an OSLICE or OSLICE3 node.
    func tcSlice(n *ir.SliceExpr) ir.Node {
    	n.X = DefaultLit(Expr(n.X), nil)
    	n.Low = indexlit(Expr(n.Low))
    	n.High = indexlit(Expr(n.High))
    	n.Max = indexlit(Expr(n.Max))
    	hasmax := n.Op().IsSlice3()
    	l := n.X
    	if l.Type() == nil {
    		n.SetType(nil)
    		return n
    	}
    	if l.Type().IsArray() {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 23.1K bytes
    - Viewed (0)
  2. src/go/types/index.go

    	case nil:
    		check.errorf(x, NonSliceableOperand, invalidOp+"cannot slice %s: %s has no core type", x, x.typ)
    		x.mode = invalid
    		return
    
    	case *Basic:
    		if isString(u) {
    			if e.Slice3 {
    				at := e.Max
    				if at == nil {
    					at = e // e.Index[2] should be present but be careful
    				}
    				check.error(at, InvalidSliceExpr, invalidOp+"3-index slice of string")
    				x.mode = invalid
    				return
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jan 22 16:17:05 UTC 2024
    - 11.2K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/walk/walk.go

    		default:
    			base.FatalfAt(n.Pos(), "mayCall %+v", n)
    
    		case ir.OCALLFUNC, ir.OCALLINTER,
    			ir.OUNSAFEADD, ir.OUNSAFESLICE:
    			return true
    
    		case ir.OINDEX, ir.OSLICE, ir.OSLICEARR, ir.OSLICE3, ir.OSLICE3ARR, ir.OSLICESTR,
    			ir.ODEREF, ir.ODOTPTR, ir.ODOTTYPE, ir.ODYNAMICDOTTYPE, ir.ODIV, ir.OMOD,
    			ir.OSLICE2ARR, ir.OSLICE2ARRPTR:
    			// These ops might panic, make sure they are done
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 27 20:56:00 UTC 2024
    - 10.4K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/walk/expr.go

    		n := n.(*ir.SliceHeaderExpr)
    		return walkSliceHeader(n, init)
    
    	case ir.OSTRINGHEADER:
    		n := n.(*ir.StringHeaderExpr)
    		return walkStringHeader(n, init)
    
    	case ir.OSLICE, ir.OSLICEARR, ir.OSLICESTR, ir.OSLICE3, ir.OSLICE3ARR:
    		n := n.(*ir.SliceExpr)
    		return walkSlice(n, init)
    
    	case ir.ONEW:
    		n := n.(*ir.UnaryExpr)
    		return walkNew(n, init)
    
    	case ir.OADDSTR:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:34:01 UTC 2024
    - 27.6K bytes
    - Viewed (0)
  5. src/text/template/funcs.go

    		return item.Slice(idx[0], idx[1]), nil
    	}
    	// given item[i:j:k], make sure i <= j <= k.
    	if idx[1] > idx[2] {
    		return reflect.Value{}, fmt.Errorf("invalid slice index: %d > %d", idx[1], idx[2])
    	}
    	return item.Slice3(idx[0], idx[1], idx[2]), nil
    }
    
    // Length
    
    // length returns the length of the item, with an error if it has no defined length.
    func length(item reflect.Value) (int, error) {
    	item, isNil := indirect(item)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 24 22:23:55 UTC 2024
    - 20.9K bytes
    - Viewed (0)
  6. src/go/parser/parser_test.go

    	{name: "dot", format: "package main; var x = «x.»x"},
    	{name: "index", format: "package main; var x = x«[1]»"},
    	{name: "slice", format: "package main; var x = x«[1:2]»"},
    	{name: "slice3", format: "package main; var x = x«[1:2:3]»"},
    	{name: "dottype", format: "package main; var x = x«.(any)»"},
    	{name: "callseq", format: "package main; var x = x«()»"},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Jan 31 20:26:14 UTC 2024
    - 24.6K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/typecheck/typecheck.go

    	case ir.OSTRINGHEADER:
    		n := n.(*ir.StringHeaderExpr)
    		return tcStringHeader(n)
    
    	case ir.OMAKESLICECOPY:
    		n := n.(*ir.MakeExpr)
    		return tcMakeSliceCopy(n)
    
    	case ir.OSLICE, ir.OSLICE3:
    		n := n.(*ir.SliceExpr)
    		return tcSlice(n)
    
    	// call and call like
    	case ir.OCALL:
    		n := n.(*ir.CallExpr)
    		return tcCall(n, top)
    
    	case ir.OCAP, ir.OLEN:
    		n := n.(*ir.UnaryExpr)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Mar 20 19:08:34 UTC 2024
    - 30.5K bytes
    - Viewed (0)
  8. src/go/ast/ast.go

    		Lbrack token.Pos // position of "["
    		Low    Expr      // begin of slice range; or nil
    		High   Expr      // end of slice range; or nil
    		Max    Expr      // maximum capacity of slice; or nil
    		Slice3 bool      // true if 3-index slice (2 colons present)
    		Rbrack token.Pos // position of "]"
    	}
    
    	// A TypeAssertExpr node represents an expression followed by a
    	// type assertion.
    	//
    	TypeAssertExpr struct {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 28 21:32:41 UTC 2024
    - 35.6K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/walk/order.go

    			o.exprList(n.Args)
    		}
    
    		if lhs == nil || lhs.Op() != ir.ONAME && !ir.SameSafeExpr(lhs, n.Args[0]) {
    			return o.copyExpr(n)
    		}
    		return n
    
    	case ir.OSLICE, ir.OSLICEARR, ir.OSLICESTR, ir.OSLICE3, ir.OSLICE3ARR:
    		n := n.(*ir.SliceExpr)
    		n.X = o.expr(n.X, nil)
    		n.Low = o.cheapExpr(o.expr(n.Low, nil))
    		n.High = o.cheapExpr(o.expr(n.High, nil))
    		n.Max = o.cheapExpr(o.expr(n.Max, nil))
    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