1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
627
return new
TypeGenerationSpec
35 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (35)
JsonSourceGenerator.Emitter.cs (31)
75
private readonly Dictionary<TypeRef,
TypeGenerationSpec
> _typeIndex = new();
100
foreach (
TypeGenerationSpec
spec in contextGenerationSpec.GeneratedTypes)
105
foreach (
TypeGenerationSpec
typeGenerationSpec in contextGenerationSpec.GeneratedTypes)
188
private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
223
private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
240
private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
261
private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
282
private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
298
private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
314
private SourceText GenerateForCollection(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
406
private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
409
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
459
private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
465
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
488
private SourceText GenerateForObject(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
581
private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
683
private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
738
private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName,
TypeGenerationSpec
typeGenSpec)
773
TypeGenerationSpec
propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType];
846
private static string GetParameterizedCtorInvocationFunc(
TypeGenerationSpec
typeGenerationSpec)
886
private static string? GetPrimitiveWriterMethod(
TypeGenerationSpec
type)
898
private static void GenerateFastPathFuncHeader(SourceWriter writer,
TypeGenerationSpec
typeGenSpec, string methodName, bool skipNullCheck = false)
927
private static void GenerateSerializeValueStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string valueExpr)
953
private static void GenerateSerializePropertyStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string propertyNameExpr, string valueExpr)
998
private static void GenerateTypeInfoFactoryHeader(SourceWriter writer,
TypeGenerationSpec
typeMetadata)
1299
foreach (
TypeGenerationSpec
metadata in contextSpec.GeneratedTypes)
1364
private static string CreateTypeInfoMethodName(
TypeGenerationSpec
typeSpec)
1368
private static string FormatDefaultConstructorExpr(
TypeGenerationSpec
typeSpec)
1407
private static bool ShouldGenerateMetadata(
TypeGenerationSpec
typeSpec)
1410
private static bool ShouldGenerateSerializationLogic(
TypeGenerationSpec
typeSpec)
1413
private static bool IsGenerationModeSpecified(
TypeGenerationSpec
typeSpec, JsonSourceGenerationMode mode)
JsonSourceGenerator.Parser.cs (4)
47
private readonly Dictionary<ITypeSymbol,
TypeGenerationSpec
> _generatedTypes = new(SymbolEqualityComparer.Default);
146
TypeGenerationSpec
spec = ParseTypeGenerationSpec(typeToGenerate, contextTypeSymbol, options);
212
if (_generatedTypes.TryGetValue(type, out
TypeGenerationSpec
? spec))
481
private
TypeGenerationSpec
ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)