44 "fmt"
55 "os"
66 "reflect"
7+ "slices"
78 "strings"
89)
910
@@ -100,7 +101,7 @@ func (g *Graph) Remove(plugin any) []*Vertex {
100101 }
101102
102103 edges := vertex .edges
103- for i := 0 ; i < len ( edges ); i ++ {
104+ for i := range edges {
104105 if _ , ok := g .vertices [reflect .TypeOf (edges [i ].dest )]; ! ok {
105106 continue
106107 }
@@ -112,7 +113,7 @@ func (g *Graph) Remove(plugin any) []*Vertex {
112113
113114 args := make ([]reflect.Type , initMethod .Type .NumIn ())
114115 // receiver + other (should be other, since this is a dest vertex)
115- for j := 0 ; j < initMethod .Type .NumIn (); j ++ {
116+ for j := range initMethod .Type .NumIn () {
116117 args [j ] = initMethod .Type .In (j )
117118 }
118119
@@ -127,13 +128,13 @@ func (g *Graph) Remove(plugin any) []*Vertex {
127128 continue
128129 }
129130
130- for j := 0 ; j < len ( args ); j ++ {
131+ for j := range args {
131132 if reflect .TypeOf (v .Plugin ()).Implements (args [j ]) {
132133 /*
133134 we've found a plugin which may replace our dependency
134135 now, since we modified the slice, start iteration again
135136 */
136- args = append (args [: j ], args [ j + 1 :] ... )
137+ args = slices . Delete (args , j , j + 1 )
137138 goto retry
138139 }
139140 }
@@ -154,15 +155,15 @@ func (g *Graph) Remove(plugin any) []*Vertex {
154155
155156 // remove all edges where dest is our plugin prepared to delete
156157 for _ , v := range g .vertices {
157- for i := 0 ; i < len ( v .edges ); i ++ {
158+ for i := range v .edges {
158159 if v .edges [i ].dest == plugin {
159- v .edges = append (v .edges [: i ], v . edges [ i + 1 :] ... )
160+ v .edges = slices . Delete (v .edges , i , i + 1 )
160161 }
161162 }
162163 }
163164
164- for i := 0 ; i < len ( g .topologicalOrder ); i ++ {
165- for j := 0 ; j < len ( deletedVertices ); j ++ {
165+ for i := range g .topologicalOrder {
166+ for j := range deletedVertices {
166167 if g .topologicalOrder [i ] == deletedVertices [j ] {
167168 g .topologicalOrder [i ].active = false
168169 }
@@ -179,8 +180,8 @@ func (g *Graph) WriteDotString() {
179180 s .WriteString ("\t graph [compound=true];\n " )
180181
181182 seenEdges := make (map [string ]struct {})
182- for i := 0 ; i < len ( g .topologicalOrder ); i ++ {
183- for j := 0 ; j < len ( g .topologicalOrder [i ].edges ); j ++ {
183+ for i := range g .topologicalOrder {
184+ for j := range g .topologicalOrder [i ].edges {
184185 src := reflect .TypeOf (g .topologicalOrder [i ].edges [j ].src ).String ()
185186 dest := reflect .TypeOf (g .topologicalOrder [i ].edges [j ].dest ).String ()
186187
0 commit comments