89 references to IsUserDefined
Microsoft.CodeAnalysis.CSharp (48)
Binder\Binder.ValueChecks.cs (4)
3937
((!conversion.Conversion.
IsUserDefined
&& !conversion.Conversion.IsUnion) ||
4275
Debug.Assert((!conversion.Conversion.
IsUserDefined
&& !conversion.Conversion.IsUnion) ||
4623
if (conversion.Conversion is {
IsUserDefined
: true } or { IsUnion: true })
5371
if (conversion.Conversion is {
IsUserDefined
: true } or { IsUnion: true })
Binder\Binder_Conversions.cs (4)
111
if (conversion.
IsUserDefined
&& !filterConversion(conversion.UserDefinedFromConversion, result))
306
if (conversion.
IsUserDefined
)
475
if (conversion.
IsUserDefined
)
2505
Debug.Assert(conversion.
IsUserDefined
);
Binder\Binder_Expressions.cs (1)
2877
Debug.Assert(conversion.
IsUserDefined
);
Binder\Binder_Patterns.cs (1)
1190
Debug.Assert((!conversion.
IsUserDefined
&& !conversion.IsUnion) || result == ConstantValue.False || result == ConstantValue.Bad);
Binder\Binder_Statements.cs (1)
2314
Debug.Assert(conversion.
IsUserDefined
);
Binder\DecisionDagBuilder.cs (1)
833
Debug.Assert(!conversion.
IsUserDefined
);
Binder\ForEachLoopBinder.cs (2)
648
Debug.Assert(!collectionConversionClassification.
IsUserDefined
);
1561
Debug.Assert(!collectionConversion.
IsUserDefined
);
Binder\Semantics\Conversions\Conversion.cs (6)
443
if (
IsUserDefined
)
489
if (
IsUserDefined
)
609
Debug.Assert(!this.
IsUserDefined
);
614
return (!this.
IsUserDefined
&& !this.IsUnion) ||
1051
/// or the method used to perform the conversion for a user-defined conversion if <see cref="
IsUserDefined
"/> is true.
1208
var (methodSymbol, constrainedToType) =
IsUserDefined
|| IsUnion ? (MethodSymbol, ConstrainedToType) : (null, null);
Binder\Semantics\Conversions\ConversionsBase.cs (3)
1910
(conversion.IsUnion || conversion.
IsUserDefined
|| HasTopLevelNullabilityImplicitConversion(source, destination));
2385
if (!conversion.
IsUserDefined
&& !conversion.IsUnion && !conversions.HasTopLevelNullabilityImplicitConversion(s, d))
2407
if (!conversion.
IsUserDefined
&& !conversion.IsUnion && !conversions.HasTopLevelNullabilityImplicitConversion(s, d))
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
3052
return conversion.Exists && (conversion.IsUnion || conversion.
IsUserDefined
|| conversions.HasTopLevelNullabilityImplicitConversion(sourceWithAnnotations, destinationWithAnnotations));
BoundTree\BoundConversion.cs (6)
39
if (Conversion.
IsUserDefined
)
47
Debug.Assert(ConversionGroupOpt?.Conversion.
IsUserDefined
== true);
51
if (ConversionGroupOpt?.Conversion.
IsUserDefined
== true)
53
if (Conversion.
IsUserDefined
)
123
operandAsConversion.Conversion.
IsUserDefined
);
131
(operandAsConversion.Conversion.
IsUserDefined
||
BoundTree\BoundNode.cs (5)
458
if (conversionGroupOpt?.Conversion.
IsUserDefined
== true)
461
while (possiblyUserDefined?.Conversion.
IsUserDefined
== false)
468
Debug.Assert(possiblyUserDefined.Conversion.
IsUserDefined
);
512
if (!boundConversion.Conversion.
IsUserDefined
)
517
if (boundConversion.Conversion.
IsUserDefined
)
FlowAnalysis\AbstractFlowPass.cs (1)
3087
if (!conversion.
IsUserDefined
) // https://github.com/dotnet/roslyn/issues/82636: Follow up
FlowAnalysis\NullableWalker.cs (5)
6203
Debug.Assert(!conversion.
IsUserDefined
);
6209
Debug.Assert(!conversion.
IsUserDefined
);
6217
if (conversion.
IsUserDefined
) // https://github.com/dotnet/roslyn/issues/82636: Confirm no special handling necessary or add it.
11743
if (node.OperandConversion is BoundConversion { Conversion: ({
IsUserDefined
: true } or { IsUnion: true }) and { Method.ParameterCount: 1 } operandConversion })
11745
if (operandConversion.
IsUserDefined
)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
897
if (BoundNode.GetConversion(node.LeftConversion, node.LeftPlaceholder) is {
IsUserDefined
: true })
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
230
Debug.Assert(!conversion.
IsUserDefined
);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
311
if (_inExpressionLambda && !conversion.
IsUserDefined
)
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
511
Debug.Assert(!receiverConversion.
IsUserDefined
);
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (2)
199
case BoundConversion { Conversion: {
IsUserDefined
: true } or { IsUnion: true } } conv when conv.ExplicitCastInCode || enclosingConversionWasExplicit: // https://github.com/dotnet/roslyn/issues/82636: Add coverage
409
when expr.Type.IsNullableType() && o.Type is { } && o.Type.IsNullableType() && !underlying[0].
IsUserDefined
: // https://github.com/dotnet/roslyn/issues/82636: Confirm union conversions don't need special handling here
Symbols\Source\ParameterHelpers.cs (1)
999
conversion.
IsUserDefined
||
Microsoft.CodeAnalysis.CSharp.CodeStyle (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
15
=> conversion is {
IsUserDefined
: true, MethodSymbol: { MethodKind: MethodKind.Conversion, Name: "op_Implicit" } };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
343
if (isAnonymousFunctionCast && originalConversion.
IsUserDefined
)
414
if (!rewrittenConversion.
IsUserDefined
)
754
if (innerOriginalConversion.
IsUserDefined
)
1367
if (oldConversion.
IsUserDefined
!= newConversion.
IsUserDefined
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
861
var originalIsUserDefined = originalConversion.
IsUserDefined
;
862
var newIsUserDefined = newConversion.
IsUserDefined
;
Microsoft.CodeAnalysis.CSharp.CSharp15.UnitTests (6)
UnionsTests.cs (6)
8563
Assert.False(conversion.
IsUserDefined
);
9312
Assert.False(conversion.
IsUserDefined
);
9355
Assert.False(conversion.
IsUserDefined
);
10727
Assert.False(conversion.
IsUserDefined
);
11063
Assert.False(conversion.
IsUserDefined
);
11109
Assert.False(conversion.
IsUserDefined
);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
FirstClassSpanTests.cs (1)
2835
Assert.False(argConv.
IsUserDefined
);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (10)
Compilation\GetSemanticInfoTests.cs (10)
636
Assert.True(impconv.
IsUserDefined
);
643
Assert.True(conv.
IsUserDefined
);
740
Assert.True(conv.
IsUserDefined
);
788
Assert.True(conv.
IsUserDefined
);
794
Assert.False(conv.
IsUserDefined
);
801
Assert.False(conv.
IsUserDefined
);
808
Assert.False(conv.
IsUserDefined
);
815
Assert.False(conv.
IsUserDefined
);
822
Assert.False(conv.
IsUserDefined
);
829
Assert.False(conv.
IsUserDefined
);
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
15
=> conversion is {
IsUserDefined
: true, MethodSymbol: { MethodKind: MethodKind.Conversion, Name: "op_Implicit" } };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
343
if (isAnonymousFunctionCast && originalConversion.
IsUserDefined
)
414
if (!rewrittenConversion.
IsUserDefined
)
754
if (innerOriginalConversion.
IsUserDefined
)
1367
if (oldConversion.
IsUserDefined
!= newConversion.
IsUserDefined
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
861
var originalIsUserDefined = originalConversion.
IsUserDefined
;
862
var newIsUserDefined = newConversion.
IsUserDefined
;
Roslyn.Diagnostics.CSharp.Analyzers (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
15
=> conversion is {
IsUserDefined
: true, MethodSymbol: { MethodKind: MethodKind.Conversion, Name: "op_Implicit" } };
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (5)
343
if (isAnonymousFunctionCast && originalConversion.
IsUserDefined
)
414
if (!rewrittenConversion.
IsUserDefined
)
754
if (innerOriginalConversion.
IsUserDefined
)
1367
if (oldConversion.
IsUserDefined
!= newConversion.
IsUserDefined
)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Utilities\SpeculationAnalyzer.cs (2)
861
var originalIsUserDefined = originalConversion.
IsUserDefined
;
862
var newIsUserDefined = newConversion.
IsUserDefined
;