X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Flaunch%2FMachineRegisterGroup.java;h=fdf90ad8c37dfb8c2e1e60580690aa5a7b21a1cf;hb=30779f58b602f508ae3b8048bdb576191f7d9980;hp=bb7ed264b83fad29c39e52b2f3ce5bae36e90ad3;hpb=f8f69ae61db66e701388f07bf0e3da493790fe45;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineRegisterGroup.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineRegisterGroup.java index bb7ed264..fdf90ad8 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineRegisterGroup.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineRegisterGroup.java @@ -1,7 +1,6 @@ package net.mograsim.plugin.launch; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import org.eclipse.core.runtime.PlatformObject; @@ -12,22 +11,20 @@ import org.eclipse.debug.core.model.IRegister; import org.eclipse.debug.core.model.IRegisterGroup; import net.mograsim.machine.Machine; -import net.mograsim.machine.Register; +import net.mograsim.machine.registers.Register; import net.mograsim.plugin.MograsimActivator; -import net.mograsim.plugin.util.NumberRespectingStringComparator; public class MachineRegisterGroup extends PlatformObject implements IRegisterGroup { private final MachineStackFrame stackFrame; + private final String name; private final List registers; - public MachineRegisterGroup(MachineStackFrame stackFrame) + public MachineRegisterGroup(MachineStackFrame stackFrame, String name, List registers) { this.stackFrame = stackFrame; - Set machineRegisters = getMachine().getDefinition().getRegisters(); - this.registers = machineRegisters.stream() - .sorted((r1, r2) -> NumberRespectingStringComparator.CASE_SENSITIVE.compare(r1.id(), r2.id())) - .map(r -> new MachineRegister(this, r)).collect(Collectors.toUnmodifiableList()); + this.name = name; + this.registers = registers.stream().map(r -> new MachineRegister(this, r)).collect(Collectors.toUnmodifiableList()); } @Override @@ -56,7 +53,7 @@ public class MachineRegisterGroup extends PlatformObject implements IRegisterGro @Override public String getName() throws DebugException { - return "pseudo register group"; + return name; } @Override @@ -68,6 +65,11 @@ public class MachineRegisterGroup extends PlatformObject implements IRegisterGro @Override public boolean hasRegisters() throws DebugException { - return true; + return hasRegistersSafe(); + } + + public boolean hasRegistersSafe() + { + return registers.size() > 0; } } \ No newline at end of file