Skip to content

Commit 69aaa38

Browse files
committed
Use iterators instead of streams for tree building.
1 parent 344b545 commit 69aaa38

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

codepulse/src/main/scala/com/secdec/codepulse/data/bytecode/CodeForestBuilder.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ class CodeForestBuilder {
4444
}
4545

4646
def result = {
47-
roots.toStream flatMap { root =>
48-
root.streamTree map { node =>
47+
roots.toIterator flatMap { root =>
48+
root.iterateTree map { node =>
4949
val id = node.id
5050
val name = node.name
5151
val parentId = node.parentId

codepulse/src/main/scala/com/secdec/codepulse/data/bytecode/CodeTree2.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@ trait CodeTreeNode {
5454
for (child <- children) child.visitTree(callback)
5555
}
5656

57-
/* Stream this node and all of its descendants */
58-
def streamTree(): Stream[CodeTreeNode] = {
59-
this +: (children.toStream.flatMap(_.streamTree))
57+
/* Iterate this node and all of its descendants */
58+
def iterateTree(): Iterator[CodeTreeNode] = {
59+
Iterator.single(this) ++ (children.toIterator.flatMap(_.iterateTree))
6060
}
6161

6262
def findChild(predicate: CodeTreeNode => Boolean): Option[CodeTreeNode] = {

codepulse/src/main/scala/com/secdec/codepulse/tracer/TraceUploadData.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ object TraceUploadData {
148148
} else {
149149
val importer = TreeNodeImporter(traceData.treeNodeData)
150150

151-
importer ++= treemapNodes map {
151+
importer ++= treemapNodes.toIterable map {
152152
case (root, node) =>
153153
node -> (node.kind match {
154154
case CodeTreeNodeKind.Grp | CodeTreeNodeKind.Pkg => Some(tracedGroups contains root.name)

0 commit comments

Comments
 (0)