public void BeginAssign() { if (IsReadOnly) { throw new InvalidOperationException("This value is read-only."); } if (_members.Count == 0) { _variable.BeginAssign(); _delayedInstructions.Push(_variable.EndAssign); } else { _variable.Load(LoadOptions.ValueAsAddress); for (int i = 0; i < _members.Count - 1; ++i) { LoadMember(_members[i], LoadOptions.ValueAsAddress); } //var count = _owner._delayedInstructions.Count; _owner.BeginAssign(_members[_members.Count - 1]); //Debug.Assert(count < _owner._delayedInstructions.Count, "MethodGenerator.BeginAssign did not push any instructions onto _delayInstructions as expected"); //var endInstruction = _owner._delayedInstructions.Pop(); _delayedInstructions.Push(_owner.EndAssign); } }
private void BeginAssign(IVariable variable) { ArgumentAssert.IsNotNull(variable, "variable"); variable.BeginAssign(); _delayedInstructions.Push(variable.EndAssign); }
public void BeginAssign() { _innerParameter.BeginAssign(); }
public void BeginAssign() { _innerVariable.BeginAssign(); }