diff options
| author | Russ Cox <rsc@golang.org> | 2010-06-20 12:16:25 -0700 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2010-06-20 12:16:25 -0700 |
| commit | be1fb301f118bbbf0cc9564f72392390425b5c67 (patch) | |
| tree | 6858bcb73f10fcafb2b153875c318462b35a6c53 /src/pkg/xml/read.go | |
| parent | 91b42e59afb95e7ff63ec1bee1c2a322b6848d66 (diff) | |
| download | golang-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.go | 63 |
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))) |
