3 instantiations of Conversions
Microsoft.CodeAnalysis.CSharp (3)
Binder\Binder.cs (1)
503Interlocked.CompareExchange(ref _lazyConversions, new Conversions(this), null);
Binder\Semantics\Conversions\Conversions.cs (2)
32return new Conversions(_binder, currentRecursionDepth, IncludeNullability, otherNullabilityOpt: null); 41return new Conversions(_binder, currentRecursionDepth, includeNullability, this);
70 references to Conversions
Microsoft.CodeAnalysis.CSharp (64)
Binder\Binder.cs (3)
37internal Binder(Binder next, Conversions? conversions = null) 496private Conversions? _lazyConversions; 497internal Conversions Conversions
Binder\Binder_Attributes.cs (2)
763Conversions conversions, 815int argIndex, Conversions conversions, out TypedConstant result)
Binder\Binder_Conversions.cs (2)
1383static bool hasConversion(TypeKind targetKind, Conversions conversions, TypeSymbol source, TypeSymbol destination, 1514if (!Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(this, boundMethodGroup, delegateType, diagnostics))
Binder\Binder_Expressions.cs (1)
4621if (!Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(this, boundMethodGroup, type, diagnostics))
Binder\Binder_Operators.cs (4)
3542if (Conversions.HasIdentityConversion(operandType.GetNullableUnderlyingType(), targetType)) 4276if (!Conversions.HasIdentityConversion(trueType, falseType)) 4291Debug.Assert(Conversions.HasIdentityConversion(trueType, type)); 4292Debug.Assert(Conversions.HasIdentityConversion(falseType, type));
Binder\Binder_Patterns.cs (1)
794Conversions conversions,
Binder\Binder_Statements.cs (2)
1987var reason = Conversions.IsAnonymousFunctionCompatibleWithType(anonymousFunction, targetType); 2404if (!Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(this, methodGroup, targetType, diagnostics))
Binder\Binder_Symbols.cs (1)
1524var conversions = Conversions;
Binder\DecisionDagBuilder.cs (1)
60private readonly Conversions _conversions;
Binder\Semantics\BestTypeInferrer.cs (2)
110Conversions conversions, 126var conversionsWithoutNullability = conversions.WithNullability(false);
Binder\Semantics\Conversions\Conversions.cs (3)
24private Conversions(Binder binder, int currentRecursionDepth, bool includeNullability, Conversions otherNullabilityOpt) 422internal new Conversions WithNullability(bool includeNullability) 424return (Conversions)base.WithNullability(includeNullability);
Binder\Semantics\Operators\BinaryOperatorEasyOut.cs (2)
314Conversion leftConversion = Conversions.FastClassifyConversion(leftType, signature.LeftType); 315Conversion rightConversion = Conversions.FastClassifyConversion(rightType, signature.RightType);
Binder\Semantics\Operators\BinaryOperatorOverloadResolution.cs (6)
443if (!(useIdentityConversion ? Conversions.HasIdentityConversion(leftType, rightType) : leftType.Equals(rightType))) 668if ((object)rightType != null && ((object)leftType == null || !(useIdentityConversion ? Conversions.HasIdentityConversion(rightType, leftType) : rightType.Equals(leftType)))) 695if ((object)rightType != null && ((object)leftType == null || !Conversions.HasIdentityConversion(rightType, leftType))) 745static bool useOnlyReferenceEquality(Conversions conversions, BoundExpression left, BoundExpression right, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo) 1203if (Conversions.HasIdentityConversion(op1.LeftType, op2.LeftType) && 1204Conversions.HasIdentityConversion(op1.RightType, op2.RightType))
Binder\Semantics\Operators\UnaryOperatorEasyOut.cs (1)
114Conversion? conversion = Conversions.FastClassifyConversion(operandType, signature.OperandType);
Binder\Semantics\Operators\UnaryOperatorOverloadResolution.cs (1)
199if (Conversions.HasIdentityConversion(op1.OperandType, op2.OperandType))
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (1)
1394Conversions.GetDelegateOrFunctionPointerArguments(source.Syntax, analyzedArguments, delegateParameters, binder.Compilation);
Binder\Semantics\OverloadResolution\OverloadResolution.cs (10)
42private Conversions Conversions 2428if (Conversions.HasIdentityConversion(t1, t2)) 2519if ((object)node.Type != null && Conversions.HasIdentityConversion(node.Type, t)) 2549if (x.HasType && Conversions.HasIdentityConversion(x.Type, y)) 2750if (Conversions.HasIdentityConversion(type1, type2)) 2948Debug.Assert(!Conversions.HasIdentityConversion(r1, r2)); 2968if (Conversions.HasIdentityConversion(r1, r2)) 3022if (!Conversions.HasIdentityConversion(param1.Type, param2.Type)) 3700if (forExtensionMethodThisArg && !Conversions.IsValidExtensionMethodThisArgConversion(conversion)) 3818if ((object)argType != null && Conversions.HasIdentityConversion(argType, parameterType))
Binder\Semantics\OverloadResolution\OverloadResolutionResult.cs (2)
1186Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(binder, (BoundMethodGroup)argument, parameterType, diagnostics)) 1195Conversions.ReportDelegateOrFunctionPointerMethodGroupDiagnostics(binder, ((BoundUnconvertedAddressOfOperator)argument).Operand, parameterType, diagnostics))
Binder\UsingStatementBinder.cs (1)
271var conversions = originalBinder.Conversions;
BoundTree\UnboundLambda.cs (2)
150(Conversions)conversions, 285bestResultType = NullableWalker.BestTypeForLambdaReturns(returns, binder, node, (Conversions)conversions, out inferredFromFunctionType);
Compilation\BuiltInOperators.cs (1)
859internal static bool IsValidObjectEquality(Conversions Conversions, TypeSymbol leftType, bool leftIsNull, bool leftIsDefault, TypeSymbol rightType, bool rightIsNull, bool rightIsDefault, ref CompoundUseSiteInfo<AssemblySymbol> useSiteInfo)
Compilation\CSharpCompilation.cs (2)
74private Conversions? _conversions; 78internal Conversions Conversions
FlowAnalysis\NullableWalker.cs (11)
152private readonly Conversions _conversions; 423Conversions conversions, 437_conversions = (Conversions)conversions.WithNullability(true); 1334var conversions = binder.Conversions; 1634Conversions conversions, 1674Conversions conversions, 1959var conversionsWithoutNullability = this.compilation.Conversions; 2547var conversionsWithoutNullability = _conversions.WithNullability(false); 4298Conversions conversions, 4335Conversions conversionsWithoutNullability = walker._conversions.WithNullability(false); 7258private static Conversion GenerateConversion(Conversions conversions, BoundExpression? sourceExpression, TypeSymbol? sourceType, TypeSymbol destinationType, bool fromExplicitCast, bool extensionMethodThisArgument, bool isChecked)
Symbols\Source\SourceMemberContainerSymbol_ImplementationChecks.cs (2)
1258var conversions = compilation.Conversions.WithNullability(true); 1513var conversions = compilation.Conversions.WithNullability(true);
Microsoft.CodeAnalysis.CSharp.ExpressionEvaluator.ExpressionCompiler (3)
Rewriters\CapturedVariableRewriter.cs (3)
20Conversions conversions, 30private readonly Conversions _conversions; 36Conversions conversions,
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (2)
Symbols\ConversionTests.cs (2)
26Conversions c = new BuckStopsHereBinder(compilation, associatedFileIdentifier: null).Conversions; 313var conv = new BuckStopsHereBinder(compilation, associatedFileIdentifier: null).Conversions;
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
Extensions.cs (1)
870public static Conversion ClassifyConversionFromExpression(this Conversions conversions, BoundExpression sourceExpression, TypeSymbol destination, ref HashSet<DiagnosticInfo> useSiteDiagnostics, bool forCast = false)