1 write to ConversionGroupOpt
Microsoft.CodeAnalysis.CSharp (1)
Generated\BoundNodes.xml.Generated.cs (1)
3016
this.
ConversionGroupOpt
= conversionGroupOpt;
74 references to ConversionGroupOpt
Microsoft.CodeAnalysis.CSharp (74)
Binder\Binder_Conversions.cs (2)
121
if ((result as BoundConversion)?.
ConversionGroupOpt
?.Conversion.IsUnion == true &&
123
conversion != ((BoundConversion)result).
ConversionGroupOpt
!.Conversion.BestUnionConversionAnalysis!.SourceConversion)
Binder\Binder_Operators.cs (1)
81
explicitCastInCode: true, conversion.ConstantValueOpt, conversion.
ConversionGroupOpt
, conversion.InConversionGroupFlags, conversion.Type);
BoundTree\BoundConversion.cs (43)
34
operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
&&
43
Debug.Assert(
ConversionGroupOpt
is null);
47
Debug.Assert(
ConversionGroupOpt
?.Conversion.IsUserDefined == true);
51
if (
ConversionGroupOpt
?.Conversion.IsUserDefined == true)
55
Debug.Assert(Conversion ==
ConversionGroupOpt
.Conversion);
57
if (!
ConversionGroupOpt
.Conversion.IsValid)
60
Debug.Assert(Operand is not BoundConversion operandAsConversion || operandAsConversion.
ConversionGroupOpt
!=
ConversionGroupOpt
);
66
if (Operand is BoundConversion operandAsConversion && operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
)
81
Debug.Assert(
ConversionGroupOpt
.Conversion.IsValid);
83
if (
ConversionGroupOpt
.Conversion.IsImplicit)
94
operandAsConversion.
ConversionGroupOpt
!=
ConversionGroupOpt
);
95
Debug.Assert(Conversion ==
ConversionGroupOpt
.Conversion.UserDefinedFromConversion);
104
if (Operand is BoundConversion operandAsConversion && operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
)
110
Debug.Assert(
ConversionGroupOpt
.Conversion.UserDefinedFromConversion.IsIdentity ||
111
(
ConversionGroupOpt
.Conversion.UserDefinedFromConversion.IsTupleLiteralConversion &&
122
operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
&&
130
operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
&&
149
Debug.Assert(
ConversionGroupOpt
is null);
153
Debug.Assert(
ConversionGroupOpt
?.Conversion.IsUnion == true);
157
if (
ConversionGroupOpt
?.Conversion.IsUnion == true)
161
Debug.Assert(Conversion ==
ConversionGroupOpt
.Conversion);
165
if (Operand is BoundConversion operandAsConversion && operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
)
171
var sourceConversion =
ConversionGroupOpt
.Conversion.BestUnionConversionAnalysis.SourceConversion;
186
operandAsConversion.
ConversionGroupOpt
!=
ConversionGroupOpt
);
187
Debug.Assert(Conversion ==
ConversionGroupOpt
.Conversion.BestUnionConversionAnalysis.SourceConversion);
196
operandAsConversion.
ConversionGroupOpt
==
ConversionGroupOpt
&&
198
Debug.Assert(Conversion ==
ConversionGroupOpt
.Conversion.BestUnionConversionAnalysis.TargetConversion);
210
Debug.Assert(
ConversionGroupOpt
?.Conversion.IsUnion == true);
216
if (
ConversionGroupOpt
?.Conversion.IsUnion != true)
228
if (current?.
ConversionGroupOpt
==
ConversionGroupOpt
&& current.Conversion.IsUnion)
235
if (current?.
ConversionGroupOpt
==
ConversionGroupOpt
&& (current.InConversionGroupFlags & InConversionGroupFlags.UnionSourceConversion) != 0)
BoundTree\BoundExpression.cs (1)
498
return this.Update(operand: operand, this.Conversion, this.IsBaseConversion, this.Checked, this.ExplicitCastInCode, this.ConstantValueOpt, this.
ConversionGroupOpt
, this.InConversionGroupFlags, this.Type);
BoundTree\BoundNode.cs (3)
457
ConversionGroup? conversionGroupOpt = boundConversion.
ConversionGroupOpt
;
471
while (operand is BoundConversion operandAsConversion && operandAsConversion.
ConversionGroupOpt
== conversionGroupOpt)
498
while (operand is BoundConversion operandAsConversion && operandAsConversion.
ConversionGroupOpt
== conversionGroupOpt)
Compilation\CSharpSemanticModel.cs (3)
3559
if (conversion.
ConversionGroupOpt
?.Conversion.IsUnion == true &&
3561
unionConversion.
ConversionGroupOpt
== conversion.
ConversionGroupOpt
)
FlowAnalysis\NullableWalker.cs (11)
6259
TypeWithAnnotations explicitType = boundConversion.
ConversionGroupOpt
?.ExplicitType ?? default;
8978
if (group != conversion.
ConversionGroupOpt
&& group != null)
8983
group = conversion.
ConversionGroupOpt
;
9196
TypeWithAnnotations explicitType = node.
ConversionGroupOpt
?.ExplicitType ?? default;
9981
var explicitType = operandConversion.
ConversionGroupOpt
?.ExplicitType;
10563
if (conversionOpt is {
ConversionGroupOpt
.Conversion.IsUnion: true })
10686
var conversionGroup = conversionOpt?.
ConversionGroupOpt
;
10691
Debug.Assert(conversionOpt.
ConversionGroupOpt
== conversionGroup);
10700
var conversionGroup = conversionOpt?.
ConversionGroupOpt
;
10704
Debug.Assert(conversionOpt.
ConversionGroupOpt
== conversionGroup);
10705
if (conversionOpt.
ConversionGroupOpt
!= conversionGroup)
Generated\BoundNodes.xml.Generated.cs (5)
3039
if (operand != this.Operand || conversion != this.Conversion || isBaseConversion != this.IsBaseConversion || @checked != this.Checked || explicitCastInCode != this.ExplicitCastInCode || constantValueOpt != this.ConstantValueOpt || conversionGroupOpt != this.
ConversionGroupOpt
|| inConversionGroupFlags != this.InConversionGroupFlags || !TypeSymbol.Equals(type, this.Type, TypeCompareKind.ConsiderEverything))
11600
return node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.ExplicitCastInCode, node.ConstantValueOpt, node.
ConversionGroupOpt
, node.InConversionGroupFlags, type);
13769
updatedNode = node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.ExplicitCastInCode, node.ConstantValueOpt, node.
ConversionGroupOpt
, node.InConversionGroupFlags, infoAndType.Type!);
13774
updatedNode = node.Update(operand, node.Conversion, node.IsBaseConversion, node.Checked, node.ExplicitCastInCode, node.ConstantValueOpt, node.
ConversionGroupOpt
, node.InConversionGroupFlags, node.Type);
16156
new TreeDumperNode("conversionGroupOpt", node.
ConversionGroupOpt
, null),
Lowering\BoundTreeToDifferentEnclosingContextRewriter.cs (1)
185
node.
ConversionGroupOpt
,
Lowering\ClosureConversion\ClosureConversion.cs (1)
1411
conversionGroupOpt: conversion.
ConversionGroupOpt
,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
685
conversionGroupOpt: conversion.
ConversionGroupOpt
,
Operations\CSharpOperationFactory.cs (2)
1041
else if (boundConversion.
ConversionGroupOpt
?.Conversion.IsUnion == true &&
1090
Debug.Assert(isImplicit || target.Syntax != syntax || target.IsImplicit || boundConversion.
ConversionGroupOpt
!= null);