Timeline now passed via constructor
[Mograsim.git] / era.mi / src / era / mi / logic / components / TriStateBuffer.java
index 2b72bad..123e2c5 100644 (file)
@@ -1,21 +1,20 @@
 package era.mi.logic.components;
 
-import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 
-import era.mi.logic.Bit;
-import era.mi.logic.wires.Wire;
-import era.mi.logic.wires.Wire.WireEnd;
+import era.mi.logic.timeline.Timeline;
+import era.mi.logic.types.Bit;
+import era.mi.logic.wires.Wire.ReadEnd;
+import era.mi.logic.wires.Wire.ReadWriteEnd;
 
 public class TriStateBuffer extends BasicComponent
 {
-       WireEnd in, enable;
-       WireEnd out;
+       ReadEnd in, enable;
+       ReadWriteEnd out;
 
-       public TriStateBuffer(int processTime, WireEnd in, WireEnd out, WireEnd enable)
+       public TriStateBuffer(Timeline timeline, int processTime, ReadEnd in, ReadWriteEnd out, ReadEnd enable)
        {
-               super(processTime);
+               super(timeline, processTime);
                if (in.length() != out.length())
                        throw new IllegalArgumentException(
                                        "Tri-state output must have the same amount of bits as the input. Input: " + in.length() + " Output: " + out.length());
@@ -38,15 +37,15 @@ public class TriStateBuffer extends BasicComponent
        }
 
        @Override
-       public List<WireEnd> getAllInputs()
+       public List<ReadEnd> getAllInputs()
        {
-               return Collections.unmodifiableList(Arrays.asList(in, enable));
+               return List.of(in, enable);
        }
 
        @Override
-       public List<WireEnd> getAllOutputs()
+       public List<ReadWriteEnd> getAllOutputs()
        {
-               return Collections.unmodifiableList(Arrays.asList(out));
+               return List.of(out);
        }
 
 }