1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
889return 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, ContextGenerationSpec contextSpec, string propInitMethodName, TypeGenerationSpec typeGenerationSpec) 981TypeGenerationSpec typeGenerationSpec, 1031TypeGenerationSpec typeGenerationSpec, 1069TypeGenerationSpec typeGenerationSpec, 1106private static bool GeneratePropertyAccessors(SourceWriter writer, ContextGenerationSpec contextSpec, TypeGenerationSpec typeGenerationSpec) 1374private static string GetConstructorAccessorName(TypeGenerationSpec typeSpec, bool qualified = true) 1387private static string GetConstructorReflectionCacheName(TypeGenerationSpec typeSpec) 1395private static void GenerateConstructorAccessor(SourceWriter writer, ContextGenerationSpec contextSpec, TypeGenerationSpec typeSpec) 1509TypeGenerationSpec typeGenSpec, 1538private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName, TypeGenerationSpec typeGenerationSpec) 1608private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName, TypeGenerationSpec typeGenSpec) 1647TypeGenerationSpec propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType]; 1759private static string GetParameterizedCtorInvocationFunc(TypeGenerationSpec typeGenerationSpec) 1848private static string? GetPrimitiveWriterMethod(TypeGenerationSpec type) 1860private static void GenerateFastPathFuncHeader(SourceWriter writer, TypeGenerationSpec typeGenSpec, string methodName, bool skipNullCheck = false) 1889private void GenerateSerializeValueStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string valueExpr) 1920private void GenerateSerializePropertyStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string propertyNameExpr, string valueExpr) 1975private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGenerationSpec typeMetadata) 2024private static void GenerateClosedTypeInferenceGuard(SourceWriter writer, TypeGenerationSpec typeSpec) 2369foreach (TypeGenerationSpec metadata in contextSpec.GeneratedTypes) 2487private static string CreateTypeInfoMethodName(TypeGenerationSpec typeSpec) 2491private static string FormatDefaultConstructorExpr(TypeGenerationSpec typeSpec) 2532private static bool ShouldGenerateMetadata(TypeGenerationSpec typeSpec) 2535private static bool ShouldGenerateSerializationLogic(TypeGenerationSpec typeSpec) 2538private static bool IsGenerationModeSpecified(TypeGenerationSpec typeSpec, JsonSourceGenerationMode mode)
JsonSourceGenerator.Parser.cs (4)
60private readonly Dictionary<ITypeSymbol, TypeGenerationSpec> _generatedTypes = new(SymbolEqualityComparer.Default); 173TypeGenerationSpec spec = ParseTypeGenerationSpec(typeToGenerate, contextTypeSymbol, options); 204if (_generatedTypes.TryGetValue(type, out TypeGenerationSpec? spec)) 645private TypeGenerationSpec ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32public required ImmutableEquatableArray<TypeGenerationSpec> GeneratedTypes { get; init; }