From 348cfa0ed7f84e4212a712aafa133c55c3efdf30 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 26 Jan 2017 20:13:42 -0800 Subject: [PATCH] terraform: remove graph annotations --- terraform/graph.go | 66 ---------------------------------------------- 1 file changed, 66 deletions(-) diff --git a/terraform/graph.go b/terraform/graph.go index 60258490d..b6a54f2dd 100644 --- a/terraform/graph.go +++ b/terraform/graph.go @@ -29,11 +29,6 @@ type Graph struct { // RootModuleName Path []string - // annotations are the annotations that are added to vertices. Annotations - // are arbitrary metadata taht is used for various logic. Annotations - // should have unique keys that are referenced via constants. - annotations map[dag.Vertex]map[string]interface{} - // dependableMap is a lookaside table for fast lookups for connecting // dependencies by their GraphNodeDependable value to avoid O(n^3)-like // situations and turn them into O(1) with respect to the number of new @@ -52,29 +47,6 @@ func (g *Graph) DirectedGraph() dag.Grapher { return &g.AcyclicGraph } -// Annotations returns the annotations that are configured for the -// given vertex. The map is guaranteed to be non-nil but may be empty. -// -// The returned map may be modified to modify the annotations of the -// vertex. -func (g *Graph) Annotations(v dag.Vertex) map[string]interface{} { - g.once.Do(g.init) - - // If this vertex isn't in the graph, then just return an empty map - if !g.HasVertex(v) { - return map[string]interface{}{} - } - - // Get the map, if it doesn't exist yet then initialize it - m, ok := g.annotations[v] - if !ok { - m = make(map[string]interface{}) - g.annotations[v] = m - } - - return m -} - // Add is the same as dag.Graph.Add. func (g *Graph) Add(v dag.Vertex) dag.Vertex { g.once.Do(g.init) @@ -89,14 +61,6 @@ func (g *Graph) Add(v dag.Vertex) dag.Vertex { } } - // If this initializes annotations, then do that - if av, ok := v.(GraphNodeAnnotationInit); ok { - as := g.Annotations(v) - for k, v := range av.AnnotationInit() { - as[k] = v - } - } - return v } @@ -111,9 +75,6 @@ func (g *Graph) Remove(v dag.Vertex) dag.Vertex { } } - // Remove the annotations - delete(g.annotations, v) - // Call upwards to remove it from the actual graph return g.Graph.Remove(v) } @@ -133,12 +94,6 @@ func (g *Graph) Replace(o, n dag.Vertex) bool { } } - // Move the annotation if it exists - if m, ok := g.annotations[o]; ok { - g.annotations[n] = m - delete(g.annotations, o) - } - return g.Graph.Replace(o, n) } @@ -195,13 +150,6 @@ func (g *Graph) ConnectTo(v dag.Vertex, targets []string) []string { return missing } -// Dependable finds the vertices in the graph that have the given dependable -// names and returns them. -func (g *Graph) Dependable(n string) dag.Vertex { - // TODO: do we need this? - return nil -} - // Walk walks the graph with the given walker for callbacks. The graph // will be walked with full parallelism, so the walker should expect // to be called in concurrently. @@ -210,10 +158,6 @@ func (g *Graph) Walk(walker GraphWalker) error { } func (g *Graph) init() { - if g.annotations == nil { - g.annotations = make(map[dag.Vertex]map[string]interface{}) - } - if g.dependableMap == nil { g.dependableMap = make(map[string]dag.Vertex) } @@ -346,16 +290,6 @@ func (g *Graph) walk(walker GraphWalker) error { return g.AcyclicGraph.Walk(walkFn) } -// GraphNodeAnnotationInit is an interface that allows a node to -// initialize it's annotations. -// -// AnnotationInit will be called _once_ when the node is added to a -// graph for the first time and is expected to return it's initial -// annotations. -type GraphNodeAnnotationInit interface { - AnnotationInit() map[string]interface{} -} - // GraphNodeDependable is an interface which says that a node can be // depended on (an edge can be placed between this node and another) according // to the well-known name returned by DependableName.