public static TreeNode add_EnclosingMethod(this TreeNode treeNode, Method_CallMapping callMapping, JavaMetadata_XRefs xRefs, bool showStubTreeNode) { if (xRefs.Classes_by_EnclosingMethod.hasKey(callMapping.Signature)) { var enclosedMethodNode = (showStubTreeNode) ? treeNode.add_Node("_EnclosedClass (i.e. class by EnclosedMethod)") : treeNode; foreach (var _class in xRefs.Classes_by_EnclosingMethod[callMapping.Signature]) { enclosedMethodNode.add_Node(_class.Signature, _class) .add_Nodes(_class.Methods, (method) => method.Signature, (method) => xRefs.CallMappings[method.Signature], (method) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), (method) => method.Signature.treeNodeColor(xRefs.Methods_by_Signature)); } } if (xRefs.Method_by_EnclosingMethod.hasKey(callMapping.Signature)) { var enclosedMethodNode = (showStubTreeNode) ? treeNode.add_Node("_EnclosedMethod").color(Color.Gray) : treeNode; var enclosedMethod = xRefs.Method_by_EnclosingMethod[callMapping.Signature]; enclosedMethodNode.add_Node(enclosedMethod, xRefs.CallMappings[enclosedMethod], true) .color(enclosedMethod.treeNodeColor(xRefs.Methods_by_Signature)); } //enclosedMethodNode.add_Nodes(xRefs.Classes_by_EnclosingMethod[callMapping.Signature].OrderBy((enclosedMethod)=>enclosedMethod.Signature)); /*EnclosedMethodNode.add_Nodes(xRefs.Classes_by_EnclosingMethod[callMapping.Signature].OrderBy((enclosedMethod)=>enclosedMethod.Signature), * (enclosedMethod) => enclosedMethod.Signature, * (enclosedMethod) => xRefs.CallMappings[enclosedMethod.Signature], * (enclosedMethod) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), * (enclosedMethod) => enclosedMethod.Signature.treeNodeColor(xRefs.Methods_by_Signature)); */ return(treeNode); }
public static TreeNode add_Implements(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary <string, Method_CallMapping> callMappings, Dictionary <string, Java_Method> methods_bySignature, bool showStubTreeNode) { if (callMapping.Implements.size() == 0) { return(treeNode); } var implementsNode = (showStubTreeNode) ? treeNode.add_Node("Implements").color(Color.Gray) : treeNode; implementsNode.add_Nodes(callMapping.Implements .OrderBy((implements) => implements.Signature) .Where((implements) => callMappings.hasKey(implements.Signature)), (implements) => implements.Signature, (implements) => callMappings[implements.Signature], (implements) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), (implements) => implements.Signature.treeNodeColor(methods_bySignature)); return(treeNode); }
public static TreeNode add_IsCalledBy(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary <string, Method_CallMapping> callMappings, Dictionary <string, Java_Method> methods_bySignature, bool showStubTreeNode) { if (callMapping.IsCalledBy.size() == 0) { return(treeNode); } //var isCalledByLocations = treeNode.add_Node("_IsCalledBy_Locations"); var locations = new List <MethodCall_Location>(); foreach (var isCalledBy in callMapping.IsCalledBy) { foreach (var atLocation in isCalledBy.AtLocations) { atLocation.Signature = isCalledBy.Signature; // did this so that we don't have to store/serialize the Signature here locations.Add(atLocation); } } locations = locations.OrderBy((atLocation) => atLocation.Pc) .OrderBy((atLocation) => atLocation.Signature).toList(); //isCalledByLocations.add_Nodes(locations); var isCalledByToNode = (showStubTreeNode) ? treeNode.add_Node("IsCalledBy").color(Color.Gray) : treeNode; isCalledByToNode.add_Node("_IsCalledBy_Locations").color(Color.Gray) .add_Nodes(locations); isCalledByToNode.add_Nodes(callMapping.IsCalledBy .OrderBy((calledBy) => calledBy.Signature) .Where((calledBy) => callMappings.hasKey(calledBy.Signature)), (calledBy) => calledBy.Signature, (calledBy) => callMappings[calledBy.Signature], (calledBy) => true, //callMappings.hasMapping_IsCalledBy(calledBy.Signature), (calledBy) => methods_bySignature.hasKey(calledBy.Signature) ? Color.DarkGreen : Color.DarkRed); return(treeNode); }
public static TreeNode add_CallsTo(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary <string, Method_CallMapping> callMappings, Dictionary <string, Java_Method> methods_bySignature, bool showStubTreeNode) { if (callMapping.CallsTo.size() == 0) { return(treeNode); } //var callToLocations = treeNode.add_Node("_CallTo_Locations"); var locations = new List <MethodCall_Location>(); foreach (var callTo in callMapping.CallsTo) { foreach (var atLocation in callTo.AtLocations) { atLocation.Signature = callTo.Signature; // did this so that we don't have to store/serialize the Signature here locations.Add(atLocation); } } locations = locations.OrderBy((atLocation) => atLocation.Pc) .OrderBy((atLocation) => atLocation.Signature).toList(); //callToLocations.add_Nodes(locations); var callsToNode = (showStubTreeNode) ? treeNode.add_Node("CallsTo") : treeNode; callsToNode.add_Node("_CallTo_Locations") .add_Nodes(locations); callsToNode.add_Nodes(callMapping.CallsTo.OrderBy((callTo) => callTo.Signature), (callTo) => callTo.Signature, (callTo) => callMappings[callTo.Signature], (callTo) => true, // callMappings.hasMapping_CallsTo(callTo.Signature), (callTo) => callTo.Signature.treeNodeColor(methods_bySignature)); return(treeNode); }
public static TreeNode add_EnclosingMethod(this TreeNode treeNode, Method_CallMapping callMapping,JavaMetadata_XRefs xRefs, bool showStubTreeNode) { if (xRefs.Classes_by_EnclosingMethod.hasKey(callMapping.Signature)) { var enclosedMethodNode = (showStubTreeNode) ? treeNode.add_Node("_EnclosedClass (i.e. class by EnclosedMethod)") : treeNode; foreach(var _class in xRefs.Classes_by_EnclosingMethod[callMapping.Signature]) { enclosedMethodNode.add_Node(_class.Signature, _class) .add_Nodes(_class.Methods, (method)=> method.Signature, (method) => xRefs.CallMappings[method.Signature], (method) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), (method) => method.Signature.treeNodeColor(xRefs.Methods_by_Signature)); } } if (xRefs.Method_by_EnclosingMethod.hasKey(callMapping.Signature)) { var enclosedMethodNode = (showStubTreeNode) ? treeNode.add_Node("_EnclosedMethod").color(Color.Gray) : treeNode; var enclosedMethod = xRefs.Method_by_EnclosingMethod[callMapping.Signature]; enclosedMethodNode.add_Node(enclosedMethod, xRefs.CallMappings[enclosedMethod], true) .color(enclosedMethod.treeNodeColor(xRefs.Methods_by_Signature)); } //enclosedMethodNode.add_Nodes(xRefs.Classes_by_EnclosingMethod[callMapping.Signature].OrderBy((enclosedMethod)=>enclosedMethod.Signature)); /*EnclosedMethodNode.add_Nodes(xRefs.Classes_by_EnclosingMethod[callMapping.Signature].OrderBy((enclosedMethod)=>enclosedMethod.Signature), (enclosedMethod) => enclosedMethod.Signature, (enclosedMethod) => xRefs.CallMappings[enclosedMethod.Signature], (enclosedMethod) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), (enclosedMethod) => enclosedMethod.Signature.treeNodeColor(xRefs.Methods_by_Signature)); */ return treeNode; }
public static TreeNode add_Implements(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary<string, Method_CallMapping> callMappings , Dictionary<string, Java_Method> methods_bySignature , bool showStubTreeNode) { if (callMapping.Implements.size()==0) return treeNode; var implementsNode = (showStubTreeNode) ? treeNode.add_Node("Implements").color(Color.Gray) : treeNode; implementsNode.add_Nodes(callMapping.Implements .OrderBy((implements)=>implements.Signature) .Where((implements)=>callMappings.hasKey(implements.Signature)), (implements) => implements.Signature, (implements) => callMappings[implements.Signature], (implements) => true, //callMappings.hasMapping_ImplementedBy(implementedBy.Signature), (implements) => implements.Signature.treeNodeColor(methods_bySignature)); return treeNode; }
public static TreeNode add_IsCalledBy(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary<string, Method_CallMapping> callMappings , Dictionary<string, Java_Method> methods_bySignature , bool showStubTreeNode) { if (callMapping.IsCalledBy.size()==0) return treeNode; //var isCalledByLocations = treeNode.add_Node("_IsCalledBy_Locations"); var locations = new List<MethodCall_Location>(); foreach(var isCalledBy in callMapping.IsCalledBy) foreach(var atLocation in isCalledBy.AtLocations) { atLocation.Signature = isCalledBy.Signature; // did this so that we don't have to store/serialize the Signature here locations.Add(atLocation); } locations = locations.OrderBy((atLocation)=>atLocation.Pc) .OrderBy((atLocation)=>atLocation.Signature).toList(); //isCalledByLocations.add_Nodes(locations); var isCalledByToNode = (showStubTreeNode) ? treeNode.add_Node("IsCalledBy").color(Color.Gray) : treeNode; isCalledByToNode.add_Node("_IsCalledBy_Locations").color(Color.Gray) .add_Nodes(locations); isCalledByToNode.add_Nodes(callMapping.IsCalledBy .OrderBy((calledBy)=>calledBy.Signature) .Where((calledBy)=>callMappings.hasKey(calledBy.Signature)), (calledBy) => calledBy.Signature, (calledBy) => callMappings[calledBy.Signature], (calledBy) => true, //callMappings.hasMapping_IsCalledBy(calledBy.Signature), (calledBy) => methods_bySignature.hasKey(calledBy.Signature) ? Color.DarkGreen : Color.DarkRed); return treeNode; }
public static TreeNode add_CallsTo(this TreeNode treeNode, Method_CallMapping callMapping, Dictionary<string, Method_CallMapping> callMappings , Dictionary<string, Java_Method> methods_bySignature , bool showStubTreeNode) { if (callMapping.CallsTo.size()==0) return treeNode; //var callToLocations = treeNode.add_Node("_CallTo_Locations"); var locations = new List<MethodCall_Location>(); foreach(var callTo in callMapping.CallsTo) foreach(var atLocation in callTo.AtLocations) { atLocation.Signature = callTo.Signature; // did this so that we don't have to store/serialize the Signature here locations.Add(atLocation); } locations = locations.OrderBy((atLocation)=>atLocation.Pc) .OrderBy((atLocation)=>atLocation.Signature).toList(); //callToLocations.add_Nodes(locations); var callsToNode = (showStubTreeNode) ? treeNode.add_Node("CallsTo") : treeNode; callsToNode.add_Node("_CallTo_Locations") .add_Nodes(locations); callsToNode.add_Nodes( callMapping.CallsTo.OrderBy((callTo)=>callTo.Signature), (callTo) => callTo.Signature, (callTo) => callMappings[callTo.Signature], (callTo) => true, // callMappings.hasMapping_CallsTo(callTo.Signature), (callTo) => callTo.Signature.treeNodeColor(methods_bySignature)); return treeNode; }