@@ -627,30 +627,32 @@ func (n *NodeBuilder) extractLowMapKeysWrapped(iu reflect.Value, x string, order
627627}
628628
629629func (n * NodeBuilder ) extractLowMapKeys (fg reflect.Value , x string , found bool , orderedCollection []* NodeEntry , m reflect.Value , k reflect.Value ) (bool , []* NodeEntry ) {
630- for j , ky := range fg .MapKeys () {
631- hu := ky .Interface ()
632- if we , wok := hu .(low.HasKeyNode ); wok {
633- er := we .GetKeyNode ().Value
634- if er == x {
635- found = true
636- orderedCollection = append (orderedCollection , & NodeEntry {
637- Tag : x ,
638- Key : x ,
639- Line : we .GetKeyNode ().Line ,
640- Value : m .MapIndex (k ).Interface (),
641- })
642- }
643- } else {
644- uu := ky .Interface ()
645- if uu == x {
646- // this is a map, without any low level details available
647- found = true
648- orderedCollection = append (orderedCollection , & NodeEntry {
649- Tag : uu .(string ),
650- Key : uu .(string ),
651- Line : 9999 + j ,
652- Value : m .MapIndex (k ).Interface (),
653- })
630+ if ! fg .IsZero () {
631+ for j , ky := range fg .MapKeys () {
632+ hu := ky .Interface ()
633+ if we , wok := hu .(low.HasKeyNode ); wok {
634+ er := we .GetKeyNode ().Value
635+ if er == x {
636+ found = true
637+ orderedCollection = append (orderedCollection , & NodeEntry {
638+ Tag : x ,
639+ Key : x ,
640+ Line : we .GetKeyNode ().Line ,
641+ Value : m .MapIndex (k ).Interface (),
642+ })
643+ }
644+ } else {
645+ uu := ky .Interface ()
646+ if uu == x {
647+ // this is a map, without any low level details available
648+ found = true
649+ orderedCollection = append (orderedCollection , & NodeEntry {
650+ Tag : uu .(string ),
651+ Key : uu .(string ),
652+ Line : 9999 + j ,
653+ Value : m .MapIndex (k ).Interface (),
654+ })
655+ }
654656 }
655657 }
656658 }
0 commit comments