TCOLSUB.cs 975 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System;
  2. namespace OpenVIII.Fields.Scripts.Instructions
  3. {
  4. internal sealed class TCOLSUB : JsmInstruction
  5. {
  6. private IJsmExpression _arg0;
  7. private IJsmExpression _arg1;
  8. private IJsmExpression _arg2;
  9. private IJsmExpression _arg3;
  10. public TCOLSUB(IJsmExpression arg0, IJsmExpression arg1, IJsmExpression arg2, IJsmExpression arg3)
  11. {
  12. _arg0 = arg0;
  13. _arg1 = arg1;
  14. _arg2 = arg2;
  15. _arg3 = arg3;
  16. }
  17. public TCOLSUB(Int32 parameter, IStack<IJsmExpression> stack)
  18. : this(
  19. arg3: stack.Pop(),
  20. arg2: stack.Pop(),
  21. arg1: stack.Pop(),
  22. arg0: stack.Pop())
  23. {
  24. }
  25. public override String ToString()
  26. {
  27. return $"{nameof(TCOLSUB)}({nameof(_arg0)}: {_arg0}, {nameof(_arg1)}: {_arg1}, {nameof(_arg2)}: {_arg2}, {nameof(_arg3)}: {_arg3})";
  28. }
  29. }
  30. }