summaryrefslogtreecommitdiff
path: root/src/lib/json/generic.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2009-01-16 10:14:38 -0800
committerRuss Cox <rsc@golang.org>2009-01-16 10:14:38 -0800
commit27026881edb14bf3e449b5ddc27767ce15fc11cb (patch)
treec3556dc8c914a5be09d0efc7d357369a76867b0d /src/lib/json/generic.go
parent07b29e74deba1289f518d5f49147c966b119d1f3 (diff)
downloadgolang-27026881edb14bf3e449b5ddc27767ce15fc11cb.tar.gz
casify json
R=r DELTA=163 (0 added, 0 deleted, 163 changed) OCL=22910 CL=22939
Diffstat (limited to 'src/lib/json/generic.go')
-rw-r--r--src/lib/json/generic.go128
1 files changed, 64 insertions, 64 deletions
diff --git a/src/lib/json/generic.go b/src/lib/json/generic.go
index f562a0e7f..1fef3fb12 100644
--- a/src/lib/json/generic.go
+++ b/src/lib/json/generic.go
@@ -44,40 +44,40 @@ export func JsonToString(j Json) string {
return j.String()
}
-type Null struct { }
-export var null Json = &Null{}
-func (*Null) Kind() int { return NullKind }
-func (*Null) String() string { return "null" }
-func (*Null) Number() float64 { return 0 }
-func (*Null) Bool() bool { return false }
-func (*Null) Get(s string) Json { return null }
-func (*Null) Elem(int) Json { return null }
-func (*Null) Len() int { return 0 }
-
-type String struct { s string; Null }
-func (j *String) Kind() int { return StringKind }
-func (j *String) String() string { return j.s }
-
-type Number struct { f float64; Null }
-func (j *Number) Kind() int { return NumberKind }
-func (j *Number) Number() float64 { return j.f }
-func (j *Number) String() string {
+type _Null struct { }
+export var Null Json = &_Null{}
+func (*_Null) Kind() int { return NullKind }
+func (*_Null) String() string { return "null" }
+func (*_Null) Number() float64 { return 0 }
+func (*_Null) Bool() bool { return false }
+func (*_Null) Get(s string) Json { return Null }
+func (*_Null) Elem(int) Json { return Null }
+func (*_Null) Len() int { return 0 }
+
+type _String struct { s string; _Null }
+func (j *_String) Kind() int { return StringKind }
+func (j *_String) String() string { return j.s }
+
+type _Number struct { f float64; _Null }
+func (j *_Number) Kind() int { return NumberKind }
+func (j *_Number) Number() float64 { return j.f }
+func (j *_Number) String() string {
if math.Floor(j.f) == j.f {
return fmt.Sprintf("%.0f", j.f);
}
return fmt.Sprintf("%g", j.f);
}
-type Array struct { a *array.Array; Null }
-func (j *Array) Kind() int { return ArrayKind }
-func (j *Array) Len() int { return j.a.Len() }
-func (j *Array) Elem(i int) Json {
+type _Array struct { a *array.Array; _Null }
+func (j *_Array) Kind() int { return ArrayKind }
+func (j *_Array) Len() int { return j.a.Len() }
+func (j *_Array) Elem(i int) Json {
if i < 0 || i >= j.a.Len() {
- return null
+ return Null
}
return j.a.At(i)
}
-func (j *Array) String() string {
+func (j *_Array) String() string {
s := "[";
for i := 0; i < j.a.Len(); i++ {
if i > 0 {
@@ -89,29 +89,29 @@ func (j *Array) String() string {
return s;
}
-type Bool struct { b bool; Null }
-func (j *Bool) Kind() int { return BoolKind }
-func (j *Bool) Bool() bool { return j.b }
-func (j *Bool) String() string {
+type _Bool struct { b bool; _Null }
+func (j *_Bool) Kind() int { return BoolKind }
+func (j *_Bool) Bool() bool { return j.b }
+func (j *_Bool) String() string {
if j.b {
return "true"
}
return "false"
}
-type Map struct { m map[string]Json; Null }
-func (j *Map) Kind() int { return MapKind }
-func (j *Map) Get(s string) Json {
+type _Map struct { m map[string]Json; _Null }
+func (j *_Map) Kind() int { return MapKind }
+func (j *_Map) Get(s string) Json {
if j.m == nil {
- return null
+ return Null
}
v, ok := j.m[s];
if !ok {
- return null
+ return Null
}
return v;
}
-func (j *Map) String() string {
+func (j *_Map) String() string {
s := "{";
first := true;
for k,v := range j.m {
@@ -142,13 +142,13 @@ export func Walk(j Json, path string) Json {
case ArrayKind:
indx, err := strconv.Atoi(elem);
if err != nil {
- return null
+ return Null
}
j = j.Elem(indx);
case MapKind:
j = j.Get(elem);
default:
- return null
+ return Null
}
}
return j
@@ -184,8 +184,8 @@ export func Equal(a, b Json) bool {
}
return true;
case MapKind:
- m := a.(*Map).m;
- if len(m) != len(b.(*Map).m) {
+ m := a.(*_Map).m;
+ if len(m) != len(b.(*_Map).m) {
return false;
}
for k,v := range m {
@@ -203,7 +203,7 @@ export func Equal(a, b Json) bool {
// Parse builder for Json objects.
-type JsonBuilder struct {
+type _JsonBuilder struct {
// either writing to *ptr
ptr *Json;
@@ -216,7 +216,7 @@ type JsonBuilder struct {
k string;
}
-func (b *JsonBuilder) Put(j Json) {
+func (b *_JsonBuilder) Put(j Json) {
switch {
case b.ptr != nil:
*b.ptr = j;
@@ -227,7 +227,7 @@ func (b *JsonBuilder) Put(j Json) {
}
}
-func (b *JsonBuilder) Get() Json {
+func (b *_JsonBuilder) Get() Json {
switch {
case b.ptr != nil:
return *b.ptr;
@@ -239,61 +239,61 @@ func (b *JsonBuilder) Get() Json {
return nil
}
-func (b *JsonBuilder) Float64(f float64) {
- b.Put(&Number{f, Null{}})
+func (b *_JsonBuilder) Float64(f float64) {
+ b.Put(&_Number{f, _Null{}})
}
-func (b *JsonBuilder) Int64(i int64) {
+func (b *_JsonBuilder) Int64(i int64) {
b.Float64(float64(i))
}
-func (b *JsonBuilder) Uint64(i uint64) {
+func (b *_JsonBuilder) Uint64(i uint64) {
b.Float64(float64(i))
}
-func (b *JsonBuilder) Bool(tf bool) {
- b.Put(&Bool{tf, Null{}})
+func (b *_JsonBuilder) Bool(tf bool) {
+ b.Put(&_Bool{tf, _Null{}})
}
-func (b *JsonBuilder) Null() {
- b.Put(null)
+func (b *_JsonBuilder) Null() {
+ b.Put(Null)
}
-func (b *JsonBuilder) String(s string) {
- b.Put(&String{s, Null{}})
+func (b *_JsonBuilder) String(s string) {
+ b.Put(&_String{s, _Null{}})
}
-func (b *JsonBuilder) Array() {
- b.Put(&Array{array.New(0), Null{}})
+func (b *_JsonBuilder) Array() {
+ b.Put(&_Array{array.New(0), _Null{}})
}
-func (b *JsonBuilder) Map() {
- b.Put(&Map{make(map[string]Json), Null{}})
+func (b *_JsonBuilder) Map() {
+ b.Put(&_Map{make(map[string]Json), _Null{}})
}
-func (b *JsonBuilder) Elem(i int) Builder {
- bb := new(JsonBuilder);
- bb.a = b.Get().(*Array).a;
+func (b *_JsonBuilder) Elem(i int) Builder {
+ bb := new(_JsonBuilder);
+ bb.a = b.Get().(*_Array).a;
bb.i = i;
for i >= bb.a.Len() {
- bb.a.Push(null)
+ bb.a.Push(Null)
}
return bb
}
-func (b *JsonBuilder) Key(k string) Builder {
- bb := new(JsonBuilder);
- bb.m = b.Get().(*Map).m;
+func (b *_JsonBuilder) Key(k string) Builder {
+ bb := new(_JsonBuilder);
+ bb.m = b.Get().(*_Map).m;
bb.k = k;
- bb.m[k] = null;
+ bb.m[k] = Null;
return bb
}
export func StringToJson(s string) (json Json, ok bool, errtok string) {
var errindx int;
var j Json;
- b := new(JsonBuilder);
+ b := new(_JsonBuilder);
b.ptr = &j;
ok, errindx, errtok = Parse(s, b);
if !ok {