Added machine plugin project to repository
[Mograsim.git] / net.mograsim.machine / src / net / mograsim / machine / isa / AsmOperands.java
1 package net.mograsim.machine.isa;\r
2 \r
3 import java.util.List;\r
4 import java.util.Objects;\r
5 import java.util.stream.Collectors;\r
6 \r
7 public final class AsmOperands\r
8 {\r
9         private final List<AsmOperand> operands;\r
10 \r
11         public AsmOperands(List<AsmOperand> operands)\r
12         {\r
13                 this.operands = List.copyOf(Objects.requireNonNull(operands));\r
14         }\r
15 \r
16         public List<AsmOperand> getOperands()\r
17         {\r
18                 return operands;\r
19         }\r
20 \r
21         @Override\r
22         public int hashCode()\r
23         {\r
24                 return operands.hashCode();\r
25         }\r
26 \r
27         @Override\r
28         public boolean equals(Object obj)\r
29         {\r
30                 if (this == obj)\r
31                         return true;\r
32                 if (!(obj instanceof AsmOperands))\r
33                         return false;\r
34                 AsmOperands other = (AsmOperands) obj;\r
35                 return operands.equals(other.operands);\r
36         }\r
37 \r
38         @Override\r
39         public String toString()\r
40         {\r
41                 return operands.stream().map(AsmOperand::toString).collect(Collectors.joining(", "));\r
42         }\r
43 }\r