63 references to ClassifyConversion
Microsoft.CodeAnalysis.CSharp.CodeStyle (4)
CastSimplifier.cs (1)
459originalSemanticModel.Compilation.ClassifyConversion(castedExpressionType, isType).Exists)
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
252var conversion = compilation.ClassifyConversion(type1, type2);
SpeculationAnalyzer.cs (2)
820=> compilation.ClassifyConversion(sourceType, targetType).IsReference; 826=> model.Compilation.ClassifyConversion(originalType, targetType);
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (3)
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
197var conversion = _semanticModel.Compilation.ClassifyConversion(typeInfo.Type, typeInfo.ConvertedType);
CSharpAddYieldCodeFixProvider.cs (1)
157if (!model.Compilation.ClassifyConversion(typeArgument, returnExpressionType).Exists)
CSharpTypeInferenceService.TypeInferrer.cs (1)
602invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (41)
CodeGen\CodeGenTupleTest.cs (41)
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); 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);
Microsoft.CodeAnalysis.CSharp.Features (8)
ConvertSwitchStatementToExpressionCodeFixProvider.Rewriter.cs (1)
197var conversion = _semanticModel.Compilation.ClassifyConversion(typeInfo.Type, typeInfo.ConvertedType);
CSharpAddYieldCodeFixProvider.cs (1)
157if (!model.Compilation.ClassifyConversion(typeArgument, returnExpressionType).Exists)
CSharpRemoveUnnecessaryLambdaExpressionDiagnosticAnalyzer.cs (1)
252var conversion = compilation.ClassifyConversion(type1, type2);
GenerateConstructor\CSharpGenerateConstructorService.cs (1)
183=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
GenerateMember\GenerateParameterizedMember\CSharpGenerateParameterizedMemberService.cs (1)
150var conversion = compilation.ClassifyConversion(sourceType, targetType);
GenerateType\CSharpGenerateTypeService.cs (1)
565=> compilation.ClassifyConversion(sourceType, targetType).IsImplicit;
InitializeParameter\InitializeParameterHelpers.cs (1)
45=> compilation.ClassifyConversion(source: source, destination: destination).IsImplicit;
UseNamedArguments\CSharpUseNamedArgumentsCodeRefactoringProvider.cs (1)
47var conversion = semanticModel.Compilation.ClassifyConversion(argType, parameters[0].Type);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (1)
Semantics\FunctionPointerTests.cs (1)
196var classifiedConversion = comp.ClassifyConversion(typeInfo.Type, typeInfo.ConvertedType!);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Compilation\GetSemanticInfoTests.cs (2)
648var conversion = info.Type != null && info.ConvertedType != null ? model.Compilation.ClassifyConversion(info.Type, info.ConvertedType) : Conversion.NoConversion; 863var act2 = semanticModel.Compilation.ClassifyConversion(info.Type, info.ConvertedType);
Microsoft.CodeAnalysis.CSharp.Workspaces (4)
CastSimplifier.cs (1)
459originalSemanticModel.Compilation.ClassifyConversion(castedExpressionType, isType).Exists)
CSharpTypeInferenceService.TypeInferrer.cs (1)
602invocationTypes.Any(t => Compilation.ClassifyConversion(m.ReturnType, t).IsImplicit)).ToList();
SpeculationAnalyzer.cs (2)
820=> compilation.ClassifyConversion(sourceType, targetType).IsReference; 826=> model.Compilation.ClassifyConversion(originalType, targetType);