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