2 types derived from ConversionsBase
Microsoft.CodeAnalysis.CSharp (2)
Binder\Semantics\Conversions\Conversions.cs (1)
15internal sealed class Conversions : ConversionsBase
Binder\Semantics\Conversions\TypeConversions.cs (1)
13internal sealed class TypeConversions : ConversionsBase
120 references to ConversionsBase
Microsoft.CodeAnalysis.CSharp (108)
Binder\Binder.ValueChecks.cs (1)
4795var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(_compilation, expr.Type, out var elementType);
Binder\Binder_Conversions.cs (3)
2334var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, targetType, out TypeWithAnnotations elementTypeWithAnnotations); 3578return ConversionsBase.HasIdentityConversion(source, destination); 3587&& (ConversionsBase.HasImplicitPointerToVoidConversion(source, destination)
Binder\Binder_Expressions.cs (1)
11579static bool checkConstraints(CSharpCompilation compilation, ConversionsBase conversions, NamedTypeSymbol delegateType, ImmutableArray<TypeWithAnnotations> typeArguments)
Binder\Binder_Patterns.cs (1)
1162ConversionsBase conversions,
Binder\Binder_Statements.cs (1)
2296ConversionsBase.HasImplicitConstantExpressionConversion(new BoundLiteral(syntax, ConstantValue.Bad, sourceType), targetType))
Binder\DecisionDagBuilder.cs (1)
2648ConversionsBase conversions,
Binder\Semantics\BestTypeInferrer.cs (4)
53ConversionsBase conversions, 179ConversionsBase conversions, 262ConversionsBase conversions, 289var conversionsWithoutNullability = conversions.WithNullability(false);
Binder\Semantics\Conversions\Conversions.cs (2)
30protected override ConversionsBase CreateInstance(int currentRecursionDepth) 38protected override ConversionsBase WithNullabilityCore(bool includeNullability)
Binder\Semantics\Conversions\ConversionsBase.cs (13)
31private ConversionsBase _lazyOtherNullability; 33protected ConversionsBase(AssemblySymbol corLibrary, int currentRecursionDepth, bool includeNullability, ConversionsBase otherNullabilityOpt) 50internal ConversionsBase WithNullability(bool includeNullability) 65protected abstract ConversionsBase WithNullabilityCore(bool includeNullability); 73protected abstract ConversionsBase CreateInstance(int currentRecursionDepth); 1975(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) => 1992(ConversionsBase conversions, TypeWithAnnotations s, TypeWithAnnotations d, bool _, ref CompoundUseSiteInfo<AssemblySymbol> u, bool _) => 2295private delegate Conversion ClassifyConversionFromExpressionDelegate(ConversionsBase conversions, BoundExpression sourceExpression, TypeWithAnnotations destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast); 2296private delegate Conversion ClassifyConversionFromTypeDelegate(ConversionsBase conversions, TypeWithAnnotations source, TypeWithAnnotations destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast); 2310(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) 2328(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) => 2381(ConversionsBase conversions, TypeWithAnnotations s, TypeWithAnnotations d, bool _, ref CompoundUseSiteInfo<AssemblySymbol> u, bool _) => 2403(ConversionsBase conversions, TypeWithAnnotations s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) =>
Binder\Semantics\Conversions\TypeConversions.cs (2)
25protected override ConversionsBase CreateInstance(int currentRecursionDepth) 30protected override ConversionsBase WithNullabilityCore(bool includeNullability)
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (10)
135private readonly ConversionsBase _conversions; 174ConversionsBase conversions, 326ConversionsBase conversions, 2862ConversionsBase conversions, 3040private static bool ImplicitConversionExists(TypeWithAnnotations sourceWithAnnotations, TypeWithAnnotations destinationWithAnnotations, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConversionsBase conversions) 3191ConversionsBase conversions, 3242ConversionsBase conversions, 3257ConversionsBase conversions, 3376ConversionsBase conversions) 3420ConversionsBase conversions,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
880returnsMatch = ConversionsBase.HasImplicitPointerToVoidConversion(method.ReturnType, returnType) 1340var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(binder.Compilation, type, out elementType); 3227CollectionExpressionTypeKind kind1 = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, t1, out TypeWithAnnotations elementType1); 3228CollectionExpressionTypeKind kind2 = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, t2, out TypeWithAnnotations elementType2);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1002ConversionsBase conversions,
BoundTree\BoundConversion.cs (2)
85Debug.Assert(ConversionsBase.IsEncompassingImplicitConversionKind(Conversion.Kind) || 180Debug.Assert(ConversionsBase.IsEncompassingImplicitConversionKind(Conversion.Kind));
BoundTree\UnboundLambda.cs (6)
123public TypeWithAnnotations GetInferredReturnType(ConversionsBase? conversions, NullableWalker.VariableState? nullableState, NullableWalker.GetterNullResilienceData? getterNullResilienceData, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out bool inferredFromFunctionType) 198BoundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions) 205UnboundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions) 215BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 259ConversionsBase conversions, 502public TypeWithAnnotations InferReturnType(ConversionsBase conversions, NamedTypeSymbol delegateType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out bool inferredFromFunctionType)
FlowAnalysis\NullableWalker.cs (1)
4199var collectionKind = ConversionsBase.GetCollectionExpressionTypeKind(this.compilation, collectionType, out var targetElementType);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (2)
44if (ConversionsBase.IsSpanOrListType(_compilation, node.Type, WellKnownType.System_Collections_Generic_List_T, out var listElementType)) 235ConversionsBase.HasIdentityConversion(parameter.Type, spreadType) &&
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
701(memberSymbol.IsExtensionBlockMember() && !memberSymbol.IsStatic && ConversionsBase.IsValidExtensionMethodThisArgConversion(_compilation.Conversions.ClassifyConversionFromType(rewrittenReceiver.Type, memberSymbol.ContainingType.ExtensionParameter!.Type, isChecked: false, ref discardedUseSiteInfo))) ||
Symbols\ConstraintsHelper.cs (11)
491ConversionsBase conversions, 504ConversionsBase conversions) 529public readonly ConversionsBase Conversions; 535public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, Location location, BindingDiagnosticBag diagnostics) : 540public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics) : 545public CheckConstraintsArgs(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics, CompoundUseSiteInfo<AssemblySymbol> template) 563public static CheckConstraintsArgsBoxed Allocate(CSharpCompilation currentCompilation, ConversionsBase conversions, Location location, BindingDiagnosticBag diagnostics) 571public static CheckConstraintsArgsBoxed Allocate(CSharpCompilation currentCompilation, ConversionsBase conversions, bool includeNullability, Location location, BindingDiagnosticBag diagnostics) 1345ConversionsBase conversions, 1550private static bool IsEncompassedBy(ConversionsBase conversions, TypeSymbol a, TypeSymbol b, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1622private static void CheckEffectiveAndDeducedBaseTypes(ConversionsBase conversions, TypeSymbol effectiveBase, TypeSymbol deducedBase)
Symbols\FunctionTypeSymbol.cs (1)
29/// to allow types and function signatures to be treated similarly in <see cref="ConversionsBase"/>,
Symbols\ReducedExtensionMethodSymbol.cs (2)
52var conversions = compilation?.Conversions ?? (ConversionsBase)method.ContainingAssembly.CorLibrary.TypeConversions;
Symbols\Source\SourceComplexParameterSymbol.cs (1)
1618var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(DeclaringCompilation, Type, out TypeWithAnnotations elementTypeWithAnnotations);
Symbols\Source\SourceConstructorSymbolBase.cs (1)
86internal sealed override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceCustomEventSymbol.cs (1)
215internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceDelegateMethodSymbol.cs (1)
312internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceEventSymbol.cs (1)
869internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceFieldSymbol.cs (1)
134internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
1379ConversionsBase conversions,
Symbols\Source\SourceMemberFieldSymbol.cs (1)
657internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceMemberMethodSymbol.cs (1)
974internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (2)
1203ConversionsBase conversions = compilation?.Conversions ?? (ConversionsBase)extensionMember.ContainingAssembly.CorLibrary.TypeConversions;
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (2)
220internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 283protected abstract void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics);
Symbols\Source\SourceOrdinaryMethodSymbol.cs (4)
466protected abstract override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics); 713internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 993protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 1127protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourcePropertySymbol.cs (1)
666internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourcePropertySymbolBase.cs (1)
871internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (1)
1009protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SynthesizedSourceOrdinaryMethodSymbol.cs (1)
62protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Symbol.cs (1)
757internal virtual void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Synthesized\SynthesizedUnionCtor.cs (1)
80internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Utilities\ITypeUnionValueSetFactory.cs (4)
11TypeUnionValueSet AllValues(ConversionsBase conversions); 12TypeUnionValueSet FromTypeMatch(TypeSymbol type, ConversionsBase conversions, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo); 13TypeUnionValueSet FromNullMatch(ConversionsBase conversions); 14TypeUnionValueSet FromNonNullMatch(ConversionsBase conversions);
Utilities\TypeUnionValueSet.cs (7)
21private readonly ConversionsBase _conversions; 50ConversionsBase conversions) 60internal static TypeUnionValueSet AllValues(ImmutableArray<TypeSymbol> typesInUnion, ConversionsBase conversions) 65internal static TypeUnionValueSet FromTypeMatch(ImmutableArray<TypeSymbol> typesInUnion, TypeSymbol type, ConversionsBase conversions, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 76private static bool AnyTypeFromUnionMightMatch(ImmutableArray<TypeSymbol> typesInUnion, TypeSymbol type, ConversionsBase conversions, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 98internal static TypeUnionValueSet FromNullMatch(ImmutableArray<TypeSymbol> typesInUnion, ConversionsBase conversions) 103internal static TypeUnionValueSet FromNonNullMatch(ImmutableArray<TypeSymbol> typesInUnion, ConversionsBase conversions)
Utilities\ValueSetFactory.UnionTypeTypeUnionValueSetFactory.cs (4)
30public TypeUnionValueSet AllValues(ConversionsBase conversions) 35public TypeUnionValueSet FromTypeMatch(TypeSymbol type, ConversionsBase conversions, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 40public TypeUnionValueSet FromNullMatch(ConversionsBase conversions) 45public TypeUnionValueSet FromNonNullMatch(ConversionsBase conversions)
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (11)
Semantics\CollectionExpressionTests.cs (11)
4991Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 5046Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 6110Assert.Equal(CollectionExpressionTypeKind.None, ConversionsBase.GetCollectionExpressionTypeKind(comp, listType, out var elementType)); 32543Assert.Equal(CollectionExpressionTypeKind.CollectionBuilder, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out var elementType)); 32603Assert.Equal(CollectionExpressionTypeKind.CollectionBuilder, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32814Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32838Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32873Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32895Assert.Equal(CollectionExpressionTypeKind.ImplementsIEnumerable, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32927Assert.Equal(CollectionExpressionTypeKind.None, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _)); 32949Assert.Equal(CollectionExpressionTypeKind.None, ConversionsBase.GetCollectionExpressionTypeKind(comp, collectionType, out _));
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
891public static Conversion ClassifyConversionFromType(this ConversionsBase conversions, TypeSymbol source, TypeSymbol destination, ref HashSet<DiagnosticInfo> useSiteDiagnostics, bool forCast = false)