2323using MongoDB . Driver . Linq . Linq3Implementation . Serializers ;
2424using IOrderedEnumerableSerializer = MongoDB . Driver . Linq . Linq3Implementation . Serializers . IOrderedEnumerableSerializer ;
2525
26- namespace MongoDB . Driver . Linq . Linq3Implementation . KnownSerializerFinders ;
26+ namespace MongoDB . Driver . Linq . Linq3Implementation . SerializerFinders ;
2727
28- internal partial class KnownSerializerFinderVisitor
28+ internal partial class SerializerFinderVisitor
2929{
30- private void AddKnownSerializer ( Expression node , IBsonSerializer serializer ) => _knownSerializers . AddSerializer ( node , serializer ) ;
30+ private void AddNodeSerializer ( Expression node , IBsonSerializer serializer ) => _nodeSerializers . AddSerializer ( node , serializer ) ;
3131
32- private bool AreAllKnown ( IEnumerable < Expression > nodes , out IReadOnlyList < IBsonSerializer > knownSerializers )
32+ private bool AreAllKnown ( IEnumerable < Expression > nodes , out IReadOnlyList < IBsonSerializer > nodeSerializers )
3333 {
34- var knownSerializersList = new List < IBsonSerializer > ( ) ;
34+ var nodeSerializersList = new List < IBsonSerializer > ( ) ;
3535 foreach ( var node in nodes )
3636 {
3737 if ( IsKnown ( node , out var nodeSerializer ) )
3838 {
39- knownSerializersList . Add ( nodeSerializer ) ;
39+ nodeSerializersList . Add ( nodeSerializer ) ;
4040 }
4141 else
4242 {
43- knownSerializers = null ;
43+ nodeSerializers = null ;
4444 return false ;
4545 }
4646 }
4747
48- knownSerializers = knownSerializersList ;
48+ nodeSerializers = nodeSerializersList ;
4949 return true ;
5050 }
5151
52- private bool IsAnyKnown ( IEnumerable < Expression > nodes , out IBsonSerializer knownSerializer )
52+ private bool IsAnyKnown ( IEnumerable < Expression > nodes , out IBsonSerializer nodeSerializer )
5353 {
5454 foreach ( var node in nodes )
5555 {
56- if ( IsKnown ( node , out var nodeSerializer ) )
56+ if ( IsKnown ( node , out var outSerializer ) )
5757 {
58- knownSerializer = nodeSerializer ;
58+ nodeSerializer = outSerializer ;
5959 return true ;
6060 }
6161 }
6262
63- knownSerializer = null ;
63+ nodeSerializer = null ;
6464 return false ;
6565 }
6666
@@ -69,24 +69,24 @@ private bool IsAnyNotKnown(IEnumerable<Expression> nodes)
6969 return nodes . Any ( IsNotKnown ) ;
7070 }
7171
72- private bool CanDeduceSerializer ( Expression node1 , Expression node2 , out Expression unknownNode , out IBsonSerializer knownSerializer )
72+ private bool CanDeduceSerializer ( Expression node1 , Expression node2 , out Expression unknownNode , out IBsonSerializer otherNodeSerializer )
7373 {
7474 if ( IsNotKnown ( node1 ) && IsKnown ( node2 , out var node2Serializer ) )
7575 {
7676 unknownNode = node1 ;
77- knownSerializer = node2Serializer ;
77+ otherNodeSerializer = node2Serializer ;
7878 return true ;
7979 }
8080
8181 if ( IsNotKnown ( node2 ) && IsKnown ( node1 , out var node1Serializer ) )
8282 {
8383 unknownNode = node2 ;
84- knownSerializer = node1Serializer ;
84+ otherNodeSerializer = node1Serializer ;
8585 return true ;
8686 }
8787
8888 unknownNode = null ;
89- knownSerializer = null ;
89+ otherNodeSerializer = null ;
9090 return false ;
9191 }
9292
@@ -125,47 +125,53 @@ IBsonSerializer CreateCollectionSerializerFromItemSerializer(Type collectionType
125125
126126 private void DeduceBaseTypeAndDerivedTypeSerializers ( Expression baseTypeExpression , Expression derivedTypeExpression )
127127 {
128- if ( IsNotKnown ( baseTypeExpression ) && IsKnown ( derivedTypeExpression , out var knownDerivedTypeSerializer ) )
128+ IBsonSerializer baseTypeSerializer ;
129+ IBsonSerializer derivedTypeSerializer ;
130+
131+ if ( IsNotKnown ( baseTypeExpression ) && IsKnown ( derivedTypeExpression , out derivedTypeSerializer ) )
129132 {
130- var baseTypeSerializer = knownDerivedTypeSerializer . GetBaseTypeSerializer ( baseTypeExpression . Type ) ;
131- AddKnownSerializer ( baseTypeExpression , baseTypeSerializer ) ;
133+ baseTypeSerializer = derivedTypeSerializer . GetBaseTypeSerializer ( baseTypeExpression . Type ) ;
134+ AddNodeSerializer ( baseTypeExpression , baseTypeSerializer ) ;
132135 }
133136
134- if ( IsNotKnown ( derivedTypeExpression ) && IsKnown ( baseTypeExpression , out var knownBaseTypeSerializer ) )
137+ if ( IsNotKnown ( derivedTypeExpression ) && IsKnown ( baseTypeExpression , out baseTypeSerializer ) )
135138 {
136- var derivedTypeSerializer = knownBaseTypeSerializer . GetDerivedTypeSerializer ( baseTypeExpression . Type ) ;
137- AddKnownSerializer ( derivedTypeExpression , derivedTypeSerializer ) ;
139+ derivedTypeSerializer = baseTypeSerializer . GetDerivedTypeSerializer ( baseTypeExpression . Type ) ;
140+ AddNodeSerializer ( derivedTypeExpression , derivedTypeSerializer ) ;
138141 }
139142 }
140143
141144 private void DeduceBooleanSerializer ( Expression node )
142145 {
143146 if ( IsNotKnown ( node ) )
144147 {
145- AddKnownSerializer ( node , BooleanSerializer . Instance ) ;
148+ AddNodeSerializer ( node , BooleanSerializer . Instance ) ;
146149 }
147150 }
148151
149152 private void DeduceCharSerializer ( Expression node )
150153 {
151154 if ( IsNotKnown ( node ) )
152155 {
153- AddKnownSerializer ( node , CharSerializer . Instance ) ;
156+ AddNodeSerializer ( node , CharSerializer . Instance ) ;
154157 }
155158 }
156159
157160 private void DeduceCollectionAndCollectionSerializers ( Expression collectionExpression1 , Expression collectionExpression2 )
158161 {
159- if ( IsNotKnown ( collectionExpression1 ) && IsKnown ( collectionExpression2 , out var knownCollectionSerializer2 ) )
162+ IBsonSerializer collectionSerializer1 ;
163+ IBsonSerializer collectionSerializer2 ;
164+
165+ if ( IsNotKnown ( collectionExpression1 ) && IsKnown ( collectionExpression2 , out collectionSerializer2 ) )
160166 {
161- var collectionSerializer1 = CreateCollectionSerializerFromCollectionSerializer ( collectionExpression1 . Type , knownCollectionSerializer2 ) ;
162- AddKnownSerializer ( collectionExpression1 , collectionSerializer1 ) ;
167+ collectionSerializer1 = CreateCollectionSerializerFromCollectionSerializer ( collectionExpression1 . Type , collectionSerializer2 ) ;
168+ AddNodeSerializer ( collectionExpression1 , collectionSerializer1 ) ;
163169 }
164170
165- if ( IsNotKnown ( collectionExpression2 ) && IsKnown ( collectionExpression1 , out var knownCollectionSerializer1 ) )
171+ if ( IsNotKnown ( collectionExpression2 ) && IsKnown ( collectionExpression1 , out collectionSerializer1 ) )
166172 {
167- var collectionSerializer2 = CreateCollectionSerializerFromCollectionSerializer ( collectionExpression2 . Type , knownCollectionSerializer1 ) ;
168- AddKnownSerializer ( collectionExpression2 , collectionSerializer2 ) ;
173+ collectionSerializer2 = CreateCollectionSerializerFromCollectionSerializer ( collectionExpression2 . Type , collectionSerializer1 ) ;
174+ AddNodeSerializer ( collectionExpression2 , collectionSerializer2 ) ;
169175 }
170176 }
171177
@@ -178,15 +184,15 @@ private void DeduceItemAndCollectionSerializers(Expression itemExpression, Expre
178184 {
179185 if ( IsNotKnown ( itemExpression ) && IsItemSerializerKnown ( collectionExpression , out var itemSerializer ) )
180186 {
181- AddKnownSerializer ( itemExpression , itemSerializer ) ;
187+ AddNodeSerializer ( itemExpression , itemSerializer ) ;
182188 }
183189
184190 if ( IsNotKnown ( collectionExpression ) && IsKnown ( itemExpression , out itemSerializer ) )
185191 {
186192 var collectionSerializer = CreateCollectionSerializerFromItemSerializer ( collectionExpression . Type , itemSerializer ) ;
187193 if ( collectionSerializer != null )
188194 {
189- AddKnownSerializer ( collectionExpression , collectionSerializer ) ;
195+ AddNodeSerializer ( collectionExpression , collectionSerializer ) ;
190196 }
191197 }
192198 }
@@ -195,28 +201,28 @@ private void DeduceSerializer(Expression node, IBsonSerializer serializer)
195201 {
196202 if ( IsNotKnown ( node ) && serializer != null )
197203 {
198- AddKnownSerializer ( node , serializer ) ;
204+ AddNodeSerializer ( node , serializer ) ;
199205 }
200206 }
201207
202208 private void DeduceSerializers ( Expression expression1 , Expression expression2 )
203209 {
204210 if ( IsNotKnown ( expression1 ) && IsKnown ( expression2 , out var expression2Serializer ) && expression2Serializer . ValueType == expression1 . Type )
205211 {
206- AddKnownSerializer ( expression1 , expression2Serializer ) ;
212+ AddNodeSerializer ( expression1 , expression2Serializer ) ;
207213 }
208214
209215 if ( IsNotKnown ( expression2 ) && IsKnown ( expression1 , out var expression1Serializer ) && expression1Serializer . ValueType == expression2 . Type )
210216 {
211- AddKnownSerializer ( expression2 , expression1Serializer ) ;
217+ AddNodeSerializer ( expression2 , expression1Serializer ) ;
212218 }
213219 }
214220
215221 private void DeduceStringSerializer ( Expression node )
216222 {
217223 if ( IsNotKnown ( node ) )
218224 {
219- AddKnownSerializer ( node , StringSerializer . Instance ) ;
225+ AddNodeSerializer ( node , StringSerializer . Instance ) ;
220226 }
221227 }
222228
@@ -225,7 +231,7 @@ private void DeduceUnknowableSerializer(Expression node)
225231 if ( IsNotKnown ( node ) )
226232 {
227233 var unknowableSerializer = UnknowableSerializer . Create ( node . Type ) ;
228- AddKnownSerializer ( node , unknowableSerializer ) ;
234+ AddNodeSerializer ( node , unknowableSerializer ) ;
229235 }
230236 }
231237
@@ -243,9 +249,9 @@ nodeSerializer is IBsonArraySerializer arraySerializer &&
243249 return false ;
244250 }
245251
246- private bool IsKnown ( Expression node ) => _knownSerializers . IsKnown ( node ) ;
252+ private bool IsKnown ( Expression node ) => _nodeSerializers . IsKnown ( node ) ;
247253
248- private bool IsKnown ( Expression node , out IBsonSerializer knownSerializer ) => _knownSerializers . IsKnown ( node , out knownSerializer ) ;
254+ private bool IsKnown ( Expression node , out IBsonSerializer nodeSerializer ) => _nodeSerializers . IsKnown ( node , out nodeSerializer ) ;
249255
250- private bool IsNotKnown ( Expression node ) => _knownSerializers . IsNotKnown ( node ) ;
256+ private bool IsNotKnown ( Expression node ) => _nodeSerializers . IsNotKnown ( node ) ;
251257}
0 commit comments