@@ -68,8 +68,8 @@ public void WriteDataLoaderInterface(
68
68
kind is DataLoaderKind . Group
69
69
? ": global::GreenDonut.IDataLoader<{0}, {1}[]>"
70
70
: ": global::GreenDonut.IDataLoader<{0}, {1}>" ,
71
- key . ToFullyQualified ( ) ,
72
- value . ToFullyQualified ( ) ) ;
71
+ key . ToFullyQualifiedWithNullRefQualifier ( ) ,
72
+ value . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
73
73
74
74
_writer . DecreaseIndent ( ) ;
75
75
_writer . WriteIndentedLine ( "{" ) ;
@@ -97,8 +97,8 @@ public void WriteBeginDataLoaderClass(
97
97
kind is DataLoaderKind . Group
98
98
? ": global::GreenDonut.DataLoaderBase<{0}, {1}[]>"
99
99
: ": global::GreenDonut.DataLoaderBase<{0}, {1}>" ,
100
- key . ToFullyQualified ( ) ,
101
- value . ToFullyQualified ( ) ) ;
100
+ key . ToFullyQualifiedWithNullRefQualifier ( ) ,
101
+ value . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
102
102
if ( withInterface )
103
103
{
104
104
_writer . WriteIndentedLine ( ", {0}" , interfaceName ) ;
@@ -174,23 +174,20 @@ public void WriteDataLoaderConstructor(
174
174
if ( lookup . IsTransform )
175
175
{
176
176
_writer . WriteIndentedLine (
177
- ".Create<{0}, {1}{2}, {3}{4}>({5}.{6}, this)" ,
178
- keyType . ToFullyQualified ( ) ,
179
- valueType . ToFullyQualified ( ) ,
180
- valueType . PrintNullRefQualifier ( ) ,
181
- lookup . Method . Parameters [ 0 ] . Type . ToFullyQualified ( ) ,
182
- lookup . Method . Parameters [ 0 ] . Type . PrintNullRefQualifier ( ) ,
183
- lookup . Method . ContainingType . ToFullyQualified ( ) ,
177
+ ".Create<{0}, {1}, {2}>({3}.{4}, this)" ,
178
+ keyType . ToFullyQualifiedWithNullRefQualifier ( ) ,
179
+ valueType . ToFullyQualifiedWithNullRefQualifier ( ) ,
180
+ lookup . Method . Parameters [ 0 ] . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
181
+ lookup . Method . ContainingType . ToFullyQualifiedWithNullRefQualifier ( ) ,
184
182
lookup . Method . Name ) ;
185
183
}
186
184
else
187
185
{
188
186
_writer . WriteIndentedLine (
189
- ".Create<{0}, {1}{2}>({3}.{4}, this)" ,
190
- keyType . ToFullyQualified ( ) ,
191
- valueType . ToFullyQualified ( ) ,
192
- valueType . PrintNullRefQualifier ( ) ,
193
- lookup . Method . ContainingType . ToFullyQualified ( ) ,
187
+ ".Create<{0}, {1}>({2}.{3}, this)" ,
188
+ keyType . ToFullyQualifiedWithNullRefQualifier ( ) ,
189
+ valueType . ToFullyQualifiedWithNullRefQualifier ( ) ,
190
+ lookup . Method . ContainingType . ToFullyQualifiedWithNullRefQualifier ( ) ,
194
191
lookup . Method . Name ) ;
195
192
}
196
193
@@ -221,18 +218,18 @@ public void WriteDataLoaderLoadMethod(
221
218
_writer . WriteIndentedLine (
222
219
"global::{0}<{1}> keys," ,
223
220
WellKnownTypes . ReadOnlyList ,
224
- key . ToFullyQualified ( ) ) ;
221
+ key . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
225
222
_writer . WriteIndentedLine (
226
- "global::{0}<{1}<{2}{3}{4} >> results," ,
223
+ "global::{0}<{1}<{2}>> results," ,
227
224
WellKnownTypes . Memory ,
228
225
WellKnownTypes . Result ,
229
- value . ToFullyQualified ( ) ,
230
- kind is DataLoaderKind . Group ? "[]" : string . Empty ,
231
- value . IsValueType ? string . Empty : "?" ) ;
226
+ kind is DataLoaderKind . Group
227
+ ? $ " { value . ToClassNonNullableFullyQualifiedWithNullRefQualifier ( ) } []?"
228
+ : value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
232
229
_writer . WriteIndentedLine (
233
230
"global::{0}<{1}{2}> context," ,
234
231
WellKnownTypes . DataLoaderFetchContext ,
235
- value . ToFullyQualified ( ) ,
232
+ value . ToFullyQualifiedWithNullRefQualifier ( ) ,
236
233
kind is DataLoaderKind . Group ? "[]" : string . Empty ) ;
237
234
_writer . WriteIndentedLine (
238
235
"global::{0} ct)" ,
@@ -256,14 +253,14 @@ public void WriteDataLoaderLoadMethod(
256
253
"var {0} = {1}.GetRequiredService<{2}>();" ,
257
254
parameter . VariableName ,
258
255
isScoped ? "scope.ServiceProvider" : "_services" ,
259
- parameter . Type . ToFullyQualified ( ) ) ;
256
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
260
257
}
261
258
else if ( parameter . Kind is DataLoaderParameterKind . SelectorBuilder )
262
259
{
263
260
_writer . WriteIndentedLine (
264
261
"var {0} = context.GetState<{1}>(\" {2}\" )" ,
265
262
parameter . VariableName ,
266
- parameter . Type . ToFullyQualified ( ) ,
263
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
267
264
parameter . StateKey ) ;
268
265
_writer . IncreaseIndent ( ) ;
269
266
_writer . WriteIndentedLine (
@@ -275,7 +272,7 @@ public void WriteDataLoaderLoadMethod(
275
272
_writer . WriteIndentedLine (
276
273
"var {0} = context.GetState<{1}>(\" {2}\" )" ,
277
274
parameter . VariableName ,
278
- parameter . Type . ToFullyQualified ( ) ,
275
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
279
276
parameter . StateKey ) ;
280
277
_writer . IncreaseIndent ( ) ;
281
278
_writer . WriteIndentedLine (
@@ -287,12 +284,12 @@ public void WriteDataLoaderLoadMethod(
287
284
_writer . WriteIndentedLine (
288
285
"var {0} = context.GetState<{1}>(\" {2}\" )" ,
289
286
parameter . VariableName ,
290
- parameter . Type . ToFullyQualified ( ) ,
287
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
291
288
parameter . StateKey ) ;
292
289
_writer . IncreaseIndent ( ) ;
293
290
_writer . WriteIndentedLine (
294
291
"?? {0}.Empty;" ,
295
- parameter . Type . ToFullyQualified ( ) ) ;
292
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
296
293
_writer . DecreaseIndent ( ) ;
297
294
}
298
295
else if ( parameter . Kind is DataLoaderParameterKind . QueryContext )
@@ -302,26 +299,26 @@ public void WriteDataLoaderLoadMethod(
302
299
parameter . VariableName ,
303
300
WellKnownTypes . SelectorBuilder ,
304
301
DataLoaderInfo . Selector ,
305
- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
302
+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
306
303
_writer . WriteIndentedLine (
307
304
"var {0}_predicate = context.GetState<global::{1}>(\" {2}\" )?.TryCompile<{3}>();" ,
308
305
parameter . VariableName ,
309
306
WellKnownTypes . PredicateBuilder ,
310
307
DataLoaderInfo . Predicate ,
311
- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
308
+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
312
309
_writer . WriteIndentedLine (
313
310
"var {0}_sortDefinition = context.GetState<global::{1}<{2}>>(\" {3}\" );" ,
314
311
parameter . VariableName ,
315
312
WellKnownTypes . SortDefinition ,
316
- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ,
313
+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ,
317
314
DataLoaderInfo . Sorting ) ;
318
315
_writer . WriteLine ( ) ;
319
316
320
317
_writer . WriteIndentedLine (
321
318
"var {0} = global::{1}<{2}>.Empty;" ,
322
319
parameter . VariableName ,
323
320
WellKnownTypes . QueryContext ,
324
- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
321
+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
325
322
_writer . WriteIndentedLine (
326
323
"if({0}_selector is not null || {0}_predicate is not null || {0}_sortDefinition is not null)" ,
327
324
parameter . VariableName ) ;
@@ -332,7 +329,7 @@ public void WriteDataLoaderLoadMethod(
332
329
"{0}_predicate, {0}_sortDefinition);" ,
333
330
parameter . VariableName ,
334
331
WellKnownTypes . QueryContext ,
335
- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
332
+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
336
333
_writer . DecreaseIndent ( ) ;
337
334
_writer . WriteIndentedLine ( "}" ) ;
338
335
}
@@ -341,7 +338,7 @@ public void WriteDataLoaderLoadMethod(
341
338
_writer . WriteIndentedLine (
342
339
"var {0} = context.GetRequiredState<{1}>(\" {2}\" );" ,
343
340
parameter . VariableName ,
344
- parameter . Type . ToFullyQualified ( ) ,
341
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
345
342
parameter . StateKey ) ;
346
343
}
347
344
else if ( parameter . Kind is DataLoaderParameterKind . ContextData )
@@ -352,28 +349,26 @@ public void WriteDataLoaderLoadMethod(
352
349
var defaultValueString = ConvertDefaultValueToString ( defaultValue , parameter . Type ) ;
353
350
354
351
_writer . WriteIndentedLine (
355
- "var {0} = context.GetStateOrDefault<{1}{2} >(\" {3 }\" , {4 });" ,
352
+ "var {0} = context.GetStateOrDefault<{1}>(\" {2 }\" , {3 });" ,
356
353
parameter . VariableName ,
357
- parameter . Type . ToFullyQualified ( ) ,
358
- parameter . Type . PrintNullRefQualifier ( ) ,
354
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
359
355
parameter . StateKey ,
360
356
defaultValueString ) ;
361
357
}
362
358
else if ( parameter . Type . IsNullableType ( ) )
363
359
{
364
360
_writer . WriteIndentedLine (
365
- "var {0} = context.GetState<{1}{2} >(\" {3 }\" );" ,
361
+ "var {0} = context.GetState<{1}>(\" {2 }\" );" ,
366
362
parameter . VariableName ,
367
- parameter . Type . ToFullyQualified ( ) ,
368
- parameter . Type . PrintNullRefQualifier ( ) ,
363
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
369
364
parameter . StateKey ) ;
370
365
}
371
366
else
372
367
{
373
368
_writer . WriteIndentedLine (
374
369
"var {0} = context.GetRequiredState<{1}>(\" {2}\" );" ,
375
370
parameter . VariableName ,
376
- parameter . Type . ToFullyQualified ( ) ,
371
+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
377
372
parameter . StateKey ) ;
378
373
}
379
374
}
@@ -395,9 +390,8 @@ public void WriteDataLoaderLoadMethod(
395
390
_writer . WriteIndented ( "var value = " ) ;
396
391
WriteFetchCall ( method , containingType , kind , parameters ) ;
397
392
_writer . WriteIndentedLine (
398
- "results.Span[i] = Result<{0}{1}>.Resolve(value);" ,
399
- value . ToFullyQualified ( ) ,
400
- value . IsValueType ? string . Empty : "?" ) ;
393
+ "results.Span[i] = Result<{0}>.Resolve(value);" ,
394
+ value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
401
395
}
402
396
403
397
_writer . WriteIndentedLine ( "}" ) ;
@@ -407,9 +401,8 @@ public void WriteDataLoaderLoadMethod(
407
401
using ( _writer . IncreaseIndent ( ) )
408
402
{
409
403
_writer . WriteIndentedLine (
410
- "results.Span[i] = Result<{0}{1}>.Reject(ex);" ,
411
- value . ToFullyQualified ( ) ,
412
- value . IsValueType ? string . Empty : "?" ) ;
404
+ "results.Span[i] = Result<{0}>.Reject(ex);" ,
405
+ value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
413
406
}
414
407
415
408
_writer . WriteIndentedLine ( "}" ) ;
@@ -439,14 +432,14 @@ public void WriteDataLoaderLoadMethod(
439
432
_writer . WriteIndentedLine (
440
433
"global::{0}<{1}> keys," ,
441
434
WellKnownTypes . ReadOnlyList ,
442
- key . ToFullyQualified ( ) ) ;
435
+ key . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
443
436
_writer . WriteIndentedLine (
444
- "global::{0}<{1}<{2}{3}{4} >> results," ,
437
+ "global::{0}<{1}<{2}>> results," ,
445
438
WellKnownTypes . Span ,
446
439
WellKnownTypes . Result ,
447
- value . ToFullyQualified ( ) ,
448
- kind is DataLoaderKind . Group ? "[]" : string . Empty ,
449
- value . IsValueType ? string . Empty : "?" ) ;
440
+ kind is DataLoaderKind . Group
441
+ ? $ " { value . ToClassNonNullableFullyQualifiedWithNullRefQualifier ( ) } []?"
442
+ : value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
450
443
_writer . WriteIndentedLine (
451
444
"{0} resultMap)" ,
452
445
ExtractMapType ( method . ReturnType ) . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
@@ -501,10 +494,9 @@ public void WriteDataLoaderLoadMethod(
501
494
using ( _writer . IncreaseIndent ( ) )
502
495
{
503
496
_writer . WriteIndentedLine (
504
- "results[i] = global::{0}<{1}{2} >.Resolve(value);" ,
497
+ "results[i] = global::{0}<{1}>.Resolve(value);" ,
505
498
WellKnownTypes . Result ,
506
- value . ToFullyQualified ( ) ,
507
- value . IsValueType ? string . Empty : "?" ) ;
499
+ value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
508
500
}
509
501
510
502
_writer . WriteIndentedLine ( "}" ) ;
@@ -514,11 +506,12 @@ public void WriteDataLoaderLoadMethod(
514
506
using ( _writer . IncreaseIndent ( ) )
515
507
{
516
508
_writer . WriteIndentedLine (
517
- "results[i] = global::{0}<{1}{2} >.Resolve(default({3 }));" ,
509
+ "results[i] = global::{0}<{1}>.Resolve(default({2 }));" ,
518
510
WellKnownTypes . Result ,
519
- value . ToFullyQualified ( ) ,
520
- value . IsValueType ? string . Empty : "?" ,
521
- value . ToFullyQualified ( ) ) ;
511
+ value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ,
512
+ value . IsValueType
513
+ ? value . ToNullableFullyQualifiedWithNullRefQualifier ( )
514
+ : value . ToFullyQualified ( ) ) ;
522
515
}
523
516
524
517
_writer . WriteIndentedLine ( "}" ) ;
0 commit comments