X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Flaunch%2FMachineDebugTarget.java;fp=plugins%2Fnet.mograsim.plugin.core%2Fsrc%2Fnet%2Fmograsim%2Fplugin%2Flaunch%2FMachineDebugTarget.java;h=357fe82b3df7cc957be7e3a43ce350951251a881;hb=071016cea4c9942b7f5c26f4b7f0bbeb8ca37baf;hp=5270c767195b8cc024e17fc30338a0fbb34673ec;hpb=a873ef940ba160f284ba6fa3fee1b9704bf68858;p=Mograsim.git diff --git a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java index 5270c767..357fe82b 100644 --- a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java +++ b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/launch/MachineDebugTarget.java @@ -15,6 +15,8 @@ import org.eclipse.debug.core.model.IBreakpoint; import org.eclipse.debug.core.model.IDebugElement; import org.eclipse.debug.core.model.IDebugTarget; import org.eclipse.debug.core.model.IMemoryBlock; +import org.eclipse.debug.core.model.IMemoryBlockExtension; +import org.eclipse.debug.core.model.IMemoryBlockRetrievalExtension; import org.eclipse.debug.core.model.IProcess; import org.eclipse.debug.core.model.IStepFilters; import org.eclipse.debug.core.model.IThread; @@ -22,7 +24,7 @@ import org.eclipse.debug.core.model.IThread; import net.mograsim.machine.Machine; import net.mograsim.plugin.MograsimActivator; -public class MachineDebugTarget extends PlatformObject implements IDebugTarget +public class MachineDebugTarget extends PlatformObject implements IDebugTarget, IMemoryBlockRetrievalExtension { private final MachineProcess process; @@ -183,12 +185,19 @@ public class MachineDebugTarget extends PlatformObject implements IDebugTarget return true; } + @SuppressWarnings("deprecation") // TODO can we throw a DebugException instead? @Override public IMemoryBlock getMemoryBlock(long startAddress, long length) throws DebugException { return new MainMemoryBlock(this, startAddress, length); } + @Override + public IMemoryBlockExtension getExtendedMemoryBlock(String expression, Object context) throws DebugException + { + return new MainMemoryBlockExtension(this, expression, context); + } + @Override public MachineProcess getProcess() {