1 write to ExplicitCastInCode
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
3014
this.
ExplicitCastInCode
= explicitCastInCode;
45 references to ExplicitCastInCode
Microsoft.CodeAnalysis.CSharp (45)
Binder\RefSafetyAnalysis.cs (1)
1261
inlineArray: node.Expression is not BoundConversion { Conversion.IsIdentity: true,
ExplicitCastInCode
: false, Operand: BoundExpression operand } ? node.Expression : operand,
BoundTree\BoundConversion.cs (2)
80
Debug.Assert(!
ExplicitCastInCode
);
179
Debug.Assert(!
ExplicitCastInCode
);
BoundTree\BoundExpression.cs (1)
498
return this.Update(operand: operand, this.Conversion, this.IsBaseConversion, this.Checked, this.
ExplicitCastInCode
, this.ConstantValueOpt, this.ConversionGroupOpt, this.InConversionGroupFlags, this.Type);
CodeGen\EmitConversion.cs (1)
221
if (conversion.
ExplicitCastInCode
)
FlowAnalysis\NullableWalker.cs (3)
6200
if ((node.RightOperand as BoundConversion)?.
ExplicitCastInCode
!= false &&
8984
Debug.Assert(group != null || !conversion.
ExplicitCastInCode
); // Explicit conversions should include a group.
10518
fromExplicitCast: conversionOpt?.
ExplicitCastInCode
?? false,
Generated\BoundNodes.xml.Generated.cs (5)
3039
if (operand != this.Operand || conversion != this.Conversion || isBaseConversion != this.IsBaseConversion || @checked != this.Checked || explicitCastInCode != this.
ExplicitCastInCode
|| constantValueOpt != this.ConstantValueOpt || conversionGroupOpt != this.ConversionGroupOpt || inConversionGroupFlags != this.InConversionGroupFlags || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
11600
return node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.
ExplicitCastInCode
, node.ConstantValueOpt, node.ConversionGroupOpt, node.InConversionGroupFlags, type);
13769
updatedNode = node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.
ExplicitCastInCode
, node.ConstantValueOpt, node.ConversionGroupOpt, node.InConversionGroupFlags, infoAndType.Type!);
13774
updatedNode = node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.
ExplicitCastInCode
, node.ConstantValueOpt, node.ConversionGroupOpt, node.InConversionGroupFlags, node.Type);
16154
new TreeDumperNode("explicitCastInCode", node.
ExplicitCastInCode
, null),
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
183
node.
ExplicitCastInCode
,
Lowering\ClosureConversion\ClosureConversion.cs (1)
1402
if (_inExpressionLambda && conversion.
ExplicitCastInCode
)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (5)
677
if (conversion != null && !conversion.
ExplicitCastInCode
)
732
return node.
ExplicitCastInCode
? Convert(operand, node.Type, false) : operand;
737
return Convert(Visit(node.Operand), node.Operand.Type, node.Type, node.Checked, node.
ExplicitCastInCode
);
748
return Convert(Constant(_bound.Null(_objectType)), _objectType, node.Type, false, node.
ExplicitCastInCode
);
750
return Convert(Visit(node.Operand), node.Operand.Type, node.Type, node.Checked, node.
ExplicitCastInCode
);
Lowering\DiagnosticsPass_Warnings.cs (5)
144
if (conversion.
ExplicitCastInCode
) break;
346
return node.Kind == BoundKind.Conversion && ((BoundConversion)node).
ExplicitCastInCode
;
354
if (conv.
ExplicitCastInCode
) return false;
441
if (conversion.
ExplicitCastInCode
)
687
if (conv.
ExplicitCastInCode
&& toSpecialType.IsSignedIntegralType())
Lowering\LocalRewriter\LocalRewriter_Call.cs (2)
862
Debug.Assert(!((BoundConversion)argument).
ExplicitCastInCode
);
934
Debug.Assert(!((BoundConversion)argument).
ExplicitCastInCode
);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (3)
79
var result = MakeConversionNode(node, node.Syntax, rewrittenOperand, node.Conversion, node.Checked, node.
ExplicitCastInCode
, node.ConstantValueOpt, rewrittenType);
250
return conversion.ConversionKind == ConversionKind.Identity && !conversion.
ExplicitCastInCode
;
1087
explicitCastInCode: conversion.
ExplicitCastInCode
,
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (2)
240
if (arg is BoundConversion { Conversion: { Kind: ConversionKind.InterpolatedStringHandler },
ExplicitCastInCode
: false, Operand: var operand })
251
Debug.Assert(arguments.All(arg => arg is not BoundConversion { Conversion: { IsInterpolatedStringHandler: true },
ExplicitCastInCode
: false }));
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (6)
75
explicitCastInCode: conversion.
ExplicitCastInCode
,
122
syntax, fieldAccess, elementConversions[i], boundConversion.Checked, boundConversion.
ExplicitCastInCode
,
199
case BoundConversion { Conversion: { IsUserDefined: true } or { IsUnion: true } } conv when conv.
ExplicitCastInCode
|| enclosingConversionWasExplicit: // https://github.com/dotnet/roslyn/issues/82636: Add coverage
205
var deferredOperand = DeferSideEffectingArgumentToTempForTupleEquality(conv.Operand, effects, temps, conv.
ExplicitCastInCode
|| enclosingConversionWasExplicit);
480
expr.Syntax, expr, conversion, enclosing.Checked, enclosing.
ExplicitCastInCode
,
616
conversion: conv.Conversion, @checked: conv.Checked, explicitCastInCode: conv.
ExplicitCastInCode
,
Operations\CSharpOperationFactory.cs (7)
1048
isImplicit = !unionConversion.
ExplicitCastInCode
|| boundConversion.Syntax == (sourceConversion ?? unionConversion).Operand.Syntax;
1053
isImplicit = !boundConversion.
ExplicitCastInCode
;
1058
isImplicit = !boundConversion.
ExplicitCastInCode
;
1136
if (boundConversion.
ExplicitCastInCode
&& conversion.IsIdentity && boundOperand.Kind == BoundKind.Conversion)
1141
if (nestedConversion.Syntax == nestedOperand.Syntax && nestedConversion.
ExplicitCastInCode
&&
2044
boundForEachStatement.Expression is not BoundConversion { Conversion.IsIdentity: true,
ExplicitCastInCode
: false, Operand: BoundExpression operand } ?
2490
var isImplicit = conversion.WasCompilerGenerated || !conversion.
ExplicitCastInCode
;