72 references to GetConversion
Microsoft.CodeAnalysis.CSharp (31)
Binder\Binder_Conversions.cs (2)
73
Debug.Assert(BoundNode.
GetConversion
(result, placeholder1) == conversion);
79
Debug.Assert(BoundNode.
GetConversion
(result2, placeholder2) == conversion);
Binder\RefSafetyAnalysis.cs (1)
1049
var underlyingConversion = BoundNode.
GetConversion
(placeholderConversion, placeholder);
Compilation\CSharpSemanticModel.cs (1)
2138
conversion = BoundNode.
GetConversion
(initializer.ElementPointerConversion, initializer.ElementPointerPlaceholder);
Compilation\DeconstructionInfo.cs (1)
73
: deconstructConversionInfo.SelectAsArray(c => new DeconstructionInfo(BoundNode.
GetConversion
(c.conversion, c.placeholder)));
Compilation\MemberSemanticModel.cs (2)
994
BoundNode.
GetConversion
(boundForEach.ElementConversion, boundForEach.ElementPlaceholder),
995
BoundNode.
GetConversion
(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder));
FlowAnalysis\NullableWalker.cs (9)
10736
var underlyingConversion = BoundNode.
GetConversion
(placeholderConversion, placeholder);
10777
var underlyingConversion = BoundNode.
GetConversion
(placeholderConversion, placeholder);
11056
BoundNode.
GetConversion
(node.OperandConversion, node.OperandPlaceholder),
11086
BoundNode.
GetConversion
(node.ResultConversion, node.ResultPlaceholder),
11211
BoundNode.
GetConversion
(node.LeftConversion, node.LeftPlaceholder),
11225
BoundNode.
GetConversion
(node.FinalConversion, node.FinalPlaceholder),
11814
Conversion conversion = BoundNode.
GetConversion
(node.ElementConversion, node.ElementPlaceholder);
12193
BoundNode.
GetConversion
(binary.TrueFalseOperandConversion, binary.TrueFalseOperandPlaceholder),
12339
switch (BoundNode.
GetConversion
(node.OperandConversion, node.OperandPlaceholder).Kind)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
877
if (BoundNode.
GetConversion
(node.LeftConversion, node.LeftPlaceholder) is { IsUserDefined: true } leftConversion)
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (1)
49
var conversion = BoundNode.
GetConversion
(operandConversion, operandPlaceholder);
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (2)
237
BoundNode.
GetConversion
(nestedConversion, placeholder), temps, effects, isUsed, inInit);
373
if (BoundNode.
GetConversion
(conversion, placeholder).IsIdentity)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (4)
33
Debug.Assert(BoundNode.
GetConversion
(leftConversion, leftPlaceholder).IsValid);
92
BoundNode.
GetConversion
(leftConversion, leftPlaceholder) is { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference })
99
if (BoundNode.
GetConversion
(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable })
240
Debug.Assert(BoundNode.
GetConversion
(leftConversion, leftPlaceholder).IsValid);
Operations\CSharpOperationFactory.cs (7)
1143
Conversion conversion = BoundNode.
GetConversion
(boundAsOperator.OperandConversion, boundAsOperator.OperandPlaceholder);
1274
var elementConversion = BoundNode.
GetConversion
(iteratorItem, element.ElementPlaceholder);
1360
Conversion inConversion = BoundNode.
GetConversion
(boundCompoundAssignmentOperator.LeftConversion, boundCompoundAssignmentOperator.LeftPlaceholder);
1361
Conversion outConversion = BoundNode.
GetConversion
(boundCompoundAssignmentOperator.FinalConversion, boundCompoundAssignmentOperator.FinalPlaceholder);
1593
Conversion valueConversion = BoundNode.
GetConversion
(boundNullCoalescingOperator.LeftConversion, boundNullCoalescingOperator.LeftPlaceholder);
1917
BoundNode.
GetConversion
(enumeratorInfoOpt.CurrentConversion, enumeratorInfoOpt.CurrentPlaceholder),
1918
BoundNode.
GetConversion
(boundForEachStatement.ElementConversion, boundForEachStatement.ElementPlaceholder),
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (40)
Semantics\ForEachTests.cs (40)
1216
Assert.Equal(ConversionKind.Unboxing, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1218
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1254
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1256
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1298
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1300
Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1342
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1344
Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1375
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1377
Assert.Equal(ConversionKind.Unboxing, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1415
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1417
Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1457
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1459
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1496
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1498
Assert.Equal(ConversionKind.Unboxing, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1529
Assert.Equal(ConversionKind.Unboxing, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1531
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1560
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1562
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1591
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1615
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1646
Assert.Equal(ConversionKind.ExplicitReference, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind); //object to C.var
1648
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1677
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1679
Assert.Equal(ConversionKind.ExplicitDynamic, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1710
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1712
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); //NB: differs from explicit case
1751
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1753
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1835
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1837
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
1882
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
1884
Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
3126
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
3128
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
3244
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(info.CurrentConversion, info.CurrentPlaceholder).Kind);
3246
Assert.Equal(ConversionKind.Identity, BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
3302
Assert.Equal(BoundNode.
GetConversion
(boundNode.ElementConversion, boundNode.ElementPlaceholder), statementInfo.ElementConversion);
3303
Assert.Equal(BoundNode.
GetConversion
(enumeratorInfo.CurrentConversion, enumeratorInfo.CurrentPlaceholder), statementInfo.CurrentConversion);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (1)
Symbols\ConversionTests.cs (1)
2080
var elementConversion = BoundNode.
GetConversion
(boundForEach.ElementConversion, boundForEach.ElementPlaceholder);