1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
908return 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) 826private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName, TypeGenerationSpec typeGenerationSpec) 971TypeGenerationSpec typeGenerationSpec, 1016TypeGenerationSpec typeGenerationSpec, 1053TypeGenerationSpec typeGenerationSpec, 1085private static bool GeneratePropertyAccessors(SourceWriter writer, TypeGenerationSpec typeGenerationSpec) 1352private static string GetConstructorAccessorName(TypeGenerationSpec typeSpec) 1355private static string GetConstructorReflectionCacheName(TypeGenerationSpec typeSpec) 1363private static void GenerateConstructorAccessor(SourceWriter writer, TypeGenerationSpec typeSpec) 1424TypeGenerationSpec typeGenSpec, 1453private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName, TypeGenerationSpec typeGenerationSpec) 1523private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName, TypeGenerationSpec typeGenSpec) 1562TypeGenerationSpec propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType]; 1674private static string GetParameterizedCtorInvocationFunc(TypeGenerationSpec typeGenerationSpec) 1763private static string? GetPrimitiveWriterMethod(TypeGenerationSpec type) 1775private static void GenerateFastPathFuncHeader(SourceWriter writer, TypeGenerationSpec typeGenSpec, string methodName, bool skipNullCheck = false) 1804private void GenerateSerializeValueStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string valueExpr) 1835private void GenerateSerializePropertyStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string propertyNameExpr, string valueExpr) 1890private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGenerationSpec typeMetadata) 1939private static void GenerateClosedTypeInferenceGuard(SourceWriter writer, TypeGenerationSpec typeSpec) 2284foreach (TypeGenerationSpec metadata in contextSpec.GeneratedTypes) 2402private static string CreateTypeInfoMethodName(TypeGenerationSpec typeSpec) 2406private static string FormatDefaultConstructorExpr(TypeGenerationSpec typeSpec) 2447private static bool ShouldGenerateMetadata(TypeGenerationSpec typeSpec) 2450private static bool ShouldGenerateSerializationLogic(TypeGenerationSpec typeSpec) 2453private 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; }