1 write to _typeDest
Microsoft.CSharp (1)
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (1)
23_typeDest = typeDest;
50 references to _typeDest
Microsoft.CSharp (50)
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (50)
82if (_typeSrc == null || _typeDest == null || _typeDest is MethodGroupType) 87Debug.Assert(_typeSrc != null && _typeDest != null); // types must be supplied. 91switch (_typeDest.TypeKind) 105return _typeSrc == _typeDest; 117if (_typeSrc == _typeDest && 127if (_typeDest is NullableType nubDest) 143FUNDTYPE ftDest = _typeDest.FundamentalType; 144Debug.Assert(ftDest != FUNDTYPE.FT_NONE || _typeDest is ParameterModifierType); 194&& _typeDest.AssociatedSystemType.IsInstanceOfType(srcRuntimeObject) 195&& CSemanticChecker.CheckTypeAccess(_typeDest, _binder.Context.ContextForMemberLookup)) 199_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, _exprSrc.Flags & EXPRFLAG.EXF_CANTBENULL); 217return _binder.bindUserDefinedConversion(_exprSrc, _typeSrc, _typeDest, _needsExprDest, out _exprDest, true); 289_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_UNBOX); 316: ExprFactory.CreateCast(_typeDest, _exprSrc); 401FUNDTYPE ftDest = _typeDest.FundamentalType; 404!_typeDest.IsPredefType(PredefinedType.PT_G_OPTIONAL)) 414? ExprFactory.CreateZeroInit(_typeDest) 415: ExprFactory.CreateCast(_typeDest, _exprSrc); 439if (atsNub == _typeDest) 447if (SymbolLoader.HasBaseConversion(nubSrc.UnderlyingType, _typeDest) && !CConversions.FUnwrappingConv(nubSrc, _typeDest)) 451_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_BOX); 452if (!_typeDest.IsPredefType(PredefinedType.PT_OBJECT)) 457_binder.bindSimpleCast(_exprDest, _typeDest, out _exprDest, EXPRFLAG.EXF_FORCE_UNBOX); 462return 0 == (_flags & CONVERTTYPE.NOUDC) && _binder.bindUserDefinedConversion(_exprSrc, nubSrc, _typeDest, _needsExprDest, out _exprDest, true); 483if (!SymbolLoader.HasBaseConversion(_typeSrc, _typeDest)) 493if ((_typeDest is ArrayType || 494(_typeDest is AggregateType aggDest && aggDest.IsInterfaceType && 501TypeManager.TypeContainsTyVars(_typeDest, null))) 507_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, grfex); 522if (_typeDest is PointerType ptDest && ptDest.ReferentType == VoidType.Instance) 526_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest); 549if (_typeDest.IsEnumType) 558else if (aggSrc.getThisType().IsSimpleType && _typeDest.IsSimpleType) 582if (!(_typeDest is AggregateType) || !SymbolLoader.HasBaseConversion(pSource, _typeDest)) 587if (pSource.OwningAggregate.IsStruct() && _typeDest.FundamentalType == FUNDTYPE.FT_REF) 596_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, flags); 613if (_typeDest is AggregateType aggDest && SymbolLoader.HasBaseConversion(aggTypeSrc, aggDest)) 616_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest, EXPRFLAG.EXF_BOX | EXPRFLAG.EXF_CANTBENULL); 660_exprDest = ExprFactory.CreateConstant(_typeDest, ConstVal.GetDefaultValue(_typeDest.ConstValKind)); 672Debug.Assert(_typeDest.IsSimpleType); 674Debug.Assert(aggSrc.IsPredefined() && _typeDest.IsPredefined); 676PredefinedType ptDest = _typeDest.PredefinedType; 693isConstantInRange(constant, _typeDest)) 721ConstCastResult result = _binder.bindConstantCast(_exprSrc, _typeDest, _needsExprDest, out _exprDest, false); 737return _binder.bindUserDefinedConversion(_exprSrc, aggTypeSrc, _typeDest, _needsExprDest, out _exprDest, true); 740_binder.bindSimpleCast(_exprSrc, _typeDest, out _exprDest);