55 references to UnderlyingConversions
Microsoft.CodeAnalysis.CSharp (55)
Binder\Binder_Conversions.cs (22)
106
if ((conversion.IsTupleLiteralConversion || (conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion)))
195
(conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion))
278
|| (conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsCollectionExpression)
379
Debug.Assert(conversion.
UnderlyingConversions
.Length == 1);
389
conversion.
UnderlyingConversions
[0],
402
conversion.
UnderlyingConversions
[0],
412
conversion.
UnderlyingConversions
[0].AssertUnderlyingConversionsChecked();
420
conversion.
UnderlyingConversions
[0],
428
conversion.
UnderlyingConversions
[0].AssertUnderlyingConversionsChecked();
441
var elementConversions = conversion.
UnderlyingConversions
;
465
Debug.Assert(conversion.
UnderlyingConversions
.IsDefault);
894
conversion = conversion.
UnderlyingConversions
[0];
1157
var elementConversions = _conversion.
UnderlyingConversions
;
2458
ImmutableArray<Conversion> underlyingConversions = conversion.
UnderlyingConversions
;
2496
ImmutableArray<Conversion> underlyingConversions = conversion.
UnderlyingConversions
;
2603
Debug.Assert(toParameterTypeConversion.
UnderlyingConversions
[0].IsIdentity);
2655
Debug.Assert(!fromReturnTypeConversion.
UnderlyingConversions
[0].IsIdentity);
2947
Debug.Assert(conversion.
UnderlyingConversions
.IsDefault);
3126
var underlyingConversion = conversion.
UnderlyingConversions
.Single();
3136
(conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion));
3148
conversionWithoutNullable = conversion.
UnderlyingConversions
[0];
3191
var underlyingConversions = conversionWithoutNullable.
UnderlyingConversions
;
Binder\Binder_Patterns.cs (2)
294
(conversion.IsNullable && conversion.
UnderlyingConversions
[0].IsIdentity)))
341
(bestMatchConversion.IsNullable && bestMatchConversion.
UnderlyingConversions
[0].IsIdentity));
Binder\Semantics\Conversions\Conversion.cs (4)
164
Debug.Assert(!(this is { IsNullable: true,
UnderlyingConversions
: var underlying } && (underlying[0].IsUserDefined || underlying[0].IsUnion)));
449
var underlyingConversions =
UnderlyingConversions
;
493
var underlyingConversions =
UnderlyingConversions
;
1303
var underlyingConversions = self.
UnderlyingConversions
;
Binder\Semantics\Conversions\ConversionsBase.cs (2)
663
{ Kind: ConversionKind.ImplicitNullable,
UnderlyingConversions
: [{ Kind: ConversionKind.CollectionExpression }] } => true,
2030
foreach (var elementConversion in conversion.
UnderlyingConversions
)
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
1038
Debug.Assert(targetConversion.IsIdentity || (targetConversion.IsNullable && targetConversion.
UnderlyingConversions
[0].IsIdentity));
Binder\Semantics\OverloadResolution\OverloadResolution.cs (2)
3075
t1, kind1, elementType1, conv1.
UnderlyingConversions
,
3076
t2, kind2, elementType2, conv2.
UnderlyingConversions
,
BoundTree\BoundConversion.cs (5)
17
(Conversion.IsNullable && Conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion))
25
(Conversion.IsNullable && Conversion.
UnderlyingConversions
[0].IsTupleLiteralConversion));
102
Debug.Assert(Conversion.
UnderlyingConversions
[0].IsIdentity);
120
Debug.Assert(!Conversion.
UnderlyingConversions
[0].IsIdentity);
205
Debug.Assert(Conversion.
UnderlyingConversions
[0].IsIdentity);
Compilation\CSharpSemanticModel.cs (1)
2185
else if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.ImplicitNullable, Conversion.
UnderlyingConversions
: [{ Kind: ConversionKind.CollectionExpression }] } boundConversion)
FlowAnalysis\NullableWalker.cs (1)
9509
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);
1033
var elementConversions = conversion.
UnderlyingConversions
;
1081
case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable,
UnderlyingConversions
: var underlying }, Operand: var convertedArgument } conversion
1133
BoundExpression rewrittenConversion = MakeConversionNode(syntax, rewrittenOperand, conversion.
UnderlyingConversions
[0], rewrittenType.GetNullableUnderlyingType(), @checked);
1155
return MakeConversionNode(syntax, value, conversion.
UnderlyingConversions
[0], rewrittenType, @checked);
1253
conversion.
UnderlyingConversions
[0],
1337
conversion.
UnderlyingConversions
[0],
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (5)
61
var underlyingConversions = c.
UnderlyingConversions
;
115
var elementConversions = conversion.
UnderlyingConversions
;
409
case BoundConversion { Conversion: { IsNullable: true,
UnderlyingConversions
: var underlying } conversion, Operand: var o }
444
case BoundConversion { Conversion: { IsNullable: true,
UnderlyingConversions
: var nested }, Operand: var o } conv when
453
var underlyingConversions = tupleConversion.
UnderlyingConversions
;