1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
804
return new
TypeGenerationSpec
45 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (45)
JsonSourceGenerator.Emitter.cs (40)
67
private readonly Dictionary<TypeRef,
TypeGenerationSpec
> _typeIndex = new();
98
foreach (
TypeGenerationSpec
spec in contextGenerationSpec.GeneratedTypes)
103
foreach (
TypeGenerationSpec
typeGenerationSpec in contextGenerationSpec.GeneratedTypes)
187
private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
225
private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
242
private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
263
private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
284
private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
300
private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
316
private SourceText GenerateForCollection(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
415
private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
418
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
467
private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
473
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
496
private SourceText GenerateForObject(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
613
private static SourceText GenerateForUnion(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
800
private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
945
TypeGenerationSpec
typeGenerationSpec,
990
TypeGenerationSpec
typeGenerationSpec,
1027
TypeGenerationSpec
typeGenerationSpec,
1059
private static bool GeneratePropertyAccessors(SourceWriter writer,
TypeGenerationSpec
typeGenerationSpec)
1326
private static string GetConstructorAccessorName(
TypeGenerationSpec
typeSpec)
1329
private static string GetConstructorReflectionCacheName(
TypeGenerationSpec
typeSpec)
1337
private static void GenerateConstructorAccessor(SourceWriter writer,
TypeGenerationSpec
typeSpec)
1398
TypeGenerationSpec
typeGenSpec,
1427
private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
1497
private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName,
TypeGenerationSpec
typeGenSpec)
1536
TypeGenerationSpec
propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType];
1648
private static string GetParameterizedCtorInvocationFunc(
TypeGenerationSpec
typeGenerationSpec)
1737
private static string? GetPrimitiveWriterMethod(
TypeGenerationSpec
type)
1749
private static void GenerateFastPathFuncHeader(SourceWriter writer,
TypeGenerationSpec
typeGenSpec, string methodName, bool skipNullCheck = false)
1778
private static void GenerateSerializeValueStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string valueExpr)
1804
private static void GenerateSerializePropertyStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string propertyNameExpr, string valueExpr)
1853
private static void GenerateTypeInfoFactoryHeader(SourceWriter writer,
TypeGenerationSpec
typeMetadata)
2205
foreach (
TypeGenerationSpec
metadata in contextSpec.GeneratedTypes)
2323
private static string CreateTypeInfoMethodName(
TypeGenerationSpec
typeSpec)
2327
private static string FormatDefaultConstructorExpr(
TypeGenerationSpec
typeSpec)
2368
private static bool ShouldGenerateMetadata(
TypeGenerationSpec
typeSpec)
2371
private static bool ShouldGenerateSerializationLogic(
TypeGenerationSpec
typeSpec)
2374
private static bool IsGenerationModeSpecified(
TypeGenerationSpec
typeSpec, JsonSourceGenerationMode mode)
JsonSourceGenerator.Parser.cs (4)
59
private readonly Dictionary<ITypeSymbol,
TypeGenerationSpec
> _generatedTypes = new(SymbolEqualityComparer.Default);
167
TypeGenerationSpec
spec = ParseTypeGenerationSpec(typeToGenerate, contextTypeSymbol, options);
233
if (_generatedTypes.TryGetValue(type, out
TypeGenerationSpec
? spec))
590
private
TypeGenerationSpec
ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32
public required ImmutableEquatableArray<
TypeGenerationSpec
> GeneratedTypes { get; init; }