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