tuned signature;
authorwenzelm
Tue, 29 May 2018 20:00:10 +0200
changeset 68321 daca5f2a0c90
parent 68320 1d33697199c1
child 68322 100f018096c8
tuned signature;
src/Pure/General/graph.scala
src/Pure/PIDE/document.scala
src/Pure/PIDE/protocol.scala
src/Pure/Thy/thy_resources.scala
src/Tools/jEdit/src/theories_dockable.scala
--- a/src/Pure/General/graph.scala	Tue May 29 18:09:08 2018 +0200
+++ b/src/Pure/General/graph.scala	Tue May 29 20:00:10 2018 +0200
@@ -66,6 +66,7 @@
 
   def is_empty: Boolean = rep.isEmpty
   def defined(x: Key): Boolean = rep.isDefinedAt(x)
+  def domain: Set[Key] = rep.keySet
 
   def iterator: Iterator[(Key, Entry)] = rep.iterator
 
--- a/src/Pure/PIDE/document.scala	Tue May 29 18:09:08 2018 +0200
+++ b/src/Pure/PIDE/document.scala	Tue May 29 20:00:10 2018 +0200
@@ -383,6 +383,8 @@
       new Nodes(graph3.map_node(name, _ => node))
     }
 
+    def domain: Set[Node.Name] = graph.domain
+
     def iterator: Iterator[(Node.Name, Node)] =
       graph.iterator.map({ case (name, (node, _)) => (name, node) })
 
--- a/src/Pure/PIDE/protocol.scala	Tue May 29 18:09:08 2018 +0200
+++ b/src/Pure/PIDE/protocol.scala	Tue May 29 20:00:10 2018 +0200
@@ -156,9 +156,10 @@
   def node_status(
     state: Document.State,
     version: Document.Version,
-    name: Document.Node.Name,
-    node: Document.Node): Node_Status =
+    name: Document.Node.Name): Node_Status =
   {
+    val node = version.nodes(name)
+
     var unprocessed = 0
     var running = 0
     var warned = 0
--- a/src/Pure/Thy/thy_resources.scala	Tue May 29 18:09:08 2018 +0200
+++ b/src/Pure/Thy/thy_resources.scala	Tue May 29 20:00:10 2018 +0200
@@ -133,7 +133,7 @@
           case Some(version) if dep_theories.forall(state.node_consolidated(version, _)) =>
             val nodes =
               for (name <- dep_theories)
-              yield (name -> Protocol.node_status(state, version, name, version.nodes(name)))
+              yield (name -> Protocol.node_status(state, version, name))
             try { result.fulfill(Theories_Result(state, version, nodes)) }
             catch { case _: IllegalStateException => }
           case _ =>
--- a/src/Tools/jEdit/src/theories_dockable.scala	Tue May 29 18:09:08 2018 +0200
+++ b/src/Tools/jEdit/src/theories_dockable.scala	Tue May 29 20:00:10 2018 +0200
@@ -228,21 +228,17 @@
     val snapshot = PIDE.session.snapshot()
     val nodes = snapshot.version.nodes
 
-    val iterator =
-      restriction match {
-        case Some(names) => names.iterator.map(name => (name, nodes(name)))
-        case None => nodes.iterator
-      }
     val nodes_status1 =
-      (nodes_status /: iterator)({ case (status, (name, node)) =>
-          if (PIDE.resources.is_hidden(name) ||
-              PIDE.resources.session_base.loaded_theory(name) ||
-              node.is_empty) status
-          else {
-            val st = Protocol.node_status(snapshot.state, snapshot.version, name, node)
-            status + (name -> st)
-          }
-      })
+      (nodes_status /: (restriction.getOrElse(nodes.domain).iterator))(
+        { case (status, name) =>
+            if (PIDE.resources.is_hidden(name) ||
+                PIDE.resources.session_base.loaded_theory(name) ||
+                nodes(name).is_empty) status
+            else {
+              val st = Protocol.node_status(snapshot.state, snapshot.version, name)
+              status + (name -> st)
+            }
+        })
 
     val nodes_status2 =
       nodes_status1 -- nodes_status1.keysIterator.filter(nodes.is_suppressed(_))