Exemplo n.º 1
0
        private IImmutableSet <Subroutine> GetInheritedEnsures(Method method)
        {
            IImmutableSet <Subroutine> result = ImmutableSet <Subroutine> .Empty();

            if (MetaDataProvider.IsVirtual(method) && ContractProvider.CanInheritContracts(method))
            {
                foreach (Method implementedMethod in MetaDataProvider.OverridenAndImplementedMethods(method))
                {
                    Subroutine subroutine = Get(MetaDataProvider.Unspecialized(implementedMethod));
                    if (subroutine != null)
                    {
                        result = result.Add(subroutine);
                    }
                }
            }
            return(result);
        }