diff options
author | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 12:50:40 -0700 |
---|---|---|
committer | Tianon Gravi <admwiggin@gmail.com> | 2015-01-15 12:50:40 -0700 |
commit | 2a0db60599fdd75b1bc3e297180fbe1282763759 (patch) | |
tree | 68d43c3e30d9ab961ddf6b7365201ca6b675b253 /src/reflect/export_test.go | |
parent | ef33cba3c8de6c431df56503df51fcd3a473c89e (diff) | |
parent | f154da9e12608589e8d5f0508f908a0c3e88a1bb (diff) | |
download | golang-2a0db60599fdd75b1bc3e297180fbe1282763759.tar.gz |
Merge tag 'upstream/1.4' into debian-experimental
* tag 'upstream/1.4':
Imported Upstream version 1.4
Diffstat (limited to 'src/reflect/export_test.go')
-rw-r--r-- | src/reflect/export_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/reflect/export_test.go b/src/reflect/export_test.go new file mode 100644 index 000000000..caaf51a50 --- /dev/null +++ b/src/reflect/export_test.go @@ -0,0 +1,38 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package reflect + +// MakeRO returns a copy of v with the read-only flag set. +func MakeRO(v Value) Value { + v.flag |= flagRO + return v +} + +// IsRO reports whether v's read-only flag is set. +func IsRO(v Value) bool { + return v.flag&flagRO != 0 +} + +var ArrayOf = arrayOf +var CallGC = &callGC + +const PtrSize = ptrSize +const BitsPointer = bitsPointer +const BitsScalar = bitsScalar + +func FuncLayout(t Type, rcvr Type) (frametype Type, argSize, retOffset uintptr, stack []byte) { + var ft *rtype + var s *bitVector + if rcvr != nil { + ft, argSize, retOffset, s = funcLayout(t.(*rtype), rcvr.(*rtype)) + } else { + ft, argSize, retOffset, s = funcLayout(t.(*rtype), nil) + } + frametype = ft + for i := uint32(0); i < s.n; i += 2 { + stack = append(stack, s.data[i/8]>>(i%8)&3) + } + return +} |