package com.jetbrains.actionscript.profiler.calltree; /** * @author: Fedor.Korotkov */ public class CallTreeUtil { public static CallTree filterSystemStuff(CallTree tree) { return new CallTree(filterSystemStuffImpl(tree.getRoot())); } private static CallTreeNode filterSystemStuffImpl(CallTreeNode node) { CallTreeNode result = new CallTreeNode(node.getFrameInfo(), node.getCumulativeTiming()); for (CallTreeNode child : node.getChildren()) { CallTreeNode newChild = filterSystemStuffImpl(child); if (newChild.getFrameInfo().isSystem()) { result.addChildrenRecursive(newChild.getChildren()); } else { result.addChildRecursive(newChild); } } return result; } }