42 references to ImplicitReference
Microsoft.CodeAnalysis.CSharp (42)
Binder\Binder_Await.cs (1)
477var result = conversion is { IsImplicit: true, Kind: ConversionKind.Identity or ConversionKind.ImplicitReference };
Binder\Binder_Conversions.cs (3)
333if (conversion.Kind is ConversionKind.ImplicitReference or ConversionKind.ExplicitReference && 1608case ConversionKind.ImplicitReference: 3901case ConversionKind.ImplicitReference:
Binder\Binder_Operators.cs (4)
502Debug.Assert(conversion.Kind is ConversionKind.ImplicitReference); 3608Debug.Assert(conversion.Kind is ConversionKind.ImplicitReference); 5303case ConversionKind.ImplicitReference: 5556case ConversionKind.ImplicitReference:
Binder\Binder_Patterns.cs (1)
1195else if ((conversion.ConversionKind == ConversionKind.Boxing || conversion.ConversionKind == ConversionKind.ImplicitReference)
Binder\Semantics\Conversions\Conversion.cs (3)
253case ConversionKind.ImplicitReference: 299internal static Conversion ImplicitReference => new Conversion(ConversionKind.ImplicitReference); 861return Kind == ConversionKind.ImplicitReference || Kind == ConversionKind.ExplicitReference;
Binder\Semantics\Conversions\ConversionEasyOut.cs (1)
24const byte IRF = (byte)ConversionKind.ImplicitReference;
Binder\Semantics\Conversions\ConversionKindExtensions.cs (1)
35case ImplicitReference:
Binder\Semantics\Conversions\ConversionsBase.cs (3)
592case ConversionKind.ImplicitReference: 910case ConversionKind.ImplicitReference: 2023case ConversionKind.ImplicitReference:
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
661case ConversionKind.ImplicitReference:
BoundTree\BoundExpression.cs (1)
519case ConversionKind.ImplicitReference:
CodeGen\EmitConversion.cs (2)
104case ConversionKind.ImplicitReference: 193case ConversionKind.ImplicitReference:
CodeGen\EmitExpression.cs (1)
1561case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker.cs (8)
2221case ConversionKind.ImplicitReference: 2901Debug.Assert(conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference); 5762if (conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference) 6134case ConversionKind.ImplicitReference: 9525case ConversionKind.ImplicitReference: 10033goto case ConversionKind.ImplicitReference; 10035case ConversionKind.ImplicitReference: 13157case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker_Patterns.cs (2)
713case ConversionKind.ImplicitReference: 877ConversionKind.ImplicitReference => true,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
728case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
520(conv.IsIdentity || conv.Kind == ConversionKind.ImplicitReference || conv.IsBoxing) &&
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
605case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (4)
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
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
413case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference })
Lowering\SyntheticBoundNodeFactory.cs (1)
1529if (conversion.Kind == ConversionKind.ImplicitReference && arg.IsLiteralNull())