private Dictionary <string, string> GenerateVTable(Definitions.ClassDefinition classDefinition) { Dictionary <string, string> VTable; if (classDefinition.ClassType.BaseClassType == null) { VTable = new Dictionary <string, string>(); for (int x = 0; x < classDefinition.Methods.Count; x++) { string MethodName = classDefinition.Methods.ItemAt(x).Name; VTable.Add(MethodName, classDefinition.Name); } } else { VTable = GenerateVTable(Analysis.Environment.Classes.Lookup(classDefinition.ClassType.BaseClassType.Name)); for (int x = 0; x < classDefinition.Methods.Count; x++) { string MethodName = classDefinition.Methods.ItemAt(x).Name; if (VTable.ContainsKey(MethodName)) { VTable[MethodName] = classDefinition.Name; } else { VTable.Add(MethodName, classDefinition.Name); } } } return(VTable); }