<?xml version="1.0"?>
<doc>
    <assembly>
        <name>JetBrains.ReSharper.Feature.Services.ExternalSources</name>
    </assembly>
    <members>
        <member name="P:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.DecompilationCacheItem.Moniker">
            <summary>
            Null for assembly-level decompilation. i.e. assembly attributes
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.DecompilationCacheStructure.#ctor(JetBrains.Application.Environment.Components.ProductSettingsLocation,System.Boolean)">
            <summary>
            File/folder structure of cache
            </summary>
            <param name="productSettingsLocation"></param>
            <param name="shared">cache is located in shared (for all products) folder if true, 
            cache is located in product folder otherwise</param>
        </member>
        <member name="P:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.DecompilationCacheStructure.CacheDirectory">
            <summary>
            Cache root folder
            </summary>
        </member>
        <member name="P:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.ExternalSourcesActivation.Active">
            <summary>
            Turn on/off entire External Sources subsystem.
            Currenly used to delay External Sources loading in Visual Studio.
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.IDecompilationCacheBase.CanBeCachedFile(System.String,JetBrains.Util.FileSystemPath)">
            <summary>
            Checks whether file is under cache directory and on appropriate level.
            Doesn't impose any guarantees about GetCacheItem result
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.IExternalSourcesService.NavigateToSources(JetBrains.ReSharper.Feature.Services.Navigation.CompiledElementNavigationInfo,System.Collections.Generic.IReadOnlyCollection{JetBrains.ReSharper.Feature.Services.ExternalSource.IExternalSourcesProvider},JetBrains.Application.Progress.ITaskExecutor,System.Boolean)">
            <summary>
            Tries to get source(s) for <paramref name="navigationInfo"/> from <paramref name="providers"/>
            </summary>
            <returns>
            source file(s) related to specified compiled element
            (navigationInfo.ElementToSearchIn or navigationInfo.OriginalNavigationInfo.ElementToSearchIn depending on provider),
            null if user cancelled action</returns>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.IExternalSourcesService.GetOrCreateSourceFile(JetBrains.ProjectModel.IProjectFile)">
            <summary>
            Creates psiSourceFile or returns existing if there is ExternalSourcesMapping available
            </summary>
            <param name="projectFile">Project file from misc files project</param>
            <returns>PsiSourceFile or null</returns>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.IExternalSourcesService.GetGlobalUsings(JetBrains.ReSharper.Psi.IPsiSourceFile)">
            <summary>
            Gets global usings (namespace FQNs) for associated assembly, not in this source file itself
            </summary>
        </member>
        <member name="T:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.Impl.ExternalSourcesForceSourceCookie">
            <summary>
            Cookie allow to force process navigation via decompiled sources
            TODO: after release, refactor this. We need to transfer information about caller (AssemblyExplorer for example) to ExternalSources providers. Another way is abstract from settings and make a new component to manage abilities of external sources
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.Impl.InfoFileContentGenerationService.WriteDecompilerVersion(System.IO.BinaryWriter)">
            <remarks>changing decompiler version string leads to expiration of all cached decompiled items</remarks>
        </member>
        <member name="T:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.INavigationDecompilationCache">
            <summary>
            Cache for navigation providers (this cache may be shared)
            </summary>
        </member>
        <member name="T:JetBrains.ReSharper.Feature.Services.ExternalSources.Core.ISharedDecompilationCache">
            <summary>
            Cache shared for all products in wave
            (is used e.g. for pdb sources)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.AssemblyByPdbProviders.IAssemblyByPdbProvider.GetAssemblies(JetBrains.Metadata.Debug.Pdb.PdbNameAndSignature)">
            <summary>
            Assemblies associated with pdb
            </summary>
        </member>
        <member name="T:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.GeneratedPdbCacheBase">
            <summary>
            File/folder structure of cache (inside symbol cache folder):
            name.pdb/signature/name.pdb
            name - name of assembly without extension,
            signature - pdb signature (Guid in hex) and age (int in hex)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.IGeneratedPdbCache.TryGetExistingPdbFile(System.String,System.String)">
            <summary>
            Gets pdb file path if this file exists in cache,
            otherwise returns null
            </summary>
            <param name="pdbFileName">short file name with pdb extension</param>
            <param name="pdbSignature">hex representation of pdb signature and age</param>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.IGeneratedPdbCache.GetPdbFilePath(System.String,System.String)">
            <summary>
            Gets path for pdb file in cache file/folder structure without checking file existence
            </summary>
            <param name="pdbFileName">short file name with pdb extension</param>
            <param name="pdbSignature">hex representation of pdb signature and age</param>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.IGeneratedPdbCache.GetPdbFolderPath(System.String,System.String)">
            <summary>
            Gets folder for pdb file in cache file/folder structure
            </summary>
            <param name="pdbFileName">short file name with pdb extension</param>
            <param name="pdbSignature">hex representation of pdb signature and age</param>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.PdbCache.GetAssembliesReferencingSource(System.Byte[])">
            <remarks>Try to avoid using this method; O(sources count in all pdbs) complexity</remarks>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.PdbCache.GetGlobalUsings(JetBrains.Util.FileSystemPath,System.Func{System.String,System.Collections.Generic.IEnumerable{System.String}})">
            <summary>
            Global usings (namespace FQNs) for assembly
            </summary>
            <param name="assemblyPath"></param>
            <param name="getGlobalUsingsInFile">
            method that finds source file by fileName from pdb (e.g. in pdb sources cache),
            parses source file,
            finds global using directives
            </param>
            <returns></returns>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.Cache.PdbCache.GetDefines(JetBrains.Util.FileSystemPath)">
            <summary>
            Get preprocessor directives defined in Portable pdb (CustomDebugInformation table, row with CompilationOptions kind, part of Value blob with 'define' name)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbGlobalUsingsService.GetGlobalUsings(JetBrains.ReSharper.Psi.IPsiSourceFile,JetBrains.ReSharper.Feature.Services.ExternalSources.Core.IExternalSourcesService)">
            <summary>
            Gets global usings (namespace FQNs) for associated assembly, not in this source file itself
            (tries to find files (among those referenced by pdb) that may contain global using directives,
            parses them, extracts namespace FQNs from global using directives)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.GetTypeFiles(JetBrains.ProjectModel.Model2.Assemblies.Interfaces.IAssemblyFile,JetBrains.Metadata.Reader.API.IClrTypeName,System.Int32@,System.Boolean@)">
            <summary>
            Gets all existing files for specified type
            (file download from source server will not be triggered,
            files embedded into pdb can be extracted to cache folder)
            </summary>
            <remarks>
            File count retrieved from pdb (countFromPdb) can be greater than result.Count
            (if some files are missing)
            inferred - source file names for this type (typically for interface or enum) is inferred from mapping for other types
            </remarks>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.GetTypeUrls(JetBrains.ProjectModel.Model2.Assemblies.Interfaces.IAssemblyFile,JetBrains.Metadata.Reader.API.IClrTypeName,System.Boolean@,JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.PdbTypeUrlsResult@)">
            <summary>
            Gets all URLs for source files for specified type
            </summary>
            <remarks>
            inferred - source file names for this type (typically for interface or enum) is inferred from mapping for other types
            </remarks>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.GetSourceFile(JetBrains.ProjectModel.Model2.Assemblies.Interfaces.IAssemblyFile,System.String)">
            <summary>
            Gets existing file
            (file download from source server will not be triggered,
            file embedded into pdb can be extracted to cache folder)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.DownloadSourceFilesForTypeIfNeeded(JetBrains.ProjectModel.Model2.Assemblies.Interfaces.IAssemblyFile,JetBrains.Metadata.Reader.API.IClrTypeName,JetBrains.Application.Progress.IProgressIndicator)">
            <summary>
            Downloads source files for <paramref name="typeName"/> type
            </summary>
            <exception cref="T:System.OperationCanceledException">if user cancelled download</exception>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.DownloadSourceFileIfNeeded(JetBrains.ProjectModel.Model2.Assemblies.Interfaces.IAssemblyFile,System.String,JetBrains.Application.Progress.IProgressIndicator)">
            <summary>
            Downloads source file <paramref name="fileNameFromPdb"/>
            </summary>
            <exception cref="T:System.OperationCanceledException">if user cancelled download</exception>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.IPdbService.GetFilePathsWithFolderSubstitution(JetBrains.Util.FileSystemPath)">
            <summary>
            Creates paths based on the specified <paramref name="fsp"/> and different folders specified in PdbNavigationSettings.
            </summary>
            <param name="fsp">The path to combine with.</param>
            <returns>
            Pairs of FileSystemPath combined with folders specified in PdbNavigationSettings and their corresponding full path text.
            </returns>
            <remarks>
            Some paths cannot be represented with FileSystemPath. The second element of the pair allows for specifying any text.
            For example, it is used for resolving symbols in Unity-specific paths that cannot be represented with FileSystemPath.
            </remarks>
        </member>
        <member name="F:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.PdbTypeUrlsResult.NoDebugInfo">
            <summary>
            Debug info does not exist in assembly
            </summary>
        </member>
        <member name="F:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.PdbTypeUrlsResult.NoLocalPdb">
            <summary>
            Pdb file is not found (but it can be downloaded from symbol server)
            </summary>
        </member>
        <member name="F:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.PdbTypeUrlsResult.NoTypeFiles">
            <summary>
            There is no information in the pdb about source files that contain specified type
            </summary>
        </member>
        <member name="F:JetBrains.ReSharper.Feature.Services.ExternalSources.Pdb.PdbTypeUrlsResult.NoSourceServerInfo">
            <summary>
            Pdb doesn't have information about source server (SourceLink or SrcSrv)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.DeclaredElementBinder.BindDeclarations(JetBrains.ReSharper.Psi.Tree.IFile,JetBrains.ReSharper.Psi.Modules.IPsiModule,System.Boolean)">
            <summary>
            Bind declarations in <paramref name="file"/> to corresponding declared elements in psiModule.
            WARNING: all references of psiModule must be loaded beforehand because
            binding process uses xmldocids which requires all types to be resolved correctly.
            (binding process uses simplified IDs otherwise, but this is not always correct)
            </summary>
        </member>
        <member name="F:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.DecompilerBasedConstants.MinorVersion">
            <summary>
            Decompiler minor code version. Increasing this value will force cache expiration
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.NamespaceFolderExtensions.GetFolderName(System.String)">
            <summary>
            Gets relative folder name corresponding to this namespace
            (Namespace1.Namespace2. ... .NamespaceN => "Namespace1\Namespace2\...\NamespaceN\")
            ("" => "")
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.NamespaceFolderExtensions.GetFolderName(JetBrains.ReSharper.Psi.INamespace)">
            <summary>
            Gets relative folder name corresponding to this namespace
            (Namespace1.Namespace2. ... .NamespaceN => "Namespace1\Namespace2\...\NamespaceN\")
            ("" => "")
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.NamespaceFolderExtensions.GetRelativeName(System.String,System.String)">
            <example>"A\B\Cd\File.ext" "A\B\" => "Cd\File.ext"</example>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.NamespaceFolderExtensions.GetRelativeFolderName(JetBrains.ReSharper.Psi.INamespace,System.String)">
            <summary>
            Gets relative to defaultNamespace folder name corresponding to this namespace 
            (Namespace1.Namespace2. ... .NamespaceN, "Namespace1\" => "Namespace2\...\NamespaceN\")
            ("" => "")
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.ResxUtil.ConvertResourcesToResx(System.IO.Stream,System.String)">
            <summary>
            *.resources => *.resx (resxFilePath)
            </summary>
        </member>
        <member name="T:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.SimplifiedIdUtil">
            <summary>
            ~ XML Doc Id without name qualification
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.TypeElementFileNameExtensions.TryGetFileName(JetBrains.ReSharper.Psi.ITypeElement,System.Tuple{JetBrains.ReSharper.Psi.PsiLanguageType,System.String})">
            <summary>
            Gets source file name without path
            (~typeElement.ShortName + "." + extension)
            (typeElement.ShortName + "`" + X + "." + extension, 
            for generic types with X type parameters)
            </summary>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.TypeElementFileNameExtensions.ConvertToFilePath(System.String)">
            <example>Folder1.Folder2.file.aaa => Folder1\Folder2\file.aaa</example>
            <example>Folder1/Folder2\file.aaa => Folder1\Folder2\file.aaa</example>
            <example>Folder1/Folder2.file.aaa => Folder1\Folder2.file.aaa</example>
        </member>
        <member name="M:JetBrains.ReSharper.Feature.Services.ExternalSources.Utils.TypeElementFileNameExtensions.NormalizeFileName(System.String)">
            <example>Folder1.Folder2.file.aaa => Folder1\Folder2\file.aaa</example>
            <example>Folder1/Folder2\file.aaa => Folder1\Folder2\file.aaa</example>
            <example>Folder1/Folder2.file.aaa => Folder1\Folder2.file.aaa</example>
        </member>
    </members>
</doc>
