Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 7 of 7 for IfaceIndir (0.23 sec)

  1. src/reflect/badlinkname.go

    //
    // Do not remove or change the type signature.
    // See go.dev/issue/67401
    // and go.dev/issue/67279.
    
    // ifaceIndir reports whether t is stored indirectly in an interface value.
    // It is no longer used by this package and is here entirely for the
    // linkname uses.
    //
    //go:linkname unusedIfaceIndir reflect.ifaceIndir
    func unusedIfaceIndir(t *abi.Type) bool {
    	return t.Kind_&abi.KindDirectIface == 0
    }
    
    //go:linkname valueInterface
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 4.5K bytes
    - Viewed (0)
  2. src/internal/reflectlite/value.go

    	// This repeats typ.Kind() except for method values.
    	// The remaining 23+ bits give a method number for method values.
    	// If flag.kind() != Func, code can assume that flagMethod is unset.
    	// If ifaceIndir(typ), code can assume that flagIndir is set.
    	flag
    
    	// A method value represents a curried method invocation
    	// like r.Read for some receiver r. The typ+val+flag bits describe
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 07 17:01:54 UTC 2024
    - 13.6K bytes
    - Viewed (0)
  3. src/internal/reflectlite/export_test.go

    // The returned value is neither addressable nor settable.
    func Zero(typ Type) Value {
    	if typ == nil {
    		panic("reflect: Zero(nil)")
    	}
    	t := typ.common()
    	fl := flag(t.Kind())
    	if t.IfaceIndir() {
    		return Value{t, unsafe_New(t), fl | flagIndir}
    	}
    	return Value{t, nil, fl}
    }
    
    // ToInterface returns v's current value as an interface{}.
    // It is equivalent to:
    //
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 07 17:01:54 UTC 2024
    - 3K bytes
    - Viewed (0)
  4. src/reflect/value.go

    	//	- flagIndir: val holds a pointer to the data
    	//	- flagAddr: v.CanAddr is true (implies flagIndir and ptr is non-nil)
    	//	- flagMethod: v is a method value.
    	// If ifaceIndir(typ), code can assume that flagIndir is set.
    	//
    	// The remaining 22+ bits give a method number for method values.
    	// If flag.kind() != Func, code can assume that flagMethod is unset.
    	flag
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 21:17:41 UTC 2024
    - 119.9K bytes
    - Viewed (0)
  5. src/internal/abi/type.go

    	return t.TFlag&TFlagNamed != 0
    }
    
    // Pointers reports whether t contains pointers.
    func (t *Type) Pointers() bool { return t.PtrBytes != 0 }
    
    // IfaceIndir reports whether t is stored indirectly in an interface value.
    func (t *Type) IfaceIndir() bool {
    	return t.Kind_&KindDirectIface == 0
    }
    
    // isDirectIface reports whether t is stored directly in an interface value.
    func (t *Type) IsDirectIface() bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Apr 17 21:09:59 UTC 2024
    - 21.8K bytes
    - Viewed (0)
  6. src/reflect/abi.go

    // Returns true if the receiver is a pointer.
    func (a *abiSeq) addRcvr(rcvr *abi.Type) (*abiStep, bool) {
    	// The receiver is always one word.
    	a.valueStart = append(a.valueStart, len(a.steps))
    	var ok, ptr bool
    	if rcvr.IfaceIndir() || rcvr.Pointers() {
    		ok = a.assignIntN(0, goarch.PtrSize, 1, 0b1)
    		ptr = true
    	} else {
    		// TODO(mknyszek): Is this case even possible?
    		// The interface data work never contains a non-pointer
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 07 17:08:32 UTC 2024
    - 15K bytes
    - Viewed (0)
  7. src/reflect/type.go

    				qi := add(q, ft.Offset, "&x.field safe")
    				if !ft.Typ.Equal(pi, qi) {
    					return false
    				}
    			}
    			return true
    		}
    	}
    
    	switch {
    	case len(fs) == 1 && !fs[0].Typ.IfaceIndir():
    		// structs of 1 direct iface type can be direct
    		typ.Kind_ |= abi.KindDirectIface
    	default:
    		typ.Kind_ &^= abi.KindDirectIface
    	}
    
    	return addToCache(toType(&typ.Type))
    }
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 85.5K bytes
    - Viewed (0)
Back to top