56 references to IsValid
Microsoft.CodeAnalysis.CSharp (56)
Binder\Binder.cs (1)
659
if (conversion.
IsValid
&& conversion.Method is object)
Binder\Binder_Await.cs (1)
693
Debug.Assert(conversion.
IsValid
);
Binder\Binder_Conversions.cs (5)
116
if (conversion.IsUnion && conversion.
IsValid
&& !filterConversion(conversion.BestUnionConversionAnalysis!.SourceConversion, result))
344
Debug.Assert(source == (object)methodGroup || !conversion.
IsValid
);
2534
if (!conversion.
IsValid
)
2724
if (!conversion.
IsValid
)
3801
Debug.Assert(conversion.
IsValid
); // i.e. if it exists, then it is valid.
Binder\Binder_Expressions.cs (10)
1263
if (!conversion.IsImplicit || !conversion.
IsValid
)
1312
if (!conversion.IsImplicit || !conversion.
IsValid
)
2708
if (!conversion.
IsValid
)
2814
if (!conversion.
IsValid
)
2831
bool hasErrors = !conversion.
IsValid
|| targetType.IsStatic;
2985
if (!elementConversion.
IsValid
)
5414
Debug.Assert(conversion.
IsValid
);
5571
if (!conversion.IsImplicit || !conversion.
IsValid
)
5656
Debug.Assert(conv.
IsValid
); // i.e. if it exists, then it is valid.
7161
if (!conversion.
IsValid
)
Binder\Binder_Invocation.cs (2)
1750
if (!conversion.
IsValid
&& defaultConstantValue is { SpecialType: SpecialType.System_Decimal or SpecialType.System_DateTime })
1759
if (!conversion.
IsValid
)
Binder\Binder_Operators.cs (2)
295
if (!rightToLeftConversion.IsImplicit || !rightToLeftConversion.
IsValid
)
704
if (!argumentConversion.IsImplicit || !argumentConversion.
IsValid
) // NOTE: dev10 appears to allow user-defined conversions here.
Binder\Binder_Statements.cs (7)
1378
if (!elementConversionClassification.
IsValid
|| !elementConversionClassification.IsImplicit)
1384
if (elementConversionClassification.
IsValid
)
2002
else if (!conversion.
IsValid
||
2280
Debug.Assert(!conversion.IsImplicit || !conversion.
IsValid
);
2471
if (!conversion.IsImplicit || !conversion.
IsValid
)
2571
if (!elementConversion.
IsValid
)
3224
else if (!conversion.IsImplicit || !conversion.
IsValid
)
Binder\ForEachLoopBinder.cs (4)
495
if (!elementConversionClassification.
IsValid
)
556
Debug.Assert(collectionConversionClassification.
IsValid
);
557
Debug.Assert(currentConversionClassification.
IsValid
||
569
if (currentConversionClassification.
IsValid
)
Binder\Semantics\Conversions\Conversion.cs (1)
615
if (!conv.
IsValid
)
Binder\Semantics\Conversions\Conversions.cs (1)
530
if (pointerConversion.
IsValid
)
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (2)
396
if (Conversions.ClassifyImplicitConversionFromExpression(left, systemDelegateType, ref useSiteInfo).
IsValid
&&
397
Conversions.ClassifyImplicitConversionFromExpression(right, systemDelegateType, ref useSiteInfo).
IsValid
)
Binder\SwitchBinder.cs (2)
260
if (!conversion.
IsValid
)
436
if (conversion.
IsValid
)
BoundTree\BoundConversion.cs (4)
57
if (!ConversionGroupOpt.Conversion.
IsValid
)
81
Debug.Assert(ConversionGroupOpt.Conversion.
IsValid
);
163
if (!ConversionGroupOpt.Conversion.
IsValid
)
188
Debug.Assert(ConversionGroupOpt.Conversion.
IsValid
);
BoundTree\Constructors.cs (2)
378
hasErrors || !conversion.
IsValid
)
406
hasErrors: hasErrors || !conversion.
IsValid
)
Compilation\CSharpSemanticModel.cs (1)
2148
conversion = convertedSwitchConversion.
IsValid
? convertedSwitchConversion : Conversion.NoConversion;
FlowAnalysis\AbstractFlowPass.cs (1)
3082
if (!conversion.
IsValid
)
FlowAnalysis\NullableWalker.cs (3)
8214
if (conversion is {
IsValid
: true, Kind: ConversionKind.ImplicitUserDefined }) // Looking at unit-tests ImplicitConversions_07 and ImplicitConversion_Params, the behavior looks good without special handling for Union conversions here.
10440
if (!conversion.
IsValid
)
10592
if (!conversion.
IsValid
)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (4)
809
if (!conversion.
IsValid
)
837
if (!conversion.
IsValid
)
864
Debug.Assert(conversion.
IsValid
);
956
Debug.Assert(conversion.
IsValid
);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (2)
33
Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).
IsValid
);
240
Debug.Assert(BoundNode.GetConversion(leftConversion, leftPlaceholder).
IsValid
);
Operations\CSharpOperationFactory.cs (1)
1041
else if (boundConversion.ConversionGroupOpt?.Conversion is { IsUnion: true,
IsValid
: true } &&