/// <summary> /// This removes the functions corresponding to the indices. All calls are removed from /// the call recording to these functions as well. /// </summary> /// <param name="rowIndices"></param> public void removeFunctions(List <int> rowIndices) { // Generate the list of destination addresses List <uint> functionAddresses = new List <uint>(rowIndices.Count); for (int i = 0; i < rowIndices.Count; i++) { if (rowIndices[i] >= 0 && rowIndices[i] < functions.Count) { functionAddresses.Add(functions[rowIndices[i]].address); } } if (dataVis != null) { // Filter out the calls // Now lets filter out the calls to these function addresses dataVis = dataVis.clipOutCalls_addresses(functionAddresses); } // Remove the functions from the list FunctionSelectFromAddressArray selecter = new FunctionSelectFromAddressArray(functionAddresses); functions = functions.FindAll(selecter.isNotInList); }
public void clipFunctions_address(List <uint> functionAddresses) { // Clip the function list FunctionSelectFromAddressArray selecter = new FunctionSelectFromAddressArray(functionAddresses); functions = functions.FindAll(selecter.isInList); }