mirror of
https://github.com/opentofu/opentofu.git
synced 2025-02-25 18:45:20 -06:00
remove uses of Set.List
Since the set can be iterated over directly, we no longer need to copy the values into a new slice.
This commit is contained in:
parent
32ae3b5452
commit
26a4de803f
@ -175,10 +175,9 @@ func (g *AcyclicGraph) Walk(cb WalkFunc) tfdiags.Diagnostics {
|
||||
|
||||
// simple convenience helper for converting a dag.Set to a []Vertex
|
||||
func AsVertexList(s Set) []Vertex {
|
||||
rawList := s.List()
|
||||
vertexList := make([]Vertex, len(rawList))
|
||||
for i, raw := range rawList {
|
||||
vertexList[i] = raw.(Vertex)
|
||||
vertexList := make([]Vertex, 0, len(s))
|
||||
for _, raw := range s {
|
||||
vertexList = append(vertexList, raw.(Vertex))
|
||||
}
|
||||
return vertexList
|
||||
}
|
||||
|
26
dag/graph.go
26
dag/graph.go
@ -47,10 +47,9 @@ func (g *Graph) DirectedGraph() Grapher {
|
||||
|
||||
// Vertices returns the list of all the vertices in the graph.
|
||||
func (g *Graph) Vertices() []Vertex {
|
||||
list := g.vertices.List()
|
||||
result := make([]Vertex, len(list))
|
||||
for i, v := range list {
|
||||
result[i] = v.(Vertex)
|
||||
result := make([]Vertex, 0, len(g.vertices))
|
||||
for _, v := range g.vertices {
|
||||
result = append(result, v.(Vertex))
|
||||
}
|
||||
|
||||
return result
|
||||
@ -58,10 +57,9 @@ func (g *Graph) Vertices() []Vertex {
|
||||
|
||||
// Edges returns the list of all the edges in the graph.
|
||||
func (g *Graph) Edges() []Edge {
|
||||
list := g.edges.List()
|
||||
result := make([]Edge, len(list))
|
||||
for i, v := range list {
|
||||
result[i] = v.(Edge)
|
||||
result := make([]Edge, 0, len(g.edges))
|
||||
for _, v := range g.edges {
|
||||
result = append(result, v.(Edge))
|
||||
}
|
||||
|
||||
return result
|
||||
@ -120,10 +118,10 @@ func (g *Graph) Remove(v Vertex) Vertex {
|
||||
g.debug.Remove(v)
|
||||
|
||||
// Delete the edges to non-existent things
|
||||
for _, target := range g.DownEdges(v).List() {
|
||||
for _, target := range g.DownEdges(v) {
|
||||
g.RemoveEdge(BasicEdge(v, target))
|
||||
}
|
||||
for _, source := range g.UpEdges(v).List() {
|
||||
for _, source := range g.UpEdges(v) {
|
||||
g.RemoveEdge(BasicEdge(source, v))
|
||||
}
|
||||
|
||||
@ -148,10 +146,10 @@ func (g *Graph) Replace(original, replacement Vertex) bool {
|
||||
|
||||
// Add our new vertex, then copy all the edges
|
||||
g.Add(replacement)
|
||||
for _, target := range g.DownEdges(original).List() {
|
||||
for _, target := range g.DownEdges(original) {
|
||||
g.Connect(BasicEdge(replacement, target))
|
||||
}
|
||||
for _, source := range g.UpEdges(original).List() {
|
||||
for _, source := range g.UpEdges(original) {
|
||||
g.Connect(BasicEdge(source, replacement))
|
||||
}
|
||||
|
||||
@ -254,7 +252,7 @@ func (g *Graph) StringWithNodeTypes() string {
|
||||
// Alphabetize dependencies
|
||||
deps := make([]string, 0, targets.Len())
|
||||
targetNodes := make(map[string]Vertex)
|
||||
for _, target := range targets.List() {
|
||||
for _, target := range targets {
|
||||
dep := VertexName(target)
|
||||
deps = append(deps, dep)
|
||||
targetNodes[dep] = target
|
||||
@ -295,7 +293,7 @@ func (g *Graph) String() string {
|
||||
|
||||
// Alphabetize dependencies
|
||||
deps := make([]string, 0, targets.Len())
|
||||
for _, target := range targets.List() {
|
||||
for _, target := range targets {
|
||||
deps = append(deps, VertexName(target))
|
||||
}
|
||||
sort.Strings(deps)
|
||||
|
@ -24,7 +24,7 @@ func stronglyConnected(acct *sccAcct, g *Graph, v Vertex) int {
|
||||
index := acct.visit(v)
|
||||
minIdx := index
|
||||
|
||||
for _, raw := range g.DownEdges(v).List() {
|
||||
for _, raw := range g.DownEdges(v) {
|
||||
target := raw.(Vertex)
|
||||
targetIdx := acct.VertexIndex[target]
|
||||
|
||||
|
14
dag/walk.go
14
dag/walk.go
@ -174,7 +174,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
oldVerts := w.vertices.Difference(v)
|
||||
|
||||
// Add the new vertices
|
||||
for _, raw := range newVerts.List() {
|
||||
for _, raw := range newVerts {
|
||||
v := raw.(Vertex)
|
||||
|
||||
// Add to the waitgroup so our walk is not done until everything finishes
|
||||
@ -196,7 +196,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
}
|
||||
|
||||
// Remove the old vertices
|
||||
for _, raw := range oldVerts.List() {
|
||||
for _, raw := range oldVerts {
|
||||
v := raw.(Vertex)
|
||||
|
||||
// Get the vertex info so we can cancel it
|
||||
@ -219,7 +219,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
|
||||
// Add the new edges
|
||||
changedDeps := make(Set)
|
||||
for _, raw := range newEdges.List() {
|
||||
for _, raw := range newEdges {
|
||||
edge := raw.(Edge)
|
||||
waiter, dep := w.edgeParts(edge)
|
||||
|
||||
@ -249,8 +249,8 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
w.edges.Add(raw)
|
||||
}
|
||||
|
||||
// Process reoved edges
|
||||
for _, raw := range oldEdges.List() {
|
||||
// Process removed edges
|
||||
for _, raw := range oldEdges {
|
||||
edge := raw.(Edge)
|
||||
waiter, dep := w.edgeParts(edge)
|
||||
|
||||
@ -275,7 +275,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
|
||||
// For each vertex with changed dependencies, we need to kick off
|
||||
// a new waiter and notify the vertex of the changes.
|
||||
for _, raw := range changedDeps.List() {
|
||||
for _, raw := range changedDeps {
|
||||
v := raw.(Vertex)
|
||||
info, ok := w.vertexMap[v]
|
||||
if !ok {
|
||||
@ -320,7 +320,7 @@ func (w *Walker) Update(g *AcyclicGraph) {
|
||||
|
||||
// Start all the new vertices. We do this at the end so that all
|
||||
// the edge waiters and changes are setup above.
|
||||
for _, raw := range newVerts.List() {
|
||||
for _, raw := range newVerts {
|
||||
v := raw.(Vertex)
|
||||
go w.walkVertex(v, w.vertexMap[v])
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user