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;
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;
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()
{