summaryrefslogtreecommitdiff
path: root/src/pkg/xml/read.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/xml/read.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/xml/read.go')
-rw-r--r--src/pkg/xml/read.go63
1 files changed, 2 insertions, 61 deletions
diff --git a/src/pkg/xml/read.go b/src/pkg/xml/read.go
index 9204660b3..bbceda6b4 100644
--- a/src/pkg/xml/read.go
+++ b/src/pkg/xml/read.go
@@ -218,7 +218,7 @@ func (p *Parser) unmarshal(val reflect.Value, start *StartElement) os.Error {
case *reflect.SliceValue:
typ := v.Type().(*reflect.SliceType)
- if _, ok := typ.Elem().(*reflect.Uint8Type); ok {
+ if typ.Elem().Kind() == reflect.Uint8 {
// []byte
saveData = v
break
@@ -245,11 +245,7 @@ func (p *Parser) unmarshal(val reflect.Value, start *StartElement) os.Error {
}
return nil
- case *reflect.StringValue,
- *reflect.IntValue, *reflect.UintValue, *reflect.UintptrValue,
- *reflect.Int8Value, *reflect.Int16Value, *reflect.Int32Value, *reflect.Int64Value,
- *reflect.Uint8Value, *reflect.Uint16Value, *reflect.Uint32Value, *reflect.Uint64Value,
- *reflect.FloatValue, *reflect.Float32Value, *reflect.Float64Value, *reflect.BoolValue:
+ case *reflect.BoolValue, *reflect.FloatValue, *reflect.IntValue, *reflect.UintValue, *reflect.StringValue:
saveData = v
case *reflect.StructValue:
@@ -434,71 +430,16 @@ Loop:
if !getInt64() {
return err
}
- t.Set(int(itmp))
- case *reflect.Int8Value:
- if !getInt64() {
- return err
- }
- t.Set(int8(itmp))
- case *reflect.Int16Value:
- if !getInt64() {
- return err
- }
- t.Set(int16(itmp))
- case *reflect.Int32Value:
- if !getInt64() {
- return err
- }
- t.Set(int32(itmp))
- case *reflect.Int64Value:
- if !getInt64() {
- return err
- }
t.Set(itmp)
case *reflect.UintValue:
if !getUint64() {
return err
}
- t.Set(uint(utmp))
- case *reflect.Uint8Value:
- if !getUint64() {
- return err
- }
- t.Set(uint8(utmp))
- case *reflect.Uint16Value:
- if !getUint64() {
- return err
- }
- t.Set(uint16(utmp))
- case *reflect.Uint32Value:
- if !getUint64() {
- return err
- }
- t.Set(uint32(utmp))
- case *reflect.Uint64Value:
- if !getUint64() {
- return err
- }
t.Set(utmp)
- case *reflect.UintptrValue:
- if !getUint64() {
- return err
- }
- t.Set(uintptr(utmp))
case *reflect.FloatValue:
if !getFloat64() {
return err
}
- t.Set(float(ftmp))
- case *reflect.Float32Value:
- if !getFloat64() {
- return err
- }
- t.Set(float32(ftmp))
- case *reflect.Float64Value:
- if !getFloat64() {
- return err
- }
t.Set(ftmp)
case *reflect.BoolValue:
value, err := strconv.Atob(strings.TrimSpace(string(data)))