// public ICirDataAnalysis cirDataAnalysis { get; set; } /*public static void viewCirFunctionSignature(string functionSignature, ICirDataAnalysis _cirDataAnalysis) * { * if (_cirDataAnalysis.dCirFunction_bySignature.ContainsKey(functionSignature)) * viewCirFunctionSignature(_cirDataAnalysis.dCirFunction_bySignature[functionSignature], _cirDataAnalysis); * }*/ public void viewCirFunction(ICirFunction _rootCirFunction) { if (_rootCirFunction != null) { this.invokeOnThread( () => { showFunctionAttributes(_rootCirFunction); laFunctionViewed.Text = _rootCirFunction.FunctionSignature; rootCirFunction = _rootCirFunction; currentCirClass = _rootCirFunction.ParentClass; //tvFunctionIsCalledBy tvFunctionIsCalledBy.Nodes.Clear(); ViewHelpers.addCirFunctionToTreeNodeCollection(rootCirFunction, "", tvFunctionIsCalledBy.Nodes, rootCirFunction.FunctionIsCalledBy.Count > 0); O2Forms.expandNodes(tvFunctionIsCalledBy); //tvFunctionMakesCallsTo tvFunctionMakesCallsTo.Nodes.Clear(); ViewHelpers.addCirFunctionToTreeNodeCollection(rootCirFunction, "", tvFunctionMakesCallsTo.Nodes, rootCirFunction.FunctionsCalledUniqueList.Count > 0); O2Forms.expandNodes(tvFunctionMakesCallsTo); //tvFunctionInfo tvFunctionInfo.Nodes.Clear(); ViewHelpers.addCirFunctionToTreeNodeCollection(rootCirFunction, "", tvFunctionInfo.Nodes, rootCirFunction.FunctionsCalledUniqueList.Count > 0 || rootCirFunction.FunctionIsCalledBy.Count > 0); O2Forms.expandNodes(tvFunctionInfo); //tvClassSuperClasses tvClassSuperClasses.Nodes.Clear(); if (rootCirFunction.ParentClass != null) { ViewHelpers.addCirClassToTreeNodeCollection(rootCirFunction.ParentClass, "", tvClassSuperClasses.Nodes, rootCirFunction.ParentClass.dSuperClasses.Count > 0); O2Forms.expandNodes(tvClassSuperClasses); } //tvClassSuperClasses tvClassIsSuperClassedBy.Nodes.Clear(); if (rootCirFunction.ParentClass != null) { ViewHelpers.addCirClassToTreeNodeCollection(rootCirFunction.ParentClass, "", tvClassIsSuperClassedBy.Nodes, rootCirFunction.ParentClass.dIsSuperClassedBy.Count > 0); O2Forms.expandNodes(tvClassIsSuperClassedBy); } cbCirFunction_IsTainted.Checked = rootCirFunction.IsTainted; viewClassMethods(); }); } }
public void viewCirFunction(ICirFunction _rootCirFunction) { this.invokeOnThread( () => { rootCirFunction = _rootCirFunction; cirTreeView.Nodes.Clear(); ViewHelpers.addCirFunctionToTreeNodeCollection(rootCirFunction, "", cirTreeView.Nodes, true); createTracesAndShowIt(rootCirFunction); cirTreeView.ExpandAll(); }); }