From 668fa7f67726b45fec8a0c2fb56697d7d5497762 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 7 Jul 2009 15:06:29 -0700 Subject: [PATCH] Update the unsafe docs for the new type implementation. Please correct as needed. R=rsc,r DELTA=10 (4 added, 1 deleted, 5 changed) OCL=31305 CL=31305 --- src/pkg/unsafe/unsafe.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/pkg/unsafe/unsafe.go b/src/pkg/unsafe/unsafe.go index b19af405b6..b2d9a5ab7c 100644 --- a/src/pkg/unsafe/unsafe.go +++ b/src/pkg/unsafe/unsafe.go @@ -35,10 +35,13 @@ func Offsetof(v ArbitraryType) int // If v is of the form obj.f, it returns the alignment of field f within struct object obj. func Alignof(v ArbitraryType) int -// Reflect unpacks an interface value into its internal value word and its type string. -// The boolean indir is true if the value is a pointer to the real value. -func Reflect(i interface {}) (value uint64, typestring string, indir bool) +// Typeof returns the type of an interface value, a runtime.Type. +func Typeof(i interface {}) (typ interface {}) -// Unreflect inverts Reflect: Given a value word, a type string, and the indirect bit, -// it returns an empty interface value with those contents. -func Unreflect(value uint64, typestring string, indir bool) (ret 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) + +// Unreflect inverts Reflect: Given a type and a pointer, it returns an empty interface value +// with those contents. +func Unreflect(typ interface {}, addr uintptr) (ret interface {})