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