113 references to Conversions
Microsoft.CodeAnalysis.CSharp (113)
Binder\Binder_Await.cs (4)
451
new ConstraintsHelper.CheckConstraintsArgs(@this.Compilation, @this.
Conversions
, includeNullability: false, node.Location, tempDiagnostics)))
472
conversion = @this.
Conversions
.ClassifyImplicitConversionFromType(
516
new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, syntax.Location, diagnostics));
685
var conversion = this.
Conversions
.ClassifyImplicitConversionFromType(awaiterType, INotifyCompletion, ref useSiteInfo);
Binder\Binder_Conversions.cs (20)
26
var conversion =
Conversions
.ClassifyConversionFromExpression(source, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
616
.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(Compilation,
Conversions
, includeNullability: false, syntax.Location, diagnostics));
1598
var conversion =
Conversions
.ClassifyImplicitConversionFromType(elementTypeOriginalDefinition, elementType, ref candidateUseSiteInfo);
1604
conversion =
Conversions
.ClassifyImplicitConversionFromType(methodWithTargetTypeParameters.ReturnType, targetType.OriginalDefinition, ref candidateUseSiteInfo);
1642
Compilation,
Conversions
, includeNullability: false, syntax.Location, diagnostics));
2131
addMethodBinder.
Conversions
,
2416
Conversion elementConversion =
Conversions
.GetCollectionExpressionSpreadElementConversion(spreadElement, elementType, ref useSiteInfo);
2426
Conversion elementConversion =
Conversions
.ClassifyImplicitConversionFromExpression((BoundExpression)element, elementType, ref useSiteInfo);
2600
Conversion toParameterTypeConversion =
Conversions
.ClassifyStandardConversion(convertedOperand.Type, conversionParameterType, ref useSiteInfo);
2646
toConversion =
Conversions
.ClassifyConversionFromType(conversionReturnType, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2652
Conversion fromReturnTypeConversion =
Conversions
.ClassifyStandardConversion(conversionReturnType, conversionToType, ref useSiteInfo);
2856
conversion =
Conversions
.ClassifyConversionFromExpression(source, delegateType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2882
conversion =
Conversions
.ClassifyConversionFromExpression(expr, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3336
return !methodSymbol.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, node.Location, diagnostics));
3543
(
Conversions
.ConvertExtensionMethodThisArg(GetReceiverParameter(method)!.Type, receiverOpt!.Type, ref useSiteInfo, isMethodGroupConversion: true).Exists && useSiteInfo.Diagnostics.IsNullOrEmpty()));
3566
Conversions
,
3595
Conversions
,
3709
Debug.Assert(
Conversions
.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo) || delegateOrFuncPtrType.TypeKind == TypeKind.Delegate || delegateOrFuncPtrType.TypeKind == TypeKind.FunctionPointer);
3713
if (!
Conversions
.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo))
3778
conversion =
Conversions
.GetMethodGroupDelegateConversion(boundMethodGroup, delegateType, ref useSiteInfo);
Binder\Binder_Deconstruct.cs (1)
325
nestedConversion = this.
Conversions
.ClassifyConversionFromType(tupleOrDeconstructedTypes[i], single.Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
Binder\Binder_Expressions.cs (18)
1264
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, typedReferenceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1313
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, typedReferenceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2708
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(boundOperand, intType, ref useSiteInfo);
2814
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(boundOperand, indexType, ref useSiteInfo);
2829
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(operand, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
2987
var elementConversion =
Conversions
.ClassifyConversionFromExpression(argument, targetElementType, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
3013
var underlyingConversion =
Conversions
.ClassifyBuiltInConversion(operand.Type, underlyingTargetTypeWithAnnotations.Type, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
4214
TypeSymbol bestType = BestTypeInferrer.InferBestType(boundInitializerExpressions, this.
Conversions
, ref useSiteInfo, out _);
4241
TypeSymbol bestType = BestTypeInferrer.InferBestType(boundInitializerExpressions, this.
Conversions
, ref useSiteInfo, out _);
5428
var conversion = @this.
Conversions
.ClassifyConversionFromExpression(expression, collectionType, isChecked: @this.CheckOverflowAtRuntime, ref useSiteInfo);
5580
var conversion = this.
Conversions
.ClassifyConversionFromExpression(unboundLambda, type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
5653
Conversion conv =
Conversions
.MethodGroupConversion(argument.Syntax, methodGroup, type, ref useSiteInfo);
6473
var result =
Conversions
.HasImplicitConversionToOrImplementsVarianceCompatibleInterface(initializerType, collectionsIEnumerableType, ref useSiteInfo, out bool needSupportForRefStructInterfaces);
7175
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(classCreation, interfaceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
10778
Conversion failedConversion = this.
Conversions
.ClassifyConversionFromExpression(index, int32, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
10833
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(expr, targetType, ref useSiteInfo);
12174
new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, location: NoLocation.Singleton, diagnostics: null),
12251
if (checkConstraints(Compilation,
Conversions
, delegateType, typeArguments))
Binder\Binder_Invocation.cs (4)
1063
(typeArgumentsOpt.IsDefault || ((MethodSymbol)(object)result.Member).CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, syntax.Location, candidateDiagnostics))))
1736
&&
Conversions
.ClassifyBuiltInConversion(Compilation.GetSpecialType(SpecialType.System_String), parameterType, isChecked: false, ref discardedUseSiteInfo).Exists
1772
Conversion conversion =
Conversions
.ClassifyConversionFromExpression(defaultValue, parameterType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1894
Conversion conversion =
Conversions
.ClassifyImplicitConversionFromExpression(unconvertedCollection, collectionType, ref useSiteInfo);
Binder\Binder_Operators.cs (17)
294
Conversion rightToLeftConversion = this.
Conversions
.ClassifyConversionFromExpression(right, leftType, isChecked: checkOverflowAtRuntime, ref useSiteInfo);
702
Conversion argumentConversion = this.
Conversions
.ClassifyConversionFromExpression(right, delegateType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1212
foundOperator = !isObjectEquality || BuiltInOperators.IsValidObjectEquality(
Conversions
, leftType, leftNull, leftDefault, rightType, rightNull, rightDefault, ref useSiteInfo);
1313
var conversion = this.
Conversions
.ClassifyConversionFromExpression(right, left.Type, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
1605
var implicitConversion =
Conversions
.ClassifyImplicitConversionFromExpression(left, booleanType, ref useSiteInfo);
4962
Conversion conv =
Conversions
.ClassifyConversionFromExpression(operand, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
4983
Conversion conversion =
Conversions
.ClassifyBuiltInConversion(inputType, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
5480
Conversion conversion =
Conversions
.ClassifyBuiltInConversion(operandType, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
5707
Conversions
.ClassifyConversionFromExpression(leftOperand, objectType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo),
5723
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, optLeftType0, ref useSiteInfo);
5741
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, optLeftType, ref useSiteInfo);
5790
leftConversionClassification =
Conversions
.ClassifyImplicitConversionFromType(optLeftType0, optRightType, ref useSiteInfo);
5804
leftConversionClassification =
Conversions
.ClassifyImplicitConversionFromExpression(leftOperand, optRightType, ref useSiteInfo);
5856
var underlyingRightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, underlyingLeftType, ref useSiteInfo);
5870
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, leftType, ref useSiteInfo);
5958
TypeSymbol? bestType = BestTypeInferrer.InferBestTypeForConditionalOperator(trueExpr, falseExpr, this.
Conversions
, out bool hadMultipleCandidates, ref useSiteInfo);
6013
type = BestTypeInferrer.InferBestTypeForConditionalOperator(trueExpr, falseExpr, this.
Conversions
, hadMultipleCandidates: out _, ref useSiteInfo);
Binder\Binder_Patterns.cs (5)
1218
ConstantValue match = ExpressionOfTypeMatchesPatternType(
Conversions
, inputType, expression.Type, ref useSiteInfo, out _, operandConstantValue: null);
1229
patternExpressionConversion = this.
Conversions
.ClassifyConversionFromExpression(expression, inputType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1417
Conversions
, inputType, patternType, ref useSiteInfo, out conversion, operandConstantValue: null, operandCouldBeNull: true);
1429
Conversions
, unionType, patternType, ref useSiteInfo, out conversion, operandConstantValue: null, operandCouldBeNull: true);
2646
var narrowedType = LeastSpecificType(narrowedTypeCandidates, binder.
Conversions
, ref useSiteInfo) ?? inputType;
Binder\Binder_Statements.cs (11)
1372
Conversion elementConversionClassification = this.
Conversions
.ClassifyConversionFromType(pointerType, declType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1987
this.
Conversions
.ClassifyConversionFromExpression(expression, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo) :
1988
this.
Conversions
.ClassifyConversionFromType(expression.Type, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2089
if (
Conversions
.IsValidFunctionTypeConversionTarget(targetType, ref discardedUseSiteInfo))
2471
var conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(expr, targetType, ref useSiteInfo);
2533
else if (
Conversions
.IsValidFunctionTypeConversionTarget(targetType, ref discardedUseSiteInfo) &&
2571
var elementConversion =
Conversions
.ClassifyImplicitConversionFromExpression(argument, targetElementType, ref discardedUseSiteInfo);
2719
var conversion = this.
Conversions
.ClassifyConversionFromExpression(expr, boolean, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3225
conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, returnType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3230
conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, returnType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3392
if (
Conversions
.HasIdentityOrImplicitReferenceConversion(type, previousType, ref useSiteInfo))
Binder\Binder_Symbols.cs (2)
569
type.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: true, location, diagnostics));
1645
type.CheckConstraintsForNamedType(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability, typeSyntax.Location, diagnostics),
Binder\Binder_TupleOperators.cs (1)
133
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromType(type, boolean, ref useSiteInfo);
Binder\ForEachLoopBinder.cs (6)
484
Conversion elementConversionClassification = this.
Conversions
.ClassifyConversionFromType(inferredType.Type, iterationVariableType.Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
538
Conversion collectionConversionClassification = this.
Conversions
.ClassifyConversionFromExpression(collectionExpr, builder.CollectionType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
539
Conversion currentConversionClassification = this.
Conversions
.ClassifyConversionFromType(builder.CurrentPropertyGetter.ReturnType, builder.ElementType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1280
bool result = this.
Conversions
.HasImplicitConversionToOrImplementsVarianceCompatibleInterface(enumeratorType,
1562
var collectionConversion = this.
Conversions
.ClassifyConversionFromExpression(collectionExpr, result.Parameters[0].Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1818
this.
Conversions
.HasImplicitConversionToOrImplementsVarianceCompatibleInterface(type, implementedNonGeneric, ref useSiteInfo, out needSupportForRefStructInterfaces))
Binder\Semantics\OverloadResolution\OverloadResolution.cs (4)
45
get { return _binder.
Conversions
; }
4436
_binder.
Conversions
,
4459
var extensionTypeArguments = MethodTypeInferrer.InferTypeArgumentsFromReceiverType(member.ContainingType, args[0], _binder.Compilation, _binder.
Conversions
, ref useSiteInfo);
4471
_binder.
Conversions
,
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
341
if (HadConstructedParameterFailedConstraintCheck(binder.
Conversions
, binder.Compilation, diagnostics, location))
Binder\SwitchBinder.cs (2)
258
Conversion conversion =
Conversions
.ClassifyConversionFromExpression(caseExpression, SwitchGoverningType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
434
Conversion conversion = binder.
Conversions
.ClassifyImplicitUserDefinedConversionForV6SwitchGoverningType(switchGoverningType, out resultantGoverningType, ref useSiteInfo);
Binder\SwitchExpressionBinder.cs (2)
165
var commonType = BestTypeInferrer.GetBestType(typesInOrder,
Conversions
, ref useSiteInfo);
174
if (!this.
Conversions
.ClassifyImplicitConversionFromExpression(@case.Value, commonType, ref useSiteInfo).Exists)
Binder\UsingStatementBinder.cs (1)
283
var conversions = originalBinder.
Conversions
;
BoundTree\UnboundLambda.cs (2)
769
Binder.
Conversions
);
1010
inferredReturnType = BoundLambda.InferReturnType(returnTypes, _unboundLambda, lambdaBodyBinder, delegateType, lambdaSymbol.IsAsync, lambdaBodyBinder.
Conversions
);
Compilation\CSharpCompilation.cs (1)
88
Interlocked.CompareExchange(ref _conversions, new BuckStopsHereBinder(this, associatedFileIdentifier: null).
Conversions
, null);
Compilation\CSharpSemanticModel.cs (3)
2221
conversion = binder.
Conversions
.ClassifyConversionFromExpression(boundExpr, convertedType, isChecked: ((BoundConversion)highestBoundExpr).Checked, ref discardedUseSiteInfo);
2871
return binder.
Conversions
.ClassifyConversionFromExpression(bnode, cdestination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo);
2923
return binder.
Conversions
.ClassifyConversionFromExpression(bnode, destination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo, forCast: true);
Compilation\MemberSemanticModel.cs (2)
491
return binder.
Conversions
.ClassifyConversionFromExpression(boundExpression, csdestination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo);
515
return binder.
Conversions
.ClassifyConversionFromExpression(boundExpression, destination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo, forCast: true);
FlowAnalysis\NullableWalker.cs (4)
1511
var conversions = binder.
Conversions
;
1653
binder.
Conversions
,
1714
binder.
Conversions
,
1796
binder.
Conversions
,
Symbols\Source\ParameterHelpers.cs (1)
948
Conversion conversion = binder.
Conversions
.ClassifyImplicitConversionFromExpression(defaultExpression, parameterType, ref useSiteInfo);
Utilities\TypeUnionValueSet.cs (1)
297
if (!possibleClosedSubtype.CheckAllConstraints(binder.Compilation, binder.
Conversions
))