186 references to IsImplicit
ConfigurationSchemaGenerator (1)
RuntimeSource\Configuration.Binder\ConfigurationBindingGenerator.Parser.cs (1)
528return conversion.IsReference && conversion.IsImplicit;
Microsoft.CodeAnalysis.CSharp (92)
Binder\Binder_Await.cs (3)
477var result = conversion is { IsImplicit: true, Kind: ConversionKind.Identity or ConversionKind.ImplicitReference }; 495ref discardedUseSiteInfo).IsImplicit; 678if (!conversion.IsImplicit)
Binder\Binder_Conversions.cs (1)
2150Debug.Assert(fromReturnTypeConversion.IsImplicit);
Binder\Binder_Deconstruct.cs (1)
328if (!nestedConversion.IsImplicit)
Binder\Binder_Expressions.cs (4)
1263if (!conversion.IsImplicit || !conversion.IsValid) 1312if (!conversion.IsImplicit || !conversion.IsValid) 5493if (!conversion.IsImplicit || !conversion.IsValid) 5505hasErrors = !conversion.IsImplicit;
Binder\Binder_Operators.cs (4)
299if (!rightToLeftConversion.IsImplicit || !rightToLeftConversion.IsValid) 707if (!argumentConversion.IsImplicit || !argumentConversion.IsValid) // NOTE: dev10 appears to allow user-defined conversions here. 1320Debug.Assert(!conversion.IsImplicit); 1656Debug.Assert(result.Conversion.IsImplicit);
Binder\Binder_Patterns.cs (2)
644if (Compilation.LanguageVersion < requiredVersion && !patternExpressionConversion.IsImplicit) 1299var result = Compilation.Conversions.ClassifyBuiltInConversion(type, possibleBaseInterface, isChecked: CheckOverflowAtRuntime, ref useSiteInfo).IsImplicit;
Binder\Binder_Statements.cs (7)
1378if (!elementConversionClassification.IsValid || !elementConversionClassification.IsImplicit) 1389elementConversionClassification.IsImplicit ? diagnostics : BindingDiagnosticBag.Discarded); 2004!conversion.IsImplicit : 2280Debug.Assert(!conversion.IsImplicit || !conversion.IsValid); 2471if (!conversion.IsImplicit || !conversion.IsValid) 2721if (conversion.IsImplicit) 3223else if (!conversion.IsImplicit || !conversion.IsValid)
Binder\Binder_TupleOperators.cs (1)
136if (conversion.IsImplicit)
Binder\DecisionDagBuilder.cs (1)
510if (input.Type.IsDynamic() ? type.SpecialType == SpecialType.System_Object : conversion.IsImplicit)
Binder\ForEachLoopBinder.cs (1)
586(collectionConversionClassification.IsImplicit &&
Binder\Semantics\Conversions\Conversion.cs (2)
633return Exists && !IsImplicit; 1154return new CommonConversion(Exists, IsIdentity, IsNumeric, IsReference, IsImplicit, IsNullable, methodSymbol, constrainedToType);
Binder\Semantics\Conversions\ConversionsBase.cs (4)
124if (fastConversion.IsImplicit) 184return fastConversion.IsImplicit ? fastConversion : Conversion.NoConversion; 3003if (ClassifyImplicitConversionFromType(typeToCheck, targetInterfaceType, ref useSiteInfo).IsImplicit) 3037if (ClassifyImplicitConversionFromExpression(expressionToCheck, targetInterfaceType, ref useSiteInfo).IsImplicit)
Binder\Semantics\Operators\BinaryOperatorEasyOut.cs (2)
317Debug.Assert(leftConversion.Exists && leftConversion.IsImplicit); 318Debug.Assert(rightConversion.Exists && rightConversion.IsImplicit);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (4)
744Debug.Assert(convLeft.IsImplicit); 745Debug.Assert(convRight.IsImplicit); 815if (convLeft.IsImplicit && convRight.IsImplicit)
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (1)
116Debug.Assert(conversion.HasValue && conversion.Value.IsImplicit);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (1)
535if (conversion.IsImplicit)
Binder\Semantics\OverloadResolution\OverloadResolution.cs (6)
3101var t1IsConvertibleToT2 = Conversions.ClassifyImplicitConversionFromType(t1, t2, ref useSiteInfo).IsImplicit; 3102var t2IsConvertibleToT1 = Conversions.ClassifyImplicitConversionFromType(t2, t1, ref useSiteInfo).IsImplicit; 3221Conversions.ClassifyImplicitConversionFromType(source, destination, ref useSiteInfo).IsImplicit; 3518bool type1ToType2 = Conversions.ClassifyImplicitConversionFromType(type1, type2, ref useSiteInfo).IsImplicit; 3519bool type2ToType1 = Conversions.ClassifyImplicitConversionFromType(type2, type1, ref useSiteInfo).IsImplicit; 4748Debug.Assert((!conversion.Exists) || conversion.IsImplicit, "ClassifyImplicitConversion should only return implicit conversions");
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (1)
1339Debug.Assert(!badArg.Result.ConversionForArg(parm).IsImplicit);
Binder\SwitchBinder.cs (1)
264else if (!conversion.IsImplicit)
BoundTree\BoundConversion.cs (2)
83if (ConversionGroupOpt.Conversion.IsImplicit) 127Debug.Assert(Conversion.IsImplicit);
Compiler\AnonymousTypeMethodBodySynthesizer.cs (1)
126Debug.Assert(c.IsImplicit);
FlowAnalysis\NullableWalker.cs (2)
11801else if (conversion.IsImplicit) 12016fromExplicitCast: !conversion.IsImplicit,
Lowering\AsyncRewriter\AsyncExceptionHandlerRewriter.cs (1)
620Debug.Assert(c.IsImplicit);
Lowering\AsyncRewriter\AsyncMethodToStateMachineRewriter.cs (2)
496Debug.Assert(c.IsImplicit); 649ref discardedUseSiteInfo).IsImplicit;
Lowering\ClosureConversion\ExpressionLambdaRewriter.cs (8)
178Debug.Assert(c.IsImplicit); 775Debug.Assert(c.IsImplicit); 937Debug.Assert(c.IsImplicit); 947Debug.Assert(c.IsImplicit); 964Debug.Assert(c.IsImplicit); 974Debug.Assert(c.IsImplicit); 1111Debug.Assert(c.IsImplicit); 1255Debug.Assert(c.IsImplicit);
Lowering\LocalRewriter\LocalRewriter.DecisionDagRewriter.cs (2)
794Debug.Assert(c.IsImplicit); 804Debug.Assert(c.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_AsOperator.cs (1)
79if (conversion.IsImplicit)
Lowering\LocalRewriter\LocalRewriter_BinaryOperator.cs (2)
748if (conversion.IsImplicit) 772Debug.Assert(conversion.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_CollectionExpression.cs (1)
514Debug.Assert(c.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_Conversion.cs (6)
639Debug.Assert(c.IsImplicit || conversion.IsExplicit); 1805var resultConversion = new Conversion(result, conversion.IsImplicit); 1820return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1834return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1851return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit); 1864return TryMakeUserDefinedConversion(syntax, method, fromType, toType, @checked: @checked, conversion.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_Event.cs (2)
313Debug.Assert(c0.IsImplicit); 319Debug.Assert(c1.IsImplicit);
Lowering\LocalRewriter\LocalRewriter_ForEachStatement.cs (1)
504Debug.Assert(receiverConversion.IsImplicit && !receiverConversion.IsUserDefined);
Lowering\LocalRewriter\LocalRewriter_ObjectOrCollectionInitializerExpression.cs (1)
700Debug.Assert(_compilation.Conversions.ClassifyConversionFromType(rewrittenReceiver.Type, memberSymbol.ContainingType, isChecked: false, ref discardedUseSiteInfo).IsImplicit ||
Lowering\LocalRewriter\LocalRewriter_SwitchExpression.cs (2)
131Debug.Assert(c.IsImplicit); 159if (c.IsImplicit)
Lowering\SyntheticBoundNodeFactory.cs (1)
701Debug.Assert(c.IsImplicit);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListEnumeratorTypeSymbol.cs (1)
63Debug.Assert(c.IsImplicit);
Symbols\Synthesized\ReadOnlyListType\SynthesizedReadOnlyListTypeSymbol.cs (6)
490Debug.Assert(c.IsImplicit); 546Debug.Assert(c.IsImplicit); 589Debug.Assert(c.IsImplicit); 631Debug.Assert(c.IsImplicit); 655Debug.Assert(c.IsImplicit); 739Debug.Assert(c.IsImplicit);
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (1)
68Debug.Assert(c.IsImplicit);
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (1)
125Debug.Assert(c.IsImplicit);
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (1)
221Debug.Assert(c.IsImplicit);
Microsoft.CodeAnalysis.CSharp.CodeStyle (8)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
12(conversion is { IsImplicit: true, IsReference: true });
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (7)
234if (conversion.IsImplicit && 408if (originalParentConversion.IsImplicit) 750if (!innerOriginalConversion.IsImplicit || !innerOriginalConversion.IsNullable) 761if (!outerOriginalConversion.IsImplicit || !outerOriginalConversion.IsNullable) 788if (!originalConversion.IsImplicit || !originalConversion.IsNumeric) 966conditionalParentConversion.GetConversion().IsImplicit && 1006if (!outerConversion.IsImplicit)
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (4)
src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (1)
180=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (1)
142return conversion.IsImplicit && conversion.IsReference;
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
606invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
155=> compilation.ClassifyConversion(source: source, destination: destination).IsImplicit;
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (1)
FirstClassSpanTests.cs (1)
2834Assert.True(argConv.IsImplicit);
Microsoft.CodeAnalysis.CSharp.Features (6)
ConvertIfToSwitch\CSharpConvertIfToSwitchCodeRefactoringProvider.Analyzer.cs (1)
37semanticModel.ClassifyConversion(expressionSyntax, targetType).IsImplicit;
ExtractMethod\CSharpSelectionResult.ExpressionResult.cs (2)
116if (conv.IsImplicit && (conv.IsConstantExpression || conv.IsEnumeration)) 135if (!conversion.IsImplicit ||
GenerateType\CSharpGenerateTypeService.cs (1)
532=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
src\Analyzers\CSharp\CodeFixes\GenerateConstructor\CSharpGenerateConstructorService.cs (1)
180=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
src\Analyzers\CSharp\CodeFixes\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (1)
142return conversion.IsImplicit && conversion.IsReference;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (10)
Semantics\FunctionPointerTests.cs (8)
215Assert.True(conversion.IsImplicit); 300Assert.True(conversion.IsImplicit); 357Assert.False(conversion.IsImplicit); 365Assert.False(underlying.IsImplicit); 460Assert.False(conversion.IsImplicit); 510Assert.False(conversion.IsImplicit); 847Assert.True(conversion.IsImplicit); 904Assert.Equal(expectedImplicit, conversion.IsImplicit);
Semantics\ImplicitObjectCreationTests.cs (1)
1928Assert.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); 642Assert.True(conv.IsImplicit); 650Assert.Equal(conversion.IsImplicit, model.Compilation.HasImplicitConversion(info.Type, info.ConvertedType)); 673Assert.False(conv.IsImplicit); 678Assert.True(conv.IsImplicit); 684Assert.True(conv.IsImplicit); 690Assert.True(conv.IsImplicit); 696Assert.True(conv.IsImplicit); 702Assert.True(conv.IsImplicit); 708Assert.True(conv.IsImplicit); 714Assert.True(conv.IsImplicit); 720Assert.True(conv.IsImplicit); 727Assert.False(conv.IsImplicit); 732Assert.True(conv.IsImplicit); 738Assert.True(conv.IsImplicit); 744Assert.True(conv.IsImplicit); 750Assert.True(conv.IsImplicit); 756Assert.False(conv.IsImplicit); 762Assert.False(conv.IsImplicit); 768Assert.False(conv.IsImplicit); 774Assert.False(conv.IsImplicit); 780Assert.False(conv.IsImplicit); 786Assert.False(conv.IsImplicit); 792Assert.True(conv.IsImplicit); 799Assert.True(conv.IsImplicit); 806Assert.False(conv.IsImplicit); 813Assert.False(conv.IsImplicit); 820Assert.False(conv.IsImplicit); 827Assert.False(conv.IsImplicit); 6005Assert.False(foreachSymbolInfo.CurrentConversion.IsImplicit);
Compilation\SemanticModelGetSemanticInfoTests.cs (1)
7487Assert.True(semanticInfo.ImplicitConversion.IsImplicit);
Symbols\ConversionTests.cs (2)
404Assert.True(conversion.IsImplicit); 417Assert.True(conversion.IsImplicit);
Microsoft.CodeAnalysis.CSharp.Workspaces (10)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
12(conversion is { IsImplicit: true, IsReference: true });
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (7)
234if (conversion.IsImplicit && 408if (originalParentConversion.IsImplicit) 750if (!innerOriginalConversion.IsImplicit || !innerOriginalConversion.IsNullable) 761if (!outerOriginalConversion.IsImplicit || !outerOriginalConversion.IsNullable) 788if (!originalConversion.IsImplicit || !originalConversion.IsNumeric) 966conditionalParentConversion.GetConversion().IsImplicit && 1006if (!outerConversion.IsImplicit)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
606invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
155=> compilation.ClassifyConversion(source: source, destination: destination).IsImplicit;
Microsoft.Extensions.Logging.Generators (1)
LoggerMessageGenerator.Parser.cs (1)
729return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Extensions.Options.SourceGeneration (2)
Parser.cs (1)
731return conversion.IsReference && conversion.IsImplicit;
ParserUtilities.cs (1)
55return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.BuildMetadata (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.ComplianceReports (1)
Parser.cs (1)
288return conversion.IsReference && conversion.IsImplicit;
Microsoft.Gen.Logging (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.MetadataExtractor (2)
src\Generators\Microsoft.Gen.ComplianceReports\Parser.cs (1)
288return conversion.IsReference && conversion.IsImplicit;
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.Metrics (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Microsoft.Gen.MetricsReports (1)
src\Generators\Shared\ParserUtilities.cs (1)
60return conversion.IsIdentity || (conversion.IsReference && conversion.IsImplicit);
Roslyn.Diagnostics.CSharp.Analyzers (10)
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Extensions\ConversionExtensions.cs (1)
12(conversion is { IsImplicit: true, IsReference: true });
src\Workspaces\SharedUtilitiesAndExtensions\Compiler\CSharp\Simplification\Simplifiers\CastSimplifier.cs (7)
234if (conversion.IsImplicit && 408if (originalParentConversion.IsImplicit) 750if (!innerOriginalConversion.IsImplicit || !innerOriginalConversion.IsNullable) 761if (!outerOriginalConversion.IsImplicit || !outerOriginalConversion.IsNullable) 788if (!originalConversion.IsImplicit || !originalConversion.IsNumeric) 966conditionalParentConversion.GetConversion().IsImplicit && 1006if (!outerConversion.IsImplicit)
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\CSharpTypeInferenceService.TypeInferrer.cs (1)
606invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\LanguageServices\InitializeParameter\InitializeParameterHelpers.cs (1)
155=> compilation.ClassifyConversion(source: source, destination: destination).IsImplicit;
System.Text.Json.SourceGeneration (1)
JsonSourceGenerator.Parser.cs (1)
1135return conversion.IsImplicit || conversion.IsIdentity;