aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/serializer
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-09-20 21:18:36 +0200
committerDmitry Vyukov <dvyukov@google.com>2017-09-20 21:19:29 +0200
commit8cb7d3dcfcbe11a6d5682743816409d1c8e8f6a0 (patch)
tree75e6dd62ae61ce7986cf4e0e04e9954586033635 /pkg/serializer
parentd606e60dfe3d50499812f7d740dae6e727fa9f76 (diff)
all: initial support for fuchsia
Nothing works, but builds. Update #191
Diffstat (limited to 'pkg/serializer')
-rw-r--r--pkg/serializer/serializer.go12
1 files changed, 9 insertions, 3 deletions
diff --git a/pkg/serializer/serializer.go b/pkg/serializer/serializer.go
index bbe13fc17..af2708fb3 100644
--- a/pkg/serializer/serializer.go
+++ b/pkg/serializer/serializer.go
@@ -15,9 +15,15 @@ import (
// does not write package names before types, omits struct fields with default values,
// omits type names where possible, etc. On the other hand, it currently does not
// support all types (e.g. channels and maps).
-func Write(w io.Writer, v interface{}) {
- ww := writer{w}
- ww.do(reflect.ValueOf(v), false)
+func Write(ww io.Writer, i interface{}) {
+ w := writer{ww}
+ v := reflect.ValueOf(i)
+ if v.Kind() == reflect.Slice && (v.IsNil() || v.Len() == 0) {
+ w.typ(v.Type())
+ w.string("(nil)")
+ return
+ }
+ w.do(v, false)
}
type writer struct {