reflect: add UnsafePointer() for Func types

Этот коммит содержится в:
Damian Gryski 2023-03-10 11:02:42 -08:00 коммит произвёл Ayke
родитель b044d27dff
коммит 94a54bc105

Просмотреть файл

@ -189,8 +189,12 @@ func (v Value) UnsafePointer() unsafe.Pointer {
slice := (*sliceHeader)(v.value) slice := (*sliceHeader)(v.value)
return slice.data return slice.data
case Func: case Func:
panic("unimplemented: (reflect.Value).UnsafePointer()") fn := (*funcHeader)(v.value)
default: // not implemented: Func if fn.Context != nil {
return fn.Context
}
return fn.Code
default:
panic(&ValueError{Method: "UnsafePointer", Kind: v.Kind()}) panic(&ValueError{Method: "UnsafePointer", Kind: v.Kind()})
} }
} }