mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
Add support for the basic type "bool".
R=r DELTA=51 (51 added, 0 deleted, 0 changed) OCL=18283 CL=18290
This commit is contained in:
parent
613a5c8bc6
commit
16fd356679
6 changed files with 51 additions and 0 deletions
|
|
@ -58,6 +58,7 @@ func AddrToPtrFloat32(Addr) *float32
|
|||
func AddrToPtrFloat64(Addr) *float64
|
||||
func AddrToPtrFloat80(Addr) *float80
|
||||
func AddrToPtrString(Addr) *string
|
||||
func AddrToPtrBool(Addr) *bool
|
||||
|
||||
// -- Int
|
||||
|
||||
|
|
@ -438,6 +439,31 @@ func (v *StringValueStruct) Put(s string) {
|
|||
*AddrToPtrString(v.addr) = s
|
||||
}
|
||||
|
||||
// -- Bool
|
||||
|
||||
export type BoolValue interface {
|
||||
Kind() int;
|
||||
Get() bool;
|
||||
Put(bool);
|
||||
Type() Type;
|
||||
}
|
||||
|
||||
type BoolValueStruct struct {
|
||||
CommonV
|
||||
}
|
||||
|
||||
func BoolCreator(typ Type, addr Addr) Value {
|
||||
return &BoolValueStruct{ CommonV{BoolKind, typ, addr} }
|
||||
}
|
||||
|
||||
func (v *BoolValueStruct) Get() bool {
|
||||
return *AddrToPtrBool(v.addr)
|
||||
}
|
||||
|
||||
func (v *BoolValueStruct) Put(b bool) {
|
||||
*AddrToPtrBool(v.addr) = b
|
||||
}
|
||||
|
||||
// -- Pointer
|
||||
|
||||
export type PtrValue interface {
|
||||
|
|
@ -665,6 +691,7 @@ func init() {
|
|||
creator[Float64Kind] = &Float64Creator;
|
||||
creator[Float80Kind] = &Float80Creator;
|
||||
creator[StringKind] = &StringCreator;
|
||||
creator[BoolKind] = &BoolCreator;
|
||||
creator[PtrKind] = &PtrCreator;
|
||||
creator[ArrayKind] = &ArrayCreator;
|
||||
creator[MapKind] = &MapCreator;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue