diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2017-09-20 21:18:36 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2017-09-20 21:19:29 +0200 |
| commit | 8cb7d3dcfcbe11a6d5682743816409d1c8e8f6a0 (patch) | |
| tree | 75e6dd62ae61ce7986cf4e0e04e9954586033635 /pkg/serializer | |
| parent | d606e60dfe3d50499812f7d740dae6e727fa9f76 (diff) | |
all: initial support for fuchsia
Nothing works, but builds.
Update #191
Diffstat (limited to 'pkg/serializer')
| -rw-r--r-- | pkg/serializer/serializer.go | 12 |
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 { |
