2 types derived from ComplexTypeSpec
Microsoft.Extensions.Configuration.Binder.SourceGeneration (2)
Specs\Types\CollectionSpec.cs (1)
9internal abstract record CollectionSpec : ComplexTypeSpec
Specs\Types\ObjectSpec.cs (1)
9public sealed record ObjectSpec : ComplexTypeSpec
37 references to ComplexTypeSpec
Microsoft.Extensions.Configuration.Binder.SourceGeneration (37)
Emitter\ConfigurationBinder.cs (1)
145foreach ((ComplexTypeSpec type, ImmutableEquatableArray<InvocationLocationInfo> locations) in interceptorInfo)
Emitter\CoreBindingHelpers.cs (16)
135case ComplexTypeSpec complexType: 227foreach (ComplexTypeSpec type in targetTypes) 229ComplexTypeSpec effectiveType = (ComplexTypeSpec)_typeIndex.GetEffectiveTypeSpec(type); 247if (_bindingHelperInfo.TypesForGen_BindCore is not ImmutableEquatableArray<ComplexTypeSpec> types) 252foreach (ComplexTypeSpec type in types) 260private void EmitBindCoreMethod(ComplexTypeSpec type) 265ComplexTypeSpec effectiveType = (ComplexTypeSpec)_typeIndex.GetEffectiveTypeSpec(type); 731case ComplexTypeSpec complexType when _typeIndex.CanInstantiate(complexType): 798case ComplexTypeSpec complexElementType: 958case ComplexTypeSpec complexType: 1007ComplexTypeSpec effectiveMemberType = (ComplexTypeSpec)_typeIndex.GetEffectiveTypeSpec(memberType); 1088ComplexTypeSpec type, 1207private bool EmitObjectInit(ComplexTypeSpec type, string memberAccessExpr, InitializationKind initKind, string configArgExpr)
Parser\ConfigurationBinder.cs (1)
262if (typeSpec is ComplexTypeSpec complexTypeSpec &&
Parser\OptionsBuilderConfigurationExtensions.cs (1)
91if (typeSpec is not ComplexTypeSpec complexTypeSpec)
Parser\OptionsConfigurationServiceCollectionExtensions.cs (2)
83if (typeSpec is ComplexTypeSpec complexTypeSpec && 90private bool TryRegisterTypeForOverloadGen_ServiceCollectionExt(MethodsToGen overload, ComplexTypeSpec typeSpec)
Specs\BindingHelperInfo.cs (8)
18public required ImmutableEquatableArray<ComplexTypeSpec>? TypesForGen_BindCoreMain { get; init; } 21public required ImmutableEquatableArray<ComplexTypeSpec>? TypesForGen_BindCore { get; init; } 52TypesForGen_BindCoreMain = GetTypesForGen_CoreBindingHelper<ComplexTypeSpec>(MethodsToGen_CoreBindingHelper.BindCoreMain), 54TypesForGen_BindCore = GetTypesForGen_CoreBindingHelper<ComplexTypeSpec>(MethodsToGen_CoreBindingHelper.BindCore), 101public bool TryRegisterTypeForBindCoreMainGen(ComplexTypeSpec type) 154if (_typeIndex.GetTypeSpec(collectionSpec.ElementTypeRef) is ComplexTypeSpec) 178if (_typeIndex.GetTypeSpec(property.TypeRef) is ComplexTypeSpec) 205private bool TryRegisterTypeForBindCoreGen(ComplexTypeSpec type)
Specs\InterceptorInfo.cs (5)
65public void RegisterInterceptor_ConfigBinder_Bind(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 136private readonly Dictionary<ComplexTypeSpec, TypedInterceptorInvocationInfo.Builder> _invocationInfoBuilderCache = new(); 138public void RegisterInterceptor(MethodsToGen overload, ComplexTypeSpec type, IInvocationOperation invocation) 154public sealed record TypedInterceptorInvocationInfo(ComplexTypeSpec TargetType, ImmutableEquatableArray<InvocationLocationInfo> Locations) 156public sealed class Builder(MethodsToGen Overload, ComplexTypeSpec TargetType)
Specs\TypeIndex.cs (3)
19ComplexTypeSpec complexTypeSpec => CanInstantiate(complexTypeSpec) || HasBindableMembers(complexTypeSpec), 23public bool CanInstantiate(ComplexTypeSpec typeSpec) => typeSpec switch 31public bool HasBindableMembers(ComplexTypeSpec typeSpec) =>