77 references to ConversionKind
Microsoft.CodeAnalysis.CSharp (77)
Binder\Binder.ValueChecks.cs (5)
615
if (conversion.
ConversionKind
== ConversionKind.Unboxing)
3710
Debug.Assert(conversion.
ConversionKind
!= ConversionKind.StackAllocToSpanType, "StackAllocToSpanType unexpected");
3712
if (conversion.
ConversionKind
== ConversionKind.InterpolatedStringHandler)
4185
Debug.Assert(conversion.
ConversionKind
!= ConversionKind.StackAllocToSpanType, "StackAllocToSpanType unexpected");
4187
if (conversion.
ConversionKind
== ConversionKind.InterpolatedStringHandler)
Binder\Binder_Patterns.cs (4)
687
else if ((conversion.
ConversionKind
== ConversionKind.Boxing || conversion.
ConversionKind
== ConversionKind.ImplicitReference)
697
else if (conversion.
ConversionKind
== ConversionKind.ImplicitNullToPointer ||
698
(conversion.
ConversionKind
== ConversionKind.NoConversion && convertedExpression.Type?.IsErrorType() == true))
Binder\RefSafetyAnalysis.cs (2)
572
if (arg is BoundConversion {
ConversionKind
: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion)
842
switch (conv.
ConversionKind
)
BoundTree\BoundExpression.cs (1)
444
switch (this.
ConversionKind
)
CodeGen\EmitConversion.cs (6)
42
switch (conversion.
ConversionKind
)
45
throw ExceptionUtilities.UnexpectedValue(conversion.
ConversionKind
);
93
switch (conversion.
ConversionKind
)
132
throw ExceptionUtilities.UnexpectedValue(conversion.
ConversionKind
);
173
throw ExceptionUtilities.UnexpectedValue(conversion.
ConversionKind
); // Should be handled by caller.
177
throw ExceptionUtilities.UnexpectedValue(conversion.
ConversionKind
);
CodeGen\EmitExpression.cs (6)
1194
if (conversion.
ConversionKind
== ConversionKind.Unboxing)
1233
if (receiver.Kind == BoundKind.Conversion && ((BoundConversion)receiver).
ConversionKind
== ConversionKind.Unboxing)
1498
switch (conversion.
ConversionKind
)
1947
Debug.Assert(!conv.
ConversionKind
.IsUserDefinedConversion());
1949
if (conv.
ConversionKind
.IsUserDefinedConversion())
3646
var conversionKind = conversion.
ConversionKind
;
CodeGen\Optimizer.cs (1)
996
((BoundConversion)right).
ConversionKind
.IsPointerConversion())
Compilation\CSharpSemanticModel.cs (7)
2152
if (highestBoundExpr is BoundConversion {
ConversionKind
: ConversionKind.SwitchExpression, Conversion: var convertedSwitchConversion })
2170
if (highestBoundExpr is BoundConversion {
ConversionKind
: ConversionKind.ConditionalExpression })
2240
else if (boundExpr is BoundConversion {
ConversionKind
: ConversionKind.MethodGroup, Conversion: var exprConversion, Type: { TypeKind: TypeKind.FunctionPointer }, SymbolOpt: var symbol })
3518
isDynamic = conversion.
ConversionKind
.IsDynamic();
3521
if ((conversion.
ConversionKind
== ConversionKind.MethodGroup) && conversion.IsExtensionMethod)
3528
else if (conversion.
ConversionKind
.IsUserDefinedConversion())
4285
Debug.Assert(conversion.
ConversionKind
== ConversionKind.MethodGroup);
FlowAnalysis\AbstractFlowPass.cs (2)
1633
if (node.
ConversionKind
== ConversionKind.MethodGroup)
2439
|| (expr is BoundConversion {
ConversionKind
: ConversionKind.ExplicitNullable or ConversionKind.ImplicitNullable } conv
FlowAnalysis\DefiniteAssignment.cs (2)
902
if (boundConversion.
ConversionKind
.IsUserDefinedConversion() ||
903
boundConversion.
ConversionKind
== ConversionKind.IntPtr)
FlowAnalysis\NullableWalker.cs (3)
5084
switch (conversion.
ConversionKind
)
8089
if (useLegacyWarnings && conversionOperand is BoundConversion operandConversion && !operandConversion.
ConversionKind
.IsUserDefinedConversion())
9502
switch (conv.
ConversionKind
)
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
280
if (node.
ConversionKind
== ConversionKind.InterpolatedStringHandler)
Lowering\ClosureConversion\ClosureConversion.cs (2)
1378
Debug.Assert(conversion.
ConversionKind
!= ConversionKind.MethodGroup);
1379
if (conversion.
ConversionKind
== ConversionKind.AnonymousFunction)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (5)
470
if (!conversion.
ConversionKind
.IsUserDefinedConversion() &&
471
conversion.
ConversionKind
.IsImplicitConversion() &&
472
conversion.
ConversionKind
!= ConversionKind.NullLiteral &&
618
switch (node.
ConversionKind
)
635
!TypeSymbol.Equals(strippedOperandType, ((node.
ConversionKind
== ConversionKind.ExplicitUserDefined) ? conversionInputType : conversionInputType.StrippedType()), TypeCompareKind.ConsiderEverything2);
Lowering\DiagnosticsPass_ExpressionTrees.cs (1)
723
switch (node.
ConversionKind
)
Lowering\DiagnosticsPass_Warnings.cs (7)
167
if (conversion == null || !conversion.
ConversionKind
.IsImplicitConversion())
435
if (conversion.
ConversionKind
!= ConversionKind.ImplicitNumeric &&
436
conversion.
ConversionKind
!= ConversionKind.ImplicitConstant)
580
if (conv.
ConversionKind
== ConversionKind.ImplicitNullable)
868
if (conv.
ConversionKind
== ConversionKind.ExplicitNullable || conv.
ConversionKind
== ConversionKind.ImplicitNullable)
892
switch (conversion.
ConversionKind
)
Lowering\Extensions.cs (2)
59
switch (conversion.
ConversionKind
)
106
switch (conversion.
ConversionKind
)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (1)
714
if (conversion.
ConversionKind
== ConversionKind.Boxing)
Lowering\LocalRewriter\LocalRewriter_Call.cs (5)
334
switch (conv.
ConversionKind
)
377
Debug.Assert(false, "Unexpected conversion kind" + conv.
ConversionKind
);
593
if (argument is BoundConversion {
ConversionKind
: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion)
666
if (argument is BoundConversion {
ConversionKind
: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion)
1137
=> expr is BoundConversion conv && conv.
ConversionKind
== ConversionKind.AnonymousFunction;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
20
switch (node.
ConversionKind
)
65
_inExpressionLambda = _inExpressionLambda || (node.
ConversionKind
== ConversionKind.AnonymousFunction && !wasInExpressionLambda && rewrittenType.IsExpressionTree());
245
return conversion.
ConversionKind
== ConversionKind.Identity && !conversion.ExplicitCastInCode;
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
215
if (boundConversion.
ConversionKind
!= ConversionKind.Identity)
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
376
if (conv.
ConversionKind
== ConversionKind.Boxing)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
18
Debug.Assert(conversion.
ConversionKind
== ConversionKind.InterpolatedString);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
103
if (expr is BoundConversion {
ConversionKind
: ConversionKind.ImplicitTuple, Conversion: var conversion } boundConversion)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
509
Debug.Assert(methodArgumentInfo.Arguments.All(arg => arg is not BoundConversion {
ConversionKind
: ConversionKind.InterpolatedStringHandler }));
Lowering\SpillSequenceSpiller.cs (1)
1078
if (node.
ConversionKind
== ConversionKind.AnonymousFunction && node.Type.IsExpressionTree())
Operations\CSharpOperationFactory.cs (2)
1015
if (boundConversion.
ConversionKind
== ConversionKind.InterpolatedStringHandler)
1022
if (boundConversion.
ConversionKind
== CSharp.ConversionKind.MethodGroup)
Operations\CSharpOperationFactory_Methods.cs (1)
145
if (boundConversion.
ConversionKind
== ConversionKind.MethodGroup)
Symbols\ConstantValueUtils.cs (1)
101
hasDynamicConversion = hasDynamicConversion || conversion.
ConversionKind
.IsDynamic();
Symbols\Source\SourceComplexParameterSymbol.cs (1)
394
((BoundConversion)convertedExpression).
ConversionKind
!= ConversionKind.DefaultLiteral)