@@ -131,7 +131,7 @@ func (s *Set) RecursiveDifference(s2 *Set) *Set {
131131// "a" if it's a named fields but not "a.b" if it's a map.
132132func (s * Set ) EnsureNamedFieldsAreMembers (sc * schema.Schema , tr schema.TypeRef ) * Set {
133133 members := PathElementSet {
134- members : make (sortedPathElements , 0 , s .Members .Size ()+ len (s .Children .members )),
134+ members : make ([] PathElement , 0 , s .Members .Size ()+ len (s .Children .members )),
135135 }
136136 atom , _ := sc .Resolve (tr )
137137 members .members = append (members .members , s .Members .members ... )
@@ -463,21 +463,13 @@ type setNode struct {
463463
464464// SetNodeMap is a map of PathElement to subset.
465465type SetNodeMap struct {
466- members sortedSetNode
466+ members [] setNode
467467}
468468
469- type sortedSetNode []setNode
470-
471- // Implement the sort interface; this would permit bulk creation, which would
472- // be faster than doing it one at a time via Insert.
473- func (s sortedSetNode ) Len () int { return len (s ) }
474- func (s sortedSetNode ) Less (i , j int ) bool { return s [i ].pathElement .Less (s [j ].pathElement ) }
475- func (s sortedSetNode ) Swap (i , j int ) { s [i ], s [j ] = s [j ], s [i ] }
476-
477469// Copy returns a copy of the SetNodeMap.
478470// This is not a full deep copy as any contained value.Value is not copied.
479471func (s * SetNodeMap ) Copy () SetNodeMap {
480- out := make (sortedSetNode , len (s .members ))
472+ out := make ([] setNode , len (s .members ))
481473 for i , v := range s .members {
482474 out [i ] = setNode {pathElement : v .pathElement .Copy (), set : v .set .Copy ()}
483475 }
@@ -677,7 +669,7 @@ func (s *SetNodeMap) RecursiveDifference(s2 *Set) *SetNodeMap {
677669
678670// EnsureNamedFieldsAreMembers returns a set that contains all the named fields along with the leaves.
679671func (s * SetNodeMap ) EnsureNamedFieldsAreMembers (sc * schema.Schema , tr schema.TypeRef ) * SetNodeMap {
680- out := make (sortedSetNode , 0 , s .Size ())
672+ out := make ([] setNode , 0 , s .Size ())
681673 atom , _ := sc .Resolve (tr )
682674 for _ , member := range s .members {
683675 tr := schema.TypeRef {}
@@ -706,7 +698,7 @@ func (s *SetNodeMap) FilterIncludeMatches(pattern *SetMatcher) *SetNodeMap {
706698 return s
707699 }
708700
709- var out sortedSetNode
701+ var out [] setNode
710702 for _ , member := range s .members {
711703 for _ , c := range pattern .members {
712704 if c .Path .Wildcard || c .Path .PathElement .Equals (member .pathElement ) {
@@ -754,7 +746,7 @@ func (s *SetNodeMap) iteratePrefix(prefix Path, f func(Path)) {
754746// only setNodes with leaf PathElements.
755747func (s * SetNodeMap ) Leaves () * SetNodeMap {
756748 out := & SetNodeMap {}
757- out .members = make (sortedSetNode , len (s .members ))
749+ out .members = make ([] setNode , len (s .members ))
758750 for i , n := range s .members {
759751 out .members [i ] = setNode {
760752 pathElement : n .pathElement ,
0 commit comments