private Conversion( ConversionKind kind, UncommonData uncommonData) { _kind = kind; _uncommonData = uncommonData; }
internal Conversion(ConversionKind kind, DeconstructionInfo deconstructionInfo, ImmutableArray <Conversion> nestedConversions) { Debug.Assert(kind == ConversionKind.Deconstruction); this._kind = kind; _uncommonData = new DeconstructionUncommonData(deconstructionInfo, nestedConversions); }
internal Conversion(ConversionKind kind, ImmutableArray <Conversion> nestedConversions) { this._kind = kind; _uncommonData = new UncommonData( isExtensionMethod: false, isArrayIndex: false, conversionResult: default(UserDefinedConversionResult), conversionMethod: null, nestedConversions: nestedConversions); }
// For the method group, lambda and anonymous method conversions internal Conversion(ConversionKind kind, MethodSymbol conversionMethod, bool isExtensionMethod) { this._kind = kind; _uncommonData = new UncommonData( isExtensionMethod: isExtensionMethod, isArrayIndex: false, conversionResult: default(UserDefinedConversionResult), conversionMethod: conversionMethod, nestedConversions: default(ImmutableArray <Conversion>)); }
internal Conversion(UserDefinedConversionResult conversionResult, bool isImplicit) { _kind = conversionResult.Kind == UserDefinedConversionResultKind.NoApplicableOperators ? ConversionKind.NoConversion : isImplicit ? ConversionKind.ImplicitUserDefined : ConversionKind.ExplicitUserDefined; _uncommonData = new UncommonData( isExtensionMethod: false, isArrayIndex: false, conversionResult: conversionResult, conversionMethod: null, nestedConversions: default(ImmutableArray <Conversion>)); }