コード例 #1
0
        public void MarkTypeAsUsed(ITypeDeclaration declaration)
        {
            SetConstructorsState(declaration.DeclaredElement, UsageState.USED_MASK | UsageState.CANNOT_BE_PRIVATE |
                                 UsageState.CANNOT_BE_INTERNAL | UsageState.CANNOT_BE_PROTECTED);

            collectUsagesStageProcess.SetElementState(declaration.DeclaredElement, UsageState.ACCESSED);
        }
コード例 #2
0
 private void SetConstructorsState(ITypeElement typeElement, UsageState state)
 {
     foreach (IConstructor constructor in typeElement.Constructors)
     {
         collectUsagesStageProcess.SetElementState(constructor, state);
     }
 }
コード例 #3
0
        private void SetClassAndMembersUsed(IClassDeclaration classDeclaration)
        {
            ITypeElement typeElement = classDeclaration.DeclaredElement;

            if (typeElement == null || (typeElement is IClass == false))
            {
                return;
            }

            foreach (ITypeMember typeMember in typeElement.GetMembers())
            {
                var method = typeMember as IMethod;
                if (method != null)
                {
                    usages.SetElementState(method, UsageState.ALL_MASK);
                }
            }

            usages.SetElementState(typeElement, UsageState.ALL_MASK);
        }
コード例 #4
0
        private void MarkModulesAsUsed([CanBeNull] CollectUsagesStageProcess usagesStageProcess)
        {
            if (usagesStageProcess != null)
            {
                IEnumerable <IClass> nancyModules = NancyUtil.GetAvailableModules(DaemonProcess.PsiModule,
                                                                                  searchDomainFactory.CreateSearchDomain(DaemonProcess.SourceFile),
                                                                                  DaemonProcess.SourceFile.ResolveContext, true, null).SelectMany(_ => _.Value);

                foreach (IClass @class in nancyModules)
                {
                    InterruptableActivityCookie.CheckAndThrow();
                    collectUsagesStageProcess.SetElementState(@class, UsageState.ACCESSED | UsageState.TYPEOF);
                }
            }
        }