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
87 references to ConversionsBase
Microsoft.CodeAnalysis.CSharp (87)
Binder\Binder.ValueChecks.cs (1)
4640var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(_compilation, expr.Type, out var elementType);
Binder\Binder_Conversions.cs (3)
1764var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, targetType, out TypeWithAnnotations elementTypeWithAnnotations); 2958return ConversionsBase.HasIdentityConversion(source, destination); 2967&& (ConversionsBase.HasImplicitPointerToVoidConversion(source, destination)
Binder\Binder_Expressions.cs (1)
11272static bool checkConstraints(CSharpCompilation compilation, ConversionsBase conversions, NamedTypeSymbol delegateType, ImmutableArray<TypeWithAnnotations> typeArguments)
Binder\Binder_Statements.cs (1)
2266ConversionsBase.HasImplicitConstantExpressionConversion(new BoundLiteral(syntax, ConstantValue.Bad, sourceType), targetType))
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); 1959(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) => 1976(ConversionsBase conversions, TypeWithAnnotations s, TypeWithAnnotations d, bool _, ref CompoundUseSiteInfo<AssemblySymbol> u, bool _) => 2279private delegate Conversion ClassifyConversionFromExpressionDelegate(ConversionsBase conversions, BoundExpression sourceExpression, TypeWithAnnotations destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast); 2280private delegate Conversion ClassifyConversionFromTypeDelegate(ConversionsBase conversions, TypeWithAnnotations source, TypeWithAnnotations destination, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, bool forCast); 2294(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) 2312(ConversionsBase conversions, BoundExpression s, TypeWithAnnotations d, bool isChecked, ref CompoundUseSiteInfo<AssemblySymbol> u, bool forCast) => 2365(ConversionsBase conversions, TypeWithAnnotations s, TypeWithAnnotations d, bool _, ref CompoundUseSiteInfo<AssemblySymbol> u, bool _) => 2384(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)
133private readonly ConversionsBase _conversions; 172ConversionsBase conversions, 324ConversionsBase conversions, 2860ConversionsBase conversions, 3037private static bool ImplicitConversionExists(TypeWithAnnotations sourceWithAnnotations, TypeWithAnnotations destinationWithAnnotations, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, ConversionsBase conversions) 3191ConversionsBase conversions, 3241ConversionsBase conversions, 3256ConversionsBase conversions, 3375ConversionsBase conversions) 3419ConversionsBase conversions,
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
880returnsMatch = ConversionsBase.HasImplicitPointerToVoidConversion(method.ReturnType, returnType) 1334var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(binder.Compilation, type, out elementType); 3210CollectionExpressionTypeKind kind1 = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, t1, out TypeWithAnnotations elementType1); 3211CollectionExpressionTypeKind kind2 = ConversionsBase.GetCollectionExpressionTypeKind(Compilation, t2, out TypeWithAnnotations elementType2);
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
963ConversionsBase conversions,
BoundTree\UnboundLambda.cs (6)
117public TypeWithAnnotations GetInferredReturnType(ConversionsBase? conversions, NullableWalker.VariableState? nullableState, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out bool inferredFromFunctionType) 186BoundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions) 193UnboundLambda node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions) 203BoundNode node, Binder binder, TypeSymbol? delegateType, bool isAsync, ConversionsBase conversions, bool withDependencies) 244ConversionsBase conversions, 484public TypeWithAnnotations InferReturnType(ConversionsBase conversions, NamedTypeSymbol delegateType, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo, out bool inferredFromFunctionType)
FlowAnalysis\NullableWalker.cs (1)
4017var collectionKind = ConversionsBase.GetCollectionExpressionTypeKind(this.compilation, collectionType, out var targetElementType);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (3)
45if (ConversionsBase.IsSpanOrListType(_compilation, node.Type, WellKnownType.System_Collections_Generic_List_T, out var listElementType)) 65if (ConversionsBase.IsSpanOrListType(_compilation, node.Type, WellKnownType.System_Collections_Immutable_ImmutableArray_T, out var arrayElementType)) 225ConversionsBase.HasIdentityConversion(builder.Parameters[0].Type, spreadType) &&
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
701(memberSymbol.GetIsNewExtensionMember() && !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) 1347ConversionsBase conversions, 1552private static bool IsEncompassedBy(ConversionsBase conversions, TypeSymbol a, TypeSymbol b, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1624private 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)
51var conversions = compilation?.Conversions ?? (ConversionsBase)method.ContainingAssembly.CorLibrary.TypeConversions;
Symbols\Source\SourceComplexParameterSymbol.cs (1)
1553var 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)
310internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceEventSymbol.cs (1)
820internal 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)
1348ConversionsBase conversions,
Symbols\Source\SourceMemberFieldSymbol.cs (1)
660internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceMemberMethodSymbol.cs (1)
978internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceOrdinaryMethodOrUserDefinedOperatorSymbol.cs (2)
220internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 278protected abstract void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics);
Symbols\Source\SourceOrdinaryMethodSymbol.cs (4)
464protected abstract override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics); 693internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 973protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 1107protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourcePropertySymbol.cs (1)
667internal 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)
1014protected 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)
751internal virtual void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)