22 implementations of IObjectWritable
Microsoft.CodeAnalysis.Features (1)
DiagnosticHelper.cs (1)
279public sealed class LocalizableStringWithArguments : LocalizableString, IObjectWritable
Microsoft.CodeAnalysis.Workspaces (21)
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (1)
17internal partial class AbstractSyntaxIndex<TIndex> : IObjectWritable
FindSymbols\SymbolTree\SymbolTreeInfo_Serialization.cs (1)
19internal partial class SymbolTreeInfo : IObjectWritable
FindSymbols\SyntaxTree\SyntaxTreeIndex_Persistence.cs (1)
14internal sealed partial class SyntaxTreeIndex : IObjectWritable
FindSymbols\TopLevelSyntaxTree\TopLevelSyntaxTreeIndex_Persistence.cs (1)
13internal sealed partial class TopLevelSyntaxTreeIndex : IObjectWritable
NamingStyle.cs (1)
24internal readonly partial record struct NamingStyle : IObjectWritable
SerializableNamingRule.cs (1)
15internal sealed record class SerializableNamingRule : IObjectWritable
Shared\Utilities\BloomFilter_Serialization.cs (1)
13internal partial class BloomFilter : IObjectWritable
SymbolSpecification.cs (3)
28internal sealed class SymbolSpecification : IEquatable<SymbolSpecification>, IObjectWritable 354public readonly record struct SymbolKindOrTypeKind : ISymbolMatcher, IObjectWritable 470public readonly struct ModifierKind : ISymbolMatcher, IEquatable<ModifierKind>, IObjectWritable
Utilities\SpellChecker.cs (1)
16internal class SpellChecker : IObjectWritable, IChecksummedObject
Workspace\Solution\Checksum.cs (1)
24internal sealed partial class Checksum : IObjectWritable, IEquatable<Checksum>
Workspace\Solution\CompilationOutputFilePaths.cs (1)
13public readonly struct CompilationOutputInfo : IEquatable<CompilationOutputInfo>, IObjectWritable
Workspace\Solution\DocumentId.cs (1)
20public sealed class DocumentId : IEquatable<DocumentId>, IObjectWritable
Workspace\Solution\DocumentInfo.cs (1)
150internal sealed class DocumentAttributes : IChecksummedObject, IObjectWritable
Workspace\Solution\ProjectId.cs (1)
25public sealed class ProjectId : IEquatable<ProjectId>, IObjectWritable
Workspace\Solution\ProjectInfo.cs (1)
402internal sealed class ProjectAttributes : IChecksummedObject, IObjectWritable
Workspace\Solution\SolutionId.cs (1)
20public sealed class SolutionId : IEquatable<SolutionId>, IObjectWritable
Workspace\Solution\SolutionInfo.cs (1)
97internal sealed class SolutionAttributes : IChecksummedObject, IObjectWritable
Workspace\Solution\SourceGeneratedDocumentIdentity.cs (1)
21: IObjectWritable, IEquatable<SourceGeneratedDocumentIdentity>
Workspace\Solution\VersionStamp.cs (1)
15public readonly struct VersionStamp : IEquatable<VersionStamp>, IObjectWritable
36 references to IObjectWritable
Microsoft.CodeAnalysis.Features (2)
DiagnosticHelper.cs (2)
328bool IObjectWritable.ShouldReuseInSerialization => false; 330void IObjectWritable.WriteTo(ObjectWriter writer)
Microsoft.CodeAnalysis.Workspaces (34)
FindSymbols\Shared\AbstractSyntaxIndex_Persistence.cs (1)
164bool IObjectWritable.ShouldReuseInSerialization => true;
FindSymbols\SymbolTree\SymbolTreeInfo_Serialization.cs (1)
108bool IObjectWritable.ShouldReuseInSerialization => true;
ObjectBinder.cs (2)
39private static readonly List<Func<ObjectReader, IObjectWritable>> s_typeReaders = new(); 58public static void RegisterTypeReader(Type type, Func<ObjectReader, IObjectWritable> typeReader)
ObjectBinderSnapshot.cs (3)
17private readonly ImmutableArray<Func<ObjectReader, IObjectWritable>> _typeReaders; 22List<Func<ObjectReader, IObjectWritable>> typeReaders) 35public Func<ObjectReader, IObjectWritable> GetTypeReaderFromId(int typeId)
ObjectReader.cs (1)
679var instance = typeReader(this);
ObjectWriter.cs (7)
324public void WriteValue(IObjectWritable? value) 820private void WriteObject(object instance, IObjectWritable? instanceAsWritable) 849var writable = instanceAsWritable; 852writable = instance as IObjectWritable; 855throw NoSerializationWriterException($"{instance.GetType()} must implement {nameof(IObjectWritable)}"); 871WriteObjectWorker((IObjectWritable)obj!); 895private void WriteObjectWorker(IObjectWritable writable)
Serialization\SerializerService.cs (1)
128((IObjectWritable)value).WriteTo(writer);
Shared\Extensions\IObjectWritableExtensions.cs (1)
11public static void WriteTo(this IObjectWritable @object, ObjectWriter writer)
Shared\Utilities\BloomFilter_Serialization.cs (1)
17bool IObjectWritable.ShouldReuseInSerialization => true;
Utilities\SpellChecker.cs (1)
49bool IObjectWritable.ShouldReuseInSerialization => true;
Workspace\Solution\Checksum.cs (1)
114bool IObjectWritable.ShouldReuseInSerialization => true;
Workspace\Solution\Checksum_Factory.cs (1)
86public static Checksum Create(IObjectWritable @object)
Workspace\Solution\CompilationOutputFilePaths.cs (2)
20bool IObjectWritable.ShouldReuseInSerialization => throw new NotImplementedException(); 52void IObjectWritable.WriteTo(ObjectWriter writer)
Workspace\Solution\DocumentId.cs (2)
95bool IObjectWritable.ShouldReuseInSerialization => true; 97void IObjectWritable.WriteTo(ObjectWriter writer)
Workspace\Solution\DocumentInfo.cs (1)
245bool IObjectWritable.ShouldReuseInSerialization => true;
Workspace\Solution\ProjectId.cs (2)
86bool IObjectWritable.ShouldReuseInSerialization => true; 88void IObjectWritable.WriteTo(ObjectWriter writer)
Workspace\Solution\ProjectInfo.cs (1)
611bool IObjectWritable.ShouldReuseInSerialization => true;
Workspace\Solution\SolutionId.cs (2)
80bool IObjectWritable.ShouldReuseInSerialization => true; 82void IObjectWritable.WriteTo(ObjectWriter writer)
Workspace\Solution\SolutionInfo.cs (1)
148bool IObjectWritable.ShouldReuseInSerialization => true;
Workspace\Solution\VersionStamp.cs (2)
190bool IObjectWritable.ShouldReuseInSerialization => true; 192void IObjectWritable.WriteTo(ObjectWriter writer)