From 019db08df48266a518cbbb9a0bc465a40e2f36dd Mon Sep 17 00:00:00 2001 From: Francis Russell Date: Wed, 8 Feb 2012 18:07:42 +0000 Subject: [PATCH] Re-work tree rendering code. --- src/ofc/generators/onetep/LoopTree.scala | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ofc/generators/onetep/LoopTree.scala b/src/ofc/generators/onetep/LoopTree.scala index e34458b..ae4f7fb 100644 --- a/src/ofc/generators/onetep/LoopTree.scala +++ b/src/ofc/generators/onetep/LoopTree.scala @@ -347,6 +347,7 @@ class LoopTree private[onetep](localIndex: Option[Index]) extends Fragment { override def toString : String = toStrings.mkString("\n") private def toStrings : List[String] = { + val stringTree = ArrayBuffer[List[String]]() val result = ArrayBuffer[String]() result += "Index: " + (localIndex match { case Some(x) => x.toString @@ -354,17 +355,21 @@ class LoopTree private[onetep](localIndex: Option[Index]) extends Fragment { }) for(bufferDescriptor <- bufferDescriptors) - result += "|--"+bufferDescriptor.toString + stringTree += List(bufferDescriptor.toString) - for (entryID <- 0 until subItems.size) { - val subList = (subItems(entryID) match { + for (subItem <- subItems) { + val subList = (subItem match { case (tree: LoopTree) => tree.toStrings case x => List(x.toString) }) - val subListHeadPrefix = if (entryID < subItems.size-1) "|--" else "`--" - val subListTailPrefix = if (entryID < subItems.size-1) "| " else " " - result ++= (subListHeadPrefix+subList.head) :: (subList.tail.map(subListTailPrefix+_)) + stringTree += subList + } + + for((subTree, subTreeIndex) <- stringTree.zipWithIndex) { + val subTreeHeadPrefix = if (subTreeIndex < stringTree.size-1) "|--" else "`--" + val subTreeTailPrefix = if (subTreeIndex < stringTree.size-1) "| " else " " + result ++= (subTreeHeadPrefix+subTree.head) :: (subTree.tail.map(subTreeTailPrefix+_)) } result.toList -- 2.47.3