Added machine plugin project to repository
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / isa / AsmInstruction.java
1 package net.mograsim.machine.isa;\r
2 \r
3 import java.util.Objects;\r
4 \r
5 public final class AsmInstruction implements AsmElement\r
6 {\r
7         private final AsmOperation operation;\r
8         private final AsmOperands operands;\r
9 \r
10         public AsmInstruction(AsmOperation operation, AsmOperands operands)\r
11         {\r
12                 this.operation = Objects.requireNonNull(operation);\r
13                 this.operands = Objects.requireNonNull(operands);\r
14         }\r
15 \r
16         @Override\r
17         public int hashCode()\r
18         {\r
19                 return Objects.hash(operands, operation);\r
20         }\r
21 \r
22         @Override\r
23         public boolean equals(Object obj)\r
24         {\r
25                 if (this == obj)\r
26                         return true;\r
27                 if (!(obj instanceof AsmInstruction))\r
28                         return false;\r
29                 AsmInstruction other = (AsmInstruction) obj;\r
30                 return Objects.equals(operands, other.operands) && Objects.equals(operation, other.operation);\r
31         }\r
32 \r
33         @Override\r
34         public String toString()\r
35         {\r
36                 return String.format("%s %s", operation, operands).trim();\r
37         }\r
38 \r
39 }\r