From: Rob Pike Date: Thu, 3 Mar 2011 03:39:08 +0000 (-0800) Subject: unsafe: fix the documentation X-Git-Tag: weekly.2011-03-07~48 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=68add46af776369dbaade9eb1eb9de9bb0c7fec8;p=gostls13.git unsafe: fix the documentation Reflection is about Pointer, not uintptr. Also clarify that Reflect and Unreflect are indirect. R=rsc CC=golang-dev https://golang.org/cl/4254052 --- diff --git a/src/pkg/unsafe/unsafe.go b/src/pkg/unsafe/unsafe.go index 3a4e30c00c..3cd4cff6e9 100644 --- a/src/pkg/unsafe/unsafe.go +++ b/src/pkg/unsafe/unsafe.go @@ -41,13 +41,14 @@ func Typeof(i interface{}) (typ interface{}) // Reflect unpacks an interface value into its type and the address of a copy of the // internal value. -func Reflect(i interface{}) (typ interface{}, addr uintptr) +func Reflect(i interface{}) (typ interface{}, addr Pointer) -// Unreflect inverts Reflect: Given a type and a pointer, it returns an empty interface value -// with those contents. The typ is assumed to contain a pointer to a runtime type; -// the type information in the interface{} is ignored, so that, for example, both +// Unreflect inverts Reflect: Given a type and a pointer to a value, it returns an +// empty interface value with contents the type and the value (not the pointer to +// the value). The typ is assumed to contain a pointer to a runtime type; the type +// information in the interface{} is ignored, so that, for example, both // *reflect.StructType and *runtime.StructType can be passed for typ. -func Unreflect(typ interface{}, addr uintptr) (ret interface{}) +func Unreflect(typ interface{}, addr Pointer) (ret interface{}) // New allocates and returns a pointer to memory for a new value of the given type. // The typ is assumed to hold a pointer to a runtime type.