public override void Substitute(IRVariable variable, IRExpression expression) { if (ReferenceEquals(Pointer, variable)) { Pointer = expression.CloneComplete(); } else { Pointer.Substitute(variable, expression); } }
public override void Substitute(IRVariable variable, IRExpression expression) { for (int i = 0; i < Arguments.Count; i++) { if (ReferenceEquals(Arguments[i], variable)) { Arguments[i] = expression.CloneComplete(); } else { Arguments[i].Substitute(variable, expression); } } }
public override void Substitute(IRVariable variable, IRExpression expression) { }
public abstract void Substitute(IRVariable variable, IRExpression expression);