MESMODE.cs 969 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. namespace OpenVIII.Fields.Scripts.Instructions
  2. {
  3. internal sealed class MESMODE : JsmInstruction
  4. {
  5. #region Fields
  6. private readonly IJsmExpression _arg0;
  7. private readonly IJsmExpression _arg1;
  8. private readonly IJsmExpression _arg2;
  9. #endregion Fields
  10. #region Constructors
  11. public MESMODE(IJsmExpression arg0, IJsmExpression arg1, IJsmExpression arg2)
  12. {
  13. _arg0 = arg0;
  14. _arg1 = arg1;
  15. _arg2 = arg2;
  16. }
  17. public MESMODE(int parameter, IStack<IJsmExpression> stack)
  18. : this(
  19. arg2: stack.Pop(),
  20. arg1: stack.Pop(),
  21. arg0: stack.Pop())
  22. {
  23. }
  24. #endregion Constructors
  25. #region Methods
  26. public override string ToString() => $"{nameof(MESMODE)}({nameof(_arg0)}: {_arg0}, {nameof(_arg1)}: {_arg1}, {nameof(_arg2)}: {_arg2})";
  27. #endregion Methods
  28. }
  29. }