438 @Override |
438 @Override |
439 protected void handleSuccess() { |
439 protected void handleSuccess() { |
440 // Figure out which memory area was modified |
440 // Figure out which memory area was modified |
441 IExpressionDMAddress expression = getData(); |
441 IExpressionDMAddress expression = getData(); |
442 final int count = expression.getSize(); |
442 final int count = expression.getSize(); |
443 IAddress expAddress = expression.getAddress(); |
443 Object expAddress = expression.getAddress(); |
444 final Addr64 address; |
444 final Addr64 address; |
445 if (expAddress instanceof Addr64) |
445 if (expAddress instanceof Addr64) |
446 address = (Addr64) expAddress; |
446 address = (Addr64) expAddress; |
|
447 else if (expAddress instanceof IAddress) |
|
448 address = new Addr64(((IAddress)expAddress).getValue()); |
447 else |
449 else |
448 address = new Addr64(expAddress.getValue()); |
450 return; // not a valid memory address |
449 |
451 |
450 final IMemoryDMContext memoryDMC = DMContexts.getAncestorOfType(context, IMemoryDMContext.class); |
452 final IMemoryDMContext memoryDMC = DMContexts.getAncestorOfType(context, IMemoryDMContext.class); |
451 getMemoryCache(memoryDMC).refreshMemory(memoryDMC, address, 0, 1, count, |
453 getMemoryCache(memoryDMC).refreshMemory(memoryDMC, address, 0, 1, count, |
452 new RequestMonitor(getExecutor(), null)); |
454 new RequestMonitor(getExecutor(), null)); |
453 } |
455 } |