diff options
| author | Russ Cox <rsc@golang.org> | 2009-02-11 17:55:16 -0800 |
|---|---|---|
| committer | Russ Cox <rsc@golang.org> | 2009-02-11 17:55:16 -0800 |
| commit | 49e2087848c6c8a0f32bee62d2242d85ab044b33 (patch) | |
| tree | 3a27c60cd93482129d8beda588d769a2d7868d4d /src/lib/json | |
| parent | 7cd24361bd66f11ec2beb1905052a3b73cdf3dac (diff) | |
| download | go-49e2087848c6c8a0f32bee62d2242d85ab044b33.tar.xz | |
insert type assertions when narrowing.
R=r
OCL=24349
CL=24913
Diffstat (limited to 'src/lib/json')
| -rw-r--r-- | src/lib/json/generic.go | 4 | ||||
| -rw-r--r-- | src/lib/json/struct.go | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/json/generic.go b/src/lib/json/generic.go index b57fcb12e2..08ae8dc29f 100644 --- a/src/lib/json/generic.go +++ b/src/lib/json/generic.go @@ -75,7 +75,7 @@ func (j *_Array) Elem(i int) Json { if i < 0 || i >= j.a.Len() { return Null } - return j.a.At(i) + return j.a.At(i).(Json) } func (j *_Array) String() string { s := "["; @@ -232,7 +232,7 @@ func (b *_JsonBuilder) Get() Json { case b.ptr != nil: return *b.ptr; case b.a != nil: - return b.a.At(b.i); + return b.a.At(b.i).(Json); case b.m != nil: return b.m[b.k]; } diff --git a/src/lib/json/struct.go b/src/lib/json/struct.go index f37ee461ef..82e0a80a7b 100644 --- a/src/lib/json/struct.go +++ b/src/lib/json/struct.go @@ -122,7 +122,7 @@ func (b *_StructBuilder) Array() { pv := v.(reflect.PtrValue); psubtype := pv.Type().(reflect.PtrType).Sub(); if pv.Get() == nil && psubtype.Kind() == reflect.ArrayKind { - av := reflect.NewSliceValue(psubtype, 0, 8); + av := reflect.NewSliceValue(psubtype.(reflect.ArrayType), 0, 8); pv.SetSub(av); } } @@ -148,7 +148,7 @@ func (b *_StructBuilder) Elem(i int) Builder { for n <= i { n *= 2 } - av1 := reflect.NewSliceValue(av.Type(), av.Len(), n); + av1 := reflect.NewSliceValue(av.Type().(reflect.ArrayType), av.Len(), n); av1.CopyFrom(av, av.Len()); pv.SetSub(av1); av = av1; |
