2 instantiations of Checksum
Microsoft.CodeAnalysis.Workspaces (2)
Workspace\Solution\Checksum.cs (1)
100=> new(reader.ReadInt64(), reader.ReadInt64());
Workspace\Solution\SourceGeneratorExecutionVersion.cs (1)
50public Checksum Checksum => new(MajorVersion, MinorVersion);
459 references to Checksum
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (4)
FindSymbols\SymbolTreeInfoTests.cs (4)
48var checksum1 = SymbolTreeInfo.GetMetadataChecksum(solution.Services, reference1, CancellationToken.None); 52var checksum2 = SymbolTreeInfo.GetMetadataChecksum(solution.Services, reference2, CancellationToken.None); 71var checksum1 = SymbolTreeInfo.GetMetadataChecksum(solution.Services, reference1, CancellationToken.None); 96var checksum2 = SymbolTreeInfo.GetMetadataChecksum(solution.Services, reference2, CancellationToken.None);
Microsoft.CodeAnalysis.LanguageServer.Protocol (1)
Handler\Diagnostics\DiagnosticsPullCache.cs (1)
26/// cref="Project.GetDependentVersionAsync(CancellationToken)"/> while the <see cref="Checksum"/> is produced by
Microsoft.CodeAnalysis.Remote.Workspaces (1)
RemoteHostAssetReader.cs (1)
87var checksum = Checksum.ReadFrom(objectReader);
Microsoft.CodeAnalysis.Workspaces (420)
Classification\IRemoteSemanticClassificationService.cs (2)
31Checksum solutionChecksum, 54Checksum checksum,
Classification\SemanticClassificationCacheUtilities.cs (2)
13public static async Task<(DocumentKey documentKey, Checksum checksum)> GetDocumentKeyAndChecksumAsync( 23var projectKey = new ProjectKey(SolutionKey.ToSolutionKey(project.Solution), project.Id, project.FilePath, project.Name, Checksum.Null);
Diagnostics\Extensions.cs (7)
27private static readonly ConditionalWeakTable<Project, AsyncLazy<Checksum>> s_projectToDiagnosticChecksum = new(); 465public static Task<Checksum> GetDiagnosticChecksumAsync(this Project? project, CancellationToken cancellationToken) 468return SpecializedTasks.Default<Checksum>(); 478static async Task<Checksum> ComputeDiagnosticChecksumAsync(Project project, CancellationToken cancellationToken) 482using var _ = ArrayBuilder<Checksum>.GetInstance(out var tempChecksumArray); 492var projectChecksum = await project.State.GetChecksumAsync(cancellationToken).ConfigureAwait(false); 506return Checksum.Create(tempChecksumArray);
Diagnostics\IRemoteDiagnosticAnalyzerService.cs (2)
15ValueTask<SerializableDiagnosticAnalysisResults> CalculateDiagnosticsAsync(Checksum solutionChecksum, DiagnosticArguments arguments, CancellationToken cancellationToken); 16ValueTask<ImmutableArray<DiagnosticData>> GetSourceGeneratorDiagnosticsAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken);
ExternalAccess\UnitTesting\Api\UnitTestingChecksumWrapper.cs (2)
7internal readonly struct UnitTestingChecksumWrapper(Checksum underlyingObject) 9private Checksum UnderlyingObject { get; } = underlyingObject;
FindSymbols\FindReferences\DependentTypeFinder_ProjectIndex.cs (3)
31/// As such, we store the <see cref="Checksum"/> of the project as well, ensuring that if anything in it or its 34private static readonly ConditionalWeakTable<ProjectState, StrongBox<(Checksum checksum, AsyncLazy<ProjectIndex> lazyProjectIndex)>> s_projectToIndex = new(); 47var checksum = await project.GetDiagnosticChecksumAsync(cancellationToken).ConfigureAwait(false);
FindSymbols\FindReferences\IRemoteDependentTypeFinderService.cs (1)
15Checksum solutionChecksum,
FindSymbols\IRemoteSymbolFinderService.cs (7)
30ValueTask FindReferencesAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, SerializableSymbolAndProjectId symbolAndProjectIdArg, ImmutableArray<DocumentId> documentArgs, 33ValueTask FindLiteralReferencesAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, object value, TypeCode typeCode, CancellationToken cancellationToken); 36Checksum solutionChecksum, ProjectId projectId, string name, SearchKind searchKind, SymbolFilter criteria, CancellationToken cancellationToken); 39Checksum solutionChecksum, string name, bool ignoreCase, SymbolFilter criteria, CancellationToken cancellationToken); 42Checksum solutionChecksum, ProjectId projectId, string name, bool ignoreCase, SymbolFilter criteria, CancellationToken cancellationToken); 45Checksum solutionChecksum, string pattern, SymbolFilter criteria, CancellationToken cancellationToken); 48Checksum solutionChecksum, ProjectId projectId, string pattern, SymbolFilter criteria, CancellationToken cancellationToken);
FindSymbols\Shared\AbstractSyntaxIndex.cs (6)
18protected delegate TIndex? IndexReader(StringTable stringTable, ObjectReader reader, Checksum? checksum); 19protected delegate TIndex IndexCreator(ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken); 24protected AbstractSyntaxIndex(Checksum? checksum) 117Checksum textChecksum, 118Checksum textAndDirectivesChecksum, 140var checksum = root.ContainsDirectives && ContainsIfDirective(root, ifDirectiveKind) ? textAndDirectivesChecksum : textChecksum;
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (15)
26private static readonly Checksum s_serializationFormatChecksum = CodeAnalysis.Checksum.Create("47"); 33private static readonly ConditionalWeakTable<ParseOptions, StrongBox<Checksum>> s_ppDirectivesToChecksum = new(); 35public readonly Checksum? Checksum; 41Checksum textChecksum, 42Checksum textAndDirectivesChecksum, 65Checksum? checksum, 92public static async ValueTask<(Checksum textOnlyChecksum, Checksum textAndDirectivesChecksum)> GetChecksumsAsync( 125new StrongBox<Checksum>(CodeAnalysis.Checksum.Create(parseOptions.PreprocessorSymbolNames))); 127var textChecksum = CodeAnalysis.Checksum.Create(documentChecksumState.Text, s_serializationFormatChecksum); 128var textAndDirectivesChecksum = CodeAnalysis.Checksum.Create(textChecksum, directivesChecksum.Value);
FindSymbols\SymbolTree\SymbolTreeInfo.cs (6)
33public Checksum Checksum { get; } 74Checksum checksum, 86Checksum checksum, 99public static SymbolTreeInfo CreateEmpty(Checksum checksum) 109public SymbolTreeInfo WithChecksum(Checksum checksum) 458Checksum checksum,
FindSymbols\SymbolTree\SymbolTreeInfo_Metadata.cs (8)
105Checksum? checksum, 128Checksum? checksum, 147Checksum checksum, 172Checksum checksum, 210public static Checksum GetMetadataChecksum( 219var checksum = serializer.CreateChecksum(reference, cancellationToken); 224return Checksum.Create(checksum, SerializationFormatChecksum); 251Checksum checksum, Metadata? metadata) : IDisposable
FindSymbols\SymbolTree\SymbolTreeInfo_Serialization.cs (7)
22private static readonly Checksum SerializationFormatChecksum = Checksum.Create("25"); 31Checksum checksum, 32Func<Checksum, ValueTask<SymbolTreeInfo>> createAsync, 84Checksum checksum, 192ObjectReader? reader, Checksum checksum) 274public static SymbolTreeInfo? ReadSymbolTreeInfo(ObjectReader reader, Checksum checksum)
FindSymbols\SymbolTree\SymbolTreeInfo_Source.cs (9)
34Project project, Checksum checksum, CancellationToken cancellationToken) 68private static readonly ConditionalWeakTable<ProjectState, AsyncLazy<Checksum>> s_projectToSourceChecksum = new(); 70public static Task<Checksum> GetSourceSymbolsChecksumAsync(Project project, CancellationToken cancellationToken) 81private static async Task<Checksum> ComputeSourceSymbolsChecksumAsync(ProjectState projectState, CancellationToken cancellationToken) 100var compilationOptionsChecksum = projectStateChecksums.CompilationOptions; 101var parseOptionsChecksum = projectStateChecksums.ParseOptions; 104using var _ = ArrayBuilder<Checksum>.GetInstance(out var allChecksums); 115return Checksum.Create(allChecksums); 119Project project, Checksum checksum, CancellationToken cancellationToken)
FindSymbols\SymbolTree\SymbolTreeInfoCacheService.cs (2)
173var checksum = await SymbolTreeInfo.GetSourceSymbolsChecksumAsync(project, cancellationToken).ConfigureAwait(false); 195var checksum = SymbolTreeInfo.GetMetadataChecksum(project.Solution.Services, reference, cancellationToken);
FindSymbols\SyntaxTree\SyntaxTreeIndex.cs (1)
23Checksum? checksum,
FindSymbols\SyntaxTree\SyntaxTreeIndex_Create.cs (1)
40ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken _)
FindSymbols\SyntaxTree\SyntaxTreeIndex_Persistence.cs (2)
20IChecksummedPersistentStorageService storageService, DocumentKey documentKey, Checksum? checksum, StringTable stringTable, CancellationToken cancellationToken) 57StringTable stringTable, ObjectReader reader, Checksum? checksum)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex.cs (1)
22Checksum? checksum,
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Create.cs (1)
16ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Persistence.cs (2)
16IChecksummedPersistentStorageService storageService, DocumentKey documentKey, Checksum? checksum, StringTable stringTable, CancellationToken cancellationToken) 28StringTable stringTable, ObjectReader reader, Checksum? checksum)
Remote\IRemoteKeepAliveService.cs (1)
21ValueTask KeepAliveAsync(Checksum solutionChecksum, CancellationToken cancellationToken);
Remote\ISerializerService.cs (2)
16Checksum CreateChecksum(object value, CancellationToken cancellationToken); 17Checksum CreateParseOptionsChecksum(ParseOptions value);
Remote\RemoteHostClient.cs (16)
104Func<TService, Checksum, CancellationToken, ValueTask> invocation, 113Func<TService, Checksum, CancellationToken, ValueTask> invocation, 123Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 134/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, CancellationToken, ValueTask}, CancellationToken)"/> 141Func<TService, Checksum, CancellationToken, ValueTask> invocation, 152Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 161/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, CancellationToken, ValueTask}, CancellationToken)"/> 168Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 180Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 191Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 203/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask}, object, CancellationToken)"/> 210Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 220/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask}, object, CancellationToken)"/> 227Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 241Func<TService, Checksum, Checksum, CancellationToken, ValueTask> invocation,
Remote\RemoteServiceConnection.cs (20)
44Func<TService, Checksum, CancellationToken, ValueTask> invocation, 49Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 54Func<TService, Checksum, CancellationToken, ValueTask> invocation, 60Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 69Func<TService, Checksum, CancellationToken, ValueTask> invocation, 75Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 80Func<TService, Checksum, CancellationToken, ValueTask> invocation, 86Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 94Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 99Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 104Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 110Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 119Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 125Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 130Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 136Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 145Func<TService, Checksum, Checksum, CancellationToken, ValueTask> invocation, 151Func<TService, Checksum, Checksum, CancellationToken, ValueTask> invocation,
Rename\IRemoteRenamerService.cs (3)
26Checksum solutionChecksum, 34Checksum solutionChecksum, 40Checksum solutionChecksum,
Serialization\SerializableSourceText.cs (6)
56public readonly Checksum ContentChecksum; 59: this(storageHandle, text: null, Checksum.Create(storageHandle.ContentHash)) 64: this(storageHandle: null, text, Checksum.Create(contentHash)) 68public SerializableSourceText(SourceText text, Checksum contentChecksum) 73private SerializableSourceText(TemporaryStorageTextHandle? storageHandle, SourceText? text, Checksum contentChecksum) 83Debug.Assert(contentChecksum == Checksum.Create(computedContentHash));
Serialization\SerializerService.cs (4)
50public Checksum CreateChecksum(object value, CancellationToken cancellationToken) 65return Checksum.Create(value, this, cancellationToken); 266public Checksum CreateParseOptionsChecksum(ParseOptions value) 267=> Checksum.Create((value, @this: this), static (tuple, writer) => tuple.@this.SerializeParseOptions(tuple.value, writer));
Serialization\SerializerService_Reference.cs (5)
47private static Checksum CreateChecksum(MetadataReference reference) 55protected virtual Checksum CreateChecksum(AnalyzerReference reference) 94return Checksum.Create(stream); 198private static Checksum CreatePortableExecutableReferenceChecksum(PortableExecutableReference reference) 209return Checksum.Create(stream);
SourceGeneration\IRemoteSourceGenerationService.cs (8)
27/// information about the document, as well as its text <see cref="Checksum"/>. The local workspace can then 35Checksum solutionChecksum, ProjectId projectId, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 46Checksum solutionChecksum, ProjectId projectId, ImmutableArray<DocumentId> documentIds, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 52Checksum solutionChecksum, ProjectId projectId, ImmutableArray<Checksum> analyzerReferenceChecksums, string language, CancellationToken cancellationToken); 59Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken); 66Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken); 81[property: DataMember(Order = 0)] Checksum OriginalSourceTextContentHash,
Storage\SQLite\v2\Interop\SqlConnection.cs (6)
302public Optional<Checksum> ReadChecksum_MustRunInTransaction(Database database, Table table, long rowId) 310if (length != Checksum.HashSize) 311return new Optional<Checksum>(); 313Span<byte> bytes = stackalloc byte[Checksum.HashSize]; 316Contract.ThrowIfFalse(MemoryMarshal.TryRead(bytes, out Checksum result)); 317return new Optional<Checksum>(result);
Storage\SQLite\v2\SQLitePersistentStorage.Accessor.cs (11)
120public Task<bool> ChecksumMatchesAsync(TKey key, string name, Checksum checksum, CancellationToken cancellationToken) 125private bool ChecksumMatches(TKey key, string name, Checksum checksum, CancellationToken cancellationToken) 137public Task<Stream?> ReadStreamAsync(TKey key, string name, Checksum? checksum, CancellationToken cancellationToken) 143private Stream? ReadStream(TKey key, string name, Checksum? checksum, CancellationToken cancellationToken) 217public Task<bool> WriteStreamAsync(TKey key, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 222private bool WriteStream(TKey key, string dataName, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 239checksum ??= Checksum.Null; 240Span<byte> checksumBytes = stackalloc byte[Checksum.HashSize]; 263SqlConnection connection, Database database, long rowId, Checksum? checksum) 295private Optional<Checksum> ReadChecksum( 312private bool ChecksumsMatch_MustRunInTransaction(SqlConnection connection, Database database, long rowId, Checksum checksum)
Storage\SQLite\v2\SQLitePersistentStorage_DocumentSerialization.cs (3)
17protected override Task<bool> ChecksumMatchesAsync(DocumentKey documentKey, Document? document, string name, Checksum checksum, CancellationToken cancellationToken) 20protected override Task<Stream?> ReadStreamAsync(DocumentKey documentKey, Document? document, string name, Checksum? checksum, CancellationToken cancellationToken) 23protected override Task<bool> WriteStreamAsync(DocumentKey documentKey, Document? document, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken)
Storage\SQLite\v2\SQLitePersistentStorage_ProjectSerialization.cs (3)
17protected override Task<bool> ChecksumMatchesAsync(ProjectKey projectKey, Project? project, string name, Checksum checksum, CancellationToken cancellationToken) 20protected override Task<Stream?> ReadStreamAsync(ProjectKey projectKey, Project? project, string name, Checksum? checksum, CancellationToken cancellationToken) 23protected override Task<bool> WriteStreamAsync(ProjectKey projectKey, Project? project, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken)
Storage\SQLite\v2\SQLitePersistentStorage_SolutionSerialization.cs (3)
17public override Task<bool> ChecksumMatchesAsync(string name, Checksum checksum, CancellationToken cancellationToken) 20public override Task<Stream?> ReadStreamAsync(string name, Checksum? checksum, CancellationToken cancellationToken) 23public override Task<bool> WriteStreamAsync(string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken)
TaskList\IRemoteTaskListService.cs (1)
17ValueTask<ImmutableArray<TaskListItem>> GetTaskListItemsAsync(Checksum solutionChecksum, DocumentId documentId, ImmutableArray<TaskListItemDescriptor> descriptors, CancellationToken cancellationToken);
Workspace\Host\PersistentStorage\AbstractPersistentStorage.cs (21)
46public abstract Task<bool> ChecksumMatchesAsync(string name, Checksum checksum, CancellationToken cancellationToken); 47public abstract Task<Stream?> ReadStreamAsync(string name, Checksum? checksum, CancellationToken cancellationToken); 48public abstract Task<bool> WriteStreamAsync(string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken); 50protected abstract Task<bool> ChecksumMatchesAsync(ProjectKey projectKey, Project? project, string name, Checksum checksum, CancellationToken cancellationToken); 51protected abstract Task<bool> ChecksumMatchesAsync(DocumentKey documentKey, Document? document, string name, Checksum checksum, CancellationToken cancellationToken); 52protected abstract Task<Stream?> ReadStreamAsync(ProjectKey projectKey, Project? project, string name, Checksum? checksum, CancellationToken cancellationToken); 53protected abstract Task<Stream?> ReadStreamAsync(DocumentKey documentKey, Document? document, string name, Checksum? checksum, CancellationToken cancellationToken); 54protected abstract Task<bool> WriteStreamAsync(ProjectKey projectKey, Project? project, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken); 55protected abstract Task<bool> WriteStreamAsync(DocumentKey documentKey, Document? document, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken); 57public Task<bool> ChecksumMatchesAsync(ProjectKey projectKey, string name, Checksum checksum, CancellationToken cancellationToken) 60public Task<bool> ChecksumMatchesAsync(DocumentKey documentKey, string name, Checksum checksum, CancellationToken cancellationToken) 63public Task<Stream?> ReadStreamAsync(ProjectKey projectKey, string name, Checksum? checksum, CancellationToken cancellationToken) 66public Task<Stream?> ReadStreamAsync(DocumentKey documentKey, string name, Checksum? checksum, CancellationToken cancellationToken) 69public Task<bool> WriteStreamAsync(ProjectKey projectKey, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 72public Task<bool> WriteStreamAsync(DocumentKey documentKey, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 75public Task<bool> ChecksumMatchesAsync(Project project, string name, Checksum checksum, CancellationToken cancellationToken) 78public Task<bool> ChecksumMatchesAsync(Document document, string name, Checksum checksum, CancellationToken cancellationToken) 81public Task<Stream?> ReadStreamAsync(Project project, string name, Checksum? checksum, CancellationToken cancellationToken) 84public Task<Stream?> ReadStreamAsync(Document document, string name, Checksum? checksum, CancellationToken cancellationToken) 96public Task<bool> WriteStreamAsync(Project project, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 99public Task<bool> WriteStreamAsync(Document document, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken)
Workspace\Host\PersistentStorage\IChecksummedPersistentStorage.cs (15)
23Task<bool> ChecksumMatchesAsync(string name, Checksum checksum, CancellationToken cancellationToken = default); 29Task<bool> ChecksumMatchesAsync(Project project, string name, Checksum checksum, CancellationToken cancellationToken = default); 35Task<bool> ChecksumMatchesAsync(Document document, string name, Checksum checksum, CancellationToken cancellationToken = default); 37Task<bool> ChecksumMatchesAsync(ProjectKey project, string name, Checksum checksum, CancellationToken cancellationToken = default); 38Task<bool> ChecksumMatchesAsync(DocumentKey document, string name, Checksum checksum, CancellationToken cancellationToken = default); 45Task<Stream?> ReadStreamAsync(string name, Checksum? checksum = null, CancellationToken cancellationToken = default); 52Task<Stream?> ReadStreamAsync(Project project, string name, Checksum? checksum = null, CancellationToken cancellationToken = default); 59Task<Stream?> ReadStreamAsync(Document document, string name, Checksum? checksum = null, CancellationToken cancellationToken = default); 61Task<Stream?> ReadStreamAsync(ProjectKey project, string name, Checksum? checksum = null, CancellationToken cancellationToken = default); 62Task<Stream?> ReadStreamAsync(DocumentKey document, string name, Checksum? checksum = null, CancellationToken cancellationToken = default); 73Task<bool> WriteStreamAsync(string name, Stream stream, Checksum? checksum = null, CancellationToken cancellationToken = default); 84Task<bool> WriteStreamAsync(Project project, string name, Stream stream, Checksum? checksum = null, CancellationToken cancellationToken = default); 95Task<bool> WriteStreamAsync(Document document, string name, Stream stream, Checksum? checksum = null, CancellationToken cancellationToken = default); 101Task<bool> WriteStreamAsync(ProjectKey projectKey, string name, Stream stream, Checksum? checksum = null, CancellationToken cancellationToken = default); 107Task<bool> WriteStreamAsync(DocumentKey documentKey, string name, Stream stream, Checksum? checksum = null, CancellationToken cancellationToken = default);
Workspace\Host\PersistentStorage\IPersistentStorageConfiguration.cs (2)
88var suffix = Checksum.Create(fullPath);
Workspace\Host\PersistentStorage\NoOpPersistentStorage.cs (15)
23public Task<bool> ChecksumMatchesAsync(string name, Checksum checksum, CancellationToken cancellationToken) 26public Task<bool> ChecksumMatchesAsync(Project project, string name, Checksum checksum, CancellationToken cancellationToken) 29public Task<bool> ChecksumMatchesAsync(Document document, string name, Checksum checksum, CancellationToken cancellationToken) 32public Task<bool> ChecksumMatchesAsync(ProjectKey project, string name, Checksum checksum, CancellationToken cancellationToken) 35public Task<bool> ChecksumMatchesAsync(DocumentKey document, string name, Checksum checksum, CancellationToken cancellationToken) 47public Task<Stream?> ReadStreamAsync(string name, Checksum? checksum, CancellationToken cancellationToken) 50public Task<Stream?> ReadStreamAsync(Project project, string name, Checksum? checksum, CancellationToken cancellationToken) 53public Task<Stream?> ReadStreamAsync(Document document, string name, Checksum? checksum, CancellationToken cancellationToken) 56public Task<Stream?> ReadStreamAsync(ProjectKey project, string name, Checksum? checksum, CancellationToken cancellationToken) 59public Task<Stream?> ReadStreamAsync(DocumentKey document, string name, Checksum? checksum, CancellationToken cancellationToken) 71public Task<bool> WriteStreamAsync(string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 74public Task<bool> WriteStreamAsync(Project project, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 77public Task<bool> WriteStreamAsync(Document document, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 80public Task<bool> WriteStreamAsync(ProjectKey projectKey, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 83public Task<bool> WriteStreamAsync(DocumentKey documentKey, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken)
Workspace\Host\PersistentStorage\ProjectKey.cs (2)
17internal readonly struct ProjectKey(SolutionKey solution, ProjectId id, string? filePath, string name, Checksum parseOptionsChecksum) 32public readonly Checksum ParseOptionsChecksum = parseOptionsChecksum;
Workspace\ProjectSystem\ProjectSystemProjectOptionsProcessor.cs (3)
25private Checksum? _commandLineChecksum; 60var checksum = Checksum.Create(arguments);
Workspace\Solution\Checksum.cs (16)
24[field: FieldOffset(8)][property: DataMember(Order = 1)] long Data2) : IComparable<Checksum> 27/// The intended size of the <see cref="Checksum"/> structure. 36public static readonly Checksum Null = default; 42public static Checksum From(byte[] checksum) 49public static Checksum From(ImmutableArray<byte> checksum) 52public static Checksum From(ReadOnlySpan<byte> checksum) 57Contract.ThrowIfFalse(MemoryMarshal.TryRead(checksum, out Checksum result)); 74public static Checksum FromBase64String(string value) 99public static Checksum ReadFrom(ObjectReader reader) 102public static Func<Checksum, string> GetChecksumLogInfo { get; } 105public static Func<IEnumerable<Checksum>, string> GetChecksumsLogInfo { get; } 110public bool Equals(Checksum other) 120public int CompareTo(Checksum other) 129public static void AddIfNotNullChecksum(this HashSet<Checksum> checksums, Checksum checksum) 131if (checksum != Checksum.Null)
Workspace\Solution\Checksum_Factory.cs (31)
31public static Checksum Create(IEnumerable<string?> values) 46public static Checksum Create(ImmutableArray<string> values) 61public static Checksum Create(string? value) 68public static Checksum Create(Stream stream) 78public static Checksum Create<T>(T @object, Action<T, ObjectWriter> writeObject) 89var newChecksum = Create(stream); 101public static Checksum Create(Checksum checksum1, Checksum checksum2) 104public static Checksum Create(Checksum checksum1, Checksum checksum2, Checksum checksum3) 107public static Checksum Create(Checksum checksum1, Checksum checksum2, Checksum checksum3, Checksum checksum4) 110public static Checksum Create(ReadOnlySpan<Checksum> hashes) 117public static Checksum Create(ArrayBuilder<Checksum> checksums) 120const int maxStackAllocCount = 1024 / Checksum.HashSize; 125Span<Checksum> hashes = stackalloc Checksum[checksumsCount]; 134Span<Checksum> checksumsSpan = stackalloc Checksum[maxStackAllocCount]; 154public static Checksum Create(ImmutableArray<Checksum> checksums) 161public static Checksum Create(ImmutableArray<byte> bytes) 170public static Checksum Create<T>(T value, ISerializerService serializer, CancellationToken cancellationToken)
Workspace\Solution\ChecksumCollection.cs (20)
17/// A wrapper around an array of <see cref="Microsoft.CodeAnalysis.Checksum"/>s, which also combines the value into a 20internal readonly struct ChecksumCollection(ImmutableArray<Checksum> children) : IReadOnlyCollection<Checksum> 25public Checksum Checksum { get; } = Checksum.Create(children); 28public Checksum this[int index] => children[index]; 29public ImmutableArray<Checksum> Children => children; 37public ImmutableArray<Checksum>.Enumerator GetEnumerator() 40IEnumerator<Checksum> IEnumerable<Checksum>.GetEnumerator() 42foreach (var checksum in this) 47=> ((IEnumerable<Checksum>)this).GetEnumerator(); 49public void AddAllTo(HashSet<Checksum> checksums) 51foreach (var checksum in this) 59HashSet<Checksum> searchingChecksumsLeft, 60Action<Checksum, object, TArg> onAssetFound, 92HashSet<Checksum> searchingChecksumsLeft, 93Action<Checksum, object, TArg> onAssetFound, 105var checksum = checksums.Children[i]; 115=> new(reader.ReadArray(Checksum.ReadFrom));
Workspace\Solution\ChecksumsAndIds.cs (7)
30public Checksum Checksum => Checksums.Checksum; 56public readonly (Checksum checksum, ProjectId id) Current 68public readonly Checksum Checksum; 82Checksum = Checksum.Create(attributeChecksums.Checksum, textChecksums.Checksum); 102public void AddAllTo(HashSet<Checksum> checksums) 119public readonly (Checksum attributeChecksum, Checksum textChecksum, DocumentId id) Current
Workspace\Solution\DocumentInfo.cs (3)
157private SingleInitNullable<Checksum> _lazyChecksum; 258public Checksum Checksum 259=> _lazyChecksum.Initialize(static @this => Checksum.Create(@this, static (@this, writer) => @this.WriteTo(writer)), this);
Workspace\Solution\ProjectId.cs (3)
30private SingleInitNullable<Checksum> _lazyChecksum; 107internal Checksum Checksum 108=> _lazyChecksum.Initialize(static @this => Checksum.Create(@this,
Workspace\Solution\ProjectInfo.cs (3)
518private SingleInitNullable<Checksum> _lazyChecksum; 669public Checksum Checksum 670=> _lazyChecksum.Initialize(static @this => Checksum.Create(@this, static (@this, writer) => @this.WriteTo(writer)), this);
Workspace\Solution\ProjectState_Checksum.cs (8)
24public Task<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 33public Checksum GetParseOptionsChecksum() 36private Checksum GetParseOptionsChecksum(ISerializerService serializer) 39: Checksum.Null; 53var infoChecksum = this.ProjectInfo.Attributes.Checksum; 56var compilationOptionsChecksum = SupportsCompilation 58: Checksum.Null; 60var parseOptionsChecksum = GetParseOptionsChecksum(serializer);
Workspace\Solution\SolutionCompilationState_Checksum.cs (4)
63public async Task<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 97public async Task<Checksum> GetChecksumAsync(ProjectId projectId, CancellationToken cancellationToken) 111Checksum solutionStateChecksum; 135var versionMapChecksum = this.GetFilteredSourceGenerationExecutionMap(projectCone).GetChecksum();
Workspace\Solution\SolutionInfo.cs (3)
120private SingleInitNullable<Checksum> _lazyChecksum; 183public Checksum Checksum 184=> _lazyChecksum.Initialize(static @this => Checksum.Create(@this, static (@this, writer) => @this.WriteTo(writer)), this);
Workspace\Solution\SolutionState_Checksum.cs (3)
56public async Task<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 86public async Task<Checksum> GetChecksumAsync(ProjectId projectId, CancellationToken cancellationToken) 129var fallbackAnalyzerOptionsChecksum = ChecksumCache.GetOrCreate(
Workspace\Solution\SourceGeneratedDocumentState.cs (11)
17private readonly Lazy<Checksum> _lazyContentHash; 37public Checksum GetOriginalSourceTextContentHash() 47Checksum? originalSourceTextChecksum, 59Checksum? originalSourceTextChecksum, 77var lazyTextChecksum = new Lazy<Checksum>(() => originalSourceTextChecksum ?? ComputeContentHash(generatedSourceText)); 87Lazy<Checksum> lazyTextChecksum, 142Lazy<Checksum> lazyContentHash, 153private static Checksum ComputeContentHash(SourceText text) 154=> Checksum.From(text.GetContentHash()); 174var newSourceTextChecksum = ComputeContentHash(sourceText); 241var lazyTextChecksum = new Lazy<Checksum>(() => ComputeContentHash(sourceText));
Workspace\Solution\SourceGeneratorExecutionVersion.cs (5)
50public Checksum Checksum => new(MajorVersion, MinorVersion); 108public Checksum GetChecksum() 110using var _ = ArrayBuilder<Checksum>.GetInstance(this.Map.Count * 2, out var checksums); 115checksums.Add(Checksum.Create(version, static (v, w) => v.WriteTo(w))); 118return Checksum.Create(checksums);
Workspace\Solution\StateChecksums.cs (61)
22Checksum solutionState, 23Checksum sourceGeneratorExecutionVersionMap, 38Checksum = Checksum.Create( 45public Checksum Checksum { get; } 46public Checksum SolutionState { get; } 47public Checksum SourceGeneratorExecutionVersionMap { get; } 58public void AddAllTo(HashSet<Checksum> checksums) 82var checksum = Checksum.ReadFrom(reader); 83var solutionState = Checksum.ReadFrom(reader); 84var sourceGeneratorExecutionVersionMap = Checksum.ReadFrom(reader); 104HashSet<Checksum> searchingChecksumsLeft, 105Action<Checksum, object, TArg> onAssetFound, 144var identityChecksum = FrozenSourceGeneratedDocumentIdentities.Children[index]; 157var identityChecksum = FrozenSourceGeneratedDocumentIdentities[0]; 190Checksum attributes, 193Checksum fallbackAnalyzerOptionsChecksum) 197public Checksum Checksum { get; } = Checksum.Create(stackalloc[] 199projectConeId == null ? Checksum.Null : projectConeId.Checksum, 207public Checksum Attributes { get; } = attributes; 210public Checksum FallbackAnalyzerOptions => fallbackAnalyzerOptionsChecksum; 220public void AddAllTo(HashSet<Checksum> checksums) 244var checksum = Checksum.ReadFrom(reader); 248attributes: Checksum.ReadFrom(reader), 251fallbackAnalyzerOptionsChecksum: Checksum.ReadFrom(reader)); 260HashSet<Checksum> searchingChecksumsLeft, 261Action<Checksum, object, TArg> onAssetFound, 332Checksum infoChecksum, 333Checksum compilationOptionsChecksum, 334Checksum parseOptionsChecksum, 342public Checksum Checksum { get; } = Checksum.Create(stackalloc[] 357public Checksum Info => infoChecksum; 358public Checksum CompilationOptions => compilationOptionsChecksum; 359public Checksum ParseOptions => parseOptionsChecksum; 378public void AddAllTo(HashSet<Checksum> checksums) 411var checksum = Checksum.ReadFrom(reader); 414infoChecksum: Checksum.ReadFrom(reader), 415compilationOptionsChecksum: Checksum.ReadFrom(reader), 416parseOptionsChecksum: Checksum.ReadFrom(reader), 430HashSet<Checksum> searchingChecksumsLeft, 431Action<Checksum, object, TArg> onAssetFound, 498Checksum infoChecksum, 499Checksum textChecksum) 501public Checksum Checksum { get; } = Checksum.Create(infoChecksum, textChecksum); 504public Checksum Info => infoChecksum; 505public Checksum Text => textChecksum; 507public void AddAllTo(HashSet<Checksum> checksums) 516HashSet<Checksum> searchingChecksumsLeft, 517Action<Checksum, object, TArg> onAssetFound, 544public static Checksum GetOrCreate<TValue, TArg>(TValue value, Func<TValue, TArg, Checksum> checksumCreator, TArg arg) 547return StronglyTypedChecksumCache<TValue, Checksum>.GetOrCreate(value, checksumCreator, arg); 568var checksums = new FixedSizeArrayBuilder<Checksum>(references.Count); 572var checksum = GetOrCreate(
Workspace\Solution\TextDocumentState_Checksum.cs (3)
24public Task<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 39var infoChecksum = this.Attributes.Checksum; 41var textChecksum = serializableText.ContentChecksum;
Workspace\Solution\TextDocumentStates.cs (2)
311var attributeChecksums = new FixedSizeArrayBuilder<Checksum>(States.Count); 312var textChecksums = new FixedSizeArrayBuilder<Checksum>(States.Count);
Microsoft.CodeAnalysis.Workspaces.UnitTests (16)
ChecksumTests.cs (16)
20var checksum1 = Checksum.Create("Goo"); 21var checksum2 = Checksum.Create("Bar"); 23var checksumA = Checksum.Create(checksum1, checksum2); 36var checksum1 = Checksum.Create("Goo"); 37var checksum2 = Checksum.Create("Bar"); 38var checksum3 = Checksum.Create("Baz"); 40var checksumA = Checksum.Create(checksum1, checksum2, checksum3); 111var checksum1 = Checksum.Create("Goo"); 112var checksum2 = Checksum.Create("Bar"); 113var checksum3 = Checksum.Create("Baz"); 114var checksum4 = Checksum.Create("Quux"); 116var checksumA = Checksum.Create(checksum1, checksum2, checksum3, checksum4); 138var checksumA = Checksum.Create(checksums.AsSpan()); 157var checksum1 = Checksum.Create(["goo", "bar"]); 158var checksum2 = Checksum.Create(["go", "obar"]); 159var checksum3 = Checksum.Create("goobar");
Roslyn.VisualStudio.Next.UnitTests (17)
Remote\SnapshotSerializationTests.cs (6)
536var source = new SerializableSourceText(text, text.GetContentHash()).ContentChecksum; 537var metadata = serializer.CreateChecksum(new MissingMetadataReference(), CancellationToken.None); 538var analyzer = serializer.CreateChecksum(new AnalyzerFileReference(Path.Combine(TempRoot.Root, "missing"), new MissingAnalyzerLoader()), CancellationToken.None); 667var original = serializer.CreateChecksum(originalOptions, CancellationToken.None); 668var recovered = serializer.CreateChecksum(recoveredOptions, CancellationToken.None); 685var checksum = recovered is SerializableSourceText text ? text.ContentChecksum : serializer.CreateChecksum(recovered, CancellationToken.None);
Services\AssetProviderTests.cs (6)
47var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 48var checksum = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 84var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 112var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 137var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 166var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray()));
Services\ServiceHubServicesTests.cs (1)
131var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray()));
Services\SolutionAssetCacheTests.cs (3)
34var checksum = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 48var checksum = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); 84var checksum2 = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray()));
Services\SolutionServiceTests.cs (1)
1323var sessionId = Checksum.Create(ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray()));