From 8325cce44c227e3b6fb5ffbf25b796ffd43bdd1b Mon Sep 17 00:00:00 2001
From: moriyoshi <mozo@mozo.jp>
Date: Sat, 26 Jun 2010 20:31:53 +0900
Subject: [PATCH] Adapt to new reflection API (notified by mattn. thanks)

---
 go/msgpack_test.go | 31 ++-----------------------------
 go/pack.go         | 16 +++-------------
 2 files changed, 5 insertions(+), 42 deletions(-)

diff --git a/go/msgpack_test.go b/go/msgpack_test.go
index 9c695553..e324f2eb 100644
--- a/go/msgpack_test.go
+++ b/go/msgpack_test.go
@@ -18,41 +18,14 @@ func equal(lhs reflect.Value, rhs reflect.Value) bool {
     case *reflect.BoolValue:
         _rhs, ok := rhs.(*reflect.BoolValue)
         return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Uint8Value:
-        _rhs, ok := rhs.(*reflect.Uint8Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Uint16Value:
-        _rhs, ok := rhs.(*reflect.Uint16Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Uint32Value:
-        _rhs, ok := rhs.(*reflect.Uint32Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Uint64Value:
-        _rhs, ok := rhs.(*reflect.Uint64Value)
-        return ok && _lhs.Get() == _rhs.Get()
     case *reflect.UintValue:
         _rhs, ok := rhs.(*reflect.UintValue)
         return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Int8Value:
-        _rhs, ok := rhs.(*reflect.Int8Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Int16Value:
-        _rhs, ok := rhs.(*reflect.Int16Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Int32Value:
-        _rhs, ok := rhs.(*reflect.Int32Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Int64Value:
-        _rhs, ok := rhs.(*reflect.Int64Value)
-        return ok && _lhs.Get() == _rhs.Get()
     case *reflect.IntValue:
         _rhs, ok := rhs.(*reflect.IntValue)
         return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Float32Value:
-        _rhs, ok := rhs.(*reflect.Float32Value)
-        return ok && _lhs.Get() == _rhs.Get()
-    case *reflect.Float64Value:
-        _rhs, ok := rhs.(*reflect.Float64Value)
+    case *reflect.FloatValue:
+        _rhs, ok := rhs.(*reflect.FloatValue)
         return ok && _lhs.Get() == _rhs.Get()
     case reflect.ArrayOrSliceValue:
         _rhs := rhs.(reflect.ArrayOrSliceValue)
diff --git a/go/pack.go b/go/pack.go
index 8240394c..d30eef89 100644
--- a/go/pack.go
+++ b/go/pack.go
@@ -524,19 +524,9 @@ func PackValue(writer io.Writer, value reflect.Value) (n int, err os.Error) {
     if value.Type() == nil { return PackNil(writer) }
     switch _value := value.(type) {
     case *reflect.BoolValue: return PackBool(writer, _value.Get())
-    case *reflect.Uint8Value: return PackUint8(writer, _value.Get())
-    case *reflect.Uint16Value: return PackUint16(writer, _value.Get())
-    case *reflect.Uint32Value: return PackUint32(writer, _value.Get())
-    case *reflect.Uint64Value: return PackUint64(writer, _value.Get())
-    case *reflect.UintValue: return PackUint(writer, _value.Get())
-    case *reflect.Int8Value: return PackInt8(writer, _value.Get())
-    case *reflect.Int16Value: return PackInt16(writer, _value.Get())
-    case *reflect.Int32Value: return PackInt32(writer, _value.Get())
-    case *reflect.Int64Value: return PackInt64(writer, _value.Get())
-    case *reflect.IntValue: return PackInt(writer, _value.Get())
-    case *reflect.Float32Value: return PackFloat32(writer, _value.Get())
-    case *reflect.Float64Value: return PackFloat64(writer, _value.Get())
-    case *reflect.FloatValue: return PackFloat(writer, _value.Get())
+    case *reflect.UintValue: return PackUint64(writer, _value.Get())
+    case *reflect.IntValue: return PackInt64(writer, _value.Get())
+    case *reflect.FloatValue: return PackFloat64(writer, _value.Get())
     case *reflect.ArrayValue: return PackArray(writer, _value)
     case *reflect.SliceValue: return PackArray(writer, _value)
     case *reflect.MapValue: return PackMap(writer, _value)