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