package era.mi.logic.components;\r
\r
-import java.util.Arrays;\r
-import java.util.Collections;\r
import java.util.List;\r
\r
-import era.mi.logic.Bit;\r
-import era.mi.logic.wires.Wire;\r
-import era.mi.logic.wires.Wire.WireEnd;\r
+import era.mi.logic.timeline.Timeline;\r
+import era.mi.logic.types.Bit;\r
+import era.mi.logic.wires.Wire.ReadEnd;\r
+import era.mi.logic.wires.Wire.ReadWriteEnd;\r
\r
public class TriStateBuffer extends BasicComponent\r
{\r
- WireEnd in, enable;\r
- WireEnd out;\r
+ ReadEnd in, enable;\r
+ ReadWriteEnd out;\r
\r
- public TriStateBuffer(int processTime, WireEnd in, WireEnd out, WireEnd enable)\r
+ public TriStateBuffer(Timeline timeline, int processTime, ReadEnd in, ReadWriteEnd out, ReadEnd enable)\r
{\r
- super(processTime);\r
+ super(timeline, processTime);\r
if (in.length() != out.length())\r
throw new IllegalArgumentException(\r
"Tri-state output must have the same amount of bits as the input. Input: " + in.length() + " Output: " + out.length());\r
}\r
\r
@Override\r
- public List<WireEnd> getAllInputs()\r
+ public List<ReadEnd> getAllInputs()\r
{\r
- return Collections.unmodifiableList(Arrays.asList(in, enable));\r
+ return List.of(in, enable);\r
}\r
\r
@Override\r
- public List<WireEnd> getAllOutputs()\r
+ public List<ReadWriteEnd> getAllOutputs()\r
{\r
- return Collections.unmodifiableList(Arrays.asList(out));\r
+ return List.of(out);\r
}\r
\r
}\r