Files
PURErat-crack-scode/decompiled/Libraries/microsoft.codeanalysis.csharp/Microsoft.CodeAnalysis.CSharp/UserDefinedConversionAnalysis.cs
T

42 lines
1.7 KiB
C#
Raw Normal View History

2026-08-27 10:56:38 -06:00
using Microsoft.CodeAnalysis.CSharp.Symbols;
namespace Microsoft.CodeAnalysis.CSharp;
internal sealed class UserDefinedConversionAnalysis
{
public readonly TypeSymbol FromType;
public readonly TypeSymbol ToType;
public readonly TypeParameterSymbol ConstrainedToTypeOpt;
public readonly MethodSymbol Operator;
public readonly Conversion SourceConversion;
public readonly Conversion TargetConversion;
public readonly UserDefinedConversionAnalysisKind Kind;
public static UserDefinedConversionAnalysis Normal(TypeParameterSymbol constrainedToTypeOpt, MethodSymbol op, Conversion sourceConversion, Conversion targetConversion, TypeSymbol fromType, TypeSymbol toType)
{
return new UserDefinedConversionAnalysis(UserDefinedConversionAnalysisKind.ApplicableInNormalForm, constrainedToTypeOpt, op, sourceConversion, targetConversion, fromType, toType);
}
public static UserDefinedConversionAnalysis Lifted(TypeParameterSymbol constrainedToTypeOpt, MethodSymbol op, Conversion sourceConversion, Conversion targetConversion, TypeSymbol fromType, TypeSymbol toType)
{
return new UserDefinedConversionAnalysis(UserDefinedConversionAnalysisKind.ApplicableInLiftedForm, constrainedToTypeOpt, op, sourceConversion, targetConversion, fromType, toType);
}
private UserDefinedConversionAnalysis(UserDefinedConversionAnalysisKind kind, TypeParameterSymbol constrainedToTypeOpt, MethodSymbol op, Conversion sourceConversion, Conversion targetConversion, TypeSymbol fromType, TypeSymbol toType)
{
Kind = kind;
ConstrainedToTypeOpt = constrainedToTypeOpt;
Operator = op;
SourceConversion = sourceConversion;
TargetConversion = targetConversion;
FromType = fromType;
ToType = toType;
}
}