1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
727
return new
TypeGenerationSpec
44 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (44)
JsonSourceGenerator.Emitter.cs (39)
86
private readonly Dictionary<TypeRef,
TypeGenerationSpec
> _typeIndex = new();
117
foreach (
TypeGenerationSpec
spec in contextGenerationSpec.GeneratedTypes)
122
foreach (
TypeGenerationSpec
typeGenerationSpec in contextGenerationSpec.GeneratedTypes)
206
private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
241
private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
258
private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
279
private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
300
private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
316
private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
332
private SourceText GenerateForCollection(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeGenerationSpec)
424
private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
427
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
477
private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName,
TypeGenerationSpec
typeGenerationSpec)
483
TypeGenerationSpec
valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType];
506
private SourceText GenerateForObject(ContextGenerationSpec contextSpec,
TypeGenerationSpec
typeMetadata)
617
private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
762
TypeGenerationSpec
typeGenerationSpec,
807
TypeGenerationSpec
typeGenerationSpec,
844
TypeGenerationSpec
typeGenerationSpec,
876
private static bool GeneratePropertyAccessors(SourceWriter writer,
TypeGenerationSpec
typeGenerationSpec)
1143
private static string GetConstructorAccessorName(
TypeGenerationSpec
typeSpec)
1146
private static string GetConstructorReflectionCacheName(
TypeGenerationSpec
typeSpec)
1154
private static void GenerateConstructorAccessor(SourceWriter writer,
TypeGenerationSpec
typeSpec)
1215
TypeGenerationSpec
typeGenSpec,
1244
private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName,
TypeGenerationSpec
typeGenerationSpec)
1314
private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName,
TypeGenerationSpec
typeGenSpec)
1353
TypeGenerationSpec
propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType];
1465
private static string GetParameterizedCtorInvocationFunc(
TypeGenerationSpec
typeGenerationSpec)
1556
private static string? GetPrimitiveWriterMethod(
TypeGenerationSpec
type)
1568
private static void GenerateFastPathFuncHeader(SourceWriter writer,
TypeGenerationSpec
typeGenSpec, string methodName, bool skipNullCheck = false)
1597
private static void GenerateSerializeValueStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string valueExpr)
1623
private static void GenerateSerializePropertyStatement(SourceWriter writer,
TypeGenerationSpec
typeSpec, string propertyNameExpr, string valueExpr)
1672
private static void GenerateTypeInfoFactoryHeader(SourceWriter writer,
TypeGenerationSpec
typeMetadata)
2013
foreach (
TypeGenerationSpec
metadata in contextSpec.GeneratedTypes)
2078
private static string CreateTypeInfoMethodName(
TypeGenerationSpec
typeSpec)
2082
private static string FormatDefaultConstructorExpr(
TypeGenerationSpec
typeSpec)
2123
private static bool ShouldGenerateMetadata(
TypeGenerationSpec
typeSpec)
2126
private static bool ShouldGenerateSerializationLogic(
TypeGenerationSpec
typeSpec)
2129
private static bool IsGenerationModeSpecified(
TypeGenerationSpec
typeSpec, JsonSourceGenerationMode mode)
JsonSourceGenerator.Parser.cs (4)
56
private readonly Dictionary<ITypeSymbol,
TypeGenerationSpec
> _generatedTypes = new(SymbolEqualityComparer.Default);
164
TypeGenerationSpec
spec = ParseTypeGenerationSpec(typeToGenerate, contextTypeSymbol, options);
230
if (_generatedTypes.TryGetValue(type, out
TypeGenerationSpec
? spec))
571
private
TypeGenerationSpec
ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32
public required ImmutableEquatableArray<
TypeGenerationSpec
> GeneratedTypes { get; init; }