38 instantiations of BoundConversion
Microsoft.CodeAnalysis.CSharp (37)
Binder\Binder_Conversions.cs (13)
159return new BoundConversion( 174return new BoundConversion( 200return new BoundConversion( 258return new BoundConversion( 361expr = new BoundConversion( 496return new BoundConversion( 578userDefinedConversion = new BoundConversion( 615userDefinedConversion = new BoundConversion( 672expr = new BoundConversion(syntax, source, conversion, @checked: false, explicitCastInCode: isCast, conversionGroup, constantValueOpt: ConstantValue.NotAvailable, type: delegateType, hasErrors: true) { WasCompilerGenerated = source.WasCompilerGenerated }; 708return new BoundConversion( 736return new BoundConversion(syntax, group, conversion, @checked: false, explicitCastInCode: isCast, conversionGroup, constantValueOpt: ConstantValue.NotAvailable, type: destination, hasErrors: hasErrors) { WasCompilerGenerated = group.WasCompilerGenerated }; 972result = new BoundConversion( 987result = new BoundConversion(
Binder\Binder_Deconstruct.cs (3)
132new BoundConversion(boundRHS.Syntax, boundRHS, Conversion.Deconstruction, @checked: false, explicitCastInCode: false, conversionGroupOpt: null, 161var boundConversion = new BoundConversion( 310nestedConversions.Add((operandPlaceholder, new BoundConversion(syntax, operandPlaceholder, nestedConversion,
Binder\Binder_Expressions.cs (1)
7566expr = new BoundConversion(
Binder\Binder_InterpolatedString.cs (1)
1048return new BoundConversion(
Binder\ForEachLoopBinder.cs (2)
541convertedCollectionExpression = new BoundConversion( 1325collectionExpr = new BoundConversion(
BoundTree\Constructors.cs (2)
273return new BoundConversion( 303return new BoundConversion(
Generated\BoundNodes.xml.Generated.cs (1)
2874var result = new BoundConversion(this.Syntax, operand, conversion, isBaseConversion, @checked, explicitCastInCode, constantValueOpt, conversionGroupOpt, originalUserDefinedConversionsOpt, type, this.HasErrors);
Lowering\ClosureConversion\ClosureConversion.cs (1)
1385result = new BoundConversion(
Lowering\DiagnosticsPass_Warnings.cs (1)
291left = new BoundConversion(left.Syntax, left, conversion, node.Operator.Kind.IsChecked(),
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (7)
275result = new BoundConversion( 510return new BoundConversion( 598new BoundConversion( 874return new BoundConversion( 990var result = new BoundConversion(syntax, rewrittenOperand, new Conversion(conversionKind, method, false), @checked, explicitCastInCode: explicitCastInCode, conversionGroup, constantValueOpt: null, rewrittenType); 995return new BoundConversion(syntax, rewrittenOperand, conversion, @checked, explicitCastInCode: explicitCastInCode, conversionGroup, constantValueOpt: null, rewrittenType); 1587return new BoundConversion(syntax, operand, conversion, @checked: false, explicitCastInCode: false, conversionGroupOpt: null, constantValueOpt: constantValueOpt, type: toType);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (4)
70var newArgument = new BoundConversion( 120var convertedFieldAccess = new BoundConversion( 213return new BoundConversion( 474return new BoundConversion(
Lowering\SyntheticBoundNodeFactory.cs (1)
1392return new BoundConversion(Syntax, arg, conversion, @checked: isChecked, explicitCastInCode: true, conversionGroupOpt: null, null, type) { WasCompilerGenerated = true };
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Rewriters\CapturedVariableRewriter.cs (1)
98return new BoundConversion(
268 references to BoundConversion
Microsoft.CodeAnalysis.CSharp (253)
Binder\Binder.ValueChecks.cs (8)
613var conversion = (BoundConversion)expr; 3428var conversion = (BoundConversion)expr; 3709var conversion = (BoundConversion)expr; 4184var conversion = (BoundConversion)expr;
Binder\Binder_Attributes.cs (2)
960return VisitConversion((BoundConversion)node, diagnostics, ref attrHasErrors, curArgumentHasErrors); 970private TypedConstant VisitConversion(BoundConversion node, BindingDiagnosticBag diagnostics, ref bool attrHasErrors, bool curArgumentHasErrors)
Binder\Binder_Conversions.cs (1)
65Debug.Assert(result is BoundConversion || (conversion.IsIdentity && ((object)result == source) || source.NeedsToBeConverted()) || hasErrors);
Binder\Binder_Deconstruct.cs (1)
161var boundConversion = new BoundConversion(
Binder\Binder_Expressions.cs (3)
4295case BoundConversion { Conversion.IsIdentity: true, Operand: BoundParameter param }: 5055if (argument is BoundConversion { Conversion.IsInterpolatedStringHandler: true, Operand: var operand }) 6388leftSymbol = ((BoundConversion)boundValue).Operand.ExpressionSymbol;
Binder\Binder_Operators.cs (8)
66var conversion = (BoundConversion)CreateConversion(node, placeholder, finalDynamicConversion, isCast: true, conversionGroupOpt: null, left.Type, diagnostics); 210if (finalConversion is not BoundConversion final) 1917BoundConversion leftConv = (BoundConversion)left; 1918BoundConversion rightConv = (BoundConversion)right; 2310if (resultConversion is not BoundConversion)
Binder\Binder_Patterns.cs (2)
679var conversion = (BoundConversion)convertedExpression;
Binder\Binder_Query.cs (2)
679var c1 = invocation.Arguments[index] as BoundConversion;
Binder\Binder_Statements.cs (2)
2546return BoundConversion.Synthesized(node, BindToTypeForErrorRecovery(expr), Conversion.NoConversion, false, explicitCastInCode: false, conversionGroupOpt: null, ConstantValue.NotAvailable, boolean, hasErrors: true); 2612return BoundConversion.Synthesized(node, expr, Conversion.NoConversion, false, explicitCastInCode: false, conversionGroupOpt: null, ConstantValue.NotAvailable, boolean, hasErrors: true);
Binder\ForEachLoopBinder.cs (1)
536if ((convertedCollectionExpression as BoundConversion)?.Operand != (object)collectionExpr)
Binder\RefSafetyAnalysis.cs (3)
572if (arg is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 727var right = node.Right; 841case BoundConversion conv:
BoundTree\BoundExpression.cs (1)
429public BoundConversion UpdateOperand(BoundExpression operand)
BoundTree\BoundExpressionExtensions.cs (2)
227BoundConversion conversionNode = (BoundConversion)boundNode;
BoundTree\BoundNode.cs (5)
395case BoundConversion boundConversion: 404boundConversion = (BoundConversion)boundConversion.Operand; 409BoundConversion next; 412(object)(next = (BoundConversion)boundConversion.Operand).Operand == placeholder || 413(object)((BoundConversion)next.Operand).Operand == placeholder)
BoundTree\BoundTreeVisitors.cs (1)
64return VisitConversion(node as BoundConversion, arg);
BoundTree\Constructors.cs (3)
271public static BoundConversion SynthesizedNonUserDefined(SyntaxNode syntax, BoundExpression operand, Conversion conversion, TypeSymbol type, ConstantValue? constantValueOpt = null) 292public static BoundConversion Synthesized( 357public BoundConversion Update(BoundExpression operand,
CodeGen\EmitConversion.cs (7)
40private void EmitConversionExpression(BoundConversion conversion, bool used) 91private void EmitConversion(BoundConversion conversion) 181private void EmitIdentityConversion(BoundConversion conversion) 211private void EmitNumericConversion(BoundConversion conversion) 224private void EmitImplicitReferenceConversion(BoundConversion conversion) 256private void EmitExplicitReferenceConversion(BoundConversion conversion) 283private void EmitEnumConversion(BoundConversion conversion)
CodeGen\EmitExpression.cs (10)
126EmitConversionExpression((BoundConversion)expression, used); 1193var conversion = (BoundConversion)receiver; 1233if (receiver.Kind == BoundKind.Conversion && ((BoundConversion)receiver).ConversionKind == ConversionKind.Unboxing) 1496var conversion = (BoundConversion)receiver; 1946BoundConversion conv = (BoundConversion)current; 3645var conversion = (BoundConversion)expr;
CodeGen\Optimizer.cs (2)
593public override BoundNode VisitConversion(BoundConversion node) 996((BoundConversion)right).ConversionKind.IsPointerConversion())
Compilation\CSharpSemanticModel.cs (12)
2124else if ((highestBoundExpr as BoundConversion)?.Conversion.IsTupleLiteralConversion == true) 2126var tupleLiteralConversion = (BoundConversion)highestBoundExpr; 2152if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.SwitchExpression, Conversion: var convertedSwitchConversion }) 2170if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.ConditionalExpression }) 2193else if (((BoundConversion)highestBoundExpr).Operand.Kind != BoundKind.Conversion) 2208conversion = binder.Conversions.ClassifyConversionFromExpression(boundExpr, convertedType, isChecked: ((BoundConversion)highestBoundExpr).Checked, ref discardedUseSiteInfo); 2240else if (boundExpr is BoundConversion { ConversionKind: ConversionKind.MethodGroup, Conversion: var exprConversion, Type: { TypeKind: TypeKind.FunctionPointer }, SymbolOpt: var symbol }) 3517var conversion = (BoundConversion)boundNode; 4280var conversion = (BoundConversion)boundNodeForSyntacticParent;
Compilation\MemberSemanticModel.cs (2)
996var boundConversion = boundDeconstruction.Right; 1798node = ((BoundConversion)node).Operand;
Compiler\MethodBodySynthesizer.cs (4)
122BoundConversion.Synthesized(syntax, 150BoundConversion.Synthesized(syntax, 394delegateUpdate = BoundConversion.SynthesizedNonUserDefined(syntax, 458delegateUpdate = BoundConversion.SynthesizedNonUserDefined(syntax,
FlowAnalysis\AbstractFlowPass.cs (4)
1631public override BoundNode VisitConversion(BoundConversion node) 2439|| (expr is BoundConversion { ConversionKind: ConversionKind.ExplicitNullable or ConversionKind.ImplicitNullable } conv 2785BoundConversion { Conversion: Conversion conversion, Operand: BoundConditionalAccess ca } when CanPropagateStateWhenNotNull(conversion) => ca, 2893Debug.Assert(innerCondAccess.Receiver is not (BoundConditionalAccess or BoundConversion));
FlowAnalysis\DefiniteAssignment.cs (2)
897BoundConversion boundConversion = (BoundConversion)value;
FlowAnalysis\NullableWalker.cs (37)
224/// The delegate is invoked by <see cref="VisitConversion(BoundConversion, BoundExpression, Conversion, TypeWithAnnotations, TypeWithState, bool, bool, bool, AssignmentKind, ParameterSymbol, bool, bool, bool, Optional&lt;LocalState&gt;,bool, Location, ArrayBuilder&lt;VisitResult&gt;)"/>. 1987var conv = (BoundConversion)node; 2425var conversion = (BoundConversion)expr; 4224var expression = GetConversionIfApplicable(expressions[i], expressionNoConversion); 4246TrackAnalyzedNullabilityThroughConversionGroup(inferredType.ToTypeWithState(), expressions[i] as BoundConversion, expressionsNoConversions[i]); 4680expr as BoundConversion, 4714expr as BoundConversion, 4889operand = ((BoundConversion)operand).Operand; 5083var conversion = (BoundConversion)possiblyConversion; 5177if ((node.RightOperand as BoundConversion)?.ExplicitCastInCode != false && 5231if (node is BoundConversion boundConversion) 5332Debug.Assert(innerCondAccess.Receiver is not (BoundConditionalAccess or BoundConversion)); 6324TrackAnalyzedNullabilityThroughConversionGroup(TypeWithState.Create(argument.Type, result.RValueType.State), argument as BoundConversion, argumentNoConversion); 6549BoundConversion? conversionOpt, 7218var conversion = (BoundConversion)expr; 7420public override BoundNode? VisitConversion(BoundConversion node) 7667BoundConversion? conversionOpt, 7878private static BoundConversion? GetConversionIfApplicable(BoundExpression? conversionOpt, BoundExpression convertedNode) 7885return conversionOpt == convertedNode ? null : (BoundConversion?)conversionOpt; 7908BoundConversion? conversionOpt, 8089if (useLegacyWarnings && conversionOperand is BoundConversion operandConversion && !operandConversion.ConversionKind.IsUserDefinedConversion()) 8434BoundConversion? conversionOpt, 8585var conversionOpt = conversionExpression as BoundConversion; 8593conversionOpt = conversionOpt.Operand as BoundConversion; 8597private void TrackAnalyzedNullabilityThroughConversionGroup(TypeWithState resultType, BoundConversion? conversionOpt, BoundExpression convertedNode) 8606conversionOpt = conversionOpt.Operand as BoundConversion; 9222var right = node.Right; 9501var conv = (BoundConversion)expr; 9546if (node.OperandConversion is BoundConversion { Conversion: var operandConversion } && operandConversion.IsUserDefined && operandConversion.Method?.ParameterCount == 1) 10099if (!reportedDiagnostic && !(node.Expression is BoundConversion { Operand: { IsSuppressed: true } })) 10347node.Operand as BoundConversion,
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
278public override BoundNode? VisitConversion(BoundConversion node)
Generated\BoundNodes.xml.Generated.cs (17)
1846public BoundDeconstructionAssignmentOperator(SyntaxNode syntax, BoundTupleExpression left, BoundConversion right, bool isUsed, TypeSymbol type, bool hasErrors = false) 1861public BoundConversion Right { get; } 1867public BoundDeconstructionAssignmentOperator Update(BoundTupleExpression left, BoundConversion right, bool isUsed, TypeSymbol type) 2870public BoundConversion Update(BoundExpression operand, Conversion conversion, bool isBaseConversion, bool @checked, bool explicitCastInCode, ConstantValue? constantValueOpt, ConversionGroup? conversionGroupOpt, ImmutableArray<MethodSymbol> originalUserDefinedConversionsOpt, TypeSymbol type) 2874var result = new BoundConversion(this.Syntax, operand, conversion, isBaseConversion, @checked, explicitCastInCode, constantValueOpt, conversionGroupOpt, originalUserDefinedConversionsOpt, type, this.HasErrors); 8655return VisitConversion((BoundConversion)node, arg); 9040public virtual R VisitConversion(BoundConversion node, A arg) => this.DefaultVisit(node, arg); 9268public virtual BoundNode? VisitConversion(BoundConversion node) => this.DefaultVisit(node); 9682public override BoundNode? VisitConversion(BoundConversion node) 10680BoundConversion right = (BoundConversion)this.Visit(node.Right); 10843public override BoundNode? VisitConversion(BoundConversion node) 12373BoundConversion right = (BoundConversion)this.Visit(node.Right); 12798public override BoundNode? VisitConversion(BoundConversion node) 12802BoundConversion updatedNode; 15063public override TreeDumperNode VisitConversion(BoundConversion node, object? arg) => new TreeDumperNode("conversion", null, new TreeDumperNode[]
Lowering\ClosureConversion\ClosureConversion.cs (1)
1373public override BoundNode VisitConversion(BoundConversion conversion)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (6)
206return VisitConversion((BoundConversion)node); 469var conversion = (BoundConversion)operand; 599var conversion = e as BoundConversion; 616private BoundExpression VisitConversion(BoundConversion node)
Lowering\DiagnosticsPass_ExpressionTrees.cs (2)
364!(node is BoundConversion) && 717public override BoundNode VisitConversion(BoundConversion node)
Lowering\DiagnosticsPass_Warnings.cs (19)
143BoundConversion conversion = (BoundConversion)receiver; 166BoundConversion conversion = current as BoundConversion; 288if (!node.Operator.Kind.IsDynamic() && node.LeftConversion is BoundConversion { Conversion: { IsIdentity: false, Exists: true } conversion }) 347return node.Kind == BoundKind.Conversion && ((BoundConversion)node).ExplicitCastInCode; 354var conv = (BoundConversion)node; 431for (BoundConversion conversion = operand as BoundConversion; 433conversion = conversion.Operand as BoundConversion) 579BoundConversion conv = (BoundConversion)operand; 611BoundConversion conv = (BoundConversion)expr; 867var conv = (BoundConversion)node; 891var conversion = (BoundConversion)right;
Lowering\Extensions.cs (4)
58var conversion = (BoundConversion)expr; 105var conversion = (BoundConversion)expr;
Lowering\LocalRewriter\LocalRewriter.cs (1)
987return expr is BoundConversion { Conversion: { IsInterpolatedStringHandler: true }, Type: { IsValueType: true } };
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
205public override BoundNode VisitConversion(BoundConversion node)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
713var conversion = (BoundConversion)expression;
Lowering\LocalRewriter\LocalRewriter_Call.cs (7)
333BoundConversion conv = (BoundConversion)current; 593if (argument is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 601Debug.Assert(!((BoundConversion)argument).ExplicitCastInCode); 666if (argument is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 672Debug.Assert(!((BoundConversion)argument).ExplicitCastInCode); 1137=> expr is BoundConversion conv && conv.ConversionKind == ConversionKind.AnonymousFunction;
Lowering\LocalRewriter\LocalRewriter_CompoundAssignmentOperator.cs (2)
879var conv = (BoundConversion)expression;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (12)
18public override BoundNode VisitConversion(BoundConversion node) 244var conversion = (BoundConversion)rewrittenNode; 256BoundConversion? oldNodeOpt, 291BoundConversion? oldNodeOpt, 865case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable }, Operand: var convertedArgument } 870case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable, UnderlyingConversions: var underlying }, Operand: var convertedArgument } conversion 977rewrittenOperand = BoundConversion.SynthesizedNonUserDefined(syntax, rewrittenOperand, Conversion.ImplicitEnumeration, rewrittenOperandType); 990var result = new BoundConversion(syntax, rewrittenOperand, new Conversion(conversionKind, method, false), @checked, explicitCastInCode: explicitCastInCode, conversionGroup, constantValueOpt: null, rewrittenType); 1213return BoundConversion.Synthesized(syntax, rewrittenOperand, conversion, @checked: @checked, explicitCastInCode: true, conversionGroupOpt: null, constantValueOpt: null, rewrittenType); 1250return BoundConversion.Synthesized(syntax, rewrittenOperand, conv, @checked: @checked, explicitCastInCode: true, conversionGroupOpt: null, constantValueOpt: null, rewrittenType); 1369return BoundConversion.Synthesized(syntax, rewrittenOperand, conversion, @checked, explicitCastInCode: explicitCastInCode, conversionGroupOpt: null, constantValueOpt, rewrittenType);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (5)
19var right = node.Right; 114Debug.Assert(right is not ({ Kind: BoundKind.TupleLiteral } or BoundConversion { Operand.Kind: BoundKind.TupleLiteral })); 117right is { Kind: BoundKind.ConvertedTupleLiteral } or BoundConversion { Operand.Kind: BoundKind.ConvertedTupleLiteral } 306var tupleConversion = (BoundConversion)right;
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
1002var boundConversion = (BoundConversion)node.Expression;
Lowering\LocalRewriter\LocalRewriter_IndexerAccess.cs (1)
465else if (unloweredExpr is BoundConversion { Operand: { Type: { SpecialType: SpecialType.System_Int32 } } operand })
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (4)
46if (leftConversion is BoundConversion { Conversion: { IsIdentity: false } }) 52if (leftConversion is not BoundConversion { Conversion: { Exists: true } }) 214var boundConversion = (BoundConversion)expression;
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (2)
375BoundConversion conv = (BoundConversion)expr;
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (3)
16private BoundExpression RewriteInterpolatedStringConversion(BoundConversion conversion) 389if (arg is BoundConversion { Conversion: { Kind: ConversionKind.InterpolatedStringHandler }, ExplicitCastInCode: false, Operand: var operand }) 400Debug.Assert(arguments.All(arg => arg is not BoundConversion { Conversion: { IsInterpolatedStringHandler: true }, ExplicitCastInCode: false }));
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (17)
49case BoundConversion { Conversion: { Kind: ConversionKind.Identity }, Operand: var o }: 51case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitTupleLiteral }, Operand: var o }: 56case BoundConversion { Conversion: { Kind: var kind } c, Operand: var o } conversion when 70var newArgument = new BoundConversion( 88case BoundConversion { Conversion: { Kind: var kind }, Operand: var o } when 103if (expr is BoundConversion { ConversionKind: ConversionKind.ImplicitTuple, Conversion: var conversion } boundConversion) 120var convertedFieldAccess = new BoundConversion( 190case BoundConversion { Conversion: { Kind: ConversionKind.DefaultLiteral } }: 193case BoundConversion { Conversion: { Kind: var conversionKind } conversion } when conversionMustBePerformedOnOriginalExpression(conversionKind): 196case BoundConversion { Conversion: { IsUserDefined: true } } conv when conv.ExplicitCastInCode || enclosingConversionWasExplicit: 199case BoundConversion conv: 401case BoundConversion { Conversion: { IsIdentity: true }, Operand: var o }: 403case BoundConversion { Conversion: { IsNullable: true, UnderlyingConversions: var underlying } conversion, Operand: var o } 435case BoundConversion { Conversion: { IsIdentity: true }, Operand: var o }: 437case BoundConversion { Conversion: { IsNullable: true, UnderlyingConversions: var nested }, Operand: var o } conv when 472BoundExpression MakeBoundConversion(BoundExpression expr, Conversion conversion, TypeWithAnnotations type, BoundConversion enclosing) 608return (expr is BoundConversion conv)
Lowering\LocalRewriter\LocalRewriter_UnaryOperator.cs (1)
601while (expression is BoundConversion conversion)
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
509Debug.Assert(methodArgumentInfo.Arguments.All(arg => arg is not BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler }));
Lowering\MethodToClassRewriter.cs (1)
286public override BoundNode? VisitConversion(BoundConversion node)
Lowering\SpillSequenceSpiller.cs (1)
1076public override BoundNode VisitConversion(BoundConversion node)
Lowering\SyntheticBoundNodeFactory.cs (2)
530expression = BoundConversion.Synthesized(Syntax, expression, conversion, false, explicitCastInCode: false, conversionGroupOpt: null, ConstantValue.NotAvailable, CurrentFunction.ReturnType); 1171? BoundConversion.SynthesizedNonUserDefined(syntax, nullLiteral, Conversion.NullToPointer, type)
Operations\CSharpOperationFactory.cs (7)
90return CreateBoundConversionOperation((BoundConversion)boundNode); 1009private IOperation CreateBoundConversionOperation(BoundConversion boundConversion, bool forceOperandImplicitLiteral = false) 1071BoundConversion correctedConversionNode = boundConversion; 1092var nestedConversion = (BoundConversion)boundOperand; 2238BoundConversion { Operand: BoundLiteral } c => CreateBoundConversionOperation(c, forceOperandImplicitLiteral: true), 2300private IInterpolatedStringHandlerCreationOperation CreateInterpolatedStringHandler(BoundConversion conversion)
Operations\CSharpOperationFactory_Methods.cs (1)
143if (delegateNode is BoundConversion boundConversion)
Symbols\ConstantValueUtils.cs (2)
100var conversion = (BoundConversion)unconvertedBoundValue;
Symbols\Source\ParameterHelpers.cs (2)
859var conversion = (BoundConversion)expression;
Symbols\Source\SourceComplexParameterSymbol.cs (1)
394((BoundConversion)convertedExpression).ConversionKind != ConversionKind.DefaultLiteral)
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (1)
Symbols\PlaceholderLocalSymbol.cs (1)
197return BoundConversion.Synthesized(
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (14)
Semantics\ForEachTests.cs (14)
1220Assert.Equal(SymbolKind.ArrayType, ((BoundConversion)boundNode.Expression).Operand.Type.Kind); 1225return ((BoundConversion)boundNode.Expression).Conversion; 1258Assert.Equal(SpecialType.System_String, ((BoundConversion)boundNode.Expression).Operand.Type.SpecialType); 1302Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1346Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1379Assert.Equal("System.Collections.IEnumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1419Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1461Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1500Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1681Assert.Equal(TypeKind.Dynamic, ((BoundConversion)boundNode.Expression).Operand.Type.TypeKind); 1714Assert.Equal(SymbolKind.DynamicType, ((BoundConversion)boundNode.Expression).Operand.Type.Kind); 1755Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1839Assert.Equal("Enumerable<T>", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString()); 1886Assert.Equal("Enumerable", ((BoundConversion)boundNode.Expression).Operand.Type.ToTestDisplayString());