private static ITypeElement GetOriginTypeElement(IDataContext dataContext, DeclaredElementTypeUsageInfo initialTarget)
        {
            var data = dataContext.GetData(DataConstants.REFERENCES);
            if (data == null) {
                return null;
            }

            foreach (var current in data.OfType<IQualifiableReference>()) {
                if (!Equals(current.Resolve().DeclaredElement, initialTarget)) {
                    continue;
                }

                var qualifierWithTypeElement = current.GetQualifier() as IQualifierWithTypeElement;

                if (qualifierWithTypeElement == null) {
                    continue;
                }

                var qualifierTypeElement = qualifierWithTypeElement.GetQualifierTypeElement();
                if (qualifierTypeElement != null) {
                    return qualifierTypeElement;
                }
            }
            return null;
        }
Exemple #2
0
        public static ITypeElement GetOriginTypeElement(IDataContext dataContext,
                                                        DeclaredElementTypeUsageInfo initialTarget)
        {
            var data = dataContext.GetData(DataConstants.REFERENCES);

            if (data == null)
            {
                return(null);
            }

            foreach (var current in data.OfType <IQualifiableReference>())
            {
                if (!Equals(current.Resolve().DeclaredElement, initialTarget))
                {
                    continue;
                }

                var qualifierWithTypeElement = current.GetQualifier() as IQualifierWithTypeElement;

                if (qualifierWithTypeElement == null)
                {
                    continue;
                }

                var qualifierTypeElement = qualifierWithTypeElement.GetQualifierTypeElement();
                if (qualifierTypeElement != null)
                {
                    return(qualifierTypeElement);
                }
            }
            return(null);
        }
 public SearchGenericImplementationsRequest(DeclaredElementTypeUsageInfo declaredElement,
                                            ITypeElement originType,
                                            ISearchDomain searchDomain,
                                            IEnumerable<IDeclaredType> originTypeParams)
     : base(declaredElement, originType, searchDomain) {
     _originTypeParams = originTypeParams;
 }
Exemple #4
0
 public SearchGenericImplementationsRequest(DeclaredElementTypeUsageInfo declaredElement,
                                            ITypeElement originType,
                                            ISearchDomain searchDomain,
                                            IEnumerable <IDeclaredType> originTypeParams)
     : base(declaredElement, originType, searchDomain)
 {
     _originTypeParams = originTypeParams;
 }
        protected override SearchImplementationsRequest CreateSearchRequest(IDataContext dataContext, DeclaredElementTypeUsageInfo element,
                                                                            DeclaredElementTypeUsageInfo initialTarget)
        {
            var originTypeElement = GetOriginTypeElement(dataContext, initialTarget);
            var searchDomain = SearchDomainContextUtil.GetSearchDomainContext(dataContext)
                                                      .GetDefaultDomain().SearchDomain;
            var typeParams = TypeParameterUtil.GetTypeParametersFromContext(dataContext);

            return new SearchGenericImplementationsRequest(element, originTypeElement, searchDomain, typeParams);
        }
Exemple #6
0
        public static SearchImplementationsRequest CreateRequest(IDataContext dataContext,
                                                                 DeclaredElementTypeUsageInfo element,
                                                                 DeclaredElementTypeUsageInfo initialTarget)
        {
            var originTypeElement = TypeParameterUtil.GetOriginTypeElement(dataContext, initialTarget);
            var searchDomain      = SearchDomainContextUtil.GetSearchDomainContext(dataContext)
                                    .GetDefaultDomain().SearchDomain;
            var typeParams = TypeParameterUtil.GetTypeParametersFromContext(dataContext);

            return(new SearchGenericImplementationsRequest(element, originTypeElement, searchDomain, typeParams));
        }
Exemple #7
0
 protected override SearchDeclarationsRequest GetDeclarationSearchRequest(DeclaredElementTypeUsageInfo elementInfo, Func <bool> checkCancelled)
 {
     return(new AsmDefNameSearchDeclarationRequest(elementInfo, checkCancelled));
 }
Exemple #8
0
 public AsmDefNameSearchDeclarationRequest(DeclaredElementTypeUsageInfo elementInfo, Func<bool> checkCancelled)
     : base(elementInfo)
 {
 }
 protected override SearchImplementationsRequest CreateSearchRequest(IDataContext dataContext,
                                                                     DeclaredElementTypeUsageInfo element,
                                                                     DeclaredElementTypeUsageInfo initialTarget) {
     return RequestUtil.CreateRequest(dataContext, element, initialTarget);
 }
 protected override SearchImplementationsRequest CreateSearchRequest(IDataContext dataContext,
                                                                     DeclaredElementTypeUsageInfo element,
                                                                     DeclaredElementTypeUsageInfo initialTarget)
 {
     return(RequestUtil.CreateRequest(dataContext, element, initialTarget));
 }