diff options
| author | Marcel van Lohuizen <mpvl@golang.org> | 2019-02-08 17:48:17 +0100 |
|---|---|---|
| committer | Marcel van Lohuizen <mpvl@golang.org> | 2019-02-27 18:27:01 +0000 |
| commit | 9650726e79e20386b59b253e98dcaaa768e06c95 (patch) | |
| tree | cbec3bc830648a2aa767ac2fa9ca31d073da3510 /src/runtime/runtime1.go | |
| parent | b9596aea50a0703f89c6f11c206cfd2c7dd189fa (diff) | |
| download | go-9650726e79e20386b59b253e98dcaaa768e06c95.tar.xz | |
internal/reflectlite: lite version of reflect package
to be used by errors package for checking assignability
and setting error values in As.
Updates #29934.
Change-Id: I8c1d02a2c6efa0919d54b286cfe8b4edc26da059
Reviewed-on: https://go-review.googlesource.com/c/161759
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Diffstat (limited to 'src/runtime/runtime1.go')
| -rw-r--r-- | src/runtime/runtime1.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/runtime/runtime1.go b/src/runtime/runtime1.go index 0c0a31ee6a..a597e1cd7f 100644 --- a/src/runtime/runtime1.go +++ b/src/runtime/runtime1.go @@ -490,6 +490,18 @@ func reflect_resolveTextOff(rtype unsafe.Pointer, off int32) unsafe.Pointer { } +// reflectlite_resolveNameOff resolves a name offset from a base pointer. +//go:linkname reflectlite_resolveNameOff internal/reflectlite.resolveNameOff +func reflectlite_resolveNameOff(ptrInModule unsafe.Pointer, off int32) unsafe.Pointer { + return unsafe.Pointer(resolveNameOff(ptrInModule, nameOff(off)).bytes) +} + +// reflectlite_resolveTypeOff resolves an *rtype offset from a base type. +//go:linkname reflectlite_resolveTypeOff internal/reflectlite.resolveTypeOff +func reflectlite_resolveTypeOff(rtype unsafe.Pointer, off int32) unsafe.Pointer { + return unsafe.Pointer((*_type)(rtype).typeOff(typeOff(off))) +} + // reflect_addReflectOff adds a pointer to the reflection offset lookup map. //go:linkname reflect_addReflectOff reflect.addReflectOff func reflect_addReflectOff(ptr unsafe.Pointer) int32 { |
