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)
69
private readonly Dictionary<TypeRef,
TypeGenerationSpec
> _typeIndex = new();
106
foreach (
TypeGenerationSpec
spec in contextGenerationSpec.GeneratedTypes)
111
foreach (
TypeGenerationSpec
typeGenerationSpec in contextGenerationSpec.GeneratedTypes)
196
private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
234
private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
251
private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
272
private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
293
private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
309
private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
325
private SourceText GenerateForCollection(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
424
private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
427
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
476
private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
482
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
505
private SourceText GenerateForObject(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
622
private static SourceText GenerateForUnion(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
809
private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
954
TypeGenerationSpec
typeGenerationSpec,
999
TypeGenerationSpec
typeGenerationSpec,
1036
TypeGenerationSpec
typeGenerationSpec,
1068
private static bool GeneratePropertyAccessors(SourceWriter writer,
TypeGenerationSpec
typeGenerationSpec)
1335
private static string GetConstructorAccessorName(
TypeGenerationSpec
typeSpec)
1338
private static string GetConstructorReflectionCacheName(
TypeGenerationSpec
typeSpec)
1346
private static void GenerateConstructorAccessor(SourceWriter writer,
TypeGenerationSpec
typeSpec)
1407
TypeGenerationSpec
typeGenSpec,
1436
private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
1506
private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName,
TypeGenerationSpec
typeGenSpec)
1545
TypeGenerationSpec
propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType];
1657
private static string GetParameterizedCtorInvocationFunc(
TypeGenerationSpec
typeGenerationSpec)
1746
private static string? GetPrimitiveWriterMethod(
TypeGenerationSpec
type)
1758
private static void GenerateFastPathFuncHeader(SourceWriter writer,
TypeGenerationSpec
typeGenSpec, string methodName, bool skipNullCheck = false)
1787
private void GenerateSerializeValueStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string valueExpr)
1818
private void GenerateSerializePropertyStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string propertyNameExpr, string valueExpr)
1873
private static void GenerateTypeInfoFactoryHeader(SourceWriter writer,
TypeGenerationSpec
typeMetadata)
2243
foreach (
TypeGenerationSpec
metadata in contextSpec.GeneratedTypes)
2361
private static string CreateTypeInfoMethodName(
TypeGenerationSpec
typeSpec)
2365
private static string FormatDefaultConstructorExpr(
TypeGenerationSpec
typeSpec)
2406
private static bool ShouldGenerateMetadata(
TypeGenerationSpec
typeSpec)
2409
private static bool ShouldGenerateSerializationLogic(
TypeGenerationSpec
typeSpec)
2412
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; }