1 instantiation of TypeGenerationSpec
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
727return new TypeGenerationSpec
44 references to TypeGenerationSpec
System.Text.Json.SourceGeneration (44)
JsonSourceGenerator.Emitter.cs (39)
86private readonly Dictionary<TypeRef, TypeGenerationSpec> _typeIndex = new(); 117foreach (TypeGenerationSpec spec in contextGenerationSpec.GeneratedTypes) 122foreach (TypeGenerationSpec typeGenerationSpec in contextGenerationSpec.GeneratedTypes) 206private SourceText? GenerateTypeInfo(ContextGenerationSpec contextSpec, TypeGenerationSpec typeGenerationSpec) 241private static SourceText GenerateForTypeWithBuiltInConverter(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 258private static SourceText GenerateForTypeWithCustomConverter(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 279private static SourceText GenerateForNullable(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 300private static SourceText GenerateForUnsupportedType(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 316private static SourceText GenerateForEnum(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 332private SourceText GenerateForCollection(ContextGenerationSpec contextSpec, TypeGenerationSpec typeGenerationSpec) 424private void GenerateFastPathFuncForEnumerable(SourceWriter writer, string serializeMethodName, TypeGenerationSpec typeGenerationSpec) 427TypeGenerationSpec valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType]; 477private void GenerateFastPathFuncForDictionary(SourceWriter writer, string serializeMethodName, TypeGenerationSpec typeGenerationSpec) 483TypeGenerationSpec valueTypeGenerationSpec = _typeIndex[typeGenerationSpec.CollectionValueType]; 506private SourceText GenerateForObject(ContextGenerationSpec contextSpec, TypeGenerationSpec typeMetadata) 617private void GeneratePropMetadataInitFunc(SourceWriter writer, string propInitMethodName, TypeGenerationSpec typeGenerationSpec) 762TypeGenerationSpec typeGenerationSpec, 807TypeGenerationSpec typeGenerationSpec, 844TypeGenerationSpec typeGenerationSpec, 876private static bool GeneratePropertyAccessors(SourceWriter writer, TypeGenerationSpec typeGenerationSpec) 1143private static string GetConstructorAccessorName(TypeGenerationSpec typeSpec) 1146private static string GetConstructorReflectionCacheName(TypeGenerationSpec typeSpec) 1154private static void GenerateConstructorAccessor(SourceWriter writer, TypeGenerationSpec typeSpec) 1215TypeGenerationSpec typeGenSpec, 1244private static void GenerateCtorParamMetadataInitFunc(SourceWriter writer, string ctorParamMetadataInitMethodName, TypeGenerationSpec typeGenerationSpec) 1314private void GenerateFastPathFuncForObject(SourceWriter writer, ContextGenerationSpec contextSpec, string serializeMethodName, TypeGenerationSpec typeGenSpec) 1353TypeGenerationSpec propertyTypeSpec = _typeIndex[propertyGenSpec.PropertyType]; 1465private static string GetParameterizedCtorInvocationFunc(TypeGenerationSpec typeGenerationSpec) 1556private static string? GetPrimitiveWriterMethod(TypeGenerationSpec type) 1568private static void GenerateFastPathFuncHeader(SourceWriter writer, TypeGenerationSpec typeGenSpec, string methodName, bool skipNullCheck = false) 1597private static void GenerateSerializeValueStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string valueExpr) 1623private static void GenerateSerializePropertyStatement(SourceWriter writer, TypeGenerationSpec typeSpec, string propertyNameExpr, string valueExpr) 1672private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGenerationSpec typeMetadata) 2013foreach (TypeGenerationSpec metadata in contextSpec.GeneratedTypes) 2078private static string CreateTypeInfoMethodName(TypeGenerationSpec typeSpec) 2082private static string FormatDefaultConstructorExpr(TypeGenerationSpec typeSpec) 2123private static bool ShouldGenerateMetadata(TypeGenerationSpec typeSpec) 2126private static bool ShouldGenerateSerializationLogic(TypeGenerationSpec typeSpec) 2129private static bool IsGenerationModeSpecified(TypeGenerationSpec typeSpec, JsonSourceGenerationMode mode)
JsonSourceGenerator.Parser.cs (4)
56private readonly Dictionary<ITypeSymbol, TypeGenerationSpec> _generatedTypes = new(SymbolEqualityComparer.Default); 164TypeGenerationSpec spec = ParseTypeGenerationSpec(typeToGenerate, contextTypeSymbol, options); 230if (_generatedTypes.TryGetValue(type, out TypeGenerationSpec? spec)) 571private TypeGenerationSpec ParseTypeGenerationSpec(in TypeToGenerate typeToGenerate, INamedTypeSymbol contextType, SourceGenerationOptionsSpec? options)
Model\ContextGenerationSpec.cs (1)
32public required ImmutableEquatableArray<TypeGenerationSpec> GeneratedTypes { get; init; }