Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 12 for recordTypeAndValue (0.43 sec)

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

    				u = Typ[Invalid]
    			}
    		} else {
    			terms = append(terms, term)
    			u = &Union{terms}
    		}
    
    		if i > 0 {
    			check.recordTypeAndValue(blist[i-1], typexpr, u, nil)
    		}
    	}
    
    	if !isValid(u) {
    		return u
    	}
    
    	// Check validity of terms.
    	// Do this check later because it requires types to be set up.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 15 16:16:58 UTC 2023
    - 6.3K bytes
    - Viewed (0)
  2. src/go/types/union.go

    				u = Typ[Invalid]
    			}
    		} else {
    			terms = append(terms, term)
    			u = &Union{terms}
    		}
    
    		if i > 0 {
    			check.recordTypeAndValue(blist[i-1], typexpr, u, nil)
    		}
    	}
    
    	if !isValid(u) {
    		return u
    	}
    
    	// Check validity of terms.
    	// Do this check later because it requires types to be set up.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Oct 19 12:02:03 UTC 2023
    - 6.2K bytes
    - Viewed (0)
  3. 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)
  4. 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)
  5. 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)
  6. 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)
  7. 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)
  8. 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)
  9. 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)
  10. 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)
Back to top