1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
804return new TypeGenerationSpec
45 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (45)
JsonSourceGenerator.Emitter.cs (40)
67private readonly Dictionary<TypeRef, TypeGenerationSpec> _typeIndex = new(); 98foreach (TypeGenerationSpec spec in contextGenerationSpec.GeneratedTypes) 103foreach (TypeGenerationSpec typeGenerationSpec in contextGenerationSpec.GeneratedTypes) 187private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec, TypeGenerationSpec typeGenerationSpec) 225private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 242private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 263private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 284private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 300private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 316private SourceText GenerateForCollection(ContextGenerationSpec contextSpec, TypeGenerationSpec typeGenerationSpec) 415private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName, TypeGenerationSpec typeGenerationSpec) 418TypeGenerationSpec valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType]; 467private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName, TypeGenerationSpec typeGenerationSpec) 473TypeGenerationSpec valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType]; 496private SourceText GenerateForObject(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 613private static SourceText GenerateForUnion(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 800private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName, TypeGenerationSpec typeGenerationSpec) 945TypeGenerationSpec typeGenerationSpec, 990TypeGenerationSpec typeGenerationSpec, 1027TypeGenerationSpec typeGenerationSpec, 1059private static bool GeneratePropertyAccessors(SourceWriter writer, TypeGenerationSpec typeGenerationSpec) 1326private static string GetConstructorAccessorName(TypeGenerationSpec typeSpec) 1329private static string GetConstructorReflectionCacheName(TypeGenerationSpec typeSpec) 1337private static void GenerateConstructorAccessor(SourceWriter writer, TypeGenerationSpec typeSpec) 1398TypeGenerationSpec typeGenSpec, 1427private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName, TypeGenerationSpec typeGenerationSpec) 1497private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName, TypeGenerationSpec typeGenSpec) 1536TypeGenerationSpec propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType]; 1648private static string GetParameterizedCtorInvocationFunc(TypeGenerationSpec typeGenerationSpec) 1737private static string? GetPrimitiveWriterMethod(TypeGenerationSpec type) 1749private static void GenerateFastPathFuncHeader(SourceWriter writer, TypeGenerationSpec typeGenSpec, string methodName, bool skipNullCheck = false) 1778private static void GenerateSerializeValueStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string valueExpr) 1804private static void GenerateSerializePropertyStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string propertyNameExpr, string valueExpr) 1853private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGenerationSpec typeMetadata) 2205foreach (TypeGenerationSpec metadata in contextSpec.GeneratedTypes) 2323private static string CreateTypeInfoMethodName(TypeGenerationSpec typeSpec) 2327private static string FormatDefaultConstructorExpr(TypeGenerationSpec typeSpec) 2368private static bool ShouldGenerateMetadata(TypeGenerationSpec typeSpec) 2371private static bool ShouldGenerateSerializationLogic(TypeGenerationSpec typeSpec) 2374private 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)) 590private TypeGenerationSpec ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32public required ImmutableEquatableArray<TypeGenerationSpec> GeneratedTypes { get; init; }