Skip to content

Commit 4989112

Browse files
committed
CSHARP-5572: Introduce IReadOnlySerializerMap interface
1 parent e54c7b7 commit 4989112

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

src/MongoDB.Driver/Linq/Linq3Implementation/SerializerFinders/SerializerMap.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,12 @@
2424

2525
namespace MongoDB.Driver.Linq.Linq3Implementation.SerializerFinders;
2626

27-
internal class SerializerMap
27+
internal interface IReadOnlySerializerMap
28+
{
29+
IBsonSerializer GetSerializer(Expression node);
30+
}
31+
32+
internal class SerializerMap : IReadOnlySerializerMap
2833
{
2934
private readonly Dictionary<Expression, IBsonSerializer> _map = new();
3035

src/MongoDB.Driver/Linq/Linq3Implementation/Translators/TranslationContext.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public static TranslationContext Create(
7979

8080
public static TranslationContext Create(
8181
ExpressionTranslationOptions translationOptions,
82-
SerializerMap nodeSerializers,
82+
IReadOnlySerializerMap nodeSerializers,
8383
TranslationContextData data = null)
8484
{
8585
var symbolTable = new SymbolTable();
@@ -125,14 +125,14 @@ methodCallExpression.Method is var method &&
125125

126126
// private fields
127127
private readonly TranslationContextData _data;
128-
private readonly SerializerMap _nodeSerializers;
128+
private readonly IReadOnlySerializerMap _nodeSerializers;
129129
private readonly NameGenerator _nameGenerator;
130130
private readonly SymbolTable _symbolTable;
131131
private readonly ExpressionTranslationOptions _translationOptions;
132132

133133
private TranslationContext(
134134
ExpressionTranslationOptions translationOptions,
135-
SerializerMap nodeSerializers,
135+
IReadOnlySerializerMap nodeSerializers,
136136
TranslationContextData data,
137137
SymbolTable symbolTable,
138138
NameGenerator nameGenerator)
@@ -146,7 +146,7 @@ private TranslationContext(
146146

147147
// public properties
148148
public TranslationContextData Data => _data;
149-
public SerializerMap NodeSerializers => _nodeSerializers;
149+
public IReadOnlySerializerMap NodeSerializers => _nodeSerializers;
150150
public NameGenerator NameGenerator => _nameGenerator;
151151
public SymbolTable SymbolTable => _symbolTable;
152152
public ExpressionTranslationOptions TranslationOptions => _translationOptions;

0 commit comments

Comments
 (0)