Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 10 for recordTypeAndValue (0.57 sec)

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

    			check.dump("%v: %s (type %s) is typed", atPos(x), x, info.typ)
    			panic("unreachable")
    		}
    		check.recordTypeAndValue(x, info.mode, info.typ, info.val)
    	}
    }
    
    func (check *Checker) recordTypeAndValue(x syntax.Expr, mode operandMode, typ Type, val constant.Value) {
    	assert(x != nil)
    	assert(typ != nil)
    	if mode == invalid {
    		return // omit
    	}
    	if mode == constant_ {
    		assert(val != nil)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 23.3K bytes
    - Viewed (0)
  2. src/go/types/check.go

    			check.dump("%v: %s (type %s) is typed", x.Pos(), x, info.typ)
    			panic("unreachable")
    		}
    		check.recordTypeAndValue(x, info.mode, info.typ, info.val)
    	}
    }
    
    func (check *Checker) recordTypeAndValue(x ast.Expr, mode operandMode, typ Type, val constant.Value) {
    	assert(x != nil)
    	assert(typ != nil)
    	if mode == invalid {
    		return // omit
    	}
    	if mode == constant_ {
    		assert(val != nil)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 23.1K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/types2/typexpr.go

    	typ := check.typInternal(e, def)
    	assert(isTyped(typ))
    	if isGeneric(typ) {
    		check.errorf(e, WrongTypeArgCount, "cannot use generic type %s without instantiation", typ)
    		typ = Typ[Invalid]
    	}
    	check.recordTypeAndValue(e, typexpr, typ, nil)
    	return typ
    }
    
    // genericType is like typ but the type must be an (uninstantiated) generic
    // type. If cause is non-nil and the type expression was a valid type but not
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 16.6K bytes
    - Viewed (0)
  4. src/go/types/typexpr.go

    	typ := check.typInternal(e, def)
    	assert(isTyped(typ))
    	if isGeneric(typ) {
    		check.errorf(e, WrongTypeArgCount, "cannot use generic type %s without instantiation", typ)
    		typ = Typ[Invalid]
    	}
    	check.recordTypeAndValue(e, typexpr, typ, nil)
    	return typ
    }
    
    // genericType is like typ but the type must be an (uninstantiated) generic
    // type. If cause is non-nil and the type expression was a valid type but not
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 16.3K bytes
    - Viewed (0)
  5. src/go/types/signature.go

    	// Since we type-checked T rather than ...T, we also need to retro-actively
    	// record the type for ...T.
    	if variadic {
    		last := params[len(params)-1]
    		last.typ = &Slice{elem: last.typ}
    		check.recordTypeAndValue(list.List[len(list.List)-1].Type, typexpr, last.typ, nil)
    	}
    
    	return
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Feb 29 22:06:18 UTC 2024
    - 13K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/types2/signature.go

    	// Since we type-checked T rather than ...T, we also need to retro-actively
    	// record the type for ...T.
    	if variadic {
    		last := params[len(params)-1]
    		last.typ = &Slice{elem: last.typ}
    		check.recordTypeAndValue(list[len(list)-1].Type, typexpr, last.typ, nil)
    	}
    
    	return
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 15 21:33:05 UTC 2024
    - 12.6K bytes
    - Viewed (0)
  7. src/go/types/expr.go

    		c := operand{old.mode, x, old.typ, old.val, 0}
    		check.convertUntyped(&c, typ)
    		if c.mode == invalid {
    			return
    		}
    	}
    
    	// Everything's fine, record final type and value for x.
    	check.recordTypeAndValue(x, old.mode, typ, old.val)
    }
    
    // updateExprVal updates the value of x to val.
    func (check *Checker) updateExprVal(x ast.Expr, val constant.Value) {
    	if info, ok := check.untyped[x]; ok {
    		info.val = val
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 02:09:54 UTC 2024
    - 49.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/types2/expr.go

    		c := operand{old.mode, x, old.typ, old.val, 0}
    		check.convertUntyped(&c, typ)
    		if c.mode == invalid {
    			return
    		}
    	}
    
    	// Everything's fine, record final type and value for x.
    	check.recordTypeAndValue(x, old.mode, typ, old.val)
    }
    
    // updateExprVal updates the value of x to val.
    func (check *Checker) updateExprVal(x syntax.Expr, val constant.Value) {
    	if info, ok := check.untyped[x]; ok {
    		info.val = val
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 02:09:54 UTC 2024
    - 51.7K bytes
    - Viewed (0)
  9. src/go/types/call.go

    	sig = check.arguments(call, sig, targs, xlist, args, atargs, atxlist)
    
    	if wasGeneric && sig.TypeParams().Len() == 0 {
    		// Update the recorded type of call.Fun to its instantiated type.
    		check.recordTypeAndValue(call.Fun, value, sig, nil)
    	}
    
    	// determine result
    	switch sig.results.Len() {
    	case 0:
    		x.mode = novalue
    	case 1:
    		if cgocall {
    			x.mode = commaerr
    		} else {
    			x.mode = value
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 33.5K bytes
    - Viewed (0)
  10. src/cmd/compile/internal/types2/call.go

    	sig = check.arguments(call, sig, targs, xlist, args, atargs, atxlist)
    
    	if wasGeneric && sig.TypeParams().Len() == 0 {
    		// update the recorded type of call.Fun to its instantiated type
    		check.recordTypeAndValue(call.Fun, value, sig, nil)
    	}
    
    	// determine result
    	switch sig.results.Len() {
    	case 0:
    		x.mode = novalue
    	case 1:
    		if cgocall {
    			x.mode = commaerr
    		} else {
    			x.mode = value
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 19:19:55 UTC 2024
    - 31.5K bytes
    - Viewed (0)
Back to top