public CallInfo(AssemblyInfo assemblyInfo, MethodUniqueSignature signature, OpCode opcode, bool isPublic, List <MethodUniqueSignature> overrideSignatures) { AssemblyInfo = assemblyInfo; Signature = signature; Opcode = opcode; IsPublic = isPublic; OverrideSignatures = overrideSignatures; }
public List <CallInfo> GetCalls(MethodUniqueSignature methodSignature, AssemblyInfo assemblyInfo) { if (assemblyInfo == null || assemblyInfo.Name == (UTF8String)null || assemblyInfo.Name == UTF8String.Empty || assemblyInfo.Version == null || assemblyInfo.Version == AssemblyInfo.EmptyVersion) { return(GetCalls(methodSignature)); } if (callers.TryGetValue(methodSignature, out var callInfoMap)) { return(callInfoMap[assemblyInfo]); } return(empty); }
// TODO: use IReadOnlyCollection<CallInfo> public List <CallInfo> GetCalls(MethodUniqueSignature methodSignature) { if (callers.TryGetValue(methodSignature, out var callInfoMap)) { if (callInfoMap.Count == 1) { return(callInfoMap.Values.First()); } var result = new List <CallInfo>(); foreach (var list in callInfoMap.Values) { result.AddRange(list); } return(result); } return(empty); }
private bool Equals(MethodUniqueSignature other) { return(string.Equals(fullName, other.fullName)); }
public PatternInfo(MethodUniqueSignature method, Version requiredOlderVersion) { Method = method; RequiredOlderVersion = requiredOlderVersion; }
public ProcessingEntity(MethodUniqueSignature signature, CallGraphNode node) { Signature = signature; Node = node; }