public override void GenerateCode(ICodeGen gen) { this.arguments.Reverse(); foreach (Expression arg in this.arguments) { arg.GenerateCode(gen); } this.arguments.Reverse(); this.operand.GenerateCode(gen); gen.Call((Symbols.Func) this.operand.GetType()); for (int i = 0; i < this.arguments.Count; ++i) { gen.Pop(); } }
public override void GenerateCode(ICodeGen gen) { this.arguments.Reverse(); foreach (Expression arg in this.arguments) { arg.GenerateCode(gen); } this.arguments.Reverse(); this.operand.GenerateCode(gen); gen.Call((Symbols.Func)this.operand.GetType()); for (int i = 0; i < this.arguments.Count; ++i ) { gen.Pop(); } }