reflect: add Addr()

This commit is contained in:
Damian Gryski
2023-02-28 10:57:38 -08:00
committed by Damian Gryski
parent bbc79ee40a
commit 79930a209c
+9 -1
View File
@@ -217,7 +217,15 @@ func (v Value) CanAddr() bool {
}
func (v Value) Addr() Value {
panic("unimplemented: (reflect.Value).Addr()")
if !v.CanAddr() {
panic("reflect.Value.Addr of unaddressable value")
}
return Value{
typecode: pointerTo(v.typecode),
value: unsafe.Pointer(&v.value),
flags: v.flags ^ valueFlagIndirect,
}
}
func (v Value) CanSet() bool {