@@ -68,8 +68,8 @@ public void WriteDataLoaderInterface(
6868 kind is DataLoaderKind . Group
6969 ? ": global::GreenDonut.IDataLoader<{0}, {1}[]>"
7070 : ": global::GreenDonut.IDataLoader<{0}, {1}>" ,
71- key . ToFullyQualified ( ) ,
72- value . ToFullyQualified ( ) ) ;
71+ key . ToFullyQualifiedWithNullRefQualifier ( ) ,
72+ value . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
7373
7474 _writer . DecreaseIndent ( ) ;
7575 _writer . WriteIndentedLine ( "{" ) ;
@@ -97,8 +97,8 @@ public void WriteBeginDataLoaderClass(
9797 kind is DataLoaderKind . Group
9898 ? ": global::GreenDonut.DataLoaderBase<{0}, {1}[]>"
9999 : ": global::GreenDonut.DataLoaderBase<{0}, {1}>" ,
100- key . ToFullyQualified ( ) ,
101- value . ToFullyQualified ( ) ) ;
100+ key . ToFullyQualifiedWithNullRefQualifier ( ) ,
101+ value . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
102102 if ( withInterface )
103103 {
104104 _writer . WriteIndentedLine ( ", {0}" , interfaceName ) ;
@@ -174,23 +174,20 @@ public void WriteDataLoaderConstructor(
174174 if ( lookup . IsTransform )
175175 {
176176 _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 ( ) ,
184182 lookup . Method . Name ) ;
185183 }
186184 else
187185 {
188186 _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 ( ) ,
194191 lookup . Method . Name ) ;
195192 }
196193
@@ -221,18 +218,18 @@ public void WriteDataLoaderLoadMethod(
221218 _writer . WriteIndentedLine (
222219 "global::{0}<{1}> keys," ,
223220 WellKnownTypes . ReadOnlyList ,
224- key . ToFullyQualified ( ) ) ;
221+ key . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
225222 _writer . WriteIndentedLine (
226- "global::{0}<{1}<{2}{3}{4} >> results," ,
223+ "global::{0}<{1}<{2}>> results," ,
227224 WellKnownTypes . Memory ,
228225 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 ( ) ) ;
232229 _writer . WriteIndentedLine (
233230 "global::{0}<{1}{2}> context," ,
234231 WellKnownTypes . DataLoaderFetchContext ,
235- value . ToFullyQualified ( ) ,
232+ value . ToFullyQualifiedWithNullRefQualifier ( ) ,
236233 kind is DataLoaderKind . Group ? "[]" : string . Empty ) ;
237234 _writer . WriteIndentedLine (
238235 "global::{0} ct)" ,
@@ -256,14 +253,14 @@ public void WriteDataLoaderLoadMethod(
256253 "var {0} = {1}.GetRequiredService<{2}>();" ,
257254 parameter . VariableName ,
258255 isScoped ? "scope.ServiceProvider" : "_services" ,
259- parameter . Type . ToFullyQualified ( ) ) ;
256+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
260257 }
261258 else if ( parameter . Kind is DataLoaderParameterKind . SelectorBuilder )
262259 {
263260 _writer . WriteIndentedLine (
264261 "var {0} = context.GetState<{1}>(\" {2}\" )" ,
265262 parameter . VariableName ,
266- parameter . Type . ToFullyQualified ( ) ,
263+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
267264 parameter . StateKey ) ;
268265 _writer . IncreaseIndent ( ) ;
269266 _writer . WriteIndentedLine (
@@ -275,7 +272,7 @@ public void WriteDataLoaderLoadMethod(
275272 _writer . WriteIndentedLine (
276273 "var {0} = context.GetState<{1}>(\" {2}\" )" ,
277274 parameter . VariableName ,
278- parameter . Type . ToFullyQualified ( ) ,
275+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
279276 parameter . StateKey ) ;
280277 _writer . IncreaseIndent ( ) ;
281278 _writer . WriteIndentedLine (
@@ -287,12 +284,12 @@ public void WriteDataLoaderLoadMethod(
287284 _writer . WriteIndentedLine (
288285 "var {0} = context.GetState<{1}>(\" {2}\" )" ,
289286 parameter . VariableName ,
290- parameter . Type . ToFullyQualified ( ) ,
287+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
291288 parameter . StateKey ) ;
292289 _writer . IncreaseIndent ( ) ;
293290 _writer . WriteIndentedLine (
294291 "?? {0}.Empty;" ,
295- parameter . Type . ToFullyQualified ( ) ) ;
292+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
296293 _writer . DecreaseIndent ( ) ;
297294 }
298295 else if ( parameter . Kind is DataLoaderParameterKind . QueryContext )
@@ -302,26 +299,26 @@ public void WriteDataLoaderLoadMethod(
302299 parameter . VariableName ,
303300 WellKnownTypes . SelectorBuilder ,
304301 DataLoaderInfo . Selector ,
305- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
302+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
306303 _writer . WriteIndentedLine (
307304 "var {0}_predicate = context.GetState<global::{1}>(\" {2}\" )?.TryCompile<{3}>();" ,
308305 parameter . VariableName ,
309306 WellKnownTypes . PredicateBuilder ,
310307 DataLoaderInfo . Predicate ,
311- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
308+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
312309 _writer . WriteIndentedLine (
313310 "var {0}_sortDefinition = context.GetState<global::{1}<{2}>>(\" {3}\" );" ,
314311 parameter . VariableName ,
315312 WellKnownTypes . SortDefinition ,
316- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ,
313+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ,
317314 DataLoaderInfo . Sorting ) ;
318315 _writer . WriteLine ( ) ;
319316
320317 _writer . WriteIndentedLine (
321318 "var {0} = global::{1}<{2}>.Empty;" ,
322319 parameter . VariableName ,
323320 WellKnownTypes . QueryContext ,
324- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
321+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
325322 _writer . WriteIndentedLine (
326323 "if({0}_selector is not null || {0}_predicate is not null || {0}_sortDefinition is not null)" ,
327324 parameter . VariableName ) ;
@@ -332,7 +329,7 @@ public void WriteDataLoaderLoadMethod(
332329 "{0}_predicate, {0}_sortDefinition);" ,
333330 parameter . VariableName ,
334331 WellKnownTypes . QueryContext ,
335- ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualified ( ) ) ;
332+ ( ( INamedTypeSymbol ) parameter . Type ) . TypeArguments [ 0 ] . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
336333 _writer . DecreaseIndent ( ) ;
337334 _writer . WriteIndentedLine ( "}" ) ;
338335 }
@@ -341,7 +338,7 @@ public void WriteDataLoaderLoadMethod(
341338 _writer . WriteIndentedLine (
342339 "var {0} = context.GetRequiredState<{1}>(\" {2}\" );" ,
343340 parameter . VariableName ,
344- parameter . Type . ToFullyQualified ( ) ,
341+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
345342 parameter . StateKey ) ;
346343 }
347344 else if ( parameter . Kind is DataLoaderParameterKind . ContextData )
@@ -352,28 +349,26 @@ public void WriteDataLoaderLoadMethod(
352349 var defaultValueString = ConvertDefaultValueToString ( defaultValue , parameter . Type ) ;
353350
354351 _writer . WriteIndentedLine (
355- "var {0} = context.GetStateOrDefault<{1}{2} >(\" {3 }\" , {4 });" ,
352+ "var {0} = context.GetStateOrDefault<{1}>(\" {2 }\" , {3 });" ,
356353 parameter . VariableName ,
357- parameter . Type . ToFullyQualified ( ) ,
358- parameter . Type . PrintNullRefQualifier ( ) ,
354+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
359355 parameter . StateKey ,
360356 defaultValueString ) ;
361357 }
362358 else if ( parameter . Type . IsNullableType ( ) )
363359 {
364360 _writer . WriteIndentedLine (
365- "var {0} = context.GetState<{1}{2} >(\" {3 }\" );" ,
361+ "var {0} = context.GetState<{1}>(\" {2 }\" );" ,
366362 parameter . VariableName ,
367- parameter . Type . ToFullyQualified ( ) ,
368- parameter . Type . PrintNullRefQualifier ( ) ,
363+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
369364 parameter . StateKey ) ;
370365 }
371366 else
372367 {
373368 _writer . WriteIndentedLine (
374369 "var {0} = context.GetRequiredState<{1}>(\" {2}\" );" ,
375370 parameter . VariableName ,
376- parameter . Type . ToFullyQualified ( ) ,
371+ parameter . Type . ToFullyQualifiedWithNullRefQualifier ( ) ,
377372 parameter . StateKey ) ;
378373 }
379374 }
@@ -395,9 +390,8 @@ public void WriteDataLoaderLoadMethod(
395390 _writer . WriteIndented ( "var value = " ) ;
396391 WriteFetchCall ( method , containingType , kind , parameters ) ;
397392 _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 ( ) ) ;
401395 }
402396
403397 _writer . WriteIndentedLine ( "}" ) ;
@@ -407,9 +401,8 @@ public void WriteDataLoaderLoadMethod(
407401 using ( _writer . IncreaseIndent ( ) )
408402 {
409403 _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 ( ) ) ;
413406 }
414407
415408 _writer . WriteIndentedLine ( "}" ) ;
@@ -439,14 +432,14 @@ public void WriteDataLoaderLoadMethod(
439432 _writer . WriteIndentedLine (
440433 "global::{0}<{1}> keys," ,
441434 WellKnownTypes . ReadOnlyList ,
442- key . ToFullyQualified ( ) ) ;
435+ key . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
443436 _writer . WriteIndentedLine (
444- "global::{0}<{1}<{2}{3}{4} >> results," ,
437+ "global::{0}<{1}<{2}>> results," ,
445438 WellKnownTypes . Span ,
446439 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 ( ) ) ;
450443 _writer . WriteIndentedLine (
451444 "{0} resultMap)" ,
452445 ExtractMapType ( method . ReturnType ) . ToFullyQualifiedWithNullRefQualifier ( ) ) ;
@@ -501,10 +494,9 @@ public void WriteDataLoaderLoadMethod(
501494 using ( _writer . IncreaseIndent ( ) )
502495 {
503496 _writer . WriteIndentedLine (
504- "results[i] = global::{0}<{1}{2} >.Resolve(value);" ,
497+ "results[i] = global::{0}<{1}>.Resolve(value);" ,
505498 WellKnownTypes . Result ,
506- value . ToFullyQualified ( ) ,
507- value . IsValueType ? string . Empty : "?" ) ;
499+ value . ToNullableFullyQualifiedWithNullRefQualifier ( ) ) ;
508500 }
509501
510502 _writer . WriteIndentedLine ( "}" ) ;
@@ -514,11 +506,12 @@ public void WriteDataLoaderLoadMethod(
514506 using ( _writer . IncreaseIndent ( ) )
515507 {
516508 _writer . WriteIndentedLine (
517- "results[i] = global::{0}<{1}{2} >.Resolve(default({3 }));" ,
509+ "results[i] = global::{0}<{1}>.Resolve(default({2 }));" ,
518510 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 ( ) ) ;
522515 }
523516
524517 _writer . WriteIndentedLine ( "}" ) ;
0 commit comments