Exemplo n.º 1
0
        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);
        }