103 references to Conversions
Microsoft.CodeAnalysis.CSharp (101)
Binder\Binder_Attributes.cs (1)
715
this.
Conversions
,
Binder\Binder_Await.cs (1)
415
var conversion = this.
Conversions
.ClassifyImplicitConversionFromType(awaiterType, INotifyCompletion, ref useSiteInfo);
Binder\Binder_Conversions.cs (13)
24
var conversion =
Conversions
.ClassifyConversionFromExpression(source, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
559
conversion:
Conversions
.ClassifyStandardConversion(convertedOperand.Type, conversionParameterType, ref useSiteInfo),
594
toConversion =
Conversions
.ClassifyConversionFromType(conversionReturnType, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
603
conversion:
Conversions
.ClassifyStandardConversion(conversionReturnType, conversionToType, ref useSiteInfo),
662
conversion =
Conversions
.ClassifyConversionFromExpression(source, delegateType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
679
conversion =
Conversions
.ClassifyConversionFromExpression(expr, destination, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1097
return !methodSymbol.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, node.Location, diagnostics));
1307
(
Conversions
.ConvertExtensionMethodThisArg(methodParameters[0].Type, receiverOpt!.Type, ref useSiteInfo).Exists && useSiteInfo.Diagnostics.IsNullOrEmpty()));
1328
if (!hasConversion(delegateType.TypeKind,
Conversions
, delegateParameter.Type, methodParameter.Type, delegateParameter.RefKind, methodParameter.RefKind, ref useSiteInfo))
1349
{ RefKind: var destinationRefKind } => hasConversion(delegateType.TypeKind,
Conversions
, methodReturnType, delegateReturnType, method.RefKind, destinationRefKind, ref useSiteInfo),
1443
Debug.Assert(
Conversions
.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo) || delegateOrFuncPtrType.TypeKind == TypeKind.Delegate || delegateOrFuncPtrType.TypeKind == TypeKind.FunctionPointer);
1448
if (!
Conversions
.IsAssignableFromMulticastDelegate(delegateOrFuncPtrType, ref discardedUseSiteInfo))
1510
conversion =
Conversions
.GetMethodGroupDelegateConversion(boundMethodGroup, delegateType, ref useSiteInfo);
Binder\Binder_Deconstruct.cs (1)
323
nestedConversion = this.
Conversions
.ClassifyConversionFromType(tupleOrDeconstructedTypes[i], single.Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
Binder\Binder_Expressions.cs (16)
1186
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, typedReferenceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1235
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, typedReferenceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2371
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(boundOperand, intType, ref useSiteInfo);
2477
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(boundOperand, indexType, ref useSiteInfo);
2492
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(operand, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
2645
var elementConversion =
Conversions
.ClassifyConversionFromExpression(argument, targetElementType, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
2671
var underlyingConversion =
Conversions
.ClassifyBuiltInConversion(operand.Type, underlyingTargetTypeWithAnnotations.Type, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
3414
TypeSymbol bestType = BestTypeInferrer.InferBestType(boundInitializerExpressions, this.
Conversions
, ref useSiteInfo, out _);
3441
TypeSymbol bestType = BestTypeInferrer.InferBestType(boundInitializerExpressions, this.
Conversions
, ref useSiteInfo, out _);
4541
var conversion = this.
Conversions
.ClassifyConversionFromExpression(unboundLambda, type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
4614
Conversion conv =
Conversions
.MethodGroupConversion(argument.Syntax, methodGroup, type, ref useSiteInfo);
5380
var result =
Conversions
.ClassifyImplicitConversionFromType(initializerType, collectionsIEnumerableType, ref useSiteInfo).IsValid;
5887
Conversion conversion = this.
Conversions
.ClassifyConversionFromExpression(classCreation, interfaceType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
8106
Conversion failedConversion = this.
Conversions
.ClassifyConversionFromExpression(index, int32, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
8161
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(expr, targetType, ref useSiteInfo);
9246
if (checkConstraints(Compilation,
Conversions
, delegateType, typeArguments))
Binder\Binder_Invocation.cs (3)
834
(typeArgumentsOpt.IsDefault || ((MethodSymbol)(object)result.Member).CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: false, syntax.Location, candidateDiagnostics))))
1391
&&
Conversions
.ClassifyBuiltInConversion(Compilation.GetSpecialType(SpecialType.System_String), parameterType, isChecked: false, ref discardedUseSiteInfo).Exists
1429
Conversion conversion =
Conversions
.ClassifyConversionFromExpression(defaultValue, parameterType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
Binder\Binder_Operators.cs (18)
223
Conversion rightToLeftConversion = this.
Conversions
.ClassifyConversionFromExpression(right, leftType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
270
Conversion argumentConversion = this.
Conversions
.ClassifyConversionFromExpression(right, delegateType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
717
foundOperator = !isObjectEquality || BuiltInOperators.IsValidObjectEquality(
Conversions
, leftType, leftNull, leftDefault, rightType, rightNull, rightDefault, ref useSiteInfo);
789
var conversion = this.
Conversions
.ClassifyConversionFromExpression(right, left.Type, isChecked: CheckOverflowAtRuntime, ref discardedUseSiteInfo);
1037
var implicitConversion =
Conversions
.ClassifyImplicitConversionFromExpression(left, booleanType, ref useSiteInfo);
1245
var conversion = this.
Conversions
.ClassifyConversionFromType(argumentType, op.GetParameterType(0), isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3263
Conversion conv =
Conversions
.ClassifyConversionFromExpression(operand, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3285
Conversion conversion =
Conversions
.ClassifyBuiltInConversion(operandType, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3752
Conversion conversion =
Conversions
.ClassifyBuiltInConversion(operandType, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3974
Conversions
.ClassifyConversionFromExpression(leftOperand, objectType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo),
3990
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, optLeftType0, ref useSiteInfo);
4008
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, optLeftType, ref useSiteInfo);
4057
leftConversionClassification =
Conversions
.ClassifyImplicitConversionFromType(optLeftType0, optRightType, ref useSiteInfo);
4071
leftConversionClassification =
Conversions
.ClassifyImplicitConversionFromExpression(leftOperand, optRightType, ref useSiteInfo);
4125
var underlyingRightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, underlyingLeftType, ref useSiteInfo);
4139
var rightConversion =
Conversions
.ClassifyImplicitConversionFromExpression(rightOperand, leftType, ref useSiteInfo);
4227
TypeSymbol? bestType = BestTypeInferrer.InferBestTypeForConditionalOperator(trueExpr, falseExpr, this.
Conversions
, out bool hadMultipleCandidates, ref useSiteInfo);
4287
type = BestTypeInferrer.InferBestTypeForConditionalOperator(trueExpr, falseExpr, this.
Conversions
, hadMultipleCandidates: out _, ref useSiteInfo);
Binder\Binder_Patterns.cs (5)
611
ConstantValue match = ExpressionOfTypeMatchesPatternType(
Conversions
, inputType, expression.Type, ref useSiteInfo, out _, operandConstantValue: null);
622
patternExpressionConversion = this.
Conversions
.ClassifyConversionFromExpression(expression, inputType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
757
Conversions
, inputType, patternType, ref useSiteInfo, out Conversion conversion, operandConstantValue: null, operandCouldBeNull: true);
1796
else if (
Conversions
.HasImplicitReferenceConversion(bestSoFar, possiblyLessSpecificCandidate, ref useSiteInfo))
1801
else if (
Conversions
.HasBoxingConversion(bestSoFar, possiblyLessSpecificCandidate, ref useSiteInfo))
Binder\Binder_Statements.cs (11)
1376
Conversion elementConversionClassification = this.
Conversions
.ClassifyConversionFromType(pointerType, declType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1931
this.
Conversions
.ClassifyConversionFromExpression(expression, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo) :
1932
this.
Conversions
.ClassifyConversionFromType(expression.Type, targetType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
2013
if (
Conversions
.IsValidFunctionTypeConversionTarget(targetType, ref discardedUseSiteInfo))
2384
var conversion = this.
Conversions
.ClassifyImplicitConversionFromExpression(expr, targetType, ref useSiteInfo);
2446
else if (
Conversions
.IsValidFunctionTypeConversionTarget(targetType, ref discardedUseSiteInfo) &&
2484
var elementConversion =
Conversions
.ClassifyImplicitConversionFromExpression(argument, targetElementType, ref discardedUseSiteInfo);
2571
var conversion = this.
Conversions
.ClassifyConversionFromExpression(expr, boolean, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3049
conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, returnType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3054
conversion = this.
Conversions
.ClassifyConversionFromExpression(argument, returnType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
3201
if (
Conversions
.HasIdentityOrImplicitReferenceConversion(type, previousType, ref useSiteInfo))
Binder\Binder_Symbols.cs (3)
555
type.CheckConstraints(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability: true, location, diagnostics));
1524
var conversions =
Conversions
;
1565
type.CheckConstraintsForNamedType(new ConstraintsHelper.CheckConstraintsArgs(this.Compilation, this.
Conversions
, includeNullability, typeSyntax.Location, diagnostics),
Binder\Binder_TupleOperators.cs (1)
132
Conversion conversion = this.
Conversions
.ClassifyImplicitConversionFromType(type, boolean, ref useSiteInfo);
Binder\ForEachLoopBinder.cs (6)
447
Conversion elementConversionClassification = this.
Conversions
.ClassifyConversionFromType(inferredType.Type, iterationVariableType.Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo, forCast: true);
501
Conversion collectionConversionClassification = this.
Conversions
.ClassifyConversionFromExpression(collectionExpr, builder.CollectionType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
502
Conversion currentConversionClassification = this.
Conversions
.ClassifyConversionFromType(builder.CurrentPropertyGetter.ReturnType, builder.ElementType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1062
this.
Conversions
.ClassifyImplicitConversionFromType(enumeratorType,
1320
var collectionConversion = this.
Conversions
.ClassifyConversionFromExpression(collectionExpr, result.Parameters[0].Type, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
1560
var conversion = this.
Conversions
.ClassifyImplicitConversionFromType(type, implementedNonGeneric, ref useSiteInfo);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
44
get { return _binder.
Conversions
; }
3566
_binder.
Conversions
,
3585
_binder.
Conversions
,
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
322
if (HadConstructedParameterFailedConstraintCheck(binder.
Conversions
, binder.Compilation, diagnostics, location))
Binder\SwitchBinder.cs (2)
253
Conversion conversion =
Conversions
.ClassifyConversionFromExpression(caseExpression, SwitchGoverningType, isChecked: CheckOverflowAtRuntime, ref useSiteInfo);
408
Conversion conversion = binder.
Conversions
.ClassifyImplicitUserDefinedConversionForV6SwitchGoverningType(switchGoverningType, out resultantGoverningType, ref useSiteInfo);
Binder\SwitchExpressionBinder.cs (2)
149
var commonType = BestTypeInferrer.GetBestType(typesInOrder,
Conversions
, ref useSiteInfo);
158
if (!this.
Conversions
.ClassifyImplicitConversionFromExpression(@case.Value, commonType, ref useSiteInfo).Exists)
Binder\UsingStatementBinder.cs (1)
271
var conversions = originalBinder.
Conversions
;
BoundTree\UnboundLambda.cs (2)
691
Binder.
Conversions
);
916
inferredReturnType = BoundLambda.InferReturnType(returnTypes, _unboundLambda, lambdaBodyBinder, delegateType, lambdaSymbol.IsAsync, lambdaBodyBinder.
Conversions
);
Compilation\CSharpCompilation.cs (1)
84
Interlocked.CompareExchange(ref _conversions, new BuckStopsHereBinder(this, associatedFileIdentifier: null).
Conversions
, null);
Compilation\CSharpSemanticModel.cs (3)
2208
conversion = binder.
Conversions
.ClassifyConversionFromExpression(boundExpr, convertedType, isChecked: ((BoundConversion)highestBoundExpr).Checked, ref discardedUseSiteInfo);
2853
return binder.
Conversions
.ClassifyConversionFromExpression(bnode, cdestination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo);
2905
return binder.
Conversions
.ClassifyConversionFromExpression(bnode, destination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo, forCast: true);
Compilation\MemberSemanticModel.cs (2)
473
return binder.
Conversions
.ClassifyConversionFromExpression(boundExpression, csdestination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo);
497
return binder.
Conversions
.ClassifyConversionFromExpression(boundExpression, destination, isChecked: binder.CheckOverflowAtRuntime, ref discardedUseSiteInfo, forCast: true);
FlowAnalysis\NullableWalker.cs (4)
1334
var conversions = binder.
Conversions
;
1475
binder.
Conversions
,
1534
binder.
Conversions
,
1615
binder.
Conversions
,
Symbols\Source\ParameterHelpers.cs (1)
710
Conversion conversion = binder.
Conversions
.ClassifyImplicitConversionFromExpression(defaultExpression, parameterType, ref useSiteInfo);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Symbols\ConversionTests.cs (2)
26
Conversions c = new BuckStopsHereBinder(compilation, associatedFileIdentifier: null).
Conversions
;
313
var conv = new BuckStopsHereBinder(compilation, associatedFileIdentifier: null).
Conversions
;