MCPcopy Create free account
hub / github.com/apache/fory / valueField

Method valueField

go/fory/optional_serializer.go:162–176  ·  view source on GitHub ↗
(value reflect.Value)

Source from the content-addressed store, hash-verified

160}
161
162func (s *optionalSerializer) valueField(value reflect.Value) reflect.Value {
163 value = s.unwrap(value)
164 if !value.IsValid() {
165 return reflect.New(s.valueType).Elem()
166 }
167 if value.CanAddr() {
168 ptr := unsafe.Add(unsafe.Pointer(value.UnsafeAddr()), s.valueOffset)
169 return reflect.NewAt(s.valueType, ptr).Elem()
170 }
171 field := value.FieldByName("value")
172 if field.IsValid() {
173 return field
174 }
175 return reflect.New(s.valueType).Elem()
176}
177
178func (s *optionalSerializer) setHas(value reflect.Value, has bool) {
179 value = s.unwrap(value)

Callers 4

WriteMethod · 0.95
WriteDataMethod · 0.95
ReadMethod · 0.95
ReadDataMethod · 0.95

Calls 2

unwrapMethod · 0.95
AddMethod · 0.45

Tested by

no test coverage detected