Search Options

Results per page
Sort
Preferred Languages
Advance

Results 21 - 30 of 31 for IndexExpr (0.16 sec)

  1. src/cmd/compile/internal/types2/typexpr.go

    			// ignore - error reported before
    		case novalue:
    			check.errorf(&x, NotAType, "%s used as type", &x)
    		default:
    			check.errorf(&x, NotAType, "%s is not a type", &x)
    		}
    
    	case *syntax.IndexExpr:
    		check.verifyVersionf(e, go1_18, "type instantiation")
    		return check.instantiatedType(e.X, syntax.UnpackListExpr(e.Index), def)
    
    	case *syntax.ParenExpr:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 16.6K bytes
    - Viewed (0)
  2. src/cmd/compile/internal/types2/expr.go

    		kind := check.rawExpr(nil, x, e.X, nil, false)
    		x.expr = e
    		return kind
    
    	case *syntax.SelectorExpr:
    		check.selector(x, e, nil, false)
    
    	case *syntax.IndexExpr:
    		if check.indexExpr(x, e) {
    			if !enableReverseTypeInference {
    				T = nil
    			}
    			check.funcInst(T, e.Pos(), x, e, true)
    		}
    		if x.mode == invalid {
    			goto Error
    		}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 02:09:54 UTC 2024
    - 51.7K bytes
    - Viewed (0)
  3. src/go/types/check.go

    	if m := check.Instances; m != nil {
    		m[ident] = Instance{newTypeList(targs), typ}
    	}
    }
    
    func instantiatedIdent(expr ast.Expr) *ast.Ident {
    	var selOrIdent ast.Expr
    	switch e := expr.(type) {
    	case *ast.IndexExpr:
    		selOrIdent = e.X
    	case *ast.IndexListExpr:
    		selOrIdent = e.X
    	case *ast.SelectorExpr, *ast.Ident:
    		selOrIdent = e
    	}
    	switch x := selOrIdent.(type) {
    	case *ast.Ident:
    		return x
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 23.1K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/types2/check.go

    		m[ident] = Instance{newTypeList(targs), typ}
    	}
    }
    
    func instantiatedIdent(expr syntax.Expr) *syntax.Name {
    	var selOrIdent syntax.Expr
    	switch e := expr.(type) {
    	case *syntax.IndexExpr:
    		selOrIdent = e.X
    	case *syntax.SelectorExpr, *syntax.Name:
    		selOrIdent = e
    	}
    	switch x := selOrIdent.(type) {
    	case *syntax.Name:
    		return x
    	case *syntax.SelectorExpr:
    		return x.Sel
    	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 23.3K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/types2/resolver.go

    			if t.Op != syntax.Mul || t.Y != nil {
    				break
    			}
    			ptr = true
    			rtyp = t.X
    		default:
    			break L
    		}
    	}
    
    	// unpack type parameters, if any
    	if ptyp, _ := rtyp.(*syntax.IndexExpr); ptyp != nil {
    		rtyp = ptyp.X
    		if unpackParams {
    			for _, arg := range syntax.UnpackListExpr(ptyp.Index) {
    				var par *syntax.Name
    				switch arg := arg.(type) {
    				case *syntax.Name:
    					par = arg
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 18 14:10:44 UTC 2024
    - 26.3K bytes
    - Viewed (0)
  6. src/go/types/resolver.go

    		case *ast.ParenExpr:
    			rtyp = t.X
    		case *ast.StarExpr:
    			ptr = true
    			rtyp = t.X
    		default:
    			break L
    		}
    	}
    
    	// unpack type parameters, if any
    	switch rtyp.(type) {
    	case *ast.IndexExpr, *ast.IndexListExpr:
    		ix := typeparams.UnpackIndexExpr(rtyp)
    		rtyp = ix.X
    		if unpackParams {
    			for _, arg := range ix.Indices {
    				var par *ast.Ident
    				switch arg := arg.(type) {
    				case *ast.Ident:
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri May 17 16:22:59 UTC 2024
    - 26.1K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/typecheck/expr.go

    	}
    	if !t.IsInterface() {
    		base.Fatalf("OITAB of %v", t)
    	}
    	n.SetType(types.NewPtr(types.Types[types.TUINTPTR]))
    	return n
    }
    
    // tcIndex typechecks an OINDEX node.
    func tcIndex(n *ir.IndexExpr) ir.Node {
    	n.X = Expr(n.X)
    	n.X = DefaultLit(n.X, nil)
    	n.X = implicitstar(n.X)
    	l := n.X
    	n.Index = Expr(n.Index)
    	r := n.Index
    	t := l.Type()
    	if t == nil || r.Type() == nil {
    		n.SetType(nil)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Apr 04 14:29:45 UTC 2024
    - 23.1K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/staticinit/sched.go

    	case ir.ODOT:
    		n := n.(*ir.SelectorExpr)
    		if name, offset, ok = StaticLoc(n.X); !ok {
    			break
    		}
    		offset += n.Offset()
    		return name, offset, true
    
    	case ir.OINDEX:
    		n := n.(*ir.IndexExpr)
    		if n.X.Type().IsSlice() {
    			break
    		}
    		if name, offset, ok = StaticLoc(n.X); !ok {
    			break
    		}
    		l := getlit(n.Index)
    		if l < 0 {
    			break
    		}
    
    		// Check for overflow.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 02 17:16:14 UTC 2024
    - 30.7K bytes
    - Viewed (0)
  9. src/cmd/compile/internal/ssagen/ssa.go

    			s.assign(left.X, new, false, 0)
    			// TODO: do we need to update named values here?
    			return
    		}
    		if left.Op() == ir.OINDEX && left.(*ir.IndexExpr).X.Type().IsArray() {
    			left := left.(*ir.IndexExpr)
    			s.pushLine(left.Pos())
    			defer s.popLine()
    			// We're assigning to an element of an ssa-able array.
    			// a[i] = v
    			t := left.X.Type()
    			n := t.NumElem()
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
  10. src/cmd/cgo/gcc.go

    		if !p.isType(c.Fun) && !p.isUnsafeData(c.Fun, false) {
    			break
    		}
    		x = c.Args[0]
    	}
    	u, ok := x.(*ast.UnaryExpr)
    	if !ok || u.Op != token.AND {
    		return false
    	}
    	index, ok := u.X.(*ast.IndexExpr)
    	if !ok {
    		return false
    	}
    
    	addr := ""
    	deref := ""
    	if p.isVariable(index.X) {
    		addr = "&"
    		deref = "*"
    	}
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 20 15:50:06 UTC 2024
    - 97K bytes
    - Viewed (0)
Back to top