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);
475 references to Checksum
Microsoft.CodeAnalysis.Features (53)
AddImport\Remote\IRemoteMissingImportDiscoveryService.cs (2)
25Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId documentId, TextSpan span, string diagnosticId, int maxResults, 29Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId id, TextSpan span, ImmutableArray<string> diagnosticIds,
CodeLens\IRemoteCodeLensReferencesService.cs (4)
14ValueTask<ReferenceCount?> GetReferenceCountAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, int maxResultCount, CancellationToken cancellationToken); 15ValueTask<ImmutableArray<ReferenceLocationDescriptorAndDocument>?> FindReferenceLocationsAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken); 16ValueTask<ImmutableArray<ReferenceMethodDescriptor>?> FindReferenceMethodsAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken); 17ValueTask<string?> GetFullyQualifiedNameAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan textSpan, CancellationToken cancellationToken);
Completion\Providers\ImportCompletionProvider\AbstractTypeImportCompletionService.cs (2)
182var checksum = await SymbolTreeInfo.GetSourceSymbolsChecksumAsync(project, cancellationToken).ConfigureAwait(false); 230Checksum checksum,
Completion\Providers\ImportCompletionProvider\ExtensionMemberImportCompletionHelper.cs (1)
241var checksum = await SymbolTreeInfo.GetSourceSymbolsChecksumAsync(project, cancellationToken).ConfigureAwait(false);
Completion\Providers\ImportCompletionProvider\ExtensionMethodImportCompletionCacheEntry.cs (4)
13public Checksum Checksum { get; } 24Checksum checksum, 33public sealed class Builder(Checksum checksum, string language, IEqualityComparer<string> comparer) 35private readonly Checksum _checksum = checksum;
Completion\Providers\ImportCompletionProvider\IRemoteExtensionMethodImportCompletionService.cs (2)
14Checksum solutionChecksum, 25ValueTask WarmUpCacheAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken);
Completion\Providers\ImportCompletionProvider\TypeImportCompletionCacheEntry.cs (4)
21public Checksum Checksum { get; } 42Checksum checksum, 159public sealed class Builder(SymbolKey assemblySymbolKey, Checksum checksum, string language, string genericTypeSuffix, EditorBrowsableInfo editorBrowsableInfo, ImportCompletionCommitBehavior commitBehavior) : IDisposable 164private readonly Checksum _checksum = checksum;
ConvertTupleToStruct\IRemoteConvertTupleToStructCodeRefactoringService.cs (1)
16Checksum solutionChecksum,
Copilot\IProposalAdjusterService.cs (1)
62ImmutableHashSet<string> allowableAdjustments, Checksum solutionChecksum,
Copilot\IRemoteCopilotChangeAnalysisService.cs (1)
18Checksum solutionChecksum, DocumentId documentId, ImmutableArray<TextChange> normalizedChanges, CancellationToken cancellationToken);
DesignerAttribute\IRemoteDesignerAttributeDiscoveryService.cs (2)
26ValueTask DiscoverDesignerAttributesAsync(RemoteServiceCallbackId callbackId, Checksum solutionChecksum, CancellationToken cancellationToken); 27ValueTask DiscoverDesignerAttributesAsync(RemoteServiceCallbackId callbackId, Checksum solutionChecksum, DocumentId priorityDocument, CancellationToken cancellationToken);
DocumentHighlighting\IRemoteDocumentHighlightsService.cs (1)
16Checksum solutionChecksum, DocumentId documentId, int position, ImmutableArray<DocumentId> documentIdsToSearch, HighlightingOptions options, CancellationToken cancellationToken);
EditAndContinue\Remote\IRemoteEditAndContinueService.cs (5)
29ValueTask<ImmutableArray<DiagnosticData>> GetDocumentDiagnosticsAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DocumentId documentId, CancellationToken cancellationToken); 30ValueTask<EmitSolutionUpdateResults.Data> EmitSolutionUpdateAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DebuggingSessionId sessionId, ImmutableDictionary<ProjectId, RunningProjectOptions> runningProjects, CancellationToken cancellationToken); 38ValueTask<DebuggingSessionId> StartDebuggingSessionAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, bool reportDiagnostics, CancellationToken cancellationToken); 49ValueTask<ImmutableArray<ImmutableArray<ActiveStatementSpan>>> GetBaseActiveStatementSpansAsync(Checksum solutionChecksum, DebuggingSessionId sessionId, ImmutableArray<DocumentId> documentIds, CancellationToken cancellationToken); 50ValueTask<ImmutableArray<ActiveStatementSpan>> GetAdjustedActiveStatementSpansAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, DebuggingSessionId sessionId, DocumentId documentId, CancellationToken cancellationToken);
EncapsulateField\IRemoteEncapsulateFieldService.cs (1)
15Checksum solutionChecksum,
Extensions\ExtensionMessageHandlerService_RemoteOrLocal.cs (2)
22Func<IRemoteExtensionMessageHandlerService, TArg, Checksum?, CancellationToken, ValueTask> executeOutOfProcessAsync, 47Func<IRemoteExtensionMessageHandlerService, TArg, Checksum?, CancellationToken, ValueTask<TResult>> executeOutOfProcessAsync,
Extensions\IRemoteExtensionMessageHandlerService.cs (2)
24Checksum solutionChecksum, string messageName, string jsonMessage, DocumentId documentId, CancellationToken cancellationToken); 27Checksum solutionChecksum, string messageName, string jsonMessage, CancellationToken cancellationToken);
ExternalAccess\UnitTesting\IRemoteUnitTestingSearchService.cs (2)
16Checksum solutionChecksum, ProjectId projectId, UnitTestingSearchQuery query, CancellationToken cancellationToken); 18Checksum solutionChecksum, ProjectId projectId, UnitTestingSearchQuery query, CancellationToken cancellationToken);
FindUsages\IRemoteFindUsagesService.cs (2)
37Checksum solutionChecksum, 44Checksum solutionChecksum,
FullyQualify\IRemoteFullyQualifyService.cs (1)
13ValueTask<FullyQualifyFixData?> GetFixDataAsync(Checksum solutionChecksum, DocumentId documentId, TextSpan span, CancellationToken cancellationToken);
InheritanceMargin\IRemoteInheritanceMarginService.cs (1)
15Checksum solutionChecksum,
LegacySolutionEvents\IRemoteLegacySolutionEventsAggregationService.cs (2)
25ValueTask OnWorkspaceChangedAsync(Checksum oldSolutionChecksum, Checksum newSolutionChecksum, WorkspaceChangeKind kind, ProjectId? projectId, DocumentId? documentId, bool processSourceGeneratedDocuments, CancellationToken cancellationToken);
NavigateTo\IRemoteNavigateToSearchService.cs (4)
20ValueTask SearchDocumentAndRelatedDocumentsAsync(Checksum solutionChecksum, DocumentId documentId, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken); 21ValueTask SearchProjectsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, ImmutableArray<DocumentId> priorityDocumentIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken); 23ValueTask SearchGeneratedDocumentsAsync(Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, string searchPattern, ImmutableArray<string> kinds, RemoteServiceCallbackId callbackId, CancellationToken cancellationToken); 26ValueTask HydrateAsync(Checksum solutionChecksum, CancellationToken cancellationToken);
NavigationBar\IRemoteNavigationBarItemService.cs (1)
16Checksum solutionChecksum, DocumentId documentId, bool supportsCodeGeneration, bool forceFrozenPartialSemanticsForCrossProcessOperations, CancellationToken cancellationToken);
SemanticSearch\IRemoteSemanticSearchService.cs (1)
35ValueTask<ExecuteQueryResult> ExecuteQueryAsync(Checksum solutionChecksum, RemoteServiceCallbackId callbackId, CompiledQueryId queryId, QueryExecutionOptions options, CancellationToken cancellationToken);
StackTraceExplorer\IStackTraceExplorerService.cs (1)
25ValueTask<SerializableDefinitionItem?> TryFindDefinitionAsync(Checksum solutionChecksum, string frameString, StackFrameSymbolPart symbolPart, CancellationToken cancellationToken);
UnusedReferences\IUnusedReferenceAnalysisService.cs (1)
25Checksum solutionChecksum,
ValueTracking\IValueTrackingService.cs (2)
21ValueTask<ImmutableArray<SerializableValueTrackedItem>> TrackValueSourceAsync(Checksum solutionChecksum, TextSpan selection, DocumentId document, CancellationToken cancellationToken); 22ValueTask<ImmutableArray<SerializableValueTrackedItem>> TrackValueSourceAsync(Checksum solutionChecksum, SerializableValueTrackedItem previousTrackedItem, CancellationToken cancellationToken);
Microsoft.CodeAnalysis.Workspaces (422)
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 (8)
26private static readonly ConditionalWeakTable<Project, AsyncLazy<Checksum>> s_projectToDiagnosticChecksum = new(); 352public static async Task<Checksum> GetDiagnosticChecksumAsync(this Project? project, CancellationToken cancellationToken) 355return default(Checksum); 365static async Task<Checksum> ComputeDiagnosticChecksumAsync(Project project, CancellationToken cancellationToken) 369using var _ = ArrayBuilder<Checksum>.GetInstance(out var tempChecksumArray); 386var frozenDocumentChecksum = await frozenState.GetChecksumAsync(cancellationToken).ConfigureAwait(false); 394var projectChecksum = await project.State.GetChecksumAsync(cancellationToken).ConfigureAwait(false); 408return Checksum.Create(tempChecksumArray);
Diagnostics\IRemoteDiagnosticAnalyzerService.cs (10)
18Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken); 21Checksum solutionChecksum, ProjectId projectId, ImmutableArray<string> diagnosticIds, CancellationToken cancellationToken); 24Checksum solutionChecksum, 33Checksum solutionChecksum, ProjectId projectId, 41Checksum solutionChecksum, ProjectId projectId, 46ValueTask<ImmutableArray<DiagnosticData>> GetSourceGeneratorDiagnosticsAsync(Checksum solutionChecksum, ProjectId projectId, CancellationToken cancellationToken); 49Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, string language, CancellationToken cancellationToken); 52Checksum solutionChecksum, CancellationToken cancellationToken); 55Checksum solutionChecksum, ImmutableArray<ProjectId> projectIds, CancellationToken cancellationToken); 58Checksum 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("55"); 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)
34public 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)
35Project project, Checksum checksum, CancellationToken cancellationToken) 69private static readonly ConditionalWeakTable<ProjectState, AsyncLazy<Checksum>> s_projectToSourceChecksum = new(); 71public static Task<Checksum> GetSourceSymbolsChecksumAsync(Project project, CancellationToken cancellationToken) 82private static async Task<Checksum> ComputeSourceSymbolsChecksumAsync(ProjectState projectState, CancellationToken cancellationToken) 101var compilationOptionsChecksum = projectStateChecksums.CompilationOptions; 102var parseOptionsChecksum = projectStateChecksums.ParseOptions; 105using var _ = ArrayBuilder<Checksum>.GetInstance(out var allChecksums); 116return Checksum.Create(allChecksums); 120Project 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\NavigateToSearchIndex.cs (1)
24Checksum? checksum,
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex_Create.cs (1)
15ProjectState project, SyntaxNode root, Checksum checksum, CancellationToken cancellationToken)
FindSymbols\TopLevelSyntaxTree\NavigateToSearchIndex_Persistence.cs (2)
16IChecksummedPersistentStorageService storageService, DocumentKey documentKey, Checksum? checksum, StringTable stringTable, CancellationToken cancellationToken) 27StringTable stringTable, ObjectReader reader, Checksum? checksum)
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex.cs (1)
22Checksum? checksum,
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Create.cs (1)
15ProjectState 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)
27ValueTask KeepAliveAsync(Checksum solutionChecksum, long sessionId, 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, 118Func<TService, Checksum, CancellationToken, ValueTask> invocation, 130Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 141/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, CancellationToken, ValueTask}, CancellationToken)"/> 148Func<TService, Checksum, CancellationToken, ValueTask> invocation, 159Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 168/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, CancellationToken, ValueTask}, CancellationToken)"/> 175Func<TService, Checksum, CancellationToken, ValueTask<TResult>> invocation, 187Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 198Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 210/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask}, object, CancellationToken)"/> 217Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask> invocation, 227/// Equivalent to <see cref="TryInvokeAsync{TService}(Solution, Func{TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask}, object, CancellationToken)"/> 234Func<TService, Checksum, RemoteServiceCallbackId, CancellationToken, ValueTask<TResult>> invocation, 248Func<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)
27Checksum solutionChecksum, 34Checksum solutionChecksum, 41Checksum solutionChecksum,
Serialization\SerializableSourceText.cs (6)
53public readonly Checksum ContentChecksum; 56: this(storageHandle, text: null, Checksum.Create(storageHandle.ContentHash)) 61: this(storageHandle: null, text, Checksum.Create(contentHash)) 65public SerializableSourceText(SourceText text, Checksum contentChecksum) 70private SerializableSourceText(TemporaryStorageTextHandle? storageHandle, SourceText? text, Checksum contentChecksum) 80Debug.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)
50private static Checksum CreateChecksum(MetadataReference reference) 58protected virtual Checksum CreateChecksum(AnalyzerReference reference) 97return Checksum.Create(stream); 206private static Checksum CreatePortableExecutableReferenceChecksum(PortableExecutableReference reference) 217return Checksum.Create(stream);
SourceGeneration\IRemoteSourceGenerationService.cs (8)
28/// information about the document, as well as its text <see cref="Checksum"/>. The local workspace can then 36Checksum solutionChecksum, ProjectId projectId, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 47Checksum solutionChecksum, ProjectId projectId, ImmutableArray<DocumentId> documentIds, bool withFrozenSourceGeneratedDocuments, CancellationToken cancellationToken); 53Checksum solutionChecksum, ProjectId projectId, ImmutableArray<Checksum> analyzerReferenceChecksums, string language, CancellationToken cancellationToken); 60Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken); 67Checksum solutionChecksum, ProjectId projectId, string analyzerReferenceFullPath, CancellationToken cancellationToken); 88[property: DataMember(Order = 0)] Checksum OriginalSourceTextContentHash,
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 async Task<bool> ChecksumMatchesAsync(string name, Checksum checksum, CancellationToken cancellationToken) 26public async Task<bool> ChecksumMatchesAsync(Project project, string name, Checksum checksum, CancellationToken cancellationToken) 29public async Task<bool> ChecksumMatchesAsync(Document document, string name, Checksum checksum, CancellationToken cancellationToken) 32public async Task<bool> ChecksumMatchesAsync(ProjectKey project, string name, Checksum checksum, CancellationToken cancellationToken) 35public async Task<bool> ChecksumMatchesAsync(DocumentKey document, string name, Checksum checksum, CancellationToken cancellationToken) 47public async Task<Stream?> ReadStreamAsync(string name, Checksum? checksum, CancellationToken cancellationToken) 50public async Task<Stream?> ReadStreamAsync(Project project, string name, Checksum? checksum, CancellationToken cancellationToken) 53public async Task<Stream?> ReadStreamAsync(Document document, string name, Checksum? checksum, CancellationToken cancellationToken) 56public async Task<Stream?> ReadStreamAsync(ProjectKey project, string name, Checksum? checksum, CancellationToken cancellationToken) 59public async Task<Stream?> ReadStreamAsync(DocumentKey document, string name, Checksum? checksum, CancellationToken cancellationToken) 71public async Task<bool> WriteStreamAsync(string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 74public async Task<bool> WriteStreamAsync(Project project, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 77public async Task<bool> WriteStreamAsync(Document document, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 80public async Task<bool> WriteStreamAsync(ProjectKey projectKey, string name, Stream stream, Checksum? checksum, CancellationToken cancellationToken) 83public async 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\IsolatedAnalyzerReferenceSet.Core.cs (7)
45private static readonly Dictionary<Checksum, WeakReference<IsolatedAnalyzerReferenceSet>> s_checksumToReferenceSet = []; 91private readonly Dictionary<Checksum, ImmutableArray<AnalyzerReference>> _analyzerReferences = []; 124using var _ = ArrayBuilder<Checksum>.GetInstance(out var checksumsToRemove); 135foreach (var checksum in checksumsToRemove) 139private ImmutableArray<AnalyzerReference> GetAnalyzerReferences(Checksum checksum) 148Checksum checksum, 227var checksum = analyzerChecksums.Checksum;
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 (33)
31public static Checksum Create(IEnumerable<string?> values) 46public static Checksum Create(ImmutableArray<string> values) 49public static Checksum Create(ReadOnlySpan<string> values) 64public static Checksum Create(string? value) 71public static Checksum Create(Stream stream) 81public static Checksum Create<T>(T @object, Action<T, ObjectWriter> writeObject) 92var newChecksum = Create(stream); 104public static Checksum Create(Checksum checksum1, Checksum checksum2) 107public static Checksum Create(Checksum checksum1, Checksum checksum2, Checksum checksum3) 110public static Checksum Create(Checksum checksum1, Checksum checksum2, Checksum checksum3, Checksum checksum4) 113public static Checksum Create(ReadOnlySpan<Checksum> hashes) 120public static Checksum Create(ArrayBuilder<Checksum> checksums) 123const int maxStackAllocCount = 1024 / Checksum.HashSize; 128Span<Checksum> hashes = stackalloc Checksum[checksumsCount]; 137Span<Checksum> checksumsSpan = stackalloc Checksum[maxStackAllocCount]; 157public static Checksum Create(ImmutableArray<Checksum> checksums) 164public static Checksum Create(ImmutableArray<byte> bytes) 167public static Checksum Create(ReadOnlySpan<byte> bytes) 174public 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; 105internal Checksum Checksum 106=> _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 async ValueTask<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 30public Checksum GetParseOptionsChecksum() 33private Checksum GetParseOptionsChecksum(ISerializerService serializer) 36: Checksum.Null; 50var infoChecksum = this.ProjectInfo.Attributes.Checksum; 53var compilationOptionsChecksum = SupportsCompilation 55: Checksum.Null; 57var parseOptionsChecksum = GetParseOptionsChecksum(serializer);
Workspace\Solution\SolutionCompilationState_Checksum.cs (4)
62public async Task<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 96public async Task<Checksum> GetChecksumAsync(ProjectId projectId, CancellationToken cancellationToken) 110Checksum solutionStateChecksum; 134var 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\SourceGeneratedDocumentIdentity.cs (6)
57var stringChecksum = Checksum.Create(stringsToChecksum); 58var byteChecksum = Checksum.Create(bytesToChecksum); 59var compositeChecksum = Checksum.Create(stringChecksum, byteChecksum);
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); 115public Checksum GetChecksum() 117using var _ = ArrayBuilder<Checksum>.GetInstance(this.Map.Count * 2, out var checksums); 122checksums.Add(Checksum.Create(version, static (v, w) => v.WriteTo(w))); 125return 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) 195public Checksum Checksum { get; } = Checksum.Create(stackalloc[] 197projectConeId == null ? Checksum.Null : projectConeId.Checksum, 205public Checksum Attributes { get; } = attributes; 208public Checksum FallbackAnalyzerOptions => fallbackAnalyzerOptionsChecksum; 218public void AddAllTo(HashSet<Checksum> checksums) 242var checksum = Checksum.ReadFrom(reader); 246attributes: Checksum.ReadFrom(reader), 249fallbackAnalyzerOptionsChecksum: Checksum.ReadFrom(reader)); 258HashSet<Checksum> searchingChecksumsLeft, 259Action<Checksum, object, TArg> onAssetFound, 330Checksum infoChecksum, 331Checksum compilationOptionsChecksum, 332Checksum parseOptionsChecksum, 340public Checksum Checksum { get; } = Checksum.Create(stackalloc[] 355public Checksum Info => infoChecksum; 356public Checksum CompilationOptions => compilationOptionsChecksum; 357public Checksum ParseOptions => parseOptionsChecksum; 376public void AddAllTo(HashSet<Checksum> checksums) 409var checksum = Checksum.ReadFrom(reader); 412infoChecksum: Checksum.ReadFrom(reader), 413compilationOptionsChecksum: Checksum.ReadFrom(reader), 414parseOptionsChecksum: Checksum.ReadFrom(reader), 428HashSet<Checksum> searchingChecksumsLeft, 429Action<Checksum, object, TArg> onAssetFound, 496Checksum infoChecksum, 497Checksum textChecksum) 499public Checksum Checksum { get; } = Checksum.Create(infoChecksum, textChecksum); 502public Checksum Info => infoChecksum; 503public Checksum Text => textChecksum; 505public void AddAllTo(HashSet<Checksum> checksums) 514HashSet<Checksum> searchingChecksumsLeft, 515Action<Checksum, object, TArg> onAssetFound, 542public static Checksum GetOrCreate<TValue, TArg>(TValue value, Func<TValue, TArg, Checksum> checksumCreator, TArg arg) 545return StronglyTypedChecksumCache<TValue, Checksum>.GetOrCreate(value, checksumCreator, arg); 566var checksums = new FixedSizeArrayBuilder<Checksum>(references.Count); 570var checksum = GetOrCreate(
Workspace\Solution\TextDocumentState_Checksum.cs (3)
24public async ValueTask<Checksum> GetChecksumAsync(CancellationToken cancellationToken) 36var infoChecksum = this.Attributes.Checksum; 38var textChecksum = serializableText.ContentChecksum;
Workspace\Solution\TextDocumentStates.cs (2)
310var attributeChecksums = new FixedSizeArrayBuilder<Checksum>(States.Count); 311var textChecksums = new FixedSizeArrayBuilder<Checksum>(States.Count);