1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
912return new TypeGenerationSpec
47 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (47)
JsonSourceGenerator.Emitter.cs (42)
69private readonly Dictionary<TypeRef, TypeGenerationSpec> _typeIndex = new(); 106foreach (TypeGenerationSpec spec in contextGenerationSpec.GeneratedTypes) 111foreach (TypeGenerationSpec typeGenerationSpec in contextGenerationSpec.GeneratedTypes) 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) 829private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName, TypeGenerationSpec typeGenerationSpec) 974TypeGenerationSpec typeGenerationSpec, 1019TypeGenerationSpec typeGenerationSpec, 1056TypeGenerationSpec typeGenerationSpec, 1088private static bool GeneratePropertyAccessors(SourceWriter writer, TypeGenerationSpec typeGenerationSpec) 1355private static string GetConstructorAccessorName(TypeGenerationSpec typeSpec) 1358private static string GetConstructorReflectionCacheName(TypeGenerationSpec typeSpec) 1366private static void GenerateConstructorAccessor(SourceWriter writer, TypeGenerationSpec typeSpec) 1427TypeGenerationSpec typeGenSpec, 1456private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName, TypeGenerationSpec typeGenerationSpec) 1526private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName, TypeGenerationSpec typeGenSpec) 1565TypeGenerationSpec propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType]; 1677private static string GetParameterizedCtorInvocationFunc(TypeGenerationSpec typeGenerationSpec) 1766private static string? GetPrimitiveWriterMethod(TypeGenerationSpec type) 1778private static void GenerateFastPathFuncHeader(SourceWriter writer, TypeGenerationSpec typeGenSpec, string methodName, bool skipNullCheck = false) 1807private void GenerateSerializeValueStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string valueExpr) 1838private void GenerateSerializePropertyStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string propertyNameExpr, string valueExpr) 1893private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGenerationSpec typeMetadata) 1942private static void GenerateClosedTypeInferenceGuard(SourceWriter writer, TypeGenerationSpec typeSpec) 2287foreach (TypeGenerationSpec metadata in contextSpec.GeneratedTypes) 2405private static string CreateTypeInfoMethodName(TypeGenerationSpec typeSpec) 2409private static string FormatDefaultConstructorExpr(TypeGenerationSpec typeSpec) 2450private static bool ShouldGenerateMetadata(TypeGenerationSpec typeSpec) 2453private static bool ShouldGenerateSerializationLogic(TypeGenerationSpec typeSpec) 2456private 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; }