79 references to ImplicitReference
Microsoft.CodeAnalysis.CSharp (37)
Binder\Binder_Conversions.cs (3)
280if (conversion.Kind is ConversionKind.ImplicitReference or ConversionKind.ExplicitReference && 1922case ConversionKind.ImplicitReference: 3202case ConversionKind.ImplicitReference:
Binder\Binder_Operators.cs (4)
492Debug.Assert(conversion.Kind is ConversionKind.ImplicitReference); 3448Debug.Assert(conversion.Kind is ConversionKind.ImplicitReference); 5051case ConversionKind.ImplicitReference: 5303case ConversionKind.ImplicitReference:
Binder\Binder_Patterns.cs (1)
697else if ((conversion.ConversionKind == ConversionKind.Boxing || conversion.ConversionKind == ConversionKind.ImplicitReference)
Binder\Semantics\Conversions\Conversion.cs (3)
225case ConversionKind.ImplicitReference: 271internal static Conversion ImplicitReference => new Conversion(ConversionKind.ImplicitReference); 822return 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: 896case ConversionKind.ImplicitReference: 2007case ConversionKind.ImplicitReference:
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
659case ConversionKind.ImplicitReference:
BoundTree\BoundExpression.cs (1)
508case ConversionKind.ImplicitReference:
CodeGen\EmitConversion.cs (1)
102case ConversionKind.ImplicitReference:
CodeGen\EmitExpression.cs (1)
1550case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker.cs (7)
2166case ConversionKind.ImplicitReference: 2845Debug.Assert(conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference); 5813case ConversionKind.ImplicitReference: 9056case ConversionKind.ImplicitReference: 9470goto case ConversionKind.ImplicitReference; 9472case ConversionKind.ImplicitReference: 12365case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker_Patterns.cs (2)
467case ConversionKind.ImplicitReference: 768ConversionKind.ImplicitReference => true,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
718case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
489(conv.IsIdentity || conv.Kind == ConversionKind.ImplicitReference || conv.IsBoxing) &&
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
605case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (2)
206if (conversion.Kind is not (ConversionKind.Identity or ConversionKind.ImplicitReference)) 213return conversion.Kind is ConversionKind.Identity or ConversionKind.ImplicitReference;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
406case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
92BoundNode.GetConversion(leftConversion, leftPlaceholder) is { Kind: ConversionKind.Identity or ConversionKind.ImplicitReference })
Lowering\SyntheticBoundNodeFactory.cs (1)
1519if (conversion.Kind == ConversionKind.ImplicitReference && arg.IsLiteralNull())
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (7)
CodeGen\CodeGenTupleEqualityTests.cs (5)
803Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple1Null).Kind); 816Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple2Null).Kind); 1028Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(lastNull).Kind); 1534Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(nestedNull).Kind); 5182Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(leftNull).Kind);
CodeGen\CodeGenTupleTest.cs (2)
25716Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind); 25787Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (11)
Semantics\CollectionExpressionTests.cs (1)
27069var expectedConversion = new Conversion(ConversionKind.ImplicitReference, nestedConversions: default);
Semantics\PatternMatchingTests2.cs (10)
2889checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2890checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2914checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2915checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2921checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2922checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2928checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2929checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2941checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2942checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (9)
Semantics\ForEachTests.cs (6)
1215Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1414Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1456Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1495Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1528Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1645Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind);
Semantics\InterpolationTests.cs (1)
4830Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind);
Semantics\ObjectAndCollectionInitializerTests.cs (1)
3842Assert.Equal(ConversionKind.ImplicitReference, conversion.Kind);
Semantics\RawInterpolationTests_Handler.cs (1)
3131Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (15)
Compilation\GetSemanticInfoTests.cs (3)
259ConversionTestHelper(model, v4[0].Initializer.Value, ConversionKind.ImplicitReference, ConversionKind.NoConversion); 705case ConversionKind.ImplicitReference: 5588Assert.Equal(ConversionKind.ImplicitReference, conversion.Kind);
Compilation\SemanticModelGetSemanticInfoTests.cs (11)
1746Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2574Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2647Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 3934Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 5726Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 7696Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 8766Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 11495Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12184Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12254Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12424Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind);
Symbols\ConversionTests.cs (1)
80const ConversionKind Irf = ConversionKind.ImplicitReference;