64 references to UnderlyingConversions
Microsoft.CodeAnalysis.CSharp (43)
Binder\Binder_Conversions.cs (19)
88
!(conversion.IsTupleLiteralConversion || (conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion)) &&
154
(conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion))
234
|| (conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsCollectionExpression)
324
Debug.Assert(conversion.
UnderlyingConversions
.Length == 1);
334
conversion.
UnderlyingConversions
[0],
346
conversion.
UnderlyingConversions
[0],
355
conversion.
UnderlyingConversions
[0].AssertUnderlyingConversionsChecked();
363
conversion.
UnderlyingConversions
[0],
370
conversion.
UnderlyingConversions
[0].AssertUnderlyingConversionsChecked();
383
var elementConversions = conversion.
UnderlyingConversions
;
406
Debug.Assert(conversion.
UnderlyingConversions
.IsDefault);
822
conversion = conversion.
UnderlyingConversions
[0];
949
var elementConversions = conversion.
UnderlyingConversions
;
1938
ImmutableArray<Conversion> underlyingConversions = conversion.
UnderlyingConversions
;
1976
ImmutableArray<Conversion> underlyingConversions = conversion.
UnderlyingConversions
;
2260
Debug.Assert(conversion.
UnderlyingConversions
.IsDefault);
2426
var underlyingConversion = conversion.
UnderlyingConversions
.Single();
2442
conversionWithoutNullable = conversion.
UnderlyingConversions
[0];
2485
var underlyingConversions = conversionWithoutNullable.
UnderlyingConversions
;
Binder\Semantics\Conversions\Conversion.cs (3)
421
var underlyingConversions =
UnderlyingConversions
;
460
var underlyingConversions =
UnderlyingConversions
;
1237
var underlyingConversions = self.
UnderlyingConversions
;
Binder\Semantics\Conversions\ConversionsBase.cs (2)
663
{ Kind: ConversionKind.ImplicitNullable,
UnderlyingConversions
: [{ Kind: ConversionKind.CollectionExpression }] } => true,
2014
foreach (var elementConversion in conversion.
UnderlyingConversions
)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (2)
3072
t1, kind1, elementType1, conv1.
UnderlyingConversions
,
3073
t2, kind2, elementType2, conv2.
UnderlyingConversions
,
Compilation\CSharpSemanticModel.cs (1)
2175
else if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.ImplicitNullable, Conversion.
UnderlyingConversions
: [{ Kind: ConversionKind.CollectionExpression }] } boundConversion)
FlowAnalysis\NullableWalker.cs (1)
9179
var conversions = conversion.
UnderlyingConversions
;
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (2)
222
if (!conversion.
UnderlyingConversions
.IsDefault)
225
foreach (var underlying in conversion.
UnderlyingConversions
)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (8)
61
case ConversionKind.ImplicitNullable when node.Conversion.
UnderlyingConversions
[0].Kind is ConversionKind.CollectionExpression:
62
var rewrittenCollection = RewriteCollectionExpressionConversion(node.Conversion.
UnderlyingConversions
[0], (BoundCollectionExpression)node.Operand);
973
var elementConversions = conversion.
UnderlyingConversions
;
1021
case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable,
UnderlyingConversions
: var underlying }, Operand: var convertedArgument } conversion
1072
BoundExpression rewrittenConversion = MakeConversionNode(syntax, rewrittenOperand, conversion.
UnderlyingConversions
[0], rewrittenType.GetNullableUnderlyingType(), @checked);
1094
return MakeConversionNode(syntax, value, conversion.
UnderlyingConversions
[0], rewrittenType, @checked);
1191
conversion.
UnderlyingConversions
[0],
1275
conversion.
UnderlyingConversions
[0],
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (5)
61
var underlyingConversions = c.
UnderlyingConversions
;
114
var elementConversions = conversion.
UnderlyingConversions
;
403
case BoundConversion { Conversion: { IsNullable: true,
UnderlyingConversions
: var underlying } conversion, Operand: var o }
437
case BoundConversion { Conversion: { IsNullable: true,
UnderlyingConversions
: var nested }, Operand: var o } conv when
446
var underlyingConversions = tupleConversion.
UnderlyingConversions
;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (9)
CodeGen\CodeGenDeconstructTests.cs (1)
1132
Assert.Equal(ConversionKind.ImplicitNumeric, tupleConversion.
UnderlyingConversions
[0].Kind);
CodeGen\CodeGenTupleTest.cs (8)
7506
Assert.Equal(1, tupleConversion.
UnderlyingConversions
.Length);
7507
Assert.Equal(ConversionKind.ExplicitTupleLiteral, tupleConversion.
UnderlyingConversions
[0].Kind);
7535
Assert.Equal(1, tupleConversion.
UnderlyingConversions
.Length);
7536
Assert.Equal(ConversionKind.ImplicitTupleLiteral, tupleConversion.
UnderlyingConversions
[0].Kind);
7577
Assert.True(conversion1.
UnderlyingConversions
.IsDefault);
7586
Assert.False(conversion2.
UnderlyingConversions
.IsDefault);
7595
Assert.False(conversion3.
UnderlyingConversions
.IsDefault);
7643
Assert.True(conversion.
UnderlyingConversions
.IsDefault);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (2)
Emit\NumericIntPtrTests.cs (2)
67
if (!conversion.
UnderlyingConversions
.IsDefault)
69
actualConversionKinds = actualConversionKinds.Concat(conversion.
UnderlyingConversions
.Select(c => c.Kind));
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (6)
Semantics\CollectionExpressionTests.cs (6)
16081
Assert.Equal(1, conversion.
UnderlyingConversions
.Length);
16082
var underlyingConversion = conversion.
UnderlyingConversions
[0];
16157
Assert.Equal(1, conversion.
UnderlyingConversions
.Length);
16158
var underlyingConversion = conversion.
UnderlyingConversions
[0];
16591
Assert.Equal(1, conversion.
UnderlyingConversions
.Length);
16592
var underlyingConversion = conversion.
UnderlyingConversions
[0];
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (4)
Semantics\FunctionPointerTests.cs (1)
363
var underlying = conversion.
UnderlyingConversions
.Single();
Semantics\NativeIntegerTests.cs (2)
59
if (!conversion.
UnderlyingConversions
.IsDefault)
61
actualConversionKinds = actualConversionKinds.Concat(conversion.
UnderlyingConversions
.Select(c => c.Kind));
Semantics\TargetTypedDefaultTests.cs (1)
3604
Assert.Equal(ConversionKind.ImplicitNumeric, conversion.
UnderlyingConversions
.Single().Kind);