reflect.valueInterface
This commit is contained in:
@@ -747,7 +747,6 @@ func (v Value) Interface() (i any) {
|
||||
}
|
||||
|
||||
func valueInterface(v Value, safe bool) any {
|
||||
/*
|
||||
if v.flag == 0 {
|
||||
panic(&ValueError{"reflect.Value.Interface", Invalid})
|
||||
}
|
||||
@@ -762,6 +761,7 @@ func valueInterface(v Value, safe bool) any {
|
||||
}
|
||||
|
||||
if v.kind() == Interface {
|
||||
/* TODO(xsw):
|
||||
// Special case: return the element inside the interface.
|
||||
// Empty interface has one layout, all interfaces with
|
||||
// methods have a second layout.
|
||||
@@ -771,12 +771,12 @@ func valueInterface(v Value, safe bool) any {
|
||||
return *(*interface {
|
||||
M()
|
||||
})(v.ptr)
|
||||
*/
|
||||
panic("todo: reflect.valueInterface")
|
||||
}
|
||||
|
||||
// TODO: pass safe to packEface so we don't need to copy if safe==true?
|
||||
return packEface(v)
|
||||
*/
|
||||
panic("todo: reflect.valueInterface")
|
||||
}
|
||||
|
||||
// InterfaceData returns a pair of unspecified uintptr values.
|
||||
|
||||
Reference in New Issue
Block a user