diff options
Diffstat (limited to 'libgo/go/internal/reflectlite/value.go')
-rw-r--r-- | libgo/go/internal/reflectlite/value.go | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/libgo/go/internal/reflectlite/value.go b/libgo/go/internal/reflectlite/value.go index 9a14d18..b78efae 100644 --- a/libgo/go/internal/reflectlite/value.go +++ b/libgo/go/internal/reflectlite/value.go @@ -5,6 +5,7 @@ package reflectlite import ( + "internal/unsafeheader" "runtime" "unsafe" ) @@ -336,10 +337,10 @@ func (v Value) Len() int { return maplen(v.pointer()) case Slice: // Slice is bigger than a word; assume flagIndir. - return (*sliceHeader)(v.ptr).Len + return (*unsafeheader.Slice)(v.ptr).Len case String: // String is bigger than a word; assume flagIndir. - return (*stringHeader)(v.ptr).Len + return (*unsafeheader.String)(v.ptr).Len } panic(&ValueError{"reflect.Value.Len", v.kind()}) } @@ -380,19 +381,6 @@ func (v Value) Type() Type { return v.typ } -// stringHeader is a safe version of StringHeader used within this package. -type stringHeader struct { - Data unsafe.Pointer - Len int -} - -// sliceHeader is a safe version of SliceHeader used within this package. -type sliceHeader struct { - Data unsafe.Pointer - Len int - Cap int -} - /* * constructors */ |