4 types derived from TypeSpec
ConfigurationSchemaGenerator (4)
RuntimeSource\Configuration.Binder\Specs\Types\SimpleTypeSpec.cs (1)
8
public abstract record SimpleTypeSpec :
TypeSpec
RuntimeSource\Configuration.Binder\Specs\Types\TypeSpec.cs (3)
41
public abstract record ComplexTypeSpec :
TypeSpec
46
internal sealed record NullableSpec :
TypeSpec
52
internal sealed record UnsupportedTypeSpec :
TypeSpec
45 references to TypeSpec
ConfigurationSchemaGenerator (45)
ConfigSchemaEmitter.cs (6)
36
private readonly Stack<
TypeSpec
> _visitedTypes = new();
101
private bool GeneratePathSegment(JsonObject currentNode,
TypeSpec
type, Queue<string> pathSegments)
186
private bool GenerateType(JsonObject currentNode,
TypeSpec
type)
382
private IPropertySymbol? GetPropertySymbol(
TypeSpec
type, PropertySpec property)
395
private static bool ShouldSkipProperty(PropertySpec property,
TypeSpec
propertyType, IPropertySymbol? propertySymbol)
494
private void GenerateDescriptionForType(JsonObject currentNode,
TypeSpec
type)
ConfigurationBindingGenerator.ForSchemaGeneration.cs (4)
42
var types = new List<
TypeSpec
>();
64
private
TypeSpec
CreateTopTypeSpec(CancellationToken cancellationToken)
67
TypeSpec
result = null;
76
TypeSpec
currentResult;
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (11)
26
private readonly Dictionary<ITypeSymbol,
TypeSpec
> _createdTypeSpecs = new(SymbolEqualityComparer.Default);
126
TypeSpec
typeSpec = _createdTypeSpecs[typeParseInfo.TypeSymbol];
163
if (_createdTypeSpecs.TryGetValue(memberTypeSymbol, out
TypeSpec
? memberTypeSpec))
173
private
TypeSpec
CreateTypeSpec(TypeParseInfo typeParseInfo)
176
TypeSpec
spec;
337
private
TypeSpec
CreateArraySpec(TypeParseInfo typeParseInfo)
362
private
TypeSpec
CreateCollectionSpec(TypeParseInfo typeParseInfo)
366
TypeSpec
spec;
381
private
TypeSpec
CreateDictionarySpec(TypeParseInfo typeParseInfo, ITypeSymbol keyTypeSymbol, ITypeSymbol elementTypeSymbol)
443
private
TypeSpec
CreateEnumerableSpec(TypeParseInfo typeParseInfo)
889
private void RecordTypeDiagnosticIfRequired(TypeParseInfo typeParseInfo,
TypeSpec
typeSpec)
RuntimeSource\Configuration.Binder\Parser\ConfigurationBinder.cs (1)
254
private void RegisterInterceptor_ConfigurationBinder(TypeParseInfo typeParseInfo,
TypeSpec
typeSpec)
RuntimeSource\Configuration.Binder\Parser\OptionsBuilderConfigurationExtensions.cs (1)
86
private void RegisterInterceptor_OptionsBuilderExt(TypeParseInfo typeParseInfo,
TypeSpec
typeSpec)
RuntimeSource\Configuration.Binder\Parser\OptionsConfigurationServiceCollectionExtensions.cs (1)
79
private void RegisterInterceptor_ServiceCollectionExt(TypeParseInfo typeParseInfo,
TypeSpec
typeSpec)
RuntimeSource\Configuration.Binder\Specs\BindingHelperInfo.cs (12)
32
private readonly Dictionary<MethodsToGen_CoreBindingHelper, HashSet<
TypeSpec
>> _typesForGen = new();
51
TypesForGen_GetCore = GetTypesForGen_CoreBindingHelper<
TypeSpec
>(MethodsToGen_CoreBindingHelper.GetCore),
53
TypesForGen_GetValueCore = GetTypesForGen_CoreBindingHelper<
TypeSpec
>(MethodsToGen_CoreBindingHelper.GetValueCore),
60
where TSpec :
TypeSpec
, IEquatable<TSpec>
62
_typesForGen.TryGetValue(overload, out HashSet<
TypeSpec
>? typesAsBase);
69
IEnumerable<TSpec> types = typeof(TSpec) == typeof(
TypeSpec
)
77
where TSpec :
TypeSpec
, IEquatable<TSpec> =>
81
public bool TryRegisterTypeForGetGen(
TypeSpec
type)
93
public bool TryRegisterTypeForGetValueGen(
TypeSpec
typeSpec)
207
private void RegisterTypeForMethodGen(MethodsToGen_CoreBindingHelper method,
TypeSpec
type)
209
if (!_typesForGen.TryGetValue(method, out HashSet<
TypeSpec
>? types))
211
_typesForGen[method] = types = new HashSet<
TypeSpec
>();
RuntimeSource\Configuration.Binder\Specs\TypeIndex.cs (9)
12
internal sealed class TypeIndex(IEnumerable<
TypeSpec
> typeSpecs)
14
private readonly Dictionary<TypeRef,
TypeSpec
> _index = typeSpecs.ToDictionary(spec => spec.TypeRef);
42
TypeSpec
propTypeSpec = GetEffectiveTypeSpec(property.TypeRef);
56
public
TypeSpec
GetEffectiveTypeSpec(TypeRef typeRef)
58
TypeSpec
typeSpec = GetTypeSpec(typeRef);
62
public
TypeSpec
GetEffectiveTypeSpec(
TypeSpec
typeSpec)
65
TypeSpec
effectiveSpec = effectiveRef == typeSpec.TypeRef ? typeSpec : _index[effectiveRef];
69
public
TypeSpec
GetTypeSpec(TypeRef typeRef) => _index[typeRef];