mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-07 12:33:42 +00:00
reflect: add support for Type.Bits()
This commit is contained in:
committed by
Ron Evans
parent
f43d01bdc7
commit
b8cd8b6f25
Vendored
+19
-12
@@ -92,18 +92,25 @@ func main() {
|
||||
|
||||
// test sizes
|
||||
println("\nsizes:")
|
||||
println("int8", int(reflect.TypeOf(int8(0)).Size()))
|
||||
println("int16", int(reflect.TypeOf(int16(0)).Size()))
|
||||
println("int32", int(reflect.TypeOf(int32(0)).Size()))
|
||||
println("int64", int(reflect.TypeOf(int64(0)).Size()))
|
||||
println("uint8", int(reflect.TypeOf(uint8(0)).Size()))
|
||||
println("uint16", int(reflect.TypeOf(uint16(0)).Size()))
|
||||
println("uint32", int(reflect.TypeOf(uint32(0)).Size()))
|
||||
println("uint64", int(reflect.TypeOf(uint64(0)).Size()))
|
||||
println("float32", int(reflect.TypeOf(float32(0)).Size()))
|
||||
println("float64", int(reflect.TypeOf(float64(0)).Size()))
|
||||
println("complex64", int(reflect.TypeOf(complex64(0)).Size()))
|
||||
println("complex128", int(reflect.TypeOf(complex128(0)).Size()))
|
||||
for _, tc := range []struct {
|
||||
name string
|
||||
rt reflect.Type
|
||||
}{
|
||||
{"int8", reflect.TypeOf(int8(0))},
|
||||
{"int16", reflect.TypeOf(int16(0))},
|
||||
{"int32", reflect.TypeOf(int32(0))},
|
||||
{"int64", reflect.TypeOf(int64(0))},
|
||||
{"uint8", reflect.TypeOf(uint8(0))},
|
||||
{"uint16", reflect.TypeOf(uint16(0))},
|
||||
{"uint32", reflect.TypeOf(uint32(0))},
|
||||
{"uint64", reflect.TypeOf(uint64(0))},
|
||||
{"float32", reflect.TypeOf(float32(0))},
|
||||
{"float64", reflect.TypeOf(float64(0))},
|
||||
{"complex64", reflect.TypeOf(complex64(0))},
|
||||
{"complex128", reflect.TypeOf(complex128(0))},
|
||||
} {
|
||||
println(tc.name, int(tc.rt.Size()), tc.rt.Bits())
|
||||
}
|
||||
assertSize(reflect.TypeOf(uintptr(0)).Size() == unsafe.Sizeof(uintptr(0)), "uintptr")
|
||||
assertSize(reflect.TypeOf("").Size() == unsafe.Sizeof(""), "string")
|
||||
assertSize(reflect.TypeOf(new(int)).Size() == unsafe.Sizeof(new(int)), "*int")
|
||||
|
||||
Vendored
+12
-12
@@ -222,15 +222,15 @@ reflect type: struct
|
||||
struct
|
||||
|
||||
sizes:
|
||||
int8 1
|
||||
int16 2
|
||||
int32 4
|
||||
int64 8
|
||||
uint8 1
|
||||
uint16 2
|
||||
uint32 4
|
||||
uint64 8
|
||||
float32 4
|
||||
float64 8
|
||||
complex64 8
|
||||
complex128 16
|
||||
int8 1 8
|
||||
int16 2 16
|
||||
int32 4 32
|
||||
int64 8 64
|
||||
uint8 1 8
|
||||
uint16 2 16
|
||||
uint32 4 32
|
||||
uint64 8 64
|
||||
float32 4 32
|
||||
float64 8 64
|
||||
complex64 8 64
|
||||
complex128 16 128
|
||||
|
||||
Reference in New Issue
Block a user