124 references to IsImplicit
Microsoft.CodeAnalysis.CSharp (58)
Binder\Binder_Await.cs (1)
416if (!conversion.IsImplicit)
Binder\Binder_Deconstruct.cs (1)
326if (!nestedConversion.IsImplicit)
Binder\Binder_Expressions.cs (4)
1188if (!conversion.IsImplicit || !conversion.IsValid) 1237if (!conversion.IsImplicit || !conversion.IsValid) 4548if (!conversion.IsImplicit || !conversion.IsValid) 4560hasErrors = !conversion.IsImplicit;
Binder\Binder_Operators.cs (4)
224if (!rightToLeftConversion.IsImplicit || !rightToLeftConversion.IsValid) 272if (!argumentConversion.IsImplicit || !argumentConversion.IsValid) // NOTE: dev10 appears to allow user-defined conversions here. 790Debug.Assert(!conversion.IsImplicit); 1246if (conversion.IsImplicit)
Binder\Binder_Patterns.cs (2)
623if (Compilation.LanguageVersion < requiredVersion && !patternExpressionConversion.IsImplicit) 1278var result = Compilation.Conversions.ClassifyBuiltInConversion(type, possibleBaseInterface, isChecked: CheckOverflowAtRuntime, ref useSiteInfo).IsImplicit;
Binder\Binder_Statements.cs (7)
1382if (!elementConversionClassification.IsValid || !elementConversionClassification.IsImplicit) 1392elementConversionClassification.IsImplicit ? diagnostics : BindingDiagnosticBag.Discarded); 1949!conversion.IsImplicit : 2198Debug.Assert(!conversion.IsImplicit || !conversion.IsValid); 2385if (!conversion.IsImplicit || !conversion.IsValid) 2574if (conversion.IsImplicit) 3073else if (!conversion.IsImplicit || !conversion.IsValid)
Binder\Binder_TupleOperators.cs (1)
135if (conversion.IsImplicit)
Binder\DecisionDagBuilder.cs (1)
461if (input.Type.IsDynamic() ? type.SpecialType == SpecialType.System_Object : conversion.IsImplicit)
Binder\ForEachLoopBinder.cs (3)
566(collectionConversionClassification.IsImplicit && 1064ref useSiteInfo).IsImplicit) 1561if (conversion.IsImplicit)
Binder\Semantics\Conversions\Conversion.cs (2)
555return Exists && !IsImplicit; 1059return new CommonConversion(Exists, IsIdentity, IsNumeric, IsReference, IsImplicit, IsNullable, methodSymbol, constrainedToType);
Binder\Semantics\Conversions\ConversionsBase.cs (2)
115if (fastConversion.IsImplicit) 175return fastConversion.IsImplicit ? fastConversion : Conversion.NoConversion;
Binder\Semantics\Operators\BinaryOperatorEasyOut.cs (2)
317Debug.Assert(leftConversion.Exists && leftConversion.IsImplicit); 318Debug.Assert(rightConversion.Exists && rightConversion.IsImplicit);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (2)
779if (convLeft.IsImplicit && convRight.IsImplicit)
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (1)
116Debug.Assert(conversion.HasValue && conversion.Value.IsImplicit);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (1)
276if (conversion.IsImplicit)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (3)
2758bool type1ToType2 = Conversions.ClassifyImplicitConversionFromType(type1, type2, ref useSiteInfo).IsImplicit; 2759bool type2ToType1 = Conversions.ClassifyImplicitConversionFromType(type2, type1, ref useSiteInfo).IsImplicit; 3806Debug.Assert((!conversion.Exists) || conversion.IsImplicit, "ClassifyImplicitConversion should only return implicit conversions");
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1246Debug.Assert(!badArg.Result.ConversionForArg(parm).IsImplicit);
Binder\SwitchBinder.cs (1)
260else if (!conversion.IsImplicit)
Binder\UsingStatementBinder.cs (2)
196if (iDisposableConversion.IsImplicit) 258bool wrongAsync = alternateConversion.IsImplicit;
FlowAnalysis\NullableWalker.cs (2)
10024else if (conversion.IsImplicit) 10218fromExplicitCast: !conversion.IsImplicit,
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (1)
606ref discardedUseSiteInfo).IsImplicit;
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (1)
79if (conversion.IsImplicit)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (1)
738if (conversion.IsImplicit)
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (5)
1630var resultConversion = new Conversion(result, conversion.IsImplicit); 1645return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1659return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1676return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1689return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (2)
276isImplicit = conversions.ClassifyImplicitConversionFromType(enumeratorType, idisposableTypeSymbol, ref useSiteInfo).IsImplicit; 453Debug.Assert(receiverConversion.IsImplicit && !receiverConversion.IsUserDefined);
Lowering\LocalRewriter\LocalRewriter_NullCoalescingOperator.cs (1)
94BoundNode.GetConversion(leftConversion, leftPlaceholder) is { IsImplicit: true, IsUserDefined: false })
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
505Debug.Assert(_compilation.Conversions.ClassifyConversionFromType(rewrittenReceiver.Type, memberSymbol.ContainingType, isChecked: false, ref discardedUseSiteInfo).IsImplicit);
Lowering\LocalRewriter\LocalRewriter_StringInterpolation.cs (1)
51if (!conversion.IsImplicit)
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (1)
152return c.IsImplicit;
Operations\CSharpOperationFactory.cs (1)
1804ref discardedUseSiteInfo).IsImplicit :
Microsoft.CodeAnalysis.CSharp.CodeStyle (7)
CastSimplifier.cs (6)
226if (conversion.IsImplicit && 367originalParentConversion.GetConversion().IsImplicit) 592if (!innerOriginalConversion.IsImplicit || !innerOriginalConversion.IsNullable) 603if (!outerOriginalConversion.IsImplicit || !outerOriginalConversion.IsNullable) 630if (!originalConversion.IsImplicit || !originalConversion.IsNumeric) 742conditionalParentConversion.GetConversion().IsImplicit &&
ConversionExtensions.cs (1)
12(conversion.IsImplicit && conversion.IsReference);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (1)
CSharpTypeInferenceService.TypeInferrer.cs (1)
602invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
Microsoft.CodeAnalysis.CSharp.Features (7)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
42semanticModel.ClassifyConversion(expressionSyntax, targetType).IsImplicit;
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (2)
116if (conv.IsImplicit && (conv.IsConstantExpression || conv.IsEnumeration)) 135if (!conversion.IsImplicit ||
GenerateConstructor\CSharpGenerateConstructorService.cs (1)
183=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
GenerateMember\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (1)
151return conversion.IsImplicit && conversion.IsReference;
GenerateType\CSharpGenerateTypeService.cs (1)
565=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
InitializeParameter\InitializeParameterHelpers.cs (1)
45=> compilation.ClassifyConversion(source: source, destination: destination).IsImplicit;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (10)
Semantics\FunctionPointerTests.cs (8)
193Assert.True(conversion.IsImplicit); 278Assert.True(conversion.IsImplicit); 335Assert.False(conversion.IsImplicit); 343Assert.False(underlying.IsImplicit); 438Assert.False(conversion.IsImplicit); 488Assert.False(conversion.IsImplicit); 824Assert.True(conversion.IsImplicit); 881Assert.Equal(expectedImplicit, conversion.IsImplicit);
Semantics\ImplicitObjectCreationTests.cs (1)
1934Assert.True(model.GetConversion(def).IsImplicit);
Semantics\TargetTypedDefaultTests.cs (1)
3531Assert.True(conversion.IsImplicit);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (33)
Compilation\GetSemanticInfoTests.cs (30)
635Assert.True(impconv.IsImplicit); 641Assert.True(conv.IsImplicit); 649Assert.Equal(conversion.IsImplicit, model.Compilation.HasImplicitConversion(info.Type, info.ConvertedType)); 672Assert.False(conv.IsImplicit); 677Assert.True(conv.IsImplicit); 683Assert.True(conv.IsImplicit); 689Assert.True(conv.IsImplicit); 695Assert.True(conv.IsImplicit); 701Assert.True(conv.IsImplicit); 707Assert.True(conv.IsImplicit); 713Assert.True(conv.IsImplicit); 719Assert.True(conv.IsImplicit); 726Assert.False(conv.IsImplicit); 731Assert.True(conv.IsImplicit); 737Assert.True(conv.IsImplicit); 743Assert.True(conv.IsImplicit); 749Assert.True(conv.IsImplicit); 755Assert.False(conv.IsImplicit); 761Assert.False(conv.IsImplicit); 767Assert.False(conv.IsImplicit); 773Assert.False(conv.IsImplicit); 779Assert.False(conv.IsImplicit); 785Assert.False(conv.IsImplicit); 791Assert.True(conv.IsImplicit); 798Assert.True(conv.IsImplicit); 805Assert.False(conv.IsImplicit); 812Assert.False(conv.IsImplicit); 819Assert.False(conv.IsImplicit); 826Assert.False(conv.IsImplicit); 5993Assert.False(foreachSymbolInfo.CurrentConversion.IsImplicit);
Compilation\SemanticModelGetSemanticInfoTests.cs (1)
7488Assert.True(semanticInfo.ImplicitConversion.IsImplicit);
Symbols\ConversionTests.cs (2)
401Assert.True(conversion.IsImplicit); 414Assert.True(conversion.IsImplicit);
Microsoft.CodeAnalysis.CSharp.Workspaces (8)
CastSimplifier.cs (6)
226if (conversion.IsImplicit && 367originalParentConversion.GetConversion().IsImplicit) 592if (!innerOriginalConversion.IsImplicit || !innerOriginalConversion.IsNullable) 603if (!outerOriginalConversion.IsImplicit || !outerOriginalConversion.IsNullable) 630if (!originalConversion.IsImplicit || !originalConversion.IsNumeric) 742conditionalParentConversion.GetConversion().IsImplicit &&
ConversionExtensions.cs (1)
12(conversion.IsImplicit && conversion.IsReference);
CSharpTypeInferenceService.TypeInferrer.cs (1)
602invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();