Example #1
0
        public static void addToNode_MakesCallsTo(ICirFunctionCall functionCall, TreeNode targetTreeNode, bool alwaysAddDummyChildNode, bool addDontAddRecursiveCalls)
        {
            var cirFunction = functionCall.cirFunction;
            var parentNodes = O2Forms.getStringListWithAllParentNodesName(targetTreeNode);

            //foreach (var makesCallsTo in cirFunction.FunctionsCalledUniqueList)
            foreach (var makesCallsTo in cirFunction.FunctionsCalled)
            {
                var recursiveCall = parentNodes.Contains(makesCallsTo.cirFunction.FunctionSignature);
                if (recursiveCall && addDontAddRecursiveCalls)
                {
                    var nodeText = string.Format("R: {0} : {1} : {2}", makesCallsTo.cirFunction.FunctionName, "....(Recursive Call so not expanding child calls", makesCallsTo.cirFunction.FunctionSignature);
                    targetTreeNode.Nodes.Add(nodeText);
                }
                else
                {
                    addCirFunctionToTreeNodeCollection(makesCallsTo, "=> ", targetTreeNode.Nodes,
                                                       alwaysAddDummyChildNode || makesCallsTo.cirFunction.FunctionsCalled.Count > 0);
                }
            }
        }