tuned;
authorwenzelm
Wed, 18 Aug 2010 14:04:13 +0200
changeset 38478 7766812a01e7
parent 38477 f01f4ab2a0af
child 38479 e628da370072
tuned;
src/Pure/PIDE/markup_node.scala
--- a/src/Pure/PIDE/markup_node.scala	Wed Aug 18 14:02:32 2010 +0200
+++ b/src/Pure/PIDE/markup_node.scala	Wed Aug 18 14:04:13 2010 +0200
@@ -13,11 +13,6 @@
 
 
 case class Markup_Node(val range: Text.Range, val info: Any)
-{
-  def fits_into(that: Markup_Node): Boolean =
-    that.range.start <= this.range.start && this.range.stop <= that.range.stop
-}
-
 
 case class Markup_Tree(val node: Markup_Node, val branches: List[Markup_Tree])
 {
@@ -30,11 +25,11 @@
   def + (new_tree: Markup_Tree): Markup_Tree =
   {
     val new_node = new_tree.node
-    if (new_node fits_into node) {
+    if (node.range contains new_node.range) {
       var inserted = false
       val new_branches =
         branches.map(branch =>
-          if ((new_node fits_into branch.node) && !inserted) {
+          if ((branch.node.range contains new_node.range) && !inserted) {
             inserted = true
             branch + new_tree
           }
@@ -42,7 +37,7 @@
       if (!inserted) {
         // new_tree did not fit into children of this
         // -> insert between this and its branches
-        val fitting = branches filter(_.node fits_into new_node)
+        val fitting = branches filter(new_node.range contains _.node.range)
         (this remove fitting) add ((new_tree /: fitting)(_ + _))
       }
       else copy(branches = new_branches)
@@ -94,7 +89,7 @@
     new Markup_Text(markup.flatMap(filt(_)), content)
   }
 
-  def flatten: List[Markup_Node] = markup.flatten(_.flatten)
+  def flatten: List[Markup_Node] = markup.flatMap(_.flatten)
 
   def swing_tree(swing_node: Markup_Node => DefaultMutableTreeNode): DefaultMutableTreeNode =
   {