summaryrefslogtreecommitdiff
path: root/src/pkg/exp/eval/bridge.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-06-20 12:16:25 -0700
committerRuss Cox <rsc@golang.org>2010-06-20 12:16:25 -0700
commitbe1fb301f118bbbf0cc9564f72392390425b5c67 (patch)
tree6858bcb73f10fcafb2b153875c318462b35a6c53 /src/pkg/exp/eval/bridge.go
parent91b42e59afb95e7ff63ec1bee1c2a322b6848d66 (diff)
downloadgolang-be1fb301f118bbbf0cc9564f72392390425b5c67.tar.gz
reflect: add Kind, remove Int8Type, Int8Value, etc.
update other code to match. R=r CC=golang-dev http://codereview.appspot.com/1680044
Diffstat (limited to 'src/pkg/exp/eval/bridge.go')
-rw-r--r--src/pkg/exp/eval/bridge.go62
1 files changed, 35 insertions, 27 deletions
diff --git a/src/pkg/exp/eval/bridge.go b/src/pkg/exp/eval/bridge.go
index d494421a4..c53febc8a 100644
--- a/src/pkg/exp/eval/bridge.go
+++ b/src/pkg/exp/eval/bridge.go
@@ -37,37 +37,45 @@ func TypeFromNative(t reflect.Type) Type {
switch t := t.(type) {
case *reflect.BoolType:
et = BoolType
- case *reflect.Float32Type:
- et = Float32Type
- case *reflect.Float64Type:
- et = Float64Type
case *reflect.FloatType:
- et = FloatType
- case *reflect.Int16Type:
- et = Int16Type
- case *reflect.Int32Type:
- et = Int32Type
- case *reflect.Int64Type:
- et = Int64Type
- case *reflect.Int8Type:
- et = Int8Type
+ switch t.Kind() {
+ case reflect.Float32:
+ et = Float32Type
+ case reflect.Float64:
+ et = Float64Type
+ case reflect.Float:
+ et = FloatType
+ }
case *reflect.IntType:
- et = IntType
+ switch t.Kind() {
+ case reflect.Int16:
+ et = Int16Type
+ case reflect.Int32:
+ et = Int32Type
+ case reflect.Int64:
+ et = Int64Type
+ case reflect.Int8:
+ et = Int8Type
+ case reflect.Int:
+ et = IntType
+ }
+ case *reflect.UintType:
+ switch t.Kind() {
+ case reflect.Uint16:
+ et = Uint16Type
+ case reflect.Uint32:
+ et = Uint32Type
+ case reflect.Uint64:
+ et = Uint64Type
+ case reflect.Uint8:
+ et = Uint8Type
+ case reflect.Uint:
+ et = UintType
+ case reflect.Uintptr:
+ et = UintptrType
+ }
case *reflect.StringType:
et = StringType
- case *reflect.Uint16Type:
- et = Uint16Type
- case *reflect.Uint32Type:
- et = Uint32Type
- case *reflect.Uint64Type:
- et = Uint64Type
- case *reflect.Uint8Type:
- et = Uint8Type
- case *reflect.UintType:
- et = UintType
- case *reflect.UintptrType:
- et = UintptrType
-
case *reflect.ArrayType:
et = NewArrayType(int64(t.Len()), TypeFromNative(t.Elem()))
case *reflect.ChanType: