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=081ec41f6661bebf2f60de747549ca7e56f211d1;hpb=79fe4ef5f67bdf3b7a9d8002d1759ce87b3f90be;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 081ec41f..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,8 +1,6 @@ package net.mograsim.plugin.launch; -import java.util.Collections; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; import org.eclipse.core.runtime.PlatformObject; @@ -13,21 +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; 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(); - List registersModifiable = machineRegisters.stream().map(r -> new MachineRegister(this, r)) - .collect(Collectors.toList()); - this.registers = Collections.unmodifiableList(registersModifiable); + this.name = name; + this.registers = registers.stream().map(r -> new MachineRegister(this, r)).collect(Collectors.toUnmodifiableList()); } @Override @@ -56,19 +53,23 @@ public class MachineRegisterGroup extends PlatformObject implements IRegisterGro @Override public String getName() throws DebugException { - return "pseudo register group"; + return name; } @Override public IRegister[] getRegisters() throws DebugException { - // TODO sort return registers.toArray(IRegister[]::new); } @Override public boolean hasRegisters() throws DebugException { - return true; + return hasRegistersSafe(); + } + + public boolean hasRegistersSafe() + { + return registers.size() > 0; } } \ No newline at end of file