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)
4639var 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)
11264static 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)
46if (ConversionsBase.IsSpanOrListType(_compilation, node.Type, WellKnownType.System_Collections_Generic_List_T, out var listElementType)) 66if (ConversionsBase.IsSpanOrListType(_compilation, node.Type, WellKnownType.System_Collections_Immutable_ImmutableArray_T, out var arrayElementType)) 226ConversionsBase.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)
1552var collectionTypeKind = ConversionsBase.GetCollectionExpressionTypeKind(DeclaringCompilation, Type, out TypeWithAnnotations elementTypeWithAnnotations);
Symbols\Source\SourceConstructorSymbolBase.cs (1)
85internal 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)
309internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceEventSymbol.cs (1)
819internal 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)
659internal 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)
459protected abstract override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics); 688internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 972protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics) 1106protected 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)
870internal override void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SourceUserDefinedOperatorSymbolBase.cs (1)
913protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Source\SynthesizedSourceOrdinaryMethodSymbol.cs (1)
61protected sealed override void CheckConstraintsForExplicitInterfaceType(ConversionsBase conversions, BindingDiagnosticBag diagnostics)
Symbols\Symbol.cs (1)
751internal virtual void AfterAddingTypeMembersChecks(ConversionsBase conversions, BindingDiagnosticBag diagnostics)