1734 references to ConversionKind
Microsoft.CodeAnalysis.CSharp (675)
Binder\Binder.ValueChecks.cs (5)
615if (conversion.ConversionKind == ConversionKind.Unboxing) 3710Debug.Assert(conversion.ConversionKind != ConversionKind.StackAllocToSpanType, "StackAllocToSpanType unexpected"); 3712if (conversion.ConversionKind == ConversionKind.InterpolatedStringHandler) 4185Debug.Assert(conversion.ConversionKind != ConversionKind.StackAllocToSpanType, "StackAllocToSpanType unexpected"); 4187if (conversion.ConversionKind == ConversionKind.InterpolatedStringHandler)
Binder\Binder_Attributes.cs (2)
830if (conversion.IsValid && (conversion.Kind == ConversionKind.ImplicitReference || conversion.Kind == ConversionKind.Identity))
Binder\Binder_Conversions.cs (19)
140if (conversion.Kind == ConversionKind.FunctionType) 156if (conversion.Kind == ConversionKind.SwitchExpression) 171if (conversion.Kind == ConversionKind.ConditionalExpression) 186if (conversion.Kind == ConversionKind.InterpolatedString) 198if (conversion.Kind == ConversionKind.InterpolatedStringHandler) 250if (conversion.Kind == ConversionKind.DefaultLiteral) 647Debug.Assert(conversion.Kind == ConversionKind.FunctionType); 875case ConversionKind.StackAllocToPointerType: 879case ConversionKind.StackAllocToSpanType: 1568if (conversion.Kind == ConversionKind.DefaultLiteral) 1589case ConversionKind.Identity: 1603case ConversionKind.NullLiteral: 1606case ConversionKind.ImplicitConstant: 1609case ConversionKind.ExplicitNumeric: 1610case ConversionKind.ImplicitNumeric: 1611case ConversionKind.ExplicitEnumeration: 1612case ConversionKind.ImplicitEnumeration: 1624case ConversionKind.ExplicitReference: 1625case ConversionKind.ImplicitReference:
Binder\Binder_Deconstruct.cs (2)
308Debug.Assert(nestedConversion.Kind == ConversionKind.Deconstruction); 341conversion = new Conversion(ConversionKind.Deconstruction, deconstructMethod, nestedConversions.ToImmutableAndFree());
Binder\Binder_Operators.cs (43)
3228return new BoundIsOperator(node, operand, typeExpression, ConversionKind.NoConversion, resultType, hasErrors: true); 3310ConversionKind conversionKind, 3345ConversionKind conversionKind, 3399case ConversionKind.NoConversion: 3486case ConversionKind.ImplicitNumeric: 3487case ConversionKind.ExplicitNumeric: 3488case ConversionKind.ImplicitEnumeration: 3490case ConversionKind.ImplicitConstant: 3491case ConversionKind.ImplicitUserDefined: 3492case ConversionKind.ExplicitUserDefined: 3493case ConversionKind.IntPtr: 3494case ConversionKind.ExplicitTuple: 3495case ConversionKind.ImplicitTuple: 3511case ConversionKind.ExplicitEnumeration: 3516goto case ConversionKind.NoConversion; 3521case ConversionKind.ExplicitNullable: 3552case ConversionKind.ImplicitReference: 3555case ConversionKind.ExplicitReference: 3556case ConversionKind.Unboxing: 3563case ConversionKind.Identity: 3570case ConversionKind.Boxing: 3587case ConversionKind.ImplicitNullable: 3600case ConversionKind.ImplicitDynamic: 3601case ConversionKind.ExplicitDynamic: 3602case ConversionKind.ExplicitPointerToInteger: 3603case ConversionKind.ExplicitPointerToPointer: 3604case ConversionKind.ImplicitPointerToVoid: 3605case ConversionKind.ExplicitIntegerToPointer: 3606case ConversionKind.ImplicitNullToPointer: 3607case ConversionKind.AnonymousFunction: 3608case ConversionKind.NullLiteral: 3609case ConversionKind.DefaultLiteral: 3610case ConversionKind.MethodGroup: 3778ConversionKind conversionKind, 3804case ConversionKind.ImplicitReference: 3805case ConversionKind.Boxing: 3806case ConversionKind.ImplicitNullable: 3807case ConversionKind.Identity: 3808case ConversionKind.ExplicitNullable: 3809case ConversionKind.ExplicitReference: 3810case ConversionKind.Unboxing: 3840ConversionKind conversionKind, 3869internal static ConstantValue GetAsOperatorConstantResult(TypeSymbol operandType, TypeSymbol targetType, ConversionKind conversionKind, ConstantValue operandConstantValue)
Binder\Binder_Patterns.cs (4)
687else if ((conversion.ConversionKind == ConversionKind.Boxing || conversion.ConversionKind == ConversionKind.ImplicitReference) 697else if (conversion.ConversionKind == ConversionKind.ImplicitNullToPointer || 698(conversion.ConversionKind == ConversionKind.NoConversion && convertedExpression.Type?.IsErrorType() == true))
Binder\Binder_Statements.cs (4)
1938if (conversion.Kind != ConversionKind.Identity) 2213else if (conversion.Kind == ConversionKind.ExplicitNumeric && sourceConstantValueOpt != null && sourceConstantValueOpt != ConstantValue.Bad && 2576if (conversion.Kind == ConversionKind.Identity) 3063if (conversion.Kind != ConversionKind.Identity)
Binder\ForEachLoopBinder.cs (2)
449if (elementConversionClassification.Kind != ConversionKind.Identity && IterationVariable.RefKind is RefKind.Ref or RefKind.RefReadOnly) 572(collectionConversionClassification.Kind == ConversionKind.ExplicitReference && collectionExpr.Type.SpecialType == SpecialType.System_String));
Binder\RefSafetyAnalysis.cs (4)
572if (arg is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 736Debug.Assert(conversion.Kind == ConversionKind.Deconstruction); 844case ConversionKind.Identity: 845case ConversionKind.ImplicitTupleLiteral:
Binder\Semantics\Conversions\Conversion.cs (117)
21private readonly ConversionKind _kind; 92ConversionKind kind, 99private Conversion(ConversionKind kind) 107? ConversionKind.NoConversion 108: isImplicit ? ConversionKind.ImplicitUserDefined : ConversionKind.ExplicitUserDefined; 119internal Conversion(ConversionKind kind, MethodSymbol conversionMethod, bool isExtensionMethod) 130internal Conversion(ConversionKind kind, ImmutableArray<Conversion> nestedConversions) 141internal Conversion(ConversionKind kind, DeconstructMethodInfo deconstructMethodInfo, ImmutableArray<(BoundValuePlaceholder? placeholder, BoundExpression? conversion)> deconstructConversionInfo) 143Debug.Assert(kind == ConversionKind.Deconstruction); 156Debug.Assert(_kind is ConversionKind.MethodGroup or ConversionKind.IntPtr or ConversionKind.ImplicitUserDefined or ConversionKind.ExplicitUserDefined); 177private static void AssertTrivialConversion(ConversionKind kind) 183case ConversionKind.NoConversion: 184case ConversionKind.Identity: 185case ConversionKind.ImplicitConstant: 186case ConversionKind.ImplicitNumeric: 187case ConversionKind.ImplicitReference: 188case ConversionKind.ImplicitEnumeration: 189case ConversionKind.ImplicitThrow: 190case ConversionKind.AnonymousFunction: 191case ConversionKind.Boxing: 192case ConversionKind.NullLiteral: 193case ConversionKind.DefaultLiteral: 194case ConversionKind.ImplicitNullToPointer: 195case ConversionKind.ImplicitPointerToVoid: 196case ConversionKind.ExplicitPointerToPointer: 197case ConversionKind.ExplicitPointerToInteger: 198case ConversionKind.ExplicitIntegerToPointer: 199case ConversionKind.Unboxing: 200case ConversionKind.ExplicitReference: 201case ConversionKind.IntPtr: 202case ConversionKind.ExplicitEnumeration: 203case ConversionKind.ExplicitNumeric: 204case ConversionKind.ImplicitDynamic: 205case ConversionKind.ExplicitDynamic: 206case ConversionKind.InterpolatedString: 207case ConversionKind.InterpolatedStringHandler: 219internal static Conversion GetTrivialConversion(ConversionKind kind) 225internal static Conversion UnsetConversion => new Conversion(ConversionKind.UnsetConversionKind); 226internal static Conversion NoConversion => new Conversion(ConversionKind.NoConversion); 227internal static Conversion Identity => new Conversion(ConversionKind.Identity); 228internal static Conversion ImplicitConstant => new Conversion(ConversionKind.ImplicitConstant); 229internal static Conversion ImplicitNumeric => new Conversion(ConversionKind.ImplicitNumeric); 230internal static Conversion ImplicitReference => new Conversion(ConversionKind.ImplicitReference); 231internal static Conversion ImplicitEnumeration => new Conversion(ConversionKind.ImplicitEnumeration); 232internal static Conversion ImplicitThrow => new Conversion(ConversionKind.ImplicitThrow); 233internal static Conversion ObjectCreation => new Conversion(ConversionKind.ObjectCreation); 234internal static Conversion AnonymousFunction => new Conversion(ConversionKind.AnonymousFunction); 235internal static Conversion Boxing => new Conversion(ConversionKind.Boxing); 236internal static Conversion NullLiteral => new Conversion(ConversionKind.NullLiteral); 237internal static Conversion DefaultLiteral => new Conversion(ConversionKind.DefaultLiteral); 238internal static Conversion NullToPointer => new Conversion(ConversionKind.ImplicitNullToPointer); 239internal static Conversion PointerToVoid => new Conversion(ConversionKind.ImplicitPointerToVoid); 240internal static Conversion PointerToPointer => new Conversion(ConversionKind.ExplicitPointerToPointer); 241internal static Conversion PointerToInteger => new Conversion(ConversionKind.ExplicitPointerToInteger); 242internal static Conversion IntegerToPointer => new Conversion(ConversionKind.ExplicitIntegerToPointer); 243internal static Conversion Unboxing => new Conversion(ConversionKind.Unboxing); 244internal static Conversion ExplicitReference => new Conversion(ConversionKind.ExplicitReference); 245internal static Conversion IntPtr => new Conversion(ConversionKind.IntPtr); 246internal static Conversion ExplicitEnumeration => new Conversion(ConversionKind.ExplicitEnumeration); 247internal static Conversion ExplicitNumeric => new Conversion(ConversionKind.ExplicitNumeric); 248internal static Conversion ImplicitDynamic => new Conversion(ConversionKind.ImplicitDynamic); 249internal static Conversion ExplicitDynamic => new Conversion(ConversionKind.ExplicitDynamic); 250internal static Conversion InterpolatedString => new Conversion(ConversionKind.InterpolatedString); 251internal static Conversion InterpolatedStringHandler => new Conversion(ConversionKind.InterpolatedStringHandler); 252internal static Conversion Deconstruction => new Conversion(ConversionKind.Deconstruction); 253internal static Conversion PinnedObjectToPointer => new Conversion(ConversionKind.PinnedObjectToPointer); 254internal static Conversion ImplicitPointer => new Conversion(ConversionKind.ImplicitPointer); 255internal static Conversion FunctionType => new Conversion(ConversionKind.FunctionType); 280return new Conversion(ConversionKind.StackAllocToPointerType, ImmutableArray.Create(underlyingConversion)); 285return new Conversion(ConversionKind.StackAllocToSpanType, ImmutableArray.Create(underlyingConversion)); 288internal static Conversion MakeNullableConversion(ConversionKind kind, Conversion nestedConversion) 290Debug.Assert(kind == ConversionKind.ImplicitNullable || kind == ConversionKind.ExplicitNullable); 295case ConversionKind.Identity: 298case ConversionKind.ImplicitConstant: 301case ConversionKind.ImplicitNumeric: 304case ConversionKind.ExplicitNumeric: 307case ConversionKind.ExplicitEnumeration: 310case ConversionKind.ExplicitPointerToInteger: 323return new Conversion(ConversionKind.SwitchExpression, innerConversions); 328return new Conversion(ConversionKind.ConditionalExpression, innerConversions); 331internal ConversionKind Kind 526return Kind != ConversionKind.NoConversion; 569return Kind == ConversionKind.Identity; 580return Kind == ConversionKind.StackAllocToPointerType || Kind == ConversionKind.StackAllocToSpanType; 594return Kind == ConversionKind.ImplicitNumeric || Kind == ConversionKind.ExplicitNumeric; 608return Kind == ConversionKind.ImplicitEnumeration || Kind == ConversionKind.ExplicitEnumeration; 619return Kind == ConversionKind.ImplicitThrow; 630return Kind == ConversionKind.ObjectCreation; 641return Kind == ConversionKind.SwitchExpression; 652return Kind == ConversionKind.ConditionalExpression; 667return Kind == ConversionKind.InterpolatedString; 678return Kind == ConversionKind.InterpolatedStringHandler; 692return Kind == ConversionKind.ImplicitNullable || Kind == ConversionKind.ExplicitNullable; 703return Kind == ConversionKind.ImplicitTupleLiteral || Kind == ConversionKind.ExplicitTupleLiteral; 714return Kind == ConversionKind.ImplicitTuple || Kind == ConversionKind.ExplicitTuple; 728return Kind == ConversionKind.ImplicitReference || Kind == ConversionKind.ExplicitReference; 756return Kind == ConversionKind.Boxing; 770return Kind == ConversionKind.Unboxing; 784return Kind == ConversionKind.NullLiteral; 795return Kind == ConversionKind.DefaultLiteral; 823return Kind == ConversionKind.ImplicitConstant; 837return Kind == ConversionKind.AnonymousFunction; 851return Kind == ConversionKind.MethodGroup; 897return Kind == ConversionKind.IntPtr; 953return this.Kind == ConversionKind.NoConversion ? LookupResultKind.Empty : LookupResultKind.Viable;
Binder\Semantics\Conversions\ConversionEasyOut.cs (14)
23const byte IDN = (byte)ConversionKind.Identity; 24const byte IRF = (byte)ConversionKind.ImplicitReference; 25const byte XRF = (byte)ConversionKind.ExplicitReference; 26const byte XNM = (byte)ConversionKind.ExplicitNumeric; 27const byte NOC = (byte)ConversionKind.NoConversion; 28const byte BOX = (byte)ConversionKind.Boxing; 29const byte UNB = (byte)ConversionKind.Unboxing; 30const byte NUM = (byte)ConversionKind.ImplicitNumeric; 31const byte NUL = (byte)ConversionKind.ImplicitNullable; 32const byte XNL = (byte)ConversionKind.ExplicitNullable; 72public static ConversionKind ClassifyConversion(TypeSymbol source, TypeSymbol target) 77return ConversionKind.NoConversion; 82return ConversionKind.NoConversion; 84return (ConversionKind)s_convkind[sourceIndex, targetIndex];
Binder\Semantics\Conversions\ConversionKindExtensions.cs (7)
6using static Microsoft.CodeAnalysis.CSharp.ConversionKind; 12public static bool IsDynamic(this ConversionKind conversionKind) 18public static bool IsImplicitConversion(this ConversionKind conversionKind) 41case ConversionKind.MethodGroup: 42case ConversionKind.FunctionType: 77public static bool IsUserDefinedConversion(this ConversionKind conversionKind) 90public static bool IsPointerConversion(this ConversionKind kind)
Binder\Semantics\Conversions\Conversions.cs (1)
382return new Conversion(ConversionKind.MethodGroup, method, methodGroup.IsExtensionMethodGroup);
Binder\Semantics\Conversions\ConversionsBase.cs (73)
481ConversionKind convKind = ConversionEasyOut.ClassifyConversion(source, target); 482if (convKind != ConversionKind.ImplicitNullable && convKind != ConversionKind.ExplicitNullable) 574private static bool IsStandardImplicitConversionFromExpression(ConversionKind kind) 586case ConversionKind.AnonymousFunction: 587case ConversionKind.MethodGroup: 588case ConversionKind.ImplicitEnumeration: 589case ConversionKind.ImplicitDynamic: 590case ConversionKind.ImplicitNullToPointer: 591case ConversionKind.ImplicitTupleLiteral: 592case ConversionKind.StackAllocToPointerType: 593case ConversionKind.StackAllocToSpanType: 602private static bool IsStandardImplicitConversionFromType(ConversionKind kind) 606case ConversionKind.Identity: 607case ConversionKind.ImplicitNumeric: 608case ConversionKind.ImplicitNullable: 609case ConversionKind.ImplicitReference: 610case ConversionKind.Boxing: 611case ConversionKind.ImplicitConstant: 612case ConversionKind.ImplicitPointer: 613case ConversionKind.ImplicitPointerToVoid: 614case ConversionKind.ImplicitTuple: 676Debug.Assert(conversion.Kind == ConversionKind.NoConversion || IsStandardImplicitConversionFromType(conversion.Kind)); 858case ConversionKind.Identity: 861case ConversionKind.ImplicitNumeric: 864case ConversionKind.ImplicitReference: 867case ConversionKind.Boxing: 870case ConversionKind.NoConversion: 873case ConversionKind.ImplicitPointerToVoid: 877case ConversionKind.ImplicitTuple: 883case ConversionKind.ImplicitNullable: 891Conversion.MakeNullableConversion(ConversionKind.ExplicitNullable, underlyingConversion) : 978case ConversionKind.ImplicitUserDefined: 979case ConversionKind.ImplicitDynamic: 980case ConversionKind.ImplicitTuple: 981case ConversionKind.ImplicitTupleLiteral: 982case ConversionKind.ImplicitNullable: 983case ConversionKind.ConditionalExpression: 1205return new Conversion(ConversionKind.ImplicitNullable, Conversion.ImplicitConstantUnderlying); 1235return new Conversion(ConversionKind.ImplicitNullable, ImmutableArray.Create(underlyingTupleConversion)); 1266return new Conversion(ConversionKind.ExplicitNullable, ImmutableArray.Create(underlyingTupleConversion)); 1754ClassifyImplicitConversionFromType(source.Type, destination.Type, ref discardedUseSiteInfo).Kind != ConversionKind.NoConversion; 1812ConversionKind.ImplicitTupleLiteral, 1829ConversionKind.ImplicitTuple, 1859case ConversionKind.Identity: 1860case ConversionKind.Boxing: 1861case ConversionKind.ImplicitReference: 1864case ConversionKind.ImplicitTuple: 1865case ConversionKind.ImplicitTupleLiteral: 1878Debug.Assert(conversion.Kind == ConversionKind.NoConversion); 1885private static ConversionKind GetNumericConversion(TypeSymbol source, TypeSymbol destination) 1892return ConversionKind.UnsetConversionKind; 1899return ConversionKind.UnsetConversionKind; 1902var conversionKind = ConversionEasyOut.ClassifyConversion(source, destination); 1903Debug.Assert(conversionKind is ConversionKind.ImplicitNumeric or ConversionKind.ExplicitNumeric); 1909return GetNumericConversion(source, destination) == ConversionKind.ImplicitNumeric; 1916return GetNumericConversion(source, destination) == ConversionKind.ExplicitNumeric; 2115return new Conversion(ConversionKind.ImplicitNullable, Conversion.IdentityUnderlying); 2120return new Conversion(ConversionKind.ImplicitNullable, Conversion.ImplicitNumericUnderlying); 2126return new Conversion(ConversionKind.ImplicitNullable, ImmutableArray.Create(tupleConversion)); 2146ConversionKind.ImplicitTupleLiteral, 2164ConversionKind.ExplicitTupleLiteral, 2175ConversionKind kind, 2217ConversionKind.ImplicitTuple, 2236ConversionKind.ExplicitTuple, 2253ConversionKind kind, 2307return new Conversion(ConversionKind.ExplicitNullable, Conversion.IdentityUnderlying); 2312return new Conversion(ConversionKind.ExplicitNullable, Conversion.ImplicitNumericUnderlying); 2317return new Conversion(ConversionKind.ExplicitNullable, Conversion.ExplicitNumericUnderlying); 2323return new Conversion(ConversionKind.ExplicitNullable, ImmutableArray.Create(tupleConversion)); 2328return new Conversion(ConversionKind.ExplicitNullable, Conversion.ExplicitEnumerationUnderlying); 2333return new Conversion(ConversionKind.ExplicitNullable, Conversion.PointerToIntegerUnderlying);
Binder\Semantics\Conversions\UserDefinedImplicitConversions.cs (41)
604private static bool IsEncompassingImplicitConversionKind(ConversionKind kind) 609case ConversionKind.NoConversion: 613case ConversionKind.ImplicitDynamic: 614case ConversionKind.MethodGroup: 615case ConversionKind.AnonymousFunction: 616case ConversionKind.InterpolatedString: 617case ConversionKind.SwitchExpression: 618case ConversionKind.ConditionalExpression: 619case ConversionKind.ImplicitEnumeration: 620case ConversionKind.StackAllocToPointerType: 621case ConversionKind.StackAllocToSpanType: 622case ConversionKind.InterpolatedStringHandler: 625case ConversionKind.ImplicitUserDefined: 626case ConversionKind.ExplicitUserDefined: 627case ConversionKind.FunctionType: 630case ConversionKind.ExplicitNumeric: 631case ConversionKind.ExplicitEnumeration: 632case ConversionKind.ExplicitNullable: 633case ConversionKind.ExplicitReference: 634case ConversionKind.Unboxing: 635case ConversionKind.ExplicitDynamic: 636case ConversionKind.ExplicitPointerToPointer: 637case ConversionKind.ExplicitPointerToInteger: 638case ConversionKind.ExplicitIntegerToPointer: 639case ConversionKind.IntPtr: 640case ConversionKind.ExplicitTupleLiteral: 641case ConversionKind.ExplicitTuple: 645case ConversionKind.Identity: 646case ConversionKind.ImplicitNumeric: 647case ConversionKind.ImplicitNullable: 648case ConversionKind.ImplicitReference: 649case ConversionKind.Boxing: 650case ConversionKind.ImplicitConstant: 651case ConversionKind.ImplicitPointerToVoid: 654case ConversionKind.NullLiteral: 655case ConversionKind.ImplicitNullToPointer: 658case ConversionKind.ImplicitTupleLiteral: 659case ConversionKind.ImplicitTuple: 660case ConversionKind.ImplicitThrow: 663case ConversionKind.DefaultLiteral: 666case ConversionKind.ImplicitPointer:
Binder\Semantics\OverloadResolution\OverloadResolution.cs (14)
1792if (allSame && Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 1801if (Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 1916if (Conversions.ClassifyImplicitConversionFromType(type1Normalized, type2Normalized, ref useSiteInfo).Kind != ConversionKind.Identity) 2134return conversionsOpt.Any(static c => c.Kind == ConversionKind.FunctionType); 2407return conv1.Kind == ConversionKind.Identity ? BetterResult.Left : BetterResult.Neither; 2411return conv2.Kind == ConversionKind.Identity ? BetterResult.Right : BetterResult.Neither; 2463case (ConversionKind.InterpolatedStringHandler, ConversionKind.InterpolatedStringHandler): 2465case (ConversionKind.InterpolatedStringHandler, _): 2467case (_, ConversionKind.InterpolatedStringHandler): 2474case (ConversionKind.FunctionType, ConversionKind.FunctionType): 2476case (_, ConversionKind.FunctionType): 2478case (ConversionKind.FunctionType, _):
Binder\SwitchBinder.cs (1)
413Debug.Assert(conversion.Kind == ConversionKind.ImplicitUserDefined);
Binder\UsingStatementBinder.cs (2)
277Debug.Assert(expressionOpt.Type?.IsDynamic() != true || result.Kind == ConversionKind.ImplicitDynamic); 285Debug.Assert(!declarationTypeOpt.IsDynamic() || result.Kind == ConversionKind.ImplicitDynamic);
BoundTree\BoundExpression.cs (7)
404public ConversionKind ConversionKind 446case ConversionKind.Identity: 449case ConversionKind.ImplicitNumeric: 450case ConversionKind.ImplicitEnumeration: 452case ConversionKind.ImplicitReference: 453case ConversionKind.Boxing: 457case ConversionKind.ExplicitNumeric:
CodeGen\EmitConversion.cs (31)
44case ConversionKind.MethodGroup: 46case ConversionKind.ImplicitNullToPointer: 95case ConversionKind.Identity: 98case ConversionKind.ImplicitNumeric: 99case ConversionKind.ExplicitNumeric: 102case ConversionKind.ImplicitReference: 103case ConversionKind.Boxing: 109case ConversionKind.ExplicitReference: 110case ConversionKind.Unboxing: 116case ConversionKind.ImplicitEnumeration: 117case ConversionKind.ExplicitEnumeration: 120case ConversionKind.ImplicitUserDefined: 121case ConversionKind.ExplicitUserDefined: 122case ConversionKind.AnonymousFunction: 123case ConversionKind.MethodGroup: 124case ConversionKind.ImplicitTupleLiteral: 125case ConversionKind.ImplicitTuple: 126case ConversionKind.ExplicitTupleLiteral: 127case ConversionKind.ExplicitTuple: 128case ConversionKind.ImplicitDynamic: 129case ConversionKind.ExplicitDynamic: 130case ConversionKind.ImplicitThrow: 133case ConversionKind.ImplicitPointerToVoid: 134case ConversionKind.ExplicitPointerToPointer: 135case ConversionKind.ImplicitPointer: 137case ConversionKind.ExplicitPointerToInteger: 138case ConversionKind.ExplicitIntegerToPointer: 166case ConversionKind.PinnedObjectToPointer: 172case ConversionKind.ImplicitNullToPointer: 174case ConversionKind.ImplicitNullable: 175case ConversionKind.ExplicitNullable:
CodeGen\EmitExpression.cs (13)
1194if (conversion.ConversionKind == ConversionKind.Unboxing) 1233if (receiver.Kind == BoundKind.Conversion && ((BoundConversion)receiver).ConversionKind == ConversionKind.Unboxing) 1500case ConversionKind.Boxing: 1505case ConversionKind.MethodGroup: 1506case ConversionKind.AnonymousFunction: 1509case ConversionKind.ExplicitReference: 1510case ConversionKind.ImplicitReference: 3646var conversionKind = conversion.ConversionKind; 3647Debug.Assert(conversionKind != ConversionKind.NullLiteral && conversionKind != ConversionKind.DefaultLiteral); 3650conversionKind != ConversionKind.MethodGroup && 3651conversionKind != ConversionKind.NullLiteral && 3652conversionKind != ConversionKind.DefaultLiteral)
Compilation\CSharpSemanticModel.cs (10)
2122conversion = new Conversion(ConversionKind.AnonymousFunction, lambda.Symbol, false); 2152if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.SwitchExpression, Conversion: var convertedSwitchConversion }) 2170if (highestBoundExpr is BoundConversion { ConversionKind: ConversionKind.ConditionalExpression }) 2196if (conversion.Kind == ConversionKind.AnonymousFunction) 2220conversion = new Conversion(ConversionKind.MethodGroup, delegateCreation.MethodOpt, delegateCreation.IsExtensionMethod); 2226conversion = new Conversion(ConversionKind.AnonymousFunction, lambda.Symbol, delegateCreation.IsExtensionMethod); 2232conversion = new Conversion(ConversionKind.AnonymousFunction, lambda.Symbol, delegateCreation.IsExtensionMethod); 2240else if (boundExpr is BoundConversion { ConversionKind: ConversionKind.MethodGroup, Conversion: var exprConversion, Type: { TypeKind: TypeKind.FunctionPointer }, SymbolOpt: var symbol }) 3521if ((conversion.ConversionKind == ConversionKind.MethodGroup) && conversion.IsExtensionMethod) 4285Debug.Assert(conversion.ConversionKind == ConversionKind.MethodGroup);
Compilation\DeconstructionInfo.cs (3)
38return _conversion.Kind == ConversionKind.Deconstruction 51return _conversion.Kind == ConversionKind.Deconstruction 64if (_conversion.Kind != ConversionKind.Deconstruction)
FlowAnalysis\AbstractFlowPass.cs (3)
1633if (node.ConversionKind == ConversionKind.MethodGroup) 2439|| (expr is BoundConversion { ConversionKind: ConversionKind.ExplicitNullable or ConversionKind.ImplicitNullable } conv
FlowAnalysis\DefiniteAssignment.cs (1)
903boundConversion.ConversionKind == ConversionKind.IntPtr)
FlowAnalysis\NullableWalker.cs (80)
1990case ConversionKind.ExplicitNullable: 2009case ConversionKind.ConditionalExpression or ConversionKind.SwitchExpression or ConversionKind.ObjectCreation when 2012case ConversionKind.Identity: 2013case ConversionKind.DefaultLiteral: 2014case ConversionKind.ImplicitReference: 2015case ConversionKind.ImplicitTupleLiteral: 2016case ConversionKind.Boxing: 2426var conversionKind = conversion.Conversion.Kind; 2427return (conversionKind == ConversionKind.DefaultLiteral || conversionKind == ConversionKind.NullLiteral) && 5086case ConversionKind.ImplicitReference: 5087case ConversionKind.ExplicitReference: 6571if (conversion is { Kind: ConversionKind.ImplicitUserDefined }) 7678Debug.Assert(conversion.Kind == ConversionKind.ImplicitTuple || conversion.Kind == ConversionKind.ExplicitTuple); 7701case ConversionKind.Identity: 7702case ConversionKind.NullLiteral: 7703case ConversionKind.DefaultLiteral: 7704case ConversionKind.ImplicitReference: 7705case ConversionKind.ExplicitReference: 7706case ConversionKind.Boxing: 7707case ConversionKind.Unboxing: 7710case ConversionKind.ImplicitTupleLiteral: 7711case ConversionKind.ExplicitTupleLiteral: 7712case ConversionKind.ImplicitTuple: 7713case ConversionKind.ExplicitTuple: 7727case ConversionKind.ImplicitNullable: 7728case ConversionKind.ExplicitNullable: 7744case ConversionKind.ImplicitUserDefined: 7745case ConversionKind.ExplicitUserDefined: 7941conversion = Conversion.MakeNullableConversion(ConversionKind.ImplicitNullable, Conversion.Identity); 7973case ConversionKind.MethodGroup: 8003case ConversionKind.AnonymousFunction: 8020case ConversionKind.FunctionType: 8024case ConversionKind.InterpolatedString: 8028case ConversionKind.InterpolatedStringHandler: 8033case ConversionKind.ObjectCreation: 8034case ConversionKind.SwitchExpression: 8035case ConversionKind.ConditionalExpression: 8039case ConversionKind.ExplicitUserDefined: 8040case ConversionKind.ImplicitUserDefined: 8043case ConversionKind.ExplicitDynamic: 8044case ConversionKind.ImplicitDynamic: 8048case ConversionKind.Boxing: 8052case ConversionKind.Unboxing: 8068case ConversionKind.ImplicitThrow: 8072case ConversionKind.NoConversion: 8076case ConversionKind.NullLiteral: 8077case ConversionKind.DefaultLiteral: 8079goto case ConversionKind.Identity; 8081case ConversionKind.Identity: 8103goto case ConversionKind.ImplicitTuple; 8105goto case ConversionKind.ImplicitReference; 8107case ConversionKind.ImplicitReference: 8108case ConversionKind.ExplicitReference: 8119case ConversionKind.ImplicitNullable: 8145case ConversionKind.ExplicitNullable: 8161goto case ConversionKind.ImplicitNullable; 8163case ConversionKind.ImplicitTuple: 8164case ConversionKind.ImplicitTupleLiteral: 8165case ConversionKind.ExplicitTupleLiteral: 8166case ConversionKind.ExplicitTuple: 8172case ConversionKind.ImplicitTuple: 8173case ConversionKind.ExplicitTuple: 8196case ConversionKind.Deconstruction: 8201case ConversionKind.ExplicitEnumeration: 8450Debug.Assert(conversion.Kind == ConversionKind.ExplicitUserDefined || conversion.Kind == ConversionKind.ImplicitUserDefined); 9249Debug.Assert(conversion.Kind == ConversionKind.Deconstruction); 9429underlyingConversion.Kind == ConversionKind.ImplicitNullable && 9504case ConversionKind.Identity: 9505case ConversionKind.ImplicitTupleLiteral: 10019(conversion.Kind == ConversionKind.ExplicitReference && resultType.SpecialType == SpecialType.System_String)) 10206if (conversion.Kind == ConversionKind.NoConversion) 10629case ConversionKind.Identity: 10630case ConversionKind.ImplicitReference: 10631case ConversionKind.Boxing: 10632case ConversionKind.ImplicitNullable:
FlowAnalysis\NullableWalker.DebugVerifier.cs (1)
280if (node.ConversionKind == ConversionKind.InterpolatedStringHandler)
FlowAnalysis\NullableWalker_Patterns.cs (6)
428case ConversionKind.Identity: 429case ConversionKind.ImplicitReference: 432case ConversionKind.ExplicitNullable when AreNullableAndUnderlyingTypes(inputType, e.Type, out _): 725ConversionKind.Identity => true, 726ConversionKind.ImplicitReference => true, 727ConversionKind.Boxing => true,
Generated\BoundNodes.xml.Generated.cs (3)
2736public BoundIsOperator(SyntaxNode syntax, BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type, bool hasErrors = false) 2752public ConversionKind ConversionKind { get; } 2757public BoundIsOperator Update(BoundExpression operand, BoundTypeExpression targetType, ConversionKind conversionKind, TypeSymbol type)
Lowering\ClosureConversion\ClosureConversion.cs (2)
1378Debug.Assert(conversion.ConversionKind != ConversionKind.MethodGroup); 1379if (conversion.ConversionKind == ConversionKind.AnonymousFunction)
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (13)
472conversion.ConversionKind != ConversionKind.NullLiteral && 551var kind = _bound.Compilation.Conversions.ClassifyConversionFromType(oldType, newType, isChecked: false, ref useSiteInfo).Kind; 557case ConversionKind.Identity: 559case ConversionKind.ExplicitNumeric: 620case ConversionKind.MethodGroup: 625case ConversionKind.ExplicitUserDefined: 626case ConversionKind.ImplicitUserDefined: 627case ConversionKind.IntPtr: 635!TypeSymbol.Equals(strippedOperandType, ((node.ConversionKind == ConversionKind.ExplicitUserDefined) ? conversionInputType : conversionInputType.StrippedType()), TypeCompareKind.ConsiderEverything2); 644case ConversionKind.ImplicitReference: 645case ConversionKind.Identity: 650case ConversionKind.ImplicitNullable: 663case ConversionKind.NullLiteral:
Lowering\DiagnosticsPass_ExpressionTrees.cs (9)
725case ConversionKind.MethodGroup: 730case ConversionKind.AnonymousFunction: 739case ConversionKind.ImplicitDynamic: 740case ConversionKind.ExplicitDynamic: 747case ConversionKind.ExplicitTuple: 748case ConversionKind.ExplicitTupleLiteral: 749case ConversionKind.ImplicitTuple: 750case ConversionKind.ImplicitTupleLiteral: 757case ConversionKind.InterpolatedStringHandler:
Lowering\DiagnosticsPass_Warnings.cs (8)
435if (conversion.ConversionKind != ConversionKind.ImplicitNumeric && 436conversion.ConversionKind != ConversionKind.ImplicitConstant) 580if (conv.ConversionKind == ConversionKind.ImplicitNullable) 868if (conv.ConversionKind == ConversionKind.ExplicitNullable || conv.ConversionKind == ConversionKind.ImplicitNullable) 894case ConversionKind.Deconstruction: 895case ConversionKind.ImplicitTupleLiteral: 896case ConversionKind.Identity:
Lowering\Extensions.cs (7)
61case ConversionKind.ImplicitNullable: 62case ConversionKind.ExplicitNullable: 66case ConversionKind.ImplicitEnumeration: 108case ConversionKind.NullLiteral: 112case ConversionKind.DefaultLiteral: 115case ConversionKind.ImplicitNullable: 116case ConversionKind.ExplicitNullable:
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (1)
216case ConversionKind.MethodGroup:
Lowering\LocalRewriter\LocalRewriter.PatternLocalRewriter.cs (2)
218if (conversion.Kind == ConversionKind.ExplicitNullable && 485(conv.IsIdentity || conv.Kind == ConversionKind.ImplicitReference || conv.IsBoxing) &&
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (1)
714if (conversion.ConversionKind == ConversionKind.Boxing)
Lowering\LocalRewriter\LocalRewriter_Call.cs (30)
336case ConversionKind.AnonymousFunction: 337case ConversionKind.ImplicitConstant: 338case ConversionKind.MethodGroup: 339case ConversionKind.NullLiteral: 340case ConversionKind.DefaultLiteral: 343case ConversionKind.Boxing: 344case ConversionKind.ImplicitDynamic: 345case ConversionKind.ExplicitDynamic: 346case ConversionKind.ExplicitEnumeration: 347case ConversionKind.ExplicitNullable: 348case ConversionKind.ExplicitNumeric: 349case ConversionKind.ExplicitReference: 350case ConversionKind.Identity: 351case ConversionKind.ImplicitEnumeration: 352case ConversionKind.ImplicitNullable: 353case ConversionKind.ImplicitNumeric: 354case ConversionKind.ImplicitReference: 355case ConversionKind.Unboxing: 356case ConversionKind.ExplicitPointerToInteger: 357case ConversionKind.ExplicitPointerToPointer: 358case ConversionKind.ImplicitPointerToVoid: 359case ConversionKind.ImplicitNullToPointer: 360case ConversionKind.ExplicitIntegerToPointer: 364case ConversionKind.ExplicitUserDefined: 365case ConversionKind.ImplicitUserDefined: 368case ConversionKind.IntPtr: 369case ConversionKind.ImplicitThrow: 593if (argument is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 666if (argument is BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler, Operand: BoundInterpolatedString or BoundBinaryOperator } conversion) 1137=> expr is BoundConversion conv && conv.ConversionKind == ConversionKind.AnonymousFunction;
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (52)
22case ConversionKind.InterpolatedString: 24case ConversionKind.InterpolatedStringHandler: 37case ConversionKind.SwitchExpression: 41case ConversionKind.ConditionalExpression: 45case ConversionKind.ObjectCreation: 65_inExpressionLambda = _inExpressionLambda || (node.ConversionKind == ConversionKind.AnonymousFunction && !wasInExpressionLambda && rewrittenType.IsExpressionTree()); 245return conversion.ConversionKind == ConversionKind.Identity && !conversion.ExplicitCastInCode; 310case ConversionKind.Identity: 343case ConversionKind.ExplicitUserDefined: 344case ConversionKind.ImplicitUserDefined: 352case ConversionKind.IntPtr: 356case ConversionKind.ImplicitNullable: 357case ConversionKind.ExplicitNullable: 366case ConversionKind.Boxing: 390case ConversionKind.NullLiteral: 391case ConversionKind.DefaultLiteral: 399case ConversionKind.ImplicitReference: 400case ConversionKind.ExplicitReference: 408case ConversionKind.ImplicitConstant: 415goto case ConversionKind.ImplicitNumeric; 417case ConversionKind.ImplicitNumeric: 418case ConversionKind.ExplicitNumeric: 431case ConversionKind.ImplicitTupleLiteral: 432case ConversionKind.ExplicitTupleLiteral: 441case ConversionKind.ImplicitThrow: 448case ConversionKind.ImplicitEnumeration: 464var outerConversion = new Conversion(ConversionKind.ImplicitNullable, Conversion.IdentityUnderlying); 477goto case ConversionKind.ExplicitEnumeration; 479case ConversionKind.ExplicitEnumeration: 524case ConversionKind.ImplicitDynamic: 525case ConversionKind.ExplicitDynamic: 529return _dynamicFactory.MakeDynamicConversion(rewrittenOperand, explicitCastInCode || conversion.Kind == ConversionKind.ExplicitDynamic, conversion.IsArrayIndex, @checked, rewrittenType).ToExpression(); 531case ConversionKind.ImplicitTuple: 532case ConversionKind.ExplicitTuple: 541case ConversionKind.MethodGroup when oldNodeOpt is { Type: { TypeKind: TypeKind.FunctionPointer } funcPtrType }: 552case ConversionKind.MethodGroup: 865case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable }, Operand: var convertedArgument } 870case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitNullable, UnderlyingConversions: var underlying }, Operand: var convertedArgument } conversion 871when underlying.Length == 1 && underlying[0].Kind == ConversionKind.ImplicitTuple && !convertedArgument.Type!.IsNullableType(): 989var conversionKind = conversion.Kind.IsImplicitConversion() ? ConversionKind.ImplicitUserDefined : ConversionKind.ExplicitUserDefined; 1584ConversionKind conversionKind = isImplicit ? ConversionKind.ImplicitUserDefined : ConversionKind.ExplicitUserDefined; 1603case ConversionKind.ExplicitUserDefined: 1604case ConversionKind.ImplicitUserDefined: 1635case ConversionKind.IntPtr: 1647case ConversionKind.ImplicitNumeric: 1648case ConversionKind.ExplicitNumeric: 1662case ConversionKind.ImplicitEnumeration: 1663case ConversionKind.ExplicitEnumeration:
Lowering\LocalRewriter\LocalRewriter_DeconstructionAssignmentOperator.cs (4)
20Debug.Assert(right.Conversion.Kind == ConversionKind.Deconstruction); 219Debug.Assert(conversion.Kind == ConversionKind.Deconstruction); 307if ((tupleConversion.Conversion.Kind == ConversionKind.ImplicitTupleLiteral || tupleConversion.Conversion.Kind == ConversionKind.Identity)
Lowering\LocalRewriter\LocalRewriter_IsOperator.cs (1)
30ConversionKind conversionKind,
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (2)
101if (BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsIdentity: true } or { Kind: ConversionKind.ExplicitNullable }) 215if (boundConversion.ConversionKind != ConversionKind.Identity)
Lowering\LocalRewriter\LocalRewriter_StringConcat.cs (1)
376if (conv.ConversionKind == ConversionKind.Boxing)
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (2)
18Debug.Assert(conversion.ConversionKind == ConversionKind.InterpolatedString); 389if (arg is BoundConversion { Conversion: { Kind: ConversionKind.InterpolatedStringHandler }, ExplicitCastInCode: false, Operand: var operand })
Lowering\LocalRewriter\LocalRewriter_TupleBinaryOperator.cs (16)
49case BoundConversion { Conversion: { Kind: ConversionKind.Identity }, Operand: var o }: 51case BoundConversion { Conversion: { Kind: ConversionKind.ImplicitTupleLiteral }, Operand: var o }: 89(kind == ConversionKind.ImplicitNullable || kind == ConversionKind.ExplicitNullable) && 103if (expr is BoundConversion { ConversionKind: ConversionKind.ImplicitTuple, Conversion: var conversion } boundConversion) 190case BoundConversion { Conversion: { Kind: ConversionKind.DefaultLiteral } }: 211var conversion = Conversion.MakeNullableConversion(ConversionKind.ImplicitNullable, Conversion.Identity); 224bool conversionMustBePerformedOnOriginalExpression(ConversionKind kind) 230case ConversionKind.AnonymousFunction: // a lambda cannot be saved without a target type 231case ConversionKind.MethodGroup: // similarly for a method group 232case ConversionKind.InterpolatedString: // an interpolated string must be saved in interpolated form 233case ConversionKind.SwitchExpression: // a switch expression must have its arms converted 234case ConversionKind.StackAllocToPointerType: // a stack alloc is not well-defined without an enclosing conversion 235case ConversionKind.ConditionalExpression: // a conditional expression must have its alternatives converted 236case ConversionKind.StackAllocToSpanType: 237case ConversionKind.ObjectCreation:
Lowering\LocalRewriter\LocalRewriter_UsingStatement.cs (1)
509Debug.Assert(methodArgumentInfo.Arguments.All(arg => arg is not BoundConversion { ConversionKind: ConversionKind.InterpolatedStringHandler }));
Lowering\SpillSequenceSpiller.cs (1)
1078if (node.ConversionKind == ConversionKind.AnonymousFunction && node.Type.IsExpressionTree())
Lowering\SyntheticBoundNodeFactory.cs (4)
526Debug.Assert(conversion.Kind != ConversionKind.NoConversion); 527if (conversion.Kind != ConversionKind.Identity) 1377if (conversion.Kind == ConversionKind.ImplicitReference && arg.IsLiteralNull()) 1383if (conversion.Kind == ConversionKind.ExplicitNullable &&
Operations\CSharpOperationFactory.cs (2)
1015if (boundConversion.ConversionKind == ConversionKind.InterpolatedStringHandler) 1022if (boundConversion.ConversionKind == CSharp.ConversionKind.MethodGroup)
Operations\CSharpOperationFactory_Methods.cs (1)
145if (boundConversion.ConversionKind == ConversionKind.MethodGroup)
Symbols\Source\SourceComplexParameterSymbol.cs (1)
394((BoundConversion)convertedExpression).ConversionKind != ConversionKind.DefaultLiteral)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (1)
1368return conversions.ClassifyImplicitConversionFromType(sourceType, targetType, ref discardedUseSiteInfo).Kind != ConversionKind.NoConversion;
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (190)
CodeGen\CodeGenAwaitForeachTests.cs (20)
945Assert.Equal(ConversionKind.NoConversion, info.ElementConversion.Kind); 946Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 1669Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 1670Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 2874Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 2875Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 3621Assert.Equal(ConversionKind.ExplicitUserDefined, info.ElementConversion.Kind); 3623Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 3695Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 3696Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 3805Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 3806Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 3904Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 3905Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 4131Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 4132Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 4212Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 4213Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind); 5513Assert.Equal(ConversionKind.Identity, info.ElementConversion.Kind); 5514Assert.Equal(ConversionKind.Identity, info.CurrentConversion.Kind);
CodeGen\CodeGenDeconstructTests.cs (16)
105Assert.Equal(ConversionKind.Identity, model.GetConversion(right).Kind); 271Assert.Equal(ConversionKind.ImplicitNumeric, nested[0].Conversion.Value.Kind); 275Assert.Equal(ConversionKind.Identity, nested[1].Conversion.Value.Kind); 283Assert.Equal(ConversionKind.UnsetConversionKind, defaultInfo.Conversion.Value.Kind); 1121Assert.Equal(ConversionKind.Identity, nested[0].Conversion.Value.Kind); 1125Assert.Equal(ConversionKind.Identity, nested[1].Conversion.Value.Kind); 1131Assert.Equal(ConversionKind.ImplicitTupleLiteral, tupleConversion.Kind); 1132Assert.Equal(ConversionKind.ImplicitNumeric, tupleConversion.UnderlyingConversions[0].Kind); 2301Assert.Equal(ConversionKind.Identity, nested[0].Conversion.Value.Kind); 2314Assert.Equal(ConversionKind.Identity, nested2[0].Conversion.Value.Kind); 2318Assert.Equal(ConversionKind.Identity, nested2[1].Conversion.Value.Kind); 3451Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(literal).Kind); 3487Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(literal).Kind); 3493Assert.Equal(ConversionKind.Identity, model.GetConversion(nestedLiteral).Kind); 4052Assert.Equal(ConversionKind.Identity, nested[0].Conversion.Value.Kind); 4056Assert.Equal(ConversionKind.Identity, nested[1].Conversion.Value.Kind);
CodeGen\CodeGenFunctionPointersTests.cs (1)
10774Assert.Equal(ConversionKind.AnonymousFunction, conversion.Kind);
CodeGen\CodeGenTupleEqualityTests.cs (24)
383Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(tupleY).Kind); 740Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(t).Kind); 824Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple1Null).Kind); 837Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(tuple2Null).Kind); 884Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(t1).Kind); 893Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(tuple).Kind); 901Assert.Equal(ConversionKind.ImplicitNumeric, model.GetConversion(two).Kind); 932Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(t1).Kind); 941Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(tuple).Kind); 949Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(two).Kind); 981Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(t1).Kind); 997Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(t2).Kind); 1035Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(lastTuple).Kind); 1042Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(nullNull).Kind); 1049Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(lastNull).Kind); 1533Assert.Equal(ConversionKind.Identity, model.GetConversion(t).Kind); 1544Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(nestedTuple).Kind); 1555Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(nestedNull).Kind); 5187Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(leftCast).Kind); 5195Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(leftTuple).Kind); 5203Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(leftNull).Kind); 5211Assert.Equal(ConversionKind.Identity, model.GetConversion(leftNestedTuple).Kind); 5218Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(rightCast).Kind); 5225Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(rightTuple).Kind);
CodeGen\CodeGenTupleTest.cs (129)
7507Assert.Equal(ConversionKind.Identity, castConversion.Kind); 7511Assert.Equal(ConversionKind.ExplicitNullable, tupleConversion.Kind); 7513Assert.Equal(ConversionKind.ExplicitTupleLiteral, tupleConversion.UnderlyingConversions[0].Kind); 7540Assert.Equal(ConversionKind.ImplicitNullable, tupleConversion.Kind); 7542Assert.Equal(ConversionKind.ImplicitTupleLiteral, tupleConversion.UnderlyingConversions[0].Kind); 7582Assert.Equal(ConversionKind.ImplicitUserDefined, conversion1.Kind); 7591Assert.Equal(ConversionKind.ImplicitTupleLiteral, conversion2.Kind); 7600Assert.Equal(ConversionKind.ImplicitTupleLiteral, conversion3.Kind); 7648Assert.Equal(ConversionKind.Identity, conversion.Kind); 8303Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node).Kind); 8342Assert.Equal(ConversionKind.ExplicitNullable, model.GetConversion(node).Kind); 8349Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(element).Kind); 8354Assert.Equal(ConversionKind.Identity, model.GetConversion(element).Kind); 8390Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node).Kind); 8418Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node).Kind); 8447Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(node).Kind); 8454Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(element).Kind); 8459Assert.Equal(ConversionKind.Identity, model.GetConversion(element).Kind); 8465Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.Parent).Kind); 8495Assert.Equal(ConversionKind.ImplicitTuple, model.GetConversion(node).Kind); 8529Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node).Kind); 8562Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node).Kind); 8591Assert.Equal(ConversionKind.ExplicitNullable, model.GetConversion(node).Kind); 8598Assert.Equal(ConversionKind.Identity, model.GetConversion(element).Kind); 8603Assert.Equal(ConversionKind.Identity, model.GetConversion(element).Kind); 8644Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(node.Parent).Kind); 8731Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(node).Kind); 8769Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(node).Kind); 8776Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(element).Kind); 8781Assert.Equal(ConversionKind.Identity, model.GetConversion(element).Kind); 8816Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(node).Kind); 8854Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(node).Kind); 8905Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(node).Kind); 8952Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(node).Kind); 8959Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(element).Kind); 8964Assert.Equal(ConversionKind.ExplicitUserDefined, model.GetConversion(element).Kind); 9026Assert.Equal(ConversionKind.ImplicitUserDefined, model.GetConversion(node).Kind); 9155Assert.Equal(ConversionKind.ImplicitUserDefined, model.GetConversion(node).Kind); 9236Assert.Equal(ConversionKind.ImplicitUserDefined, model.GetConversion(node).Kind); 9319Assert.Equal(ConversionKind.ImplicitUserDefined, model.GetConversion(node).Kind); 16552Assert.Equal(ConversionKind.Identity, model.GetConversion(node).Kind); 17251Assert.Equal(ConversionKind.AnonymousFunction, model.GetConversion(n5).Kind); 17284Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(n1).Kind); 17291Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(n2).Kind); 17298Assert.Equal(ConversionKind.ImplicitConstant, model.GetConversion(n3).Kind); 17312Assert.Equal(ConversionKind.AnonymousFunction, model.GetConversion(n5).Kind); 17343Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(n1).Kind); 17350Assert.Equal(ConversionKind.ImplicitTupleLiteral, model.GetConversion(n2).Kind); 18856Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_string1).Kind); 18857Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_string2).Kind); 18858Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_stringNamed).Kind); 18874Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_string1).Kind); 18875Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_string2).Kind); 18876Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string1, int_stringNamed).Kind); 18877Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_string2, int_string1).Kind); 18878Assert.Equal(ConversionKind.Identity, comp.ClassifyConversion(int_stringNamed, int_string1).Kind); 18896Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(int_int, int_int_int).Kind); 18897Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(int_int, string_string).Kind); 18898Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(int_int1, string_string).Kind); 18899Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(int_int1, int_int_int).Kind); 18900Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(string_string, int_int1).Kind); 18901Assert.Equal(ConversionKind.NoConversion, comp.ClassifyConversion(int_int_int, int_int1).Kind); 18917Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string, int_object).Kind); 18918Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string).Kind); 18937Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_object2).Kind); 18938Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object1).Kind); 18939Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object2).Kind); 18941Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object2, int_string1).Kind); 18942Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object1, int_string2).Kind); 18943Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object2, int_string2).Kind); 18962Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_string2).Kind); 18963Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_string1).Kind); 18964Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_object).Kind); 18965Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object).Kind); 18967Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string1).Kind); 18968Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string2).Kind); 18987Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_string2).Kind); 18988Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_string1).Kind); 18989Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_object).Kind); 18990Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object).Kind); 18992Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string1).Kind); 18993Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string2).Kind); 19013Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_string2).Kind); 19014Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_string1).Kind); 19015Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_object).Kind); 19016Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object).Kind); 19018Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string1).Kind); 19019Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string2).Kind); 19040Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_string2).Kind); 19041Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_string1).Kind); 19042Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string1, int_object).Kind); 19043Assert.Equal(ConversionKind.ImplicitTuple, comp.ClassifyConversion(int_string2, int_object).Kind); 19045Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string1).Kind); 19046Assert.Equal(ConversionKind.ExplicitTuple, comp.ClassifyConversion(int_object, int_string2).Kind); 19079Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_string1).Kind); 19080Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_string1, isExplicitInSource: true).Kind); 19081Assert.Equal(ConversionKind.ImplicitTuple, model.ClassifyConversion(expr1, int_object).Kind); 19082Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_object, isExplicitInSource: true).Kind); 19084Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object).Kind); 19085Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object, isExplicitInSource: true).Kind); 19118Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_string1).Kind); 19119Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_object).Kind); 19120Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_string1, isExplicitInSource: true).Kind); 19121Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_object, isExplicitInSource: true).Kind); 19123Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object).Kind); 19124Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object, isExplicitInSource: true).Kind); 19157Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_string1).Kind); 19158Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_string1, isExplicitInSource: true).Kind); 19159Assert.Equal(ConversionKind.ImplicitTuple, model.ClassifyConversion(expr1, int_object).Kind); 19160Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_object, isExplicitInSource: true).Kind); 19162Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object).Kind); 19163Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object, isExplicitInSource: true).Kind); 19196Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_string1).Kind); 19197Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_object).Kind); 19198Assert.Equal(ConversionKind.ExplicitTuple, model.ClassifyConversion(expr1, int_string1, isExplicitInSource: true).Kind); 19199Assert.Equal(ConversionKind.Identity, model.ClassifyConversion(expr1, int_object, isExplicitInSource: true).Kind); 19201Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object).Kind); 19202Assert.Equal(ConversionKind.NoConversion, model.ClassifyConversion(expr1, int_object_object, isExplicitInSource: true).Kind); 25744Assert.Equal(ConversionKind.ExplicitTupleLiteral, model.GetConversion(tuple).Kind); 25749Assert.Equal(ConversionKind.ExplicitNullable, model.GetConversion(first).Kind); 25754Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind); 25815Assert.Equal(ConversionKind.ExplicitNullable, model.GetConversion(tuple).Kind); 25820Assert.Equal(ConversionKind.ExplicitNullable, model.GetConversion(first).Kind); 25825Assert.Equal(ConversionKind.ImplicitReference, model.GetConversion(second).Kind); 25880Assert.Equal(ConversionKind.NoConversion, model.GetConversion(tuple).Kind); 25885Assert.Equal(ConversionKind.Identity, model.GetConversion(first).Kind); 25890Assert.Equal(ConversionKind.Identity, model.GetConversion(second).Kind); 25922Assert.Equal(ConversionKind.Identity, model.GetConversion(tuple).Kind); 25952Assert.Equal(ConversionKind.NoConversion, model.GetConversion(tuple).Kind);
Microsoft.CodeAnalysis.CSharp.Emit2.UnitTests (105)
Emit\NumericIntPtrTests.cs (49)
32internal static readonly ConversionKind[] Identity = new[] { ConversionKind.Identity }; 33internal static readonly ConversionKind[] NoConversion = new[] { ConversionKind.NoConversion }; 34internal static readonly ConversionKind[] Boxing = new[] { ConversionKind.Boxing }; 35internal static readonly ConversionKind[] Unboxing = new[] { ConversionKind.Unboxing }; 36internal static readonly ConversionKind[] IntPtrConversion = new[] { ConversionKind.IntPtr }; 37internal static readonly ConversionKind[] ImplicitNumeric = new[] { ConversionKind.ImplicitNumeric }; 38internal static readonly ConversionKind[] ExplicitIntegerToPointer = new[] { ConversionKind.ExplicitIntegerToPointer }; 39internal static readonly ConversionKind[] ExplicitPointerToInteger = new[] { ConversionKind.ExplicitPointerToInteger }; 40internal static readonly ConversionKind[] ExplicitEnumeration = new[] { ConversionKind.ExplicitEnumeration }; 41internal static readonly ConversionKind[] ExplicitNumeric = new[] { ConversionKind.ExplicitNumeric }; 42internal static readonly ConversionKind[] ExplicitUserDefined = new[] { ConversionKind.ExplicitUserDefined }; 44internal static readonly ConversionKind[] ImplicitNullableNumeric = new[] { ConversionKind.ImplicitNullable, ConversionKind.ImplicitNumeric }; 45internal static readonly ConversionKind[] ImplicitNullableIdentity = new[] { ConversionKind.ImplicitNullable, ConversionKind.Identity }; 47internal static readonly ConversionKind[] ExplicitNullableEnumeration = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitEnumeration }; 48internal static readonly ConversionKind[] ExplicitNullableImplicitNumeric = new[] { ConversionKind.ExplicitNullable, ConversionKind.ImplicitNumeric }; 49internal static readonly ConversionKind[] ExplicitNullableNumeric = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitNumeric }; 50internal static readonly ConversionKind[] ExplicitNullablePointerToInteger = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitPointerToInteger }; 51internal static readonly ConversionKind[] ExplicitNullableIdentity = new[] { ConversionKind.ExplicitNullable, ConversionKind.Identity }; 53internal static bool IsNoConversion(ConversionKind[] conversionKinds) 55return conversionKinds is [ConversionKind.NoConversion]; 58internal static void AssertMatches(ConversionKind[] expected, Conversion conversion) 60IEnumerable<ConversionKind> actualConversionKinds = new[] { conversion.Kind }; 3495void conversions(string sourceType, string destType, ConversionKind[] expectedConversions, string expectedImplicitIL, string expectedExplicitIL, string expectedCheckedIL = null) 5943ConversionKind[] expectedConversions,
Semantics\PatternMatchingTests2.cs (56)
2889void checkType(ExpressionSyntax expr, string expectedNaturalType, string expectedConvertedType, ConversionKind expectedConversionKind) 2905checkType(expr, null, "C", ConversionKind.SwitchExpression); 2906checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2907checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2908checkType(expr.Arms[2].Expression, null, "C", ConversionKind.ImplicitThrow); 2911checkType(expr, "?", "?", ConversionKind.Identity); 2912checkType(expr.Arms[0].Expression, "A", "?", ConversionKind.NoConversion); 2913checkType(expr.Arms[1].Expression, "B", "?", ConversionKind.NoConversion); 2914checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2917checkType(expr, null, "D", ConversionKind.SwitchExpression); 2918checkType(expr.Arms[0].Expression, "A", "D", ConversionKind.ImplicitUserDefined); 2919checkType(expr.Arms[1].Expression, "B", "D", ConversionKind.ImplicitUserDefined); 2920checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2923checkType(expr, "?", "D", ConversionKind.NoConversion); 2924checkType(expr.Arms[0].Expression, "E", "?", ConversionKind.NoConversion); 2925checkType(expr.Arms[1].Expression, "F", "?", ConversionKind.NoConversion); 2926checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2930checkType(expr, "C", "C", ConversionKind.Identity); 2931checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2932checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2933checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2934checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2937checkType(expr, "C", "D", ConversionKind.ImplicitUserDefined); 2938checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2939checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2940checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2941checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2944checkType(expr, "C", "C", ConversionKind.Identity); 2945checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2946checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2947checkType(expr.Arms[2].Expression, "C", "C", ConversionKind.Identity); 2948checkType(expr.Arms[3].Expression, null, "C", ConversionKind.ImplicitThrow); 2951checkType(expr, "System.Int32", "D", ConversionKind.SwitchExpression); 2952checkType(expr.Arms[0].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2953checkType(expr.Arms[1].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2954checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2957checkType(expr, null, null, ConversionKind.Identity); 2958checkType(expr.Arms[0].Expression, "A", "C", ConversionKind.ImplicitReference); 2959checkType(expr.Arms[1].Expression, "B", "C", ConversionKind.ImplicitReference); 2960checkType(expr.Arms[2].Expression, null, "C", ConversionKind.ImplicitThrow); 2961checkType((CastExpressionSyntax)expr.Parent.Parent, "C", "C", ConversionKind.Identity); 2964checkType(expr, null, null, ConversionKind.Identity); 2965checkType(expr.Arms[0].Expression, "A", "D", ConversionKind.ImplicitUserDefined); 2966checkType(expr.Arms[1].Expression, "B", "D", ConversionKind.ImplicitUserDefined); 2967checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2968checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity); 2971checkType(expr, "?", "?", ConversionKind.Identity); 2972checkType(expr.Arms[0].Expression, "E", "?", ConversionKind.NoConversion); 2973checkType(expr.Arms[1].Expression, "F", "?", ConversionKind.NoConversion); 2974checkType(expr.Arms[2].Expression, null, "?", ConversionKind.ImplicitThrow); 2975checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity); 2978checkType(expr, "System.Int32", "System.Int32", ConversionKind.Identity); 2979checkType(expr.Arms[0].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2980checkType(expr.Arms[1].Expression, "System.Int32", "D", ConversionKind.ImplicitUserDefined); 2981checkType(expr.Arms[2].Expression, null, "D", ConversionKind.ImplicitThrow); 2982checkType((CastExpressionSyntax)expr.Parent.Parent, "D", "D", ConversionKind.Identity);
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (2)
IOperation\IOperationTests_ICompoundAssignmentOperation.cs (2)
88var inConversion = new Conversion(ConversionKind.ImplicitUserDefined, inSymbol, false); 89var outConversion = new Conversion(ConversionKind.ImplicitUserDefined, outSymbol, false);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (257)
Semantics\DeconstructionTests.cs (5)
5993Assert.Equal(ConversionKind.Identity, model.GetConversion(mainCall).Kind); 6036Assert.Equal(ConversionKind.Identity, model.GetConversion(mainCall).Kind); 6076Assert.Equal(ConversionKind.Identity, model.GetConversion(mainCall).Kind); 6118Assert.Equal(ConversionKind.Identity, model.GetConversion(two).Kind); 6158Assert.Equal(ConversionKind.Identity, model.GetConversion(mainCall).Kind);
Semantics\DelegateTypeTests.cs (15)
11443verifyConversions(model, expr, comp.GetSpecialType(SpecialType.System_MulticastDelegate).GetPublicSymbol(), ConversionKind.FunctionType, ConversionKind.FunctionType); 11444verifyConversions(model, expr, comp.GetWellKnownType(WellKnownType.System_Linq_Expressions_Expression).GetPublicSymbol(), ConversionKind.FunctionType, ConversionKind.FunctionType); 11445verifyConversions(model, expr, getFunctionType(funcOfT.Construct(comp.GetSpecialType(SpecialType.System_Int32))), ConversionKind.FunctionType, ConversionKind.FunctionType); 11446verifyConversions(model, expr, getFunctionType(funcOfT.Construct(comp.GetSpecialType(SpecialType.System_Object))), ConversionKind.NoConversion, ConversionKind.NoConversion); 11453static void verifyConversions(SemanticModel model, ExpressionSyntax expr, ITypeSymbol destination, ConversionKind expectedImplicitKind, ConversionKind expectedExplicitKind) 12293Assert.Equal(ConversionKind.FunctionType, conversions.ClassifyImplicitConversionFromTypeWhenNeitherOrBothFunctionTypes(functionTypeStringNullable, functionTypeStringNotNullable, ref useSiteInfo).Kind); 12294Assert.Equal(ConversionKind.FunctionType, conversions.ClassifyImplicitConversionFromTypeWhenNeitherOrBothFunctionTypes(functionTypeStringNullable, functionTypeObjectNullable, ref useSiteInfo).Kind); 12295Assert.Equal(ConversionKind.NoConversion, conversions.ClassifyImplicitConversionFromTypeWhenNeitherOrBothFunctionTypes(functionTypeStringNullable, functionTypeNullA, ref useSiteInfo).Kind); 12296Assert.Equal(ConversionKind.NoConversion, conversions.ClassifyImplicitConversionFromTypeWhenNeitherOrBothFunctionTypes(functionTypeNullA, functionTypeStringNullable, ref useSiteInfo).Kind); 12297Assert.Equal(ConversionKind.NoConversion, conversions.ClassifyImplicitConversionFromTypeWhenNeitherOrBothFunctionTypes(functionTypeNullA, functionTypeNullA, ref useSiteInfo).Kind);
Semantics\DynamicTests.cs (2)
52Assert.Equal(ConversionKind.Identity, dynamicToObject.Kind); 53Assert.Equal(ConversionKind.Identity, objectToDynamic.Kind);
Semantics\ExpressionBodiedMemberTests.cs (4)
77Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 228Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 284Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 317Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Semantics\ForEachTests.cs (59)
1214Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1215Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1217Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1252Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1253Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1255Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1296Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1297Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1299Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1340Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1341Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1343Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1373Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1374Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1376Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1413Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1414Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1416Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1455Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1456Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1458Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1494Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1495Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1497Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1527Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1528Assert.Equal(ConversionKind.Unboxing, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1530Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1558Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1559Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1561Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1590Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1614Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1644Assert.Equal(ConversionKind.ImplicitReference, GetCollectionConversion(boundNode).Kind); 1645Assert.Equal(ConversionKind.ExplicitReference, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); //object to C.var 1647Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1675Assert.Equal(ConversionKind.ImplicitDynamic, GetCollectionConversion(boundNode).Kind); 1676Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1678Assert.Equal(ConversionKind.ExplicitDynamic, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1708Assert.Equal(ConversionKind.ImplicitDynamic, GetCollectionConversion(boundNode).Kind); 1709Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1711Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); //NB: differs from explicit case 1749Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1750Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1752Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1833Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1834Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1836Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 1880Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 1881Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 1883Assert.Equal(ConversionKind.ImplicitNumeric, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 2147Assert.Equal(ConversionKind.Identity, conv.Kind); 2190Assert.Equal(ConversionKind.ExplicitReference, loopInfo0.CurrentConversion.Kind); 2199Assert.Equal(ConversionKind.Identity, loopInfo1.CurrentConversion.Kind); // Now identity. 3124Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 3125Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3127Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind); 3242Assert.Equal(ConversionKind.Identity, GetCollectionConversion(boundNode).Kind); 3243Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(info.CurrentConversion, info.CurrentPlaceholder).Kind); 3245Assert.Equal(ConversionKind.Identity, BoundNode.GetConversion(boundNode.ElementConversion, boundNode.ElementPlaceholder).Kind);
Semantics\FunctionPointerTests.cs (42)
192Assert.Equal(ConversionKind.ImplicitPointerToVoid, conversion.Kind); 277Assert.Equal(ConversionKind.ImplicitNullToPointer, conversion.Kind); 334Assert.Equal(ConversionKind.ExplicitPointerToInteger, conversion.Kind); 340Assert.Equal(ConversionKind.ExplicitNullable, conversion.Kind); 342Assert.Equal(ConversionKind.ExplicitPointerToInteger, underlying.Kind); 385Assert.Equal(ConversionKind.IntPtr, conversion.Kind); 389Assert.Equal(ConversionKind.IntPtr, conversion.Kind); 437Assert.Equal(ConversionKind.ExplicitIntegerToPointer, conversion.Kind); 487Assert.Equal(ConversionKind.ExplicitPointerToPointer, conversion.Kind); 584Assert.Equal(ConversionKind.ImplicitUserDefined, conversion.Kind); 823Assert.Equal(ConversionKind.ImplicitPointer, conversion.Kind); 863expectedConversionKind: ConversionKind.ImplicitPointer, expectedImplicit: true, 877private static void VerifyDeclarationConversion(CSharpCompilation comp, SemanticModel model, VariableDeclaratorSyntax decl, ConversionKind expectedConversionKind, bool expectedImplicit, string expectedOriginalType, string expectedConvertedType, string expectedOperationTree) 923expectedConversionKind: ConversionKind.ImplicitPointer, expectedImplicit: true, 960expectedConversionKind: ConversionKind.Identity, expectedImplicit: true, 971expectedConversionKind: ConversionKind.Identity, expectedImplicit: true, 985expectedConversionKind: ConversionKind.Identity, expectedImplicit: true, 1028expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1041expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1108expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1122expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1136expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1150expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1164expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1178expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1192expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1206expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1253expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1267expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1281expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1348expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1362expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1376expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1390expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1404expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1418expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1432expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1446expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1489expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1503expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1546expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false, 1560expectedConversionKind: ConversionKind.ExplicitPointerToPointer, expectedImplicit: false,
Semantics\ImplicitObjectCreationTests.cs (32)
58assert(0, type: "C", convertedType: "C", symbol: "C..ctor()", ConversionKind.ObjectCreation); 59assert(1, type: "S", convertedType: "S", symbol: "S..ctor()", ConversionKind.ObjectCreation); 60assert(2, type: "S", convertedType: "S?", symbol: "S..ctor()", ConversionKind.ObjectCreation); 62void assert(int index, string type, string convertedType, string symbol, ConversionKind conversionKind) 133assert(0, type: "C", convertedType: "C", symbol: "C..ctor()", ConversionKind.ObjectCreation); 134assert(1, type: "S", convertedType: "S", symbol: "S..ctor()", ConversionKind.ObjectCreation); 135assert(2, type: "S", convertedType: "S?", symbol: "S..ctor()", ConversionKind.ObjectCreation); 137void assert(int index, string type, string convertedType, string symbol, ConversionKind conversionKind) 180assert(0, type: "C", convertedType: "C", symbol: "C..ctor()", ConversionKind.ObjectCreation); 181assert(1, type: "S", convertedType: "S", symbol: "S..ctor()", ConversionKind.ObjectCreation); 182assert(2, type: "S", convertedType: "S?", symbol: "S..ctor()", ConversionKind.ObjectCreation); 184void assert(int index, string type, string convertedType, string symbol, ConversionKind conversionKind) 230assert(0, type: "C", convertedType: "C", symbol: "C..ctor()", constant: null, ConversionKind.ObjectCreation); 231assert(1, type: "S", convertedType: "S", symbol: "S..ctor()", constant: null, ConversionKind.ObjectCreation); 232assert(2, type: "S", convertedType: "S?", symbol: "S..ctor()", constant: null, ConversionKind.ObjectCreation); 233assert(3, type: "System.Int32", convertedType: "System.Int32", symbol: "System.Int32..ctor()", constant: "0", ConversionKind.ObjectCreation); 234assert(4, type: "System.Boolean", convertedType: "System.Boolean?", symbol: "System.Boolean..ctor()", constant: "False", ConversionKind.ObjectCreation); 236void assert(int index, string type, string convertedType, string symbol, string constant, ConversionKind conversionKind) 848Assert.Equal(ConversionKind.ObjectCreation, model.GetConversion(@new).Kind); 889Assert.Equal(ConversionKind.ObjectCreation, model.GetConversion(@new).Kind); 1708assert(1, "N(1)", type: "C", convertedType: "C", symbol: "C C.N(System.Int32 i)", ConversionKind.Identity); 1709assert(3, "N(2)", type: "C", convertedType: "C", symbol: "C C.N(System.Int32 i)", ConversionKind.Identity); 1711void assert(int index, string expression, string type, string convertedType, string symbol, ConversionKind conversionKind) 2127assert(0, type: "?", convertedType: "?", ConversionKind.Identity); 2128assert(1, type: "?", convertedType: "?", ConversionKind.Identity); 2129assert(2, type: "System.IDisposable", convertedType: "System.IDisposable", ConversionKind.NoConversion); 2131void assert(int index, string type, string convertedType, ConversionKind conversionKind) 2924assert(0, type: "System.Index", convertedType: "System.Index", symbol: "System.Index..ctor()", ConversionKind.ObjectCreation); 2925assert(1, type: "System.Index", convertedType: "System.Index", symbol: "System.Index..ctor()", ConversionKind.ObjectCreation); 2926assert(2, type: "System.Index", convertedType: "System.Index", symbol: "System.Index..ctor()", ConversionKind.ObjectCreation); 2927assert(3, type: "System.Index", convertedType: "System.Index", symbol: "System.Index..ctor()", ConversionKind.ObjectCreation); 2929void assert(int index, string type, string convertedType, string symbol, ConversionKind conversionKind)
Semantics\InteractiveSemanticModelTests.cs (4)
161Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 186Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 212Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 240Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Semantics\InterpolationTests.cs (3)
4582Assert.Equal(ConversionKind.InterpolatedStringHandler, semanticInfo.ImplicitConversion.Kind); 4802Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 4809Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Semantics\NativeIntegerTests.cs (47)
26internal static readonly ConversionKind[] Identity = new[] { ConversionKind.Identity }; 27internal static readonly ConversionKind[] NoConversion = new[] { ConversionKind.NoConversion }; 28internal static readonly ConversionKind[] Boxing = new[] { ConversionKind.Boxing }; 29internal static readonly ConversionKind[] Unboxing = new[] { ConversionKind.Unboxing }; 30internal static readonly ConversionKind[] IntPtrConversion = new[] { ConversionKind.IntPtr }; 31internal static readonly ConversionKind[] ImplicitNumeric = new[] { ConversionKind.ImplicitNumeric }; 32internal static readonly ConversionKind[] ExplicitIntegerToPointer = new[] { ConversionKind.ExplicitIntegerToPointer }; 33internal static readonly ConversionKind[] ExplicitPointerToInteger = new[] { ConversionKind.ExplicitPointerToInteger }; 34internal static readonly ConversionKind[] ExplicitEnumeration = new[] { ConversionKind.ExplicitEnumeration }; 35internal static readonly ConversionKind[] ExplicitNumeric = new[] { ConversionKind.ExplicitNumeric }; 37internal static readonly ConversionKind[] ImplicitNullableNumeric = new[] { ConversionKind.ImplicitNullable, ConversionKind.ImplicitNumeric }; 38internal static readonly ConversionKind[] ImplicitNullableIdentity = new[] { ConversionKind.ImplicitNullable, ConversionKind.Identity }; 40internal static readonly ConversionKind[] ExplicitNullableEnumeration = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitEnumeration }; 41internal static readonly ConversionKind[] ExplicitNullableImplicitNumeric = new[] { ConversionKind.ExplicitNullable, ConversionKind.ImplicitNumeric }; 42internal static readonly ConversionKind[] ExplicitNullableNumeric = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitNumeric }; 43internal static readonly ConversionKind[] ExplicitNullablePointerToInteger = new[] { ConversionKind.ExplicitNullable, ConversionKind.ExplicitPointerToInteger }; 44internal static readonly ConversionKind[] ExplicitNullableIdentity = new[] { ConversionKind.ExplicitNullable, ConversionKind.Identity }; 46internal static bool IsNoConversion(ConversionKind[] conversionKinds) 48return conversionKinds is [ConversionKind.NoConversion]; 51internal static void AssertMatches(ConversionKind[] expected, Conversion conversion) 53IEnumerable<ConversionKind> actualConversionKinds = new[] { conversion.Kind }; 7794void conversions(string sourceType, string destType, ConversionKind[] expectedConversions, string expectedImplicitIL, string expectedExplicitIL, string expectedCheckedIL = null) 9438ConversionKind[] expectedConversions,
Semantics\RawInterpolationTests_Handler.cs (3)
2909Assert.Equal(ConversionKind.InterpolatedStringHandler, semanticInfo.ImplicitConversion.Kind); 3129Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 3136Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Semantics\StackAllocInitializerTests.cs (10)
1040Assert.Equal(ConversionKind.ImplicitUserDefined, obj1Value.ImplicitConversion.Kind); 1048Assert.Equal(ConversionKind.Identity, obj2Value.ImplicitConversion.Kind); 1056Assert.Equal(ConversionKind.Identity, obj3Value.ImplicitConversion.Kind); 1064Assert.Equal(ConversionKind.Identity, obj4Value.ImplicitConversion.Kind); 1072Assert.Equal(ConversionKind.NoConversion, obj5Value.ImplicitConversion.Kind); 1143Assert.Equal(ConversionKind.Identity, obj1Value.ImplicitConversion.Kind); 1151Assert.Equal(ConversionKind.Identity, obj2Value.ImplicitConversion.Kind); 1159Assert.Equal(ConversionKind.Identity, obj3Value.ImplicitConversion.Kind); 1167Assert.Equal(ConversionKind.Identity, obj4Value.ImplicitConversion.Kind); 1175Assert.Equal(ConversionKind.NoConversion, obj5Value.ImplicitConversion.Kind);
Semantics\StackAllocSpanExpressionsTests.cs (10)
62Assert.Equal(ConversionKind.ImplicitUserDefined, obj1Value.ImplicitConversion.Kind); 70Assert.Equal(ConversionKind.Identity, obj2Value.ImplicitConversion.Kind); 78Assert.Equal(ConversionKind.Identity, obj3Value.ImplicitConversion.Kind); 86Assert.Equal(ConversionKind.Identity, obj4Value.ImplicitConversion.Kind); 94Assert.Equal(ConversionKind.NoConversion, obj5Value.ImplicitConversion.Kind); 137Assert.Equal(ConversionKind.Identity, obj1Value.ImplicitConversion.Kind); 145Assert.Equal(ConversionKind.Identity, obj2Value.ImplicitConversion.Kind); 153Assert.Equal(ConversionKind.Identity, obj3Value.ImplicitConversion.Kind); 161Assert.Equal(ConversionKind.Identity, obj4Value.ImplicitConversion.Kind); 169Assert.Equal(ConversionKind.NoConversion, obj5Value.ImplicitConversion.Kind);
Semantics\TargetTypedDefaultTests.cs (4)
3588Assert.Equal(ConversionKind.Identity, model.GetConversion(default2).Kind); 3595Assert.Equal(ConversionKind.ImplicitNullable, model.GetConversion(default3).Kind); 3603Assert.Equal(ConversionKind.ImplicitNullable, conversion.Kind); 3604Assert.Equal(ConversionKind.ImplicitNumeric, conversion.UnderlyingConversions.Single().Kind);
Semantics\TopLevelStatementsTests.cs (2)
9697Assert.Equal(ConversionKind.Identity, conversionInTopLevel.Kind); 9702Assert.Equal(ConversionKind.NoConversion, conversionOutsideTopLevel.Kind);
Semantics\UnsafeTests.cs (15)
5028Assert.Equal(ConversionKind.Identity, receiverSummary.ImplicitConversion.Kind); 5037Assert.Equal(ConversionKind.Identity, methodGroupSummary.ImplicitConversion.Kind); 5046Assert.Equal(ConversionKind.Identity, callSummary.ImplicitConversion.Kind); 5095Assert.Equal(ConversionKind.Identity, receiverSummary.ImplicitConversion.Kind); 5102Assert.Equal(ConversionKind.Identity, methodGroupSummary.ImplicitConversion.Kind); 5109Assert.Equal(ConversionKind.Identity, callSummary.ImplicitConversion.Kind); 5339Assert.Equal(ConversionKind.Identity, receiverSummary.ImplicitConversion.Kind); 5351Assert.Equal(ConversionKind.Identity, indexSummary.ImplicitConversion.Kind); 5360Assert.Equal(ConversionKind.Identity, accessSummary.ImplicitConversion.Kind); 5406Assert.Equal(ConversionKind.Identity, receiverSummary.ImplicitConversion.Kind); 5419Assert.Equal(ConversionKind.Identity, accessSummary.ImplicitConversion.Kind); 5464Assert.Equal(ConversionKind.Identity, receiverSummary.ImplicitConversion.Kind); 5477Assert.Equal(ConversionKind.Identity, accessSummary.ImplicitConversion.Kind); 5514Assert.Equal(ConversionKind.ImplicitNullToPointer, conv.Kind); 5557Assert.Equal(ConversionKind.ImplicitPointerToVoid, conv.Kind);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (501)
Compilation\GetSemanticInfoTests.cs (114)
109Assert.Equal(ConversionKind.AnonymousFunction, conv.Kind); 143Assert.Equal(ConversionKind.AnonymousFunction, conv.Kind); 250ConversionTestHelper(model, (v1 as AssignmentExpressionSyntax).Right, ConversionKind.Identity, ConversionKind.Identity); 253ConversionTestHelper(model, (v2 as AssignmentExpressionSyntax).Right, ConversionKind.ImplicitConstant, ConversionKind.ExplicitNumeric); 256ConversionTestHelper(model, v3[0].Initializer.Value, ConversionKind.ImplicitNumeric, ConversionKind.ImplicitNumeric); 259ConversionTestHelper(model, v4[0].Initializer.Value, ConversionKind.ImplicitReference, ConversionKind.NoConversion); 264ConversionTestHelper(model, v61[0].Expression, ConversionKind.ImplicitNumeric, ConversionKind.ImplicitNumeric); 267ConversionTestHelper(model, v7[0].Initializer.Value, ConversionKind.Boxing, ConversionKind.Boxing); 270ConversionTestHelper(model, v8[0].Initializer.Value, ConversionKind.ImplicitEnumeration, ConversionKind.ExplicitEnumeration); 275ConversionTestHelper(model, v9right, ConversionKind.Identity, ConversionKind.Identity); 278private void TestClassifyConversionBuiltInNumeric(string from, string to, ConversionKind ck) 289var isExplicitConversion = ck == ConversionKind.ExplicitNumeric; 314const ConversionKind ID = ConversionKind.Identity; 315const ConversionKind IN = ConversionKind.ImplicitNumeric; 316const ConversionKind XN = ConversionKind.ExplicitNumeric; 319var conversions = new ConversionKind[,] { 381ConversionTestHelper(model, (v1 as CastExpressionSyntax).Expression, comp.GetSpecialType(SpecialType.System_UInt32), ConversionKind.ExplicitNumeric); 384ConversionTestHelper(model, (v2 as AssignmentExpressionSyntax).Right, comp.GetSpecialType(SpecialType.System_Object), ConversionKind.Boxing); 387ConversionTestHelper(model, (v3 as CastExpressionSyntax).Expression, comp.GetSpecialType(SpecialType.System_Int32), ConversionKind.Unboxing); 391ConversionTestHelper(model, (v4 as CastExpressionSyntax).Expression, tsym, ConversionKind.ExplicitReference); 484ConversionTestHelper(model, v1, ConversionKind.ExplicitNumeric, ConversionKind.ExplicitNumeric); 487ConversionTestHelper(model, v2, ConversionKind.Unboxing, ConversionKind.Unboxing); 490ConversionTestHelper(model, v3, ConversionKind.ExplicitReference, ConversionKind.ExplicitReference); 538ConversionTestHelper(model, v1[0].Initializer.Value, ConversionKind.NullLiteral, ConversionKind.NoConversion); 541ConversionTestHelper(model, v2[0].Initializer.Value, ConversionKind.ImplicitNullable, ConversionKind.ExplicitNullable); 545ConversionTestHelper(model, (v3 as AssignmentExpressionSyntax).Right, ConversionKind.ImplicitNullable, ConversionKind.ImplicitNullable); 549ConversionTestHelper(model, v4[0].Initializer.Value, ConversionKind.ImplicitEnumeration, ConversionKind.ExplicitEnumeration); 553ConversionTestHelper(model, v5[0].Initializer.Value, ConversionKind.ImplicitEnumeration, ConversionKind.ExplicitNullable); 655ValidateConversion(Conversion.PointerToVoid, ConversionKind.ImplicitPointerToVoid); 656ValidateConversion(Conversion.NullToPointer, ConversionKind.ImplicitNullToPointer); 657ValidateConversion(Conversion.PointerToPointer, ConversionKind.ExplicitPointerToPointer); 658ValidateConversion(Conversion.IntegerToPointer, ConversionKind.ExplicitIntegerToPointer); 659ValidateConversion(Conversion.PointerToInteger, ConversionKind.ExplicitPointerToInteger); 660ValidateConversion(Conversion.IntPtr, ConversionKind.IntPtr); 664private void ValidateConversion(Conversion conv, ConversionKind kind) 670case ConversionKind.NoConversion: 675case ConversionKind.Identity: 681case ConversionKind.ImplicitNumeric: 687case ConversionKind.ImplicitEnumeration: 693case ConversionKind.ImplicitNullable: 699case ConversionKind.NullLiteral: 705case ConversionKind.ImplicitReference: 711case ConversionKind.Boxing: 717case ConversionKind.ImplicitDynamic: 723case ConversionKind.ExplicitDynamic: 729case ConversionKind.ImplicitConstant: 735case ConversionKind.ImplicitUserDefined: 741case ConversionKind.AnonymousFunction: 747case ConversionKind.MethodGroup: 753case ConversionKind.ExplicitNumeric: 759case ConversionKind.ExplicitEnumeration: 765case ConversionKind.ExplicitNullable: 771case ConversionKind.ExplicitReference: 777case ConversionKind.Unboxing: 783case ConversionKind.ExplicitUserDefined: 789case ConversionKind.ImplicitNullToPointer: 796case ConversionKind.ImplicitPointerToVoid: 803case ConversionKind.ExplicitPointerToPointer: 810case ConversionKind.ExplicitIntegerToPointer: 817case ConversionKind.ExplicitPointerToInteger: 824case ConversionKind.IntPtr: 842private void ConversionTestHelper(SemanticModel semanticModel, ExpressionSyntax expr, ConversionKind ept1, ConversionKind ept2) 856if (ept2 == ConversionKind.NoConversion) 869private void ConversionTestHelper(SemanticModel semanticModel, ExpressionSyntax expr, ITypeSymbol expsym, ConversionKind expkind) 1424Assert.Equal(ConversionKind.Identity, bindInfo.ImplicitConversion.Kind); 1465Assert.Equal(ConversionKind.Identity, bindInfo.ImplicitConversion.Kind); 1499Assert.Equal(ConversionKind.NoConversion, bindInfo.ImplicitConversion.Kind); 2457Assert.Equal(ConversionKind.Identity, conv.Kind); 2486Assert.Equal(ConversionKind.Identity, conv.Kind); 2806Assert.Equal(ConversionKind.Identity, conv.Kind); 3277ThreadStart ts = () => sawWrongConversionKind |= ConversionKind.Identity != model.GetConversion(expr).Kind; 3357Assert.Equal(ConversionKind.Identity, conversion.UserDefinedFromConversion.Kind); 3358Assert.Equal(ConversionKind.Identity, conversion.UserDefinedToConversion.Kind); 3405Assert.Equal(ConversionKind.ImplicitUserDefined, conversion.Kind); 3478Assert.Equal(ConversionKind.ImplicitUserDefined, argConversion.Kind); 3532Assert.Equal(ConversionKind.Identity, argConversion.Kind); 3613Assert.Equal(ConversionKind.Boxing, conv.Kind); 3638Assert.Equal(ConversionKind.Identity, literalConversion.Kind); 3646Assert.Equal(ConversionKind.Boxing, castConversion.Kind); 3671Assert.Equal(ConversionKind.Identity, literalConversion.Kind); 3679Assert.Equal(ConversionKind.Identity, castConversion.Kind); 3681Assert.Equal(ConversionKind.Boxing, model.ClassifyConversion(literal, castTypeInfo.Type).Kind); 3707Assert.Equal(ConversionKind.Identity, literalConversion.Kind); 3715Assert.Equal(ConversionKind.Identity, cast1Conversion.Kind); 3718Assert.Equal(ConversionKind.ImplicitNumeric, model.ClassifyConversion(literal, cast1TypeInfo.Type).Kind); 3727Assert.Equal(ConversionKind.Identity, cast2Conversion.Kind); 3729Assert.Equal(ConversionKind.Boxing, model.ClassifyConversion(cast1, cast2TypeInfo.Type).Kind); 4382Assert.Equal(ConversionKind.Identity, conv.Kind); 5588Assert.Equal(ConversionKind.ImplicitReference, conversion.Kind); 5627Assert.Equal(ConversionKind.AnonymousFunction, conversion.Kind); 5674Assert.Equal(ConversionKind.AnonymousFunction, conversion.Kind); 5735Assert.Equal(ConversionKind.MethodGroup, conversionA.Kind); 5738Assert.Equal(ConversionKind.MethodGroup, conversionB.Kind); 5741Assert.Equal(ConversionKind.NoConversion, conversionC.Kind);
Compilation\SemanticModelAPITests.cs (1)
2282Assert.Equal(ConversionKind.Identity, conv.Kind);
Compilation\SemanticModelGetSemanticInfoTests.cs (344)
49Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 88Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 119Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 153Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 194Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 235Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 275Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 312Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 465Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 505Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 548Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 596Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 644Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 697Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 728Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 764Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 798Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1646Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1690Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1722Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1751Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 1782Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1811Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1841Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1871Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1901Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1930Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1960Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 1990Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 2020Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2052Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2084Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2121Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2154Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2194Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2222Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2266Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2301Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2351Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2397Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2440Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2495Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2547Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2579Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2615Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2652Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 2693Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2734Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2784Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2830Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2873Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2909Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2949Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 2985Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3019Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3075Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3120Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3160Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3202Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3248Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3287Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3323Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3360Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3397Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3428Assert.Equal(ConversionKind.Boxing, semanticInfo.ImplicitConversion.Kind); 3460Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3495Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3526Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3558Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3592Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3630Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3674Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3708Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3742Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3776Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3806Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3838Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3867Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3902Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 3939Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 3975Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4010Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4041Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4072Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4109Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4138Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4162Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4188Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4216Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4249Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4283Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4321Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4375Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4406Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4446Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4477Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4572Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4610Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4646Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4676Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4714Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4750Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4786Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4817Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 4854Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4881Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4920Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 4967Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5019Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 5070Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5109Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5156Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5202Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5242Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5281Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5323Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5405Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5447Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5483Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5512Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5545Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5577Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5609Assert.Equal(ConversionKind.ImplicitConstant, semanticInfo.ImplicitConversion.Kind); 5659Assert.Equal(ConversionKind.AnonymousFunction, semanticInfo.ImplicitConversion.Kind); 5695Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 5731Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 5764Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5798Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5831Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5865Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5899Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 5934Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 5967Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 6001Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6034Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6062Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 6094Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6120Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6147Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6180Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6332Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6368Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6399Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6438Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 6472Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 6495Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 6522Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6557Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6594Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6644Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6678Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6714Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6739Assert.Equal(ConversionKind.AnonymousFunction, semanticInfo.ImplicitConversion.Kind); 6759Assert.Equal(ConversionKind.AnonymousFunction, semanticInfo.ImplicitConversion.Kind); 6809Assert.Equal(ConversionKind.ImplicitConstant, semanticInfo.ImplicitConversion.Kind); 6844Assert.Equal(ConversionKind.ImplicitConstant, semanticInfo.ImplicitConversion.Kind); 6878Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6923Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 6968Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 7050Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7081Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7109Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7140Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7172Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7204Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7236Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7265Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7291Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7319Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7346Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 7381Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 7402Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7428Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7456Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7485Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 7524Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7555Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7588Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7626Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7663Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7701Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 7730Assert.Equal(ConversionKind.Boxing, semanticInfo.ImplicitConversion.Kind); 7821Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7854Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7886Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7920Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7952Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 7986Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8022Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 8038Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 8075Assert.Equal(ConversionKind.MethodGroup, semanticInfo.ImplicitConversion.Kind); 8091Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 8372Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8406Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8517Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8563Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8608Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8647Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8687Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8729Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8771Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 8812Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8854Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8896Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 8936Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9065Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 9126Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9361Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9420Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9459Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9617Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9672Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9723Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9783Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9834Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9889Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9920Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9954Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 9990Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10026Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10062Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10106Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10143Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10180Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10219Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10250Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10285Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10320Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10354Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10388Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10469Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10496Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10525Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10561Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10603Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10640Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10677Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10716Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10759Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10801Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10838Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 10907Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11014Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11045Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11078Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11111Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11147Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11191Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11225Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11269Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11306Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11343Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11383Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 11430Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11463Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11500Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 11538Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11575Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11610Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11641Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11675Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11713Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11766Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11798Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11834Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11869Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11904Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11940Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 11976Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 12011Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 12046Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 12082Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 12155Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12189Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12222Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12259Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12290Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12325Assert.Equal(ConversionKind.Boxing, semanticInfo.ImplicitConversion.Kind); 12358Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12394Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12429Assert.Equal(ConversionKind.ImplicitReference, semanticInfo.ImplicitConversion.Kind); 12456Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12487Assert.Equal(ConversionKind.NoConversion, semanticInfo.ImplicitConversion.Kind); 12529Assert.Equal(ConversionKind.ImplicitUserDefined, semanticInfo.ImplicitConversion.Kind); 12613Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12647Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12679Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12710Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12742Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12774Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12806Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12849Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12886Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12925Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12961Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 12999Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13040Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13071Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13101Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13132Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13166Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13200Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13231Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13266Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13326Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13385Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13445Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 13506Assert.Equal(ConversionKind.ImplicitNumeric, semanticInfo.ImplicitConversion.Kind); 13564Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13594Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13659Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13688Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13744Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13777Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13808Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13842Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13876Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13915Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13954Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 13981Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14008Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14045Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14084Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14122Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14162Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14204Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14248Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14294Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14340Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14383Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14421Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14510Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14544Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14629Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 14667Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15087Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15116Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15155Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15186Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15217Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15248Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15279Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15341Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 15408Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Compilation\SemanticModelGetSemanticInfoTests_LateBound.cs (16)
111Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 137Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 169Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 301Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 336Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 422Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 457Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 485Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 522Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 549Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 577Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 612Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 641Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 668Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 696Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind); 727Assert.Equal(ConversionKind.Identity, semanticInfo.ImplicitConversion.Kind);
Symbols\ConversionTests.cs (26)
73const ConversionKind Non = ConversionKind.NoConversion; 74const ConversionKind Idn = ConversionKind.Identity; 75const ConversionKind Inm = ConversionKind.ImplicitNumeric; 76const ConversionKind Inl = ConversionKind.ImplicitNullable; 77const ConversionKind Irf = ConversionKind.ImplicitReference; 78const ConversionKind Box = ConversionKind.Boxing; 79const ConversionKind Xrf = ConversionKind.ExplicitReference; 80const ConversionKind Ubx = ConversionKind.Unboxing; 81const ConversionKind Xnl = ConversionKind.ExplicitNullable; 82const ConversionKind Xnm = ConversionKind.ExplicitNumeric; 84ConversionKind[,] conversions = 179var kind = conversions[i, j]; 317Assert.Equal(ConversionKind.Identity, conv.ClassifyConversionFromType(typeIntArray, typeIntArrayWithCustomModifiers, ref useSiteDiagnostics).Kind); 320Assert.Equal(ConversionKind.Identity, conv.ClassifyConversionFromType(typeIntArrayWithCustomModifiers, typeIntArray, ref useSiteDiagnostics).Kind); 323Assert.Equal(ConversionKind.Identity, conv.ClassifyConversionFromType(typeIntArrayWithCustomModifiers, typeIntArrayWithCustomModifiers, ref useSiteDiagnostics).Kind); 348Assert.Equal(ConversionKind.Identity, tuple.Item2.ClassifyConversion(tuple.Item1, comp.GetSpecialType(SpecialType.System_Boolean)).Kind);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (4)
FunctionPointerUtilities.cs (4)
183var expectedConversionKind = (expectedType, expectedConvertedType, expectedSymbol) switch 185(null, null, _) => ConversionKind.Identity, 186(_, _, null) => ConversionKind.NoConversion, 187(_, _, _) => ConversionKind.MethodGroup,