cmd/viewer: add support for map of structs without pointers

This adds support for fields like `map[string]netaddr.IPPrefix`.

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali
2022-07-12 23:45:37 -07:00
committed by Maisem Ali
parent adc5ffea99
commit 26f103473c
4 changed files with 39 additions and 17 deletions

View File

@ -224,6 +224,15 @@ func genView(buf *bytes.Buffer, it *codegen.ImportTracker, typ *types.Named, thi
mElem := m.Elem()
var template string
switch u := mElem.(type) {
case *types.Struct, *types.Named:
strucT := u
args.FieldType = it.QualifiedName(fieldType)
if codegen.ContainsPointers(strucT) {
writeTemplate("unsupportedField")
continue
}
template = "mapField"
args.MapValueType = it.QualifiedName(mElem)
case *types.Basic:
template = "mapField"
args.MapValueType = it.QualifiedName(mElem)