public T4OutsideSolutionSourceFile(IProjectFileExtensions projectFileExtensions,
     PsiProjectFileTypeCoordinator projectFileTypeCoordinator, IPsiModule module, FileSystemPath path,
     Func<PsiSourceFileFromPath, bool> validityCheck, Func<PsiSourceFileFromPath, IPsiSourceFileProperties> propertiesFactory,
     DocumentManager documentManager, IModuleReferenceResolveContext resolveContext)
     : base(projectFileExtensions, projectFileTypeCoordinator, module, path, validityCheck, propertiesFactory, documentManager, resolveContext)
 {
 }
示例#2
0
        public static IDeclaredType CreateTypeByCLRName(string typeName, IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext)
        {
#if R10
            return TypeFactory.CreateTypeByCLRName(typeName, psiModule);
#else
            return TypeFactory.CreateTypeByCLRName(typeName, psiModule, moduleReferenceResolveContext);
#endif
        }
示例#3
0
        public static bool TryGetTypeElement(string typeName, IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
        {
            typeElement = null;

            var typeByClrName = CreateTypeByCLRName(typeName, psiModule, moduleReferenceResolveContext);
            if (typeByClrName != null)
            {
                typeElement = typeByClrName.GetTypeElement();
            }

            return typeElement != null;
        }
示例#4
0
 public bool ReferenceModuleWithType(IPsiModule module, ITypeElement typeToReference, IModuleReferenceResolveContext resolveContext)
 {
     return(ReferenceModule(module, typeToReference.Module));
 }
示例#5
0
        private static IEnumerable <ExceptionContent> GetExceptions([NotNull] IDeclaredElement element, [NotNull] PsiLanguageType languageType,
                                                                    [NotNull] IPsiModule psiModule, [NotNull] IModuleReferenceResolveContext resolveContext)
        {
            XmlNode xmlDoc = element.GetXMLDoc(true);

            if (xmlDoc == null)
            {
                return(EmptyList <ExceptionContent> .InstanceList);
            }

            XmlNodeList exceptionNodes = xmlDoc.SelectNodes("exception");

            if (exceptionNodes == null || exceptionNodes.Count == 0)
            {
                return(EmptyList <ExceptionContent> .InstanceList);
            }

            var exceptions = new LocalList <ExceptionContent>();

            foreach (XmlNode exceptionNode in exceptionNodes)
            {
                ExceptionContent exceptionContent = TryExtractException(exceptionNode as XmlElement, languageType, psiModule, resolveContext);
                if (exceptionContent != null)
                {
                    exceptions.Add(exceptionContent);
                }
            }
            return(exceptions.ResultingList());
        }
 private VirtualFileSystemPath Resolve(
     AssemblyReferenceTarget target,
     IProject project,
     IModuleReferenceResolveContext resolveContext
     ) => ResolveManager.Resolve(target, project, resolveContext)?.AssemblyPhysicalPath;
        private IAttribute createAttributeDeclaration(ITypeElement attributeType, string fixedParamValue, string namedParamName, string namedParamValue, IPsiModule psiModule, IModuleReferenceResolveContext resolveContext, IAttribute originalAttribute)
        {
            var fixedArguments = createFixedArguments(fixedParamValue, psiModule, resolveContext);
            var namedArguments = createNamedArguments(namedParamName, namedParamValue, psiModule, resolveContext, originalAttribute);

            var elementFactory       = CSharpElementFactory.GetInstance(psiModule);
            var attributeDeclaration = elementFactory.CreateAttribute(attributeType, fixedArguments, namedArguments);

            return(attributeDeclaration);
        }
示例#8
0
 IEnumerable <IPsiModuleReference> IPsiModule.GetReferences(
     IModuleReferenceResolveContext moduleReferenceResolveContext)
 {
     return(EmptyList <IPsiModuleReference> .Instance);
 }
示例#9
0
 public static bool TryGetModelAttributeTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
 {
     return TypeHelper.TryGetTypeElement(ModelAttribute, psiModule, moduleReferenceResolveContext, out typeElement);
 }
示例#10
0
 public static bool TryGetAdvancedPropertyChangedEventArgsTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
 {
     return TypeHelper.TryGetTypeElement(AdvancedPropertyChangedEventArgs, psiModule, moduleReferenceResolveContext, out typeElement);
 }
示例#11
0
 public IEnumerable <IPsiModuleReference> GetReferences(IModuleReferenceResolveContext moduleReferenceResolveContext)
 {
     return(GetReferences());
 }
示例#12
0
 public static bool TryGetArgumentTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
 {
     return TypeHelper.TryGetTypeElement(Argument, psiModule, moduleReferenceResolveContext, out typeElement);
 }
示例#13
0
 public static bool TryGetPropertyDataTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
 {
     return TypeHelper.TryGetTypeElement(PropertyData, psiModule, moduleReferenceResolveContext, out typeElement);
 }
示例#14
0
 public bool CanReferenceModule(IPsiModule module, IPsiModule moduleToReference, IModuleReferenceResolveContext context)
 {
     return(CanReferenceModule(module, moduleToReference));
 }
		private static ExceptionContent TryExtractException([CanBeNull] XmlElement exceptionElement, [NotNull] PsiLanguageType languageType,
			[NotNull] IPsiModule psiModule, IModuleReferenceResolveContext resolveContext) {
			if (exceptionElement == null)
				return null;

			string cref = exceptionElement.GetAttribute("cref");
			if (String.IsNullOrEmpty(cref))
				return null;

			cref = XmlDocPresenterUtil.ProcessCref(cref);
			if (String.IsNullOrEmpty(cref))
				return null;

			var exceptionContent = new ExceptionContent { Exception = cref };
			if (exceptionElement.HasChildNodes) {
				RichText richText = XmlDocRichTextPresenter.Run(exceptionElement, false, languageType, psiModule, resolveContext).RichText;
				if (!richText.IsNullOrEmpty())
					exceptionContent.Description = richText;
			}
			return exceptionContent;
		}
 // This is the ReSharper 8.2 version. 'context' has a default value of null
 public RichTextBlock GetElementDescription(IDeclaredElement element, DeclaredElementDescriptionStyle style,
                                            PsiLanguageType language, IPsiModule module, IModuleReferenceResolveContext context)
 {
     return(GetElementDescription(element, style, language, module));
 }
示例#17
0
        private static ExceptionContent TryExtractException([CanBeNull] XmlElement exceptionElement, [NotNull] PsiLanguageType languageType,
                                                            [NotNull] IPsiModule psiModule, IModuleReferenceResolveContext resolveContext)
        {
            if (exceptionElement == null)
            {
                return(null);
            }

            string cref = exceptionElement.GetAttribute("cref");

            if (String.IsNullOrEmpty(cref))
            {
                return(null);
            }

            cref = XmlDocPresenterUtil.ProcessCref(cref);
            if (String.IsNullOrEmpty(cref))
            {
                return(null);
            }

            var exceptionContent = new ExceptionContent {
                Exception = cref
            };

            if (exceptionElement.HasChildNodes)
            {
                RichText richText = XmlDocRichTextPresenter.Run(exceptionElement, false, languageType, psiModule, resolveContext).RichText;
                if (!richText.IsNullOrEmpty())
                {
                    exceptionContent.Description = richText;
                }
            }
            return(exceptionContent);
        }
示例#18
0
 public static ITypeElement GetDataObjectBaseTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext)
 {
     ITypeElement result;
     TryGetDataObjectBaseTypeElement(psiModule, moduleReferenceResolveContext, out result);
     return result;
 }
        private static AttributeValue[] createFixedArguments(string fixedParamValue, IPsiModule psiModule, IModuleReferenceResolveContext resolveContext)
        {
            var fixedArguments = fixedParamValue != null
                                ? new[] { new AttributeValue(new ConstantValue(fixedParamValue, psiModule, resolveContext)) }
                                : new AttributeValue[0];

            return(fixedArguments);
        }
示例#20
0
 public IEnumerable<IPsiModuleReference> GetReferences(IModuleReferenceResolveContext moduleReferenceResolveContext)
 {
     return GetReferences();
 }
 private FileSystemPath Resolve(
     AssemblyReferenceTarget target,
     IProject project,
     IModuleReferenceResolveContext resolveContext
     ) => ResolveManager.Resolve(target, project, resolveContext);
 // This is the ReSharper 8.2 version. 'context' has a default value of null
 public RichTextBlock GetElementDescription(IDeclaredElement element, DeclaredElementDescriptionStyle style,
     PsiLanguageType language, IPsiModule module, IModuleReferenceResolveContext context)
 {
     return GetElementDescription(element, style, language, module);
 }
 public bool CanReferenceModule([NotNull] IPsiModule module, [CanBeNull] IPsiModule moduleToReference, IModuleReferenceResolveContext context)
 {
     return moduleReferencer.CanReferenceModule(module, moduleToReference);
 }
示例#24
0
 public bool CanReferenceModule(IPsiModule module, IPsiModule moduleToReference, IModuleReferenceResolveContext context)
 {
     return CanReferenceModule(module, moduleToReference);
 }
示例#25
0
 public static bool TryGetViewModelBaseTypeElement(IPsiModule psiModule, IModuleReferenceResolveContext moduleReferenceResolveContext, out ITypeElement typeElement)
 {
     return TypeHelper.TryGetTypeElement(ViewModelBase, psiModule, moduleReferenceResolveContext, out typeElement);
 }
        private Pair <string, AttributeValue>[] createNamedArguments(string namedParamName, string namedParamValue, IPsiModule psiModule, IModuleReferenceResolveContext resolveContext, IAttribute originalAttribute)
        {
            if (namedParamName == null && (originalAttribute == null || originalAttribute.PropertyAssignments.Count == 0))
            {
                return(new Pair <string, AttributeValue> [0]);
            }

            var result = originalAttribute != null
                                ? convertOriginalPropertyAssignments(namedParamName, originalAttribute)
                                : Enumerable.Empty <Pair <string, AttributeValue> >();

            if (namedParamName != null)
            {
                result = result.Concat(
                    new[]
                {
                    new Pair <string, AttributeValue>(
                        namedParamName,
                        new AttributeValue(new ConstantValue(namedParamValue, psiModule, resolveContext)))
                });
            }

            return(result.ToArray());
        }
示例#27
0
        /// <summary>
        /// Gets all modules referenced by this module.
        /// </summary>
        /// <returns>All referenced modules.</returns>
        public IEnumerable<IPsiModuleReference> GetReferences(IModuleReferenceResolveContext moduleReferenceResolveContext)
        {
            _shellLocks.AssertReadAccessAllowed();

            var references = new PsiModuleReferenceAccumulator(TargetFrameworkId);

            foreach (IAssemblyCookie cookie in _assemblyReferences.Values) {
                if (cookie.Assembly == null)
                    continue;

                IPsiModule psiModule = _psiModules.GetPrimaryPsiModule(cookie.Assembly, TargetFrameworkId);

                // Normal assembly.
                if (psiModule != null)
                    references.Add(new PsiModuleReference(psiModule));

                // Assembly that is the output of a current project: reference the project instead.
                else {
                    IProject project = _outputAssemblies.GetProjectByOutputAssembly(cookie.Assembly);
                    if (project != null) {
                        psiModule = _psiModules.GetPrimaryPsiModule(project, TargetFrameworkId);
                        if (psiModule != null)
                            references.Add(new PsiModuleReference(psiModule));
                    }
                }
            }

            return references.GetReferences();
        }
示例#28
0
 public bool CanReferenceModule([NotNull] IPsiModule module, [CanBeNull] IPsiModule moduleToReference, IModuleReferenceResolveContext context)
 {
     return(moduleReferencer.CanReferenceModule(module, moduleToReference));
 }
示例#29
0
 public bool ReferenceModuleWithType(IPsiModule module, ITypeElement typeToReference, IModuleReferenceResolveContext resolveContext)
 {
     return ReferenceModuleWithType(module, typeToReference);
 }
 private static ITypeElement getAttributeType(IPsiModule psiModule, IModuleReferenceResolveContext resolveContext, string attributeName)
 {
     return(TypeElementUtil.GetTypeElementByClrName(new ClrTypeName(attributeName), psiModule, resolveContext));
 }