1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
912
return new
TypeGenerationSpec
48 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (48)
JsonSourceGenerator.Emitter.cs (43)
69
private readonly Dictionary<TypeRef,
TypeGenerationSpec
> _typeIndex = new();
106
foreach (
TypeGenerationSpec
spec in contextGenerationSpec.GeneratedTypes)
111
foreach (
TypeGenerationSpec
typeGenerationSpec in contextGenerationSpec.GeneratedTypes)
199
/// Reconstitutes the union of every generated type's <see cref="
TypeGenerationSpec
.ExperimentalDiagnosticIds"/>
213
foreach (
TypeGenerationSpec
generatedType in contextSpec.GeneratedTypes)
243
private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
281
private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
298
private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
319
private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
340
private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
356
private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
372
private SourceText GenerateForCollection(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
473
private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
476
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
525
private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
531
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
554
private SourceText GenerateForObject(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
673
private static SourceText GenerateForUnion(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
838
private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
983
TypeGenerationSpec
typeGenerationSpec,
1028
TypeGenerationSpec
typeGenerationSpec,
1065
TypeGenerationSpec
typeGenerationSpec,
1097
private static bool GeneratePropertyAccessors(SourceWriter writer,
TypeGenerationSpec
typeGenerationSpec)
1364
private static string GetConstructorAccessorName(
TypeGenerationSpec
typeSpec)
1367
private static string GetConstructorReflectionCacheName(
TypeGenerationSpec
typeSpec)
1375
private static void GenerateConstructorAccessor(SourceWriter writer,
TypeGenerationSpec
typeSpec)
1436
TypeGenerationSpec
typeGenSpec,
1465
private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
1535
private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName,
TypeGenerationSpec
typeGenSpec)
1574
TypeGenerationSpec
propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType];
1686
private static string GetParameterizedCtorInvocationFunc(
TypeGenerationSpec
typeGenerationSpec)
1775
private static string? GetPrimitiveWriterMethod(
TypeGenerationSpec
type)
1787
private static void GenerateFastPathFuncHeader(SourceWriter writer,
TypeGenerationSpec
typeGenSpec, string methodName, bool skipNullCheck = false)
1816
private void GenerateSerializeValueStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string valueExpr)
1847
private void GenerateSerializePropertyStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string propertyNameExpr, string valueExpr)
1902
private static void GenerateTypeInfoFactoryHeader(SourceWriter writer,
TypeGenerationSpec
typeMetadata)
1951
private static void GenerateClosedTypeInferenceGuard(SourceWriter writer,
TypeGenerationSpec
typeSpec)
2296
foreach (
TypeGenerationSpec
metadata in contextSpec.GeneratedTypes)
2414
private static string CreateTypeInfoMethodName(
TypeGenerationSpec
typeSpec)
2418
private static string FormatDefaultConstructorExpr(
TypeGenerationSpec
typeSpec)
2459
private static bool ShouldGenerateMetadata(
TypeGenerationSpec
typeSpec)
2462
private static bool ShouldGenerateSerializationLogic(
TypeGenerationSpec
typeSpec)
2465
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))
674
private
TypeGenerationSpec
ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32
public required ImmutableEquatableArray<
TypeGenerationSpec
> GeneratedTypes { get; init; }