Beispiel #1
0
        public override void Bind(IntermediateBuilder context)
        {
            _source.Bind(context);

            if (_target == null)
            {
                _resolver.SetOwner(Owner);
                _resolver.CanBeType = false;
                _resolver.Bind(context);
                Debug.Assert(_resolver.IsFieldOrProperty);
                _target = _resolver.GetReferencedFieldOrProperty();
            }
            else
            {
                _target.Bind(context);
            }

            if (_source.Type.CanAssignTo(_target.Type) != AssignType.CanAssign)
            {
                _source = new ConvertedValue(_source, _target.Type, Owner);
            }
        }