1 write to _typeDest
Microsoft.CSharp (1)
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (1)
24_typeDest = typeDest;
50 references to _typeDest
Microsoft.CSharp (50)
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (50)
83if (_typeSrc == null || _typeDest == null || _typeDest is MethodGroupType) 88Debug.Assert(_typeSrc != null && _typeDest != null); // types must be supplied. 92switch (_typeDest.TypeKind) 106return _typeSrc == _typeDest; 118if (_typeSrc == _typeDest && 128if (_typeDest is NullableType nubDest) 144FUNDTYPE ftDest = _typeDest.FundamentalType; 145Debug.Assert(ftDest != FUNDTYPE.FT_NONE || _typeDest is ParameterModifierType); 195&& _typeDest.AssociatedSystemType.IsInstanceOfType(srcRuntimeObject) 196&& CSemanticChecker.CheckTypeAccess(_typeDest, _binder.Context.ContextForMemberLookup)) 200_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, _exprSrc.Flags & EXPRFLAG.EXF_CANTBENULL); 218return _binder.bindUserDefinedConversion(_exprSrc, _typeSrc, _typeDest, _needsExprDest, out _exprDest, true); 291_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_UNBOX); 318: ExprFactory.CreateCast(_typeDest, _exprSrc); 403FUNDTYPE ftDest = _typeDest.FundamentalType; 406!_typeDest.IsPredefType(PredefinedType.PT_G_OPTIONAL)) 416? ExprFactory.CreateZeroInit(_typeDest) 417: ExprFactory.CreateCast(_typeDest, _exprSrc); 441if (atsNub == _typeDest) 449if (SymbolLoader.HasBaseConversion(nubSrc.UnderlyingType, _typeDest) && !CConversions.FUnwrappingConv(nubSrc, _typeDest)) 453_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_BOX); 454if (!_typeDest.IsPredefType(PredefinedType.PT_OBJECT)) 459_binder.bindSimpleCast(_exprDest, _typeDest, out _exprDest, EXPRFLAG.EXF_FORCE_UNBOX); 464return 0 == (_flags & CONVERTTYPE.NOUDC) && _binder.bindUserDefinedConversion(_exprSrc, nubSrc, _typeDest, _needsExprDest, out _exprDest, true); 485if (!SymbolLoader.HasBaseConversion(_typeSrc, _typeDest)) 495if ((_typeDest is ArrayType || 496(_typeDest is AggregateType aggDest && aggDest.IsInterfaceType && 503TypeManager.TypeContainsTyVars(_typeDest, null))) 509_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, grfex); 524if (_typeDest is PointerType ptDest && ptDest.ReferentType == VoidType.Instance) 528_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest); 551if (_typeDest.IsEnumType) 560else if (aggSrc.getThisType().IsSimpleType && _typeDest.IsSimpleType) 584if (!(_typeDest is AggregateType) || !SymbolLoader.HasBaseConversion(pSource, _typeDest)) 589if (pSource.OwningAggregate.IsStruct() && _typeDest.FundamentalType == FUNDTYPE.FT_REF) 598_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, flags); 615if (_typeDest is AggregateType aggDest && SymbolLoader.HasBaseConversion(aggTypeSrc, aggDest)) 618_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_BOX | EXPRFLAG.EXF_CANTBENULL); 662_exprDest = ExprFactory.CreateConstant(_typeDest, ConstVal.GetDefaultValue(_typeDest.ConstValKind)); 675Debug.Assert(_typeDest.IsSimpleType); 677Debug.Assert(aggSrc.IsPredefined() && _typeDest.IsPredefined); 679PredefinedType ptDest = _typeDest.PredefinedType; 696isConstantInRange(constant, _typeDest)) 724ConstCastResult result = _binder.bindConstantCast(_exprSrc, _typeDest, _needsExprDest, out _exprDest, false); 740return _binder.bindUserDefinedConversion(_exprSrc, aggTypeSrc, _typeDest, _needsExprDest, out _exprDest, true); 743_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest);