From 45aec23550074737c25184ea0acb5bd71126254d Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Sun, 11 Oct 2015 19:16:57 -0700 Subject: [PATCH] dump() function for DynamicGraph. --- .../com/beust/kobalt/internal/DynamicGraph.kt | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt b/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt index 2326ea94..7052804f 100644 --- a/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt +++ b/src/main/kotlin/com/beust/kobalt/internal/DynamicGraph.kt @@ -4,6 +4,8 @@ import com.beust.kobalt.misc.KobaltLogger import com.beust.kobalt.misc.NamedThreadFactory import com.beust.kobalt.misc.ToString import com.google.common.collect.ArrayListMultimap +import com.google.common.collect.HashMultimap +import com.google.common.collect.TreeMultimap import java.util.* import java.util.concurrent.* @@ -231,5 +233,24 @@ public class DynamicGraph : KobaltLogger { result.append("]"); return result.toString(); } + + val nodes : Set get() = nodesReady + + fun dump() : String { + val result = StringBuffer() + val free = arrayListOf() + nodesReady.forEach { node -> + val d = dependedUpon.get(node) + if (d == null || d.isEmpty()) { + free.add(node) + } + } + + result.append("Free: $free").append("\n Dependencies:\n") + dependedUpon.keySet().forEach { + result.append(" $it -> ${dependedUpon.get(it)}\n") + } + return result.toString() + } }