public SourceGeneratedDocumentState WithUpdatedGeneratedContent( SourceText sourceText, SyntaxTree lazySyntaxTree, ParseOptions parseOptions, CancellationToken cancellationToken ) { if ( TryGetText(out var existingText) && Checksum.From(existingText.GetChecksum()) == Checksum.From(sourceText.GetChecksum()) && SyntaxTree.Options.Equals(parseOptions) ) { // We can reuse this instance directly return(this); } return(SourceGeneratedDocumentState.Create( this.HintName, sourceText, lazySyntaxTree, this.Id, this.SourceGenerator, this.LanguageServices, this.solutionServices, cancellationToken )); }
internal SourceGeneratedDocument GetOrCreateSourceGeneratedDocument(SourceGeneratedDocumentState state) => ImmutableHashMapExtensions.GetOrAdd(ref _idToSourceGeneratedDocumentMap, state.Id, s_createSourceGeneratedDocumentFunction, (state, this)) !;
internal SourceGeneratedDocument GetOrCreateSourceGeneratedDocument( SourceGeneratedDocumentState state ) =>
public GeneratedFileReplacingCompilationTracker(ICompilationTracker underlyingTracker, SourceGeneratedDocumentState replacementDocumentState) { _underlyingTracker = underlyingTracker; _replacedGeneratedDocumentState = replacementDocumentState; }
internal SourceGeneratedDocument(Project project, SourceGeneratedDocumentState state) : base(project, state) { }
public GeneratedFileReplacingCompilationTracker(ICompilationTracker underlyingTracker, SourceGeneratedDocumentState replacementDocumentState) { _underlyingTracker = underlyingTracker; _replacedGeneratedDocumentState = replacementDocumentState; SkeletonReferenceCache = underlyingTracker.SkeletonReferenceCache.Clone(); }