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