70 references to ImplicitReference
Microsoft.CodeAnalysis.CSharp (30)
Binder\Binder_Attributes.cs (1)
830if (conversion.IsValid && (conversion.Kind == ConversionKind.ImplicitReference || conversion.Kind == ConversionKind.Identity))
Binder\Binder_Conversions.cs (1)
1625case ConversionKind.ImplicitReference:
Binder\Binder_Operators.cs (2)
3552case ConversionKind.ImplicitReference: 3804case ConversionKind.ImplicitReference:
Binder\Binder_Patterns.cs (1)
687else if ((conversion.ConversionKind == ConversionKind.Boxing || conversion.ConversionKind == ConversionKind.ImplicitReference)
Binder\Semantics\Conversions\Conversion.cs (3)
187case ConversionKind.ImplicitReference: 230internal static Conversion ImplicitReference => new Conversion(ConversionKind.ImplicitReference); 728return 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)
609case ConversionKind.ImplicitReference: 864case ConversionKind.ImplicitReference: 1861case ConversionKind.ImplicitReference:
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (1)
648case ConversionKind.ImplicitReference:
BoundTree\BoundExpression.cs (1)
452case ConversionKind.ImplicitReference:
CodeGen\EmitConversion.cs (1)
102case ConversionKind.ImplicitReference:
CodeGen\EmitExpression.cs (1)
1510case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker.cs (6)
2014case ConversionKind.ImplicitReference: 5086case ConversionKind.ImplicitReference: 7704case ConversionKind.ImplicitReference: 8105goto case ConversionKind.ImplicitReference; 8107case ConversionKind.ImplicitReference: 10630case ConversionKind.ImplicitReference:
FlowAnalysis\NullableWalker_Patterns.cs (2)
429case ConversionKind.ImplicitReference: 726ConversionKind.ImplicitReference => true,
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (1)
644case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (1)
485(conv.IsIdentity || conv.Kind == ConversionKind.ImplicitReference || conv.IsBoxing) &&
Lowering\LocalRewriter\LocalRewriter_Call.cs (1)
354case ConversionKind.ImplicitReference:
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (1)
399case ConversionKind.ImplicitReference:
Lowering\SyntheticBoundNodeFactory.cs (1)
1377if (conversion.Kind == ConversionKind.ImplicitReference && arg.IsLiteralNull())
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (7)
CodeGen\CodeGenTupleEqualityTests.cs (5)
824Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple1Null).Kind); 837Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple2Null).Kind); 1049Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(lastNull).Kind); 1555Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(nestedNull).Kind); 5203Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(leftNull).Kind);
CodeGen\CodeGenTupleTest.cs (2)
25754Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind); 25825Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (10)
Semantics\PatternMatchingTests2.cs (10)
2906checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2907checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2931checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2932checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2938checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2939checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2945checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2946checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2958checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2959checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (8)
Semantics\ForEachTests.cs (6)
1214Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1413Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1455Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1494Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1527Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1644Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind);
Semantics\InterpolationTests.cs (1)
4802Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind);
Semantics\RawInterpolationTests_Handler.cs (1)
3129Assert.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)
1751Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2579Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2652Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 3939Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 5731Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 7701Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 8771Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 11500Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12189Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12259Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12429Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind);
Symbols\ConversionTests.cs (1)
77const ConversionKind Irf = ConversionKind.ImplicitReference;