diff options
Diffstat (limited to 'src/pkg/exp/eval/value.go')
-rw-r--r-- | src/pkg/exp/eval/value.go | 336 |
1 files changed, 84 insertions, 252 deletions
diff --git a/src/pkg/exp/eval/value.go b/src/pkg/exp/eval/value.go index f4f0bba0b..d57920538 100644 --- a/src/pkg/exp/eval/value.go +++ b/src/pkg/exp/eval/value.go @@ -141,21 +141,13 @@ type MapValue interface { type boolV bool -func (v *boolV) String() string { - return fmt.Sprint(*v); -} +func (v *boolV) String() string { return fmt.Sprint(*v) } -func (v *boolV) Assign(t *Thread, o Value) { - *v = boolV(o.(BoolValue).Get(t)); -} +func (v *boolV) Assign(t *Thread, o Value) { *v = boolV(o.(BoolValue).Get(t)) } -func (v *boolV) Get(*Thread) bool { - return bool(*v); -} +func (v *boolV) Get(*Thread) bool { return bool(*v) } -func (v *boolV) Set(t *Thread, x bool) { - *v = boolV(x); -} +func (v *boolV) Set(t *Thread, x bool) { *v = boolV(x) } /* * Uint @@ -163,111 +155,63 @@ func (v *boolV) Set(t *Thread, x bool) { type uint8V uint8 -func (v *uint8V) String() string { - return fmt.Sprint(*v); -} +func (v *uint8V) String() string { return fmt.Sprint(*v) } -func (v *uint8V) Assign(t *Thread, o Value) { - *v = uint8V(o.(UintValue).Get(t)); -} +func (v *uint8V) Assign(t *Thread, o Value) { *v = uint8V(o.(UintValue).Get(t)) } -func (v *uint8V) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uint8V) Get(*Thread) uint64 { return uint64(*v) } -func (v *uint8V) Set(t *Thread, x uint64) { - *v = uint8V(x); -} +func (v *uint8V) Set(t *Thread, x uint64) { *v = uint8V(x) } type uint16V uint16 -func (v *uint16V) String() string { - return fmt.Sprint(*v); -} +func (v *uint16V) String() string { return fmt.Sprint(*v) } -func (v *uint16V) Assign(t *Thread, o Value) { - *v = uint16V(o.(UintValue).Get(t)); -} +func (v *uint16V) Assign(t *Thread, o Value) { *v = uint16V(o.(UintValue).Get(t)) } -func (v *uint16V) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uint16V) Get(*Thread) uint64 { return uint64(*v) } -func (v *uint16V) Set(t *Thread, x uint64) { - *v = uint16V(x); -} +func (v *uint16V) Set(t *Thread, x uint64) { *v = uint16V(x) } type uint32V uint32 -func (v *uint32V) String() string { - return fmt.Sprint(*v); -} +func (v *uint32V) String() string { return fmt.Sprint(*v) } -func (v *uint32V) Assign(t *Thread, o Value) { - *v = uint32V(o.(UintValue).Get(t)); -} +func (v *uint32V) Assign(t *Thread, o Value) { *v = uint32V(o.(UintValue).Get(t)) } -func (v *uint32V) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uint32V) Get(*Thread) uint64 { return uint64(*v) } -func (v *uint32V) Set(t *Thread, x uint64) { - *v = uint32V(x); -} +func (v *uint32V) Set(t *Thread, x uint64) { *v = uint32V(x) } type uint64V uint64 -func (v *uint64V) String() string { - return fmt.Sprint(*v); -} +func (v *uint64V) String() string { return fmt.Sprint(*v) } -func (v *uint64V) Assign(t *Thread, o Value) { - *v = uint64V(o.(UintValue).Get(t)); -} +func (v *uint64V) Assign(t *Thread, o Value) { *v = uint64V(o.(UintValue).Get(t)) } -func (v *uint64V) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uint64V) Get(*Thread) uint64 { return uint64(*v) } -func (v *uint64V) Set(t *Thread, x uint64) { - *v = uint64V(x); -} +func (v *uint64V) Set(t *Thread, x uint64) { *v = uint64V(x) } type uintV uint -func (v *uintV) String() string { - return fmt.Sprint(*v); -} +func (v *uintV) String() string { return fmt.Sprint(*v) } -func (v *uintV) Assign(t *Thread, o Value) { - *v = uintV(o.(UintValue).Get(t)); -} +func (v *uintV) Assign(t *Thread, o Value) { *v = uintV(o.(UintValue).Get(t)) } -func (v *uintV) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uintV) Get(*Thread) uint64 { return uint64(*v) } -func (v *uintV) Set(t *Thread, x uint64) { - *v = uintV(x); -} +func (v *uintV) Set(t *Thread, x uint64) { *v = uintV(x) } type uintptrV uintptr -func (v *uintptrV) String() string { - return fmt.Sprint(*v); -} +func (v *uintptrV) String() string { return fmt.Sprint(*v) } -func (v *uintptrV) Assign(t *Thread, o Value) { - *v = uintptrV(o.(UintValue).Get(t)); -} +func (v *uintptrV) Assign(t *Thread, o Value) { *v = uintptrV(o.(UintValue).Get(t)) } -func (v *uintptrV) Get(*Thread) uint64 { - return uint64(*v); -} +func (v *uintptrV) Get(*Thread) uint64 { return uint64(*v) } -func (v *uintptrV) Set(t *Thread, x uint64) { - *v = uintptrV(x); -} +func (v *uintptrV) Set(t *Thread, x uint64) { *v = uintptrV(x) } /* * Int @@ -275,93 +219,53 @@ func (v *uintptrV) Set(t *Thread, x uint64) { type int8V int8 -func (v *int8V) String() string { - return fmt.Sprint(*v); -} +func (v *int8V) String() string { return fmt.Sprint(*v) } -func (v *int8V) Assign(t *Thread, o Value) { - *v = int8V(o.(IntValue).Get(t)); -} +func (v *int8V) Assign(t *Thread, o Value) { *v = int8V(o.(IntValue).Get(t)) } -func (v *int8V) Get(*Thread) int64 { - return int64(*v); -} +func (v *int8V) Get(*Thread) int64 { return int64(*v) } -func (v *int8V) Set(t *Thread, x int64) { - *v = int8V(x); -} +func (v *int8V) Set(t *Thread, x int64) { *v = int8V(x) } type int16V int16 -func (v *int16V) String() string { - return fmt.Sprint(*v); -} +func (v *int16V) String() string { return fmt.Sprint(*v) } -func (v *int16V) Assign(t *Thread, o Value) { - *v = int16V(o.(IntValue).Get(t)); -} +func (v *int16V) Assign(t *Thread, o Value) { *v = int16V(o.(IntValue).Get(t)) } -func (v *int16V) Get(*Thread) int64 { - return int64(*v); -} +func (v *int16V) Get(*Thread) int64 { return int64(*v) } -func (v *int16V) Set(t *Thread, x int64) { - *v = int16V(x); -} +func (v *int16V) Set(t *Thread, x int64) { *v = int16V(x) } type int32V int32 -func (v *int32V) String() string { - return fmt.Sprint(*v); -} +func (v *int32V) String() string { return fmt.Sprint(*v) } -func (v *int32V) Assign(t *Thread, o Value) { - *v = int32V(o.(IntValue).Get(t)); -} +func (v *int32V) Assign(t *Thread, o Value) { *v = int32V(o.(IntValue).Get(t)) } -func (v *int32V) Get(*Thread) int64 { - return int64(*v); -} +func (v *int32V) Get(*Thread) int64 { return int64(*v) } -func (v *int32V) Set(t *Thread, x int64) { - *v = int32V(x); -} +func (v *int32V) Set(t *Thread, x int64) { *v = int32V(x) } type int64V int64 -func (v *int64V) String() string { - return fmt.Sprint(*v); -} +func (v *int64V) String() string { return fmt.Sprint(*v) } -func (v *int64V) Assign(t *Thread, o Value) { - *v = int64V(o.(IntValue).Get(t)); -} +func (v *int64V) Assign(t *Thread, o Value) { *v = int64V(o.(IntValue).Get(t)) } -func (v *int64V) Get(*Thread) int64 { - return int64(*v); -} +func (v *int64V) Get(*Thread) int64 { return int64(*v) } -func (v *int64V) Set(t *Thread, x int64) { - *v = int64V(x); -} +func (v *int64V) Set(t *Thread, x int64) { *v = int64V(x) } type intV int -func (v *intV) String() string { - return fmt.Sprint(*v); -} +func (v *intV) String() string { return fmt.Sprint(*v) } -func (v *intV) Assign(t *Thread, o Value) { - *v = intV(o.(IntValue).Get(t)); -} +func (v *intV) Assign(t *Thread, o Value) { *v = intV(o.(IntValue).Get(t)) } -func (v *intV) Get(*Thread) int64 { - return int64(*v); -} +func (v *intV) Get(*Thread) int64 { return int64(*v) } -func (v *intV) Set(t *Thread, x int64) { - *v = intV(x); -} +func (v *intV) Set(t *Thread, x int64) { *v = intV(x) } /* * Ideal int @@ -371,17 +275,13 @@ type idealIntV struct { V *bignum.Integer; } -func (v *idealIntV) String() string { - return v.V.String(); -} +func (v *idealIntV) String() string { return v.V.String() } func (v *idealIntV) Assign(t *Thread, o Value) { v.V = o.(IdealIntValue).Get(); } -func (v *idealIntV) Get() *bignum.Integer { - return v.V; -} +func (v *idealIntV) Get() *bignum.Integer { return v.V } /* * Float @@ -389,57 +289,33 @@ func (v *idealIntV) Get() *bignum.Integer { type float32V float32 -func (v *float32V) String() string { - return fmt.Sprint(*v); -} +func (v *float32V) String() string { return fmt.Sprint(*v) } -func (v *float32V) Assign(t *Thread, o Value) { - *v = float32V(o.(FloatValue).Get(t)); -} +func (v *float32V) Assign(t *Thread, o Value) { *v = float32V(o.(FloatValue).Get(t)) } -func (v *float32V) Get(*Thread) float64 { - return float64(*v); -} +func (v *float32V) Get(*Thread) float64 { return float64(*v) } -func (v *float32V) Set(t *Thread, x float64) { - *v = float32V(x); -} +func (v *float32V) Set(t *Thread, x float64) { *v = float32V(x) } type float64V float64 -func (v *float64V) String() string { - return fmt.Sprint(*v); -} +func (v *float64V) String() string { return fmt.Sprint(*v) } -func (v *float64V) Assign(t *Thread, o Value) { - *v = float64V(o.(FloatValue).Get(t)); -} +func (v *float64V) Assign(t *Thread, o Value) { *v = float64V(o.(FloatValue).Get(t)) } -func (v *float64V) Get(*Thread) float64 { - return float64(*v); -} +func (v *float64V) Get(*Thread) float64 { return float64(*v) } -func (v *float64V) Set(t *Thread, x float64) { - *v = float64V(x); -} +func (v *float64V) Set(t *Thread, x float64) { *v = float64V(x) } type floatV float -func (v *floatV) String() string { - return fmt.Sprint(*v); -} +func (v *floatV) String() string { return fmt.Sprint(*v) } -func (v *floatV) Assign(t *Thread, o Value) { - *v = floatV(o.(FloatValue).Get(t)); -} +func (v *floatV) Assign(t *Thread, o Value) { *v = floatV(o.(FloatValue).Get(t)) } -func (v *floatV) Get(*Thread) float64 { - return float64(*v); -} +func (v *floatV) Get(*Thread) float64 { return float64(*v) } -func (v *floatV) Set(t *Thread, x float64) { - *v = floatV(x); -} +func (v *floatV) Set(t *Thread, x float64) { *v = floatV(x) } /* * Ideal float @@ -449,17 +325,13 @@ type idealFloatV struct { V *bignum.Rational; } -func (v *idealFloatV) String() string { - return ratToString(v.V); -} +func (v *idealFloatV) String() string { return ratToString(v.V) } func (v *idealFloatV) Assign(t *Thread, o Value) { v.V = o.(IdealFloatValue).Get(); } -func (v *idealFloatV) Get() *bignum.Rational { - return v.V; -} +func (v *idealFloatV) Get() *bignum.Rational { return v.V } /* * String @@ -467,21 +339,13 @@ func (v *idealFloatV) Get() *bignum.Rational { type stringV string -func (v *stringV) String() string { - return fmt.Sprint(*v); -} +func (v *stringV) String() string { return fmt.Sprint(*v) } -func (v *stringV) Assign(t *Thread, o Value) { - *v = stringV(o.(StringValue).Get(t)); -} +func (v *stringV) Assign(t *Thread, o Value) { *v = stringV(o.(StringValue).Get(t)) } -func (v *stringV) Get(*Thread) string { - return string(*v); -} +func (v *stringV) Get(*Thread) string { return string(*v) } -func (v *stringV) Set(t *Thread, x string) { - *v = stringV(x); -} +func (v *stringV) Set(t *Thread, x string) { *v = stringV(x) } /* * Array @@ -508,9 +372,7 @@ func (v *arrayV) Assign(t *Thread, o Value) { } } -func (v *arrayV) Get(*Thread) ArrayValue { - return v; -} +func (v *arrayV) Get(*Thread) ArrayValue { return v } func (v *arrayV) Elem(t *Thread, i int64) Value { return (*v)[i]; @@ -548,9 +410,7 @@ func (v *structV) Assign(t *Thread, o Value) { } } -func (v *structV) Get(*Thread) StructValue { - return v; -} +func (v *structV) Get(*Thread) StructValue { return v } func (v *structV) Field(t *Thread, i int) Value { return (*v)[i]; @@ -572,17 +432,11 @@ func (v *ptrV) String() string { return "&" + v.target.String(); } -func (v *ptrV) Assign(t *Thread, o Value) { - v.target = o.(PtrValue).Get(t); -} +func (v *ptrV) Assign(t *Thread, o Value) { v.target = o.(PtrValue).Get(t) } -func (v *ptrV) Get(*Thread) Value { - return v.target; -} +func (v *ptrV) Get(*Thread) Value { return v.target } -func (v *ptrV) Set(t *Thread, x Value) { - v.target = x; -} +func (v *ptrV) Set(t *Thread, x Value) { v.target = x } /* * Functions @@ -597,17 +451,11 @@ func (v *funcV) String() string { return "func {...}"; } -func (v *funcV) Assign(t *Thread, o Value) { - v.target = o.(FuncValue).Get(t); -} +func (v *funcV) Assign(t *Thread, o Value) { v.target = o.(FuncValue).Get(t) } -func (v *funcV) Get(*Thread) Func { - return v.target; -} +func (v *funcV) Get(*Thread) Func { return v.target } -func (v *funcV) Set(t *Thread, x Func) { - v.target = x; -} +func (v *funcV) Set(t *Thread, x Func) { v.target = x } /* * Interfaces @@ -628,9 +476,7 @@ func (v *interfaceV) Assign(t *Thread, o Value) { v.Interface = o.(InterfaceValue).Get(t); } -func (v *interfaceV) Get(*Thread) Interface { - return v.Interface; -} +func (v *interfaceV) Get(*Thread) Interface { return v.Interface } func (v *interfaceV) Set(t *Thread, x Interface) { v.Interface = x; @@ -651,17 +497,11 @@ func (v *sliceV) String() string { return v.Base.Sub(0, v.Len).String(); } -func (v *sliceV) Assign(t *Thread, o Value) { - v.Slice = o.(SliceValue).Get(t); -} +func (v *sliceV) Assign(t *Thread, o Value) { v.Slice = o.(SliceValue).Get(t) } -func (v *sliceV) Get(*Thread) Slice { - return v.Slice; -} +func (v *sliceV) Get(*Thread) Slice { return v.Slice } -func (v *sliceV) Set(t *Thread, x Slice) { - v.Slice = x; -} +func (v *sliceV) Set(t *Thread, x Slice) { v.Slice = x } /* * Maps @@ -688,23 +528,15 @@ func (v *mapV) String() string { return res+"]"; } -func (v *mapV) Assign(t *Thread, o Value) { - v.target = o.(MapValue).Get(t); -} +func (v *mapV) Assign(t *Thread, o Value) { v.target = o.(MapValue).Get(t) } -func (v *mapV) Get(*Thread) Map { - return v.target; -} +func (v *mapV) Get(*Thread) Map { return v.target } -func (v *mapV) Set(t *Thread, x Map) { - v.target = x; -} +func (v *mapV) Set(t *Thread, x Map) { v.target = x } type evalMap map[interface{}]Value -func (m evalMap) Len(t *Thread) int64 { - return int64(len(m)); -} +func (m evalMap) Len(t *Thread) int64 { return int64(len(m)) } func (m evalMap) Elem(t *Thread, key interface{}) Value { if v, ok := m[key]; ok { |