private bool FindBaseClassMethod(MethodDefinition method, MethodObject methodNode) { // TODO currently only looks at direct base type if (ImplementationMethodsIndexedByTypeName.HasIndex(method.DeclaringType.BaseType.FullName)) { var methodsOfBaseParent = ImplementationMethodsIndexedByTypeName.Get(method.DeclaringType.BaseType.FullName); var matchingMethod = methodsOfBaseParent.FirstOrDefault(x => SignatureKeyService.GetMethodSignature(x).Equals(SignatureKeyService.GetMethodSignature(method))); if (matchingMethod != null) { methodNode.VirtualMethod = matchingMethod; methodNode.ImplementsType = ImplementsType.Overrides; return(true); } } return(false); }