57 references to Identity
Microsoft.CodeAnalysis.CSharp (57)
Binder\Binder_Await.cs (1)
477var result = conversion is { IsImplicit: true, Kind: ConversionKind.Identity or ConversionKind.ImplicitReference };
Binder\Binder_Conversions.cs (2)
1607case ConversionKind.Identity: 3865case ConversionKind.Identity:
Binder\Binder_Operators.cs (4)
500if (conversion.Kind is not ConversionKind.Identity) 3606if (conversion.Kind is not ConversionKind.Identity) 5314case ConversionKind.Identity: 5559case ConversionKind.Identity:
Binder\Binder_Statements.cs (3)
1993if (conversion.Kind != ConversionKind.Identity) 2723if (conversion.Kind == ConversionKind.Identity) 3214if (conversion.Kind != ConversionKind.Identity)
Binder\ForEachLoopBinder.cs (1)
486if (elementConversionClassification.Kind != ConversionKind.Identity && IterationVariable.RefKind is RefKind.Ref or RefKind.RefReadOnly)
Binder\RefSafetyAnalysis.cs (1)
1248case ConversionKind.Identity:
Binder\Semantics\Conversions\Conversion.cs (4)
250case ConversionKind.Identity: 296internal static Conversion Identity => new Conversion(ConversionKind.Identity); 382ConversionKind.Identity => kind == ConversionKind.ImplicitNullable ? ImplicitNullableWithIdentityUnderlying : ExplicitNullableWithIdentityUnderlying, 686return Kind == ConversionKind.Identity;
Binder\Semantics\Conversions\ConversionEasyOut.cs (1)
23const byte IDN = (byte)ConversionKind.Identity;
Binder\Semantics\Conversions\ConversionKindExtensions.cs (1)
26case Identity:
Binder\Semantics\Conversions\ConversionsBase.cs (3)
589case ConversionKind.Identity: 904case ConversionKind.Identity: 2021case ConversionKind.Identity:
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
658case ConversionKind.Identity:
Binder\Semantics\OverloadResolution\OverloadResolution.cs (5)
2218if (allSame && Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 2227if (Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 2340if (Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 2925return conv1.Kind == ConversionKind.Identity ? BetterResult.Left : BetterResult.Neither; 2929return conv2.Kind == ConversionKind.Identity ? BetterResult.Right : BetterResult.Neither;
BoundTree\BoundExpression.cs (1)
513case ConversionKind.Identity:
CodeGen\EmitConversion.cs (2)
97case ConversionKind.Identity: 190case ConversionKind.Identity:
FlowAnalysis\NullableWalker.cs (8)
2219case ConversionKind.Identity: 2901Debug.Assert(conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference); 5762if (conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference) 9522case ConversionKind.Identity: 9993goto case ConversionKind.Identity; 9995case ConversionKind.Identity: 11677case ConversionKind.Identity: 13156case ConversionKind.Identity:
FlowAnalysis\NullableWalker_Patterns.cs (2)
712case ConversionKind.Identity: 876ConversionKind.Identity => true,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (2)
634case ConversionKind.Identity: 729case ConversionKind.Identity:
Lowering\DiagnosticsPass_Warnings.cs (1)
895case ConversionKind.Identity:
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
601case ConversionKind.Identity:
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (6)
216if (conversion.Kind is not (ConversionKind.Identity or ConversionKind.ImplicitReference)) 223return conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference; 384Debug.Assert(conversionKind == ConversionKind.Identity || (isReadOnlySpan && conversionKind == ConversionKind.ImplicitReference)); 769? spreadElementConversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference 770: spreadElementConversion.Kind is ConversionKind.Identity; 1078if (spreadElement.IteratorBody is not BoundExpressionStatement expressionStatement || expressionStatement.Expression is BoundConversion { ConversionKind: not ConversionKind.Identity })
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (2)
250return conversion.ConversionKind == ConversionKind.Identity && !conversion.ExplicitCastInCode; 318case ConversionKind.Identity:
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (1)
307if ((tupleConversion.Conversion.Kind == ConversionKind.ImplicitTupleLiteral || tupleConversion.Conversion.Kind == ConversionKind.Identity)
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (2)
92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference }) 224if (boundConversion.ConversionKind != ConversionKind.Identity)
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (1)
49case BoundConversion { Conversion: { Kind: ConversionKind.Identity }, Operand: var o }:
Lowering\SyntheticBoundNodeFactory.cs (1)
578if (conversion.Kind != ConversionKind.Identity)