Exemplo n.º 1
0
 static (string?getter, bool needsConverter) JsonGetter(string type, bool isNullable, JsonType?jsonType, ImmutableDictionary <TypeName, JsonType> jsonTypes)
 {
     if (jsonType?.CanDirectRead(jsonTypes) == true)
     {
         return(jsonType.DirectReadExpression !(jsonTypes), false);
     }
     else if (isNullable)
     {
         return($"JsonSerializer.Deserialize<{type}>(ref reader, options)", false);
     }
     else
     {
         return($"{ConverterLocalName(type)} != null ? {ConverterLocalName(type)}.Read(ref reader, typeof({type}), options) : JsonSerializer.Deserialize<{type}>(ref reader, options)", true);
     }
 }