LADDERDOWN2.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. using System;
  2. namespace OpenVIII.Fields.Scripts.Instructions
  3. {
  4. internal sealed class LADDERDOWN2 : JsmInstruction
  5. {
  6. private Int32 _parameter;
  7. private IJsmExpression _arg0;
  8. private IJsmExpression _arg1;
  9. private IJsmExpression _arg2;
  10. private IJsmExpression _arg3;
  11. private IJsmExpression _arg4;
  12. private IJsmExpression _arg5;
  13. private IJsmExpression _arg6;
  14. private IJsmExpression _arg7;
  15. private IJsmExpression _arg8;
  16. public LADDERDOWN2(Int32 parameter, IJsmExpression arg0, IJsmExpression arg1, IJsmExpression arg2, IJsmExpression arg3, IJsmExpression arg4, IJsmExpression arg5, IJsmExpression arg6, IJsmExpression arg7, IJsmExpression arg8)
  17. {
  18. _parameter = parameter;
  19. _arg0 = arg0;
  20. _arg1 = arg1;
  21. _arg2 = arg2;
  22. _arg3 = arg3;
  23. _arg4 = arg4;
  24. _arg5 = arg5;
  25. _arg6 = arg6;
  26. _arg7 = arg7;
  27. _arg8 = arg8;
  28. }
  29. public LADDERDOWN2(Int32 parameter, IStack<IJsmExpression> stack)
  30. : this(parameter,
  31. arg8: stack.Pop(),
  32. arg7: stack.Pop(),
  33. arg6: stack.Pop(),
  34. arg5: stack.Pop(),
  35. arg4: stack.Pop(),
  36. arg3: stack.Pop(),
  37. arg2: stack.Pop(),
  38. arg1: stack.Pop(),
  39. arg0: stack.Pop())
  40. {
  41. }
  42. public override String ToString()
  43. {
  44. return $"{nameof(LADDERDOWN2)}({nameof(_parameter)}: {_parameter}, {nameof(_arg0)}: {_arg0}, {nameof(_arg1)}: {_arg1}, {nameof(_arg2)}: {_arg2}, {nameof(_arg3)}: {_arg3}, {nameof(_arg4)}: {_arg4}, {nameof(_arg5)}: {_arg5}, {nameof(_arg6)}: {_arg6}, {nameof(_arg7)}: {_arg7}, {nameof(_arg8)}: {_arg8})";
  45. }
  46. }
  47. }