X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fregisters%2FSimpleRegisterGroup.java;fp=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fregisters%2FSimpleRegisterGroup.java;h=09e80292418773164e72bbfbb7acc29c8ee4adc6;hb=30779f58b602f508ae3b8048bdb576191f7d9980;hp=0000000000000000000000000000000000000000;hpb=8a9f064aeddd93cfe69b984318157f27a8a5e2af;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/registers/SimpleRegisterGroup.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/registers/SimpleRegisterGroup.java new file mode 100644 index 00000000..09e80292 --- /dev/null +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/registers/SimpleRegisterGroup.java @@ -0,0 +1,45 @@ +package net.mograsim.machine.registers; + +import java.util.List; + +public class SimpleRegisterGroup implements RegisterGroup +{ + private final String id; + private final List registers; + private final List subgroups; + + protected SimpleRegisterGroup(String id, Register... registers) + { + this(id, new RegisterGroup[0], registers); + } + + protected SimpleRegisterGroup(String id, RegisterGroup... subgroups) + { + this(id, subgroups, new Register[0]); + } + + protected SimpleRegisterGroup(String id, RegisterGroup[] subgroups, Register... registers) + { + this.id = id; + this.registers = List.of(registers); + this.subgroups = List.of(subgroups); + } + + @Override + public String id() + { + return id; + } + + @Override + public List getRegisters() + { + return registers; + } + + @Override + public List getSubGroups() + { + return subgroups; + } +} \ No newline at end of file