40 references to StringParsableTypeKind
Microsoft.Extensions.Configuration.Binder.SourceGeneration (40)
ConfigurationBindingGenerator.Parser.cs (17)
188else if (IsParsableFromString(type, out StringParsableTypeKind specialTypeKind)) 234private bool IsParsableFromString(ITypeSymbol type, out StringParsableTypeKind typeKind) 238typeKind = StringParsableTypeKind.ByteArray; 244typeKind = StringParsableTypeKind.None; 250typeKind = StringParsableTypeKind.Enum; 261typeKind = StringParsableTypeKind.AssignFromSectionValue; 267typeKind = StringParsableTypeKind.Parse; 274typeKind = StringParsableTypeKind.Float; 286typeKind = StringParsableTypeKind.Integer; 291typeKind = StringParsableTypeKind.ParseInvariant; 298typeKind = StringParsableTypeKind.CultureInfo; 305typeKind = StringParsableTypeKind.ParseInvariant; 311typeKind = StringParsableTypeKind.ParseInvariant; 315typeKind = StringParsableTypeKind.Uri; 320typeKind = StringParsableTypeKind.Parse; 324typeKind = StringParsableTypeKind.None; 332typeKind = StringParsableTypeKind.None;
Emitter\CoreBindingHelpers.cs (19)
125checkForNullSectionValue: stringParsableType.StringParsableTypeKind is not StringParsableTypeKind.AssignFromSectionValue); 382case ParsableFromStringSpec { StringParsableTypeKind: StringParsableTypeKind.AssignFromSectionValue }: 482if (type.StringParsableTypeKind is not StringParsableTypeKind.Enum) 613StringParsableTypeKind typeKind = type.StringParsableTypeKind; 621case StringParsableTypeKind.ByteArray: 626case StringParsableTypeKind.Integer: 631case StringParsableTypeKind.Float: 636case StringParsableTypeKind.Parse: 641case StringParsableTypeKind.ParseInvariant: 646case StringParsableTypeKind.CultureInfo: 651case StringParsableTypeKind.Uri: 800if (keyType.StringParsableTypeKind is not StringParsableTypeKind.AssignFromSectionValue) 903bool emitNullCheck = member.TypeRef.CanBeNull && stringParsableType.StringParsableTypeKind != StringParsableTypeKind.AssignFromSectionValue; 1172StringParsableTypeKind typeKind = type.StringParsableTypeKind; 1173Debug.Assert(typeKind is not StringParsableTypeKind.None); 1177StringParsableTypeKind.AssignFromSectionValue => sectionValueExpr, 1178StringParsableTypeKind.Enum => $"ParseEnum<{type.TypeRef.FullyQualifiedName}>({sectionValueExpr}, {sectionPathExpr})", 1183if (!checkForNullSectionValue || typeKind == StringParsableTypeKind.AssignFromSectionValue) 1193if (typeKind == StringParsableTypeKind.ByteArray)
Specs\BindingHelperInfo.cs (1)
232if (type.StringParsableTypeKind is not StringParsableTypeKind.AssignFromSectionValue)
Specs\TypeIndex.cs (2)
115Debug.Assert(type.StringParsableTypeKind is not StringParsableTypeKind.AssignFromSectionValue); 117if (type.StringParsableTypeKind is StringParsableTypeKind.ByteArray)
Specs\Types\SimpleTypeSpec.cs (1)
22public required StringParsableTypeKind StringParsableTypeKind { get; init; }